@cloudscape-design/components 3.0.1382 → 3.0.1384

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 (290) hide show
  1. package/app-layout/visual-refresh-toolbar/contexts.d.ts +5 -3
  2. package/app-layout/visual-refresh-toolbar/contexts.d.ts.map +1 -1
  3. package/app-layout/visual-refresh-toolbar/contexts.js.map +1 -1
  4. package/app-layout/visual-refresh-toolbar/interfaces.d.ts +3 -0
  5. package/app-layout/visual-refresh-toolbar/interfaces.d.ts.map +1 -1
  6. package/app-layout/visual-refresh-toolbar/interfaces.js.map +1 -1
  7. package/app-layout/visual-refresh-toolbar/skeleton/slots.d.ts +4 -1
  8. package/app-layout/visual-refresh-toolbar/skeleton/slots.d.ts.map +1 -1
  9. package/app-layout/visual-refresh-toolbar/skeleton/slots.js +8 -5
  10. package/app-layout/visual-refresh-toolbar/skeleton/slots.js.map +1 -1
  11. package/app-layout/visual-refresh-toolbar/skeleton/toolbar-container.d.ts +5 -0
  12. package/app-layout/visual-refresh-toolbar/skeleton/toolbar-container.d.ts.map +1 -1
  13. package/app-layout/visual-refresh-toolbar/skeleton/toolbar-container.js +3 -3
  14. package/app-layout/visual-refresh-toolbar/skeleton/toolbar-container.js.map +1 -1
  15. package/app-layout/visual-refresh-toolbar/state/use-app-layout.d.ts.map +1 -1
  16. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js +27 -3
  17. package/app-layout/visual-refresh-toolbar/state/use-app-layout.js.map +1 -1
  18. package/app-layout/visual-refresh-toolbar/state/use-own-breadcrumbs-props.d.ts +6 -0
  19. package/app-layout/visual-refresh-toolbar/state/use-own-breadcrumbs-props.d.ts.map +1 -0
  20. package/app-layout/visual-refresh-toolbar/state/use-own-breadcrumbs-props.js +16 -0
  21. package/app-layout/visual-refresh-toolbar/state/use-own-breadcrumbs-props.js.map +1 -0
  22. package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts +5 -1
  23. package/app-layout/visual-refresh-toolbar/toolbar/index.d.ts.map +1 -1
  24. package/app-layout/visual-refresh-toolbar/toolbar/index.js +2 -2
  25. package/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  26. package/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +15 -14
  27. package/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +35 -31
  28. package/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +15 -14
  29. package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.d.ts.map +1 -1
  30. package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js +2 -2
  31. package/app-layout/visual-refresh-toolbar/widget-areas/before-main-slot.js.map +1 -1
  32. package/breadcrumb-group/implementation.d.ts.map +1 -1
  33. package/breadcrumb-group/implementation.js +30 -1
  34. package/breadcrumb-group/implementation.js.map +1 -1
  35. package/button-dropdown/interfaces.d.ts +5 -0
  36. package/button-dropdown/interfaces.d.ts.map +1 -1
  37. package/button-dropdown/interfaces.js.map +1 -1
  38. package/button-dropdown/internal-interfaces.d.ts +1 -1
  39. package/button-dropdown/internal-interfaces.d.ts.map +1 -1
  40. package/button-dropdown/internal-interfaces.js.map +1 -1
  41. package/button-dropdown/internal.js +2 -2
  42. package/button-dropdown/internal.js.map +1 -1
  43. package/button-dropdown/items-list.d.ts +1 -1
  44. package/button-dropdown/items-list.d.ts.map +1 -1
  45. package/button-dropdown/items-list.js +2 -2
  46. package/button-dropdown/items-list.js.map +1 -1
  47. package/button-dropdown/utils/move-highlight.d.ts +4 -2
  48. package/button-dropdown/utils/move-highlight.d.ts.map +1 -1
  49. package/button-dropdown/utils/move-highlight.js +13 -21
  50. package/button-dropdown/utils/move-highlight.js.map +1 -1
  51. package/button-dropdown/utils/use-button-dropdown.d.ts +1 -1
  52. package/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
  53. package/button-dropdown/utils/use-button-dropdown.js +8 -6
  54. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  55. package/button-dropdown/utils/use-highlighted-menu.d.ts +2 -2
  56. package/button-dropdown/utils/use-highlighted-menu.d.ts.map +1 -1
  57. package/button-dropdown/utils/use-highlighted-menu.js +14 -4
  58. package/button-dropdown/utils/use-highlighted-menu.js.map +1 -1
  59. package/button-dropdown/utils/utils.d.ts +1 -0
  60. package/button-dropdown/utils/utils.d.ts.map +1 -1
  61. package/button-dropdown/utils/utils.js +1 -0
  62. package/button-dropdown/utils/utils.js.map +1 -1
  63. package/calendar/interfaces.d.ts +2 -1
  64. package/calendar/interfaces.d.ts.map +1 -1
  65. package/calendar/interfaces.js.map +1 -1
  66. package/calendar/internal.d.ts.map +1 -1
  67. package/calendar/internal.js +3 -1
  68. package/calendar/internal.js.map +1 -1
  69. package/checkbox/internal.d.ts +6 -0
  70. package/checkbox/internal.d.ts.map +1 -1
  71. package/checkbox/internal.js +2 -2
  72. package/checkbox/internal.js.map +1 -1
  73. package/checkbox/styles.css.js +7 -3
  74. package/checkbox/styles.scoped.css +72 -16
  75. package/checkbox/styles.selectors.js +7 -3
  76. package/container/index.d.ts +3 -7
  77. package/container/index.d.ts.map +1 -1
  78. package/container/index.js +4 -3
  79. package/container/index.js.map +1 -1
  80. package/container/interfaces.d.ts +7 -0
  81. package/container/interfaces.d.ts.map +1 -1
  82. package/container/interfaces.js.map +1 -1
  83. package/container/internal.d.ts +3 -26
  84. package/container/internal.d.ts.map +1 -1
  85. package/container/internal.js +37 -8
  86. package/container/internal.js.map +1 -1
  87. package/container/styles.css.js +34 -33
  88. package/container/styles.scoped.css +77 -56
  89. package/container/styles.selectors.js +34 -33
  90. package/copy-to-clipboard/internal.d.ts.map +1 -1
  91. package/copy-to-clipboard/internal.js +3 -1
  92. package/copy-to-clipboard/internal.js.map +1 -1
  93. package/date-range-picker/index.d.ts.map +1 -1
  94. package/date-range-picker/index.js +3 -2
  95. package/date-range-picker/index.js.map +1 -1
  96. package/date-range-picker/interfaces.d.ts +2 -1
  97. package/date-range-picker/interfaces.d.ts.map +1 -1
  98. package/date-range-picker/interfaces.js.map +1 -1
  99. package/dialog/index.d.ts +3 -0
  100. package/dialog/index.d.ts.map +1 -0
  101. package/dialog/index.js +21 -0
  102. package/dialog/index.js.map +1 -0
  103. package/dialog/interfaces.d.ts +40 -0
  104. package/dialog/interfaces.d.ts.map +1 -0
  105. package/dialog/interfaces.js +2 -0
  106. package/dialog/interfaces.js.map +1 -0
  107. package/dialog/internal.d.ts +13 -0
  108. package/dialog/internal.d.ts.map +1 -0
  109. package/dialog/internal.js +39 -0
  110. package/dialog/internal.js.map +1 -0
  111. package/dialog/styles.css.js +13 -0
  112. package/dialog/styles.scoped.css +126 -0
  113. package/dialog/styles.selectors.js +14 -0
  114. package/dialog/test-classes/styles.css.js +11 -0
  115. package/dialog/test-classes/styles.scoped.css +12 -0
  116. package/dialog/test-classes/styles.selectors.js +12 -0
  117. package/dialog/use-focus-restore.d.ts +5 -0
  118. package/dialog/use-focus-restore.d.ts.map +1 -0
  119. package/dialog/use-focus-restore.js +34 -0
  120. package/dialog/use-focus-restore.js.map +1 -0
  121. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  122. package/expandable-section/expandable-section-header.js +9 -2
  123. package/expandable-section/expandable-section-header.js.map +1 -1
  124. package/expandable-section/styles.css.js +44 -43
  125. package/expandable-section/styles.scoped.css +92 -88
  126. package/expandable-section/styles.selectors.js +44 -43
  127. package/flashbar/styles.css.js +50 -50
  128. package/flashbar/styles.scoped.css +160 -200
  129. package/flashbar/styles.selectors.js +50 -50
  130. package/i18n/messages/all.all.js +1 -1
  131. package/i18n/messages/all.all.json +1 -1
  132. package/i18n/messages/all.de.js +1 -1
  133. package/i18n/messages/all.de.json +1 -1
  134. package/i18n/messages/all.en-GB.js +1 -1
  135. package/i18n/messages/all.en-GB.json +1 -1
  136. package/i18n/messages/all.en.js +1 -1
  137. package/i18n/messages/all.en.json +1 -1
  138. package/i18n/messages/all.es.js +1 -1
  139. package/i18n/messages/all.es.json +1 -1
  140. package/i18n/messages/all.fr.js +1 -1
  141. package/i18n/messages/all.fr.json +1 -1
  142. package/i18n/messages/all.id.js +1 -1
  143. package/i18n/messages/all.id.json +1 -1
  144. package/i18n/messages/all.it.js +1 -1
  145. package/i18n/messages/all.it.json +1 -1
  146. package/i18n/messages/all.ja.js +1 -1
  147. package/i18n/messages/all.ja.json +1 -1
  148. package/i18n/messages/all.ko.js +1 -1
  149. package/i18n/messages/all.ko.json +1 -1
  150. package/i18n/messages/all.pt-BR.js +1 -1
  151. package/i18n/messages/all.pt-BR.json +1 -1
  152. package/i18n/messages/all.tr.js +1 -1
  153. package/i18n/messages/all.tr.json +1 -1
  154. package/i18n/messages/all.zh-CN.js +1 -1
  155. package/i18n/messages/all.zh-CN.json +1 -1
  156. package/i18n/messages/all.zh-TW.js +1 -1
  157. package/i18n/messages/all.zh-TW.json +1 -1
  158. package/i18n/messages-types.d.ts +3 -0
  159. package/i18n/messages-types.d.ts.map +1 -1
  160. package/i18n/messages-types.js.map +1 -1
  161. package/icon/generated/icons.d.ts +1 -0
  162. package/icon/generated/icons.d.ts.map +1 -1
  163. package/icon/generated/icons.js +3 -0
  164. package/icon/generated/icons.js.map +1 -1
  165. package/icon/internal.d.ts +3 -0
  166. package/icon/internal.d.ts.map +1 -1
  167. package/icon/internal.js +10 -2
  168. package/icon/internal.js.map +1 -1
  169. package/icon/styles.css.js +43 -42
  170. package/icon/styles.scoped.css +126 -98
  171. package/icon/styles.selectors.js +43 -42
  172. package/icon-provider/context.d.ts +3 -1
  173. package/icon-provider/context.d.ts.map +1 -1
  174. package/icon-provider/context.js +2 -0
  175. package/icon-provider/context.js.map +1 -1
  176. package/icon-provider/interfaces.d.ts +40 -2
  177. package/icon-provider/interfaces.d.ts.map +1 -1
  178. package/icon-provider/interfaces.js.map +1 -1
  179. package/icon-provider/internal.d.ts +2 -1
  180. package/icon-provider/internal.d.ts.map +1 -1
  181. package/icon-provider/internal.js +17 -3
  182. package/icon-provider/internal.js.map +1 -1
  183. package/icon-provider/use-component-icons.d.ts +3 -0
  184. package/icon-provider/use-component-icons.d.ts.map +1 -0
  185. package/icon-provider/use-component-icons.js +9 -0
  186. package/icon-provider/use-component-icons.js.map +1 -0
  187. package/index.d.ts +1 -0
  188. package/index.d.ts.map +1 -1
  189. package/index.js +1 -0
  190. package/index.js.map +1 -1
  191. package/internal/base-component/styles.scoped.css +1 -1
  192. package/internal/base-theme/styles.scoped.css +27 -0
  193. package/internal/components/abstract-switch/index.d.ts +4 -0
  194. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  195. package/internal/components/abstract-switch/index.js +5 -3
  196. package/internal/components/abstract-switch/index.js.map +1 -1
  197. package/internal/components/checkbox-icon/styles.css.js +9 -9
  198. package/internal/components/checkbox-icon/styles.scoped.css +18 -18
  199. package/internal/components/checkbox-icon/styles.selectors.js +9 -9
  200. package/internal/components/customizable-icon/index.d.ts +22 -0
  201. package/internal/components/customizable-icon/index.d.ts.map +1 -0
  202. package/internal/components/customizable-icon/index.js +12 -0
  203. package/internal/components/customizable-icon/index.js.map +1 -0
  204. package/internal/components/expand-toggle-button/index.d.ts +4 -0
  205. package/internal/components/expand-toggle-button/index.d.ts.map +1 -1
  206. package/internal/components/expand-toggle-button/index.js +6 -3
  207. package/internal/components/expand-toggle-button/index.js.map +1 -1
  208. package/internal/environment.js +2 -2
  209. package/internal/environment.json +2 -2
  210. package/internal/generated/styles/tokens.d.ts +14 -0
  211. package/internal/generated/styles/tokens.js +14 -0
  212. package/internal/generated/theming/index.cjs +222 -1
  213. package/internal/generated/theming/{index.cjs.d.ts → index.d.cts} +113 -13
  214. package/internal/generated/theming/index.d.ts +99 -0
  215. package/internal/generated/theming/index.js +222 -1
  216. package/internal/manifest.json +1 -1
  217. package/internal/plugins/widget/index.d.ts +5 -1
  218. package/internal/plugins/widget/index.d.ts.map +1 -1
  219. package/internal/plugins/widget/index.js +26 -1
  220. package/internal/plugins/widget/index.js.map +1 -1
  221. package/internal/plugins/widget/interfaces.d.ts +12 -2
  222. package/internal/plugins/widget/interfaces.d.ts.map +1 -1
  223. package/internal/plugins/widget/interfaces.js.map +1 -1
  224. package/internal/plugins/widget.d.ts +1 -1
  225. package/internal/plugins/widget.d.ts.map +1 -1
  226. package/internal/plugins/widget.js +1 -1
  227. package/internal/plugins/widget.js.map +1 -1
  228. package/internal/utils/locale/normalize-locale.js +8 -5
  229. package/internal/utils/locale/normalize-locale.js.map +1 -1
  230. package/manifest.json +2 -2
  231. package/package.json +4 -1
  232. package/plugins/index.d.ts +2 -1
  233. package/plugins/index.d.ts.map +1 -1
  234. package/plugins/index.js +2 -1
  235. package/plugins/index.js.map +1 -1
  236. package/split-panel/bottom.d.ts +2 -1
  237. package/split-panel/bottom.d.ts.map +1 -1
  238. package/split-panel/bottom.js.map +1 -1
  239. package/split-panel/content-props.d.ts +16 -0
  240. package/split-panel/content-props.d.ts.map +1 -0
  241. package/split-panel/content-props.js +2 -0
  242. package/split-panel/content-props.js.map +1 -0
  243. package/split-panel/interfaces.d.ts +0 -13
  244. package/split-panel/interfaces.d.ts.map +1 -1
  245. package/split-panel/interfaces.js.map +1 -1
  246. package/split-panel/side.d.ts +2 -1
  247. package/split-panel/side.d.ts.map +1 -1
  248. package/split-panel/side.js.map +1 -1
  249. package/table/body-cell/td-element.d.ts.map +1 -1
  250. package/table/body-cell/td-element.js +3 -1
  251. package/table/body-cell/td-element.js.map +1 -1
  252. package/table/header-cell/index.d.ts.map +1 -1
  253. package/table/header-cell/index.js +8 -2
  254. package/table/header-cell/index.js.map +1 -1
  255. package/table/header-cell/styles.css.js +38 -38
  256. package/table/header-cell/styles.scoped.css +80 -81
  257. package/table/header-cell/styles.selectors.js +38 -38
  258. package/table/internal.js +1 -1
  259. package/table/internal.js.map +1 -1
  260. package/table/sticky-columns/interfaces.d.ts +2 -0
  261. package/table/sticky-columns/interfaces.d.ts.map +1 -1
  262. package/table/sticky-columns/interfaces.js.map +1 -1
  263. package/table/sticky-columns/use-sticky-columns.d.ts.map +1 -1
  264. package/table/sticky-columns/use-sticky-columns.js +11 -5
  265. package/table/sticky-columns/use-sticky-columns.js.map +1 -1
  266. package/table/sticky-columns/utils.d.ts.map +1 -1
  267. package/table/sticky-columns/utils.js +2 -0
  268. package/table/sticky-columns/utils.js.map +1 -1
  269. package/table/utils.d.ts +1 -3
  270. package/table/utils.d.ts.map +1 -1
  271. package/table/utils.js +12 -5
  272. package/table/utils.js.map +1 -1
  273. package/test-utils/dom/dialog/index.d.ts +25 -0
  274. package/test-utils/dom/dialog/index.js +43 -0
  275. package/test-utils/dom/dialog/index.js.map +1 -0
  276. package/test-utils/dom/index.d.ts +28 -0
  277. package/test-utils/dom/index.js +21 -2
  278. package/test-utils/dom/index.js.map +1 -1
  279. package/test-utils/selectors/dialog/index.d.ts +25 -0
  280. package/test-utils/selectors/dialog/index.js +43 -0
  281. package/test-utils/selectors/dialog/index.js.map +1 -0
  282. package/test-utils/selectors/index.d.ts +18 -0
  283. package/test-utils/selectors/index.js +16 -2
  284. package/test-utils/selectors/index.js.map +1 -1
  285. package/tree-view/interfaces.d.ts +3 -0
  286. package/tree-view/interfaces.d.ts.map +1 -1
  287. package/tree-view/interfaces.js.map +1 -1
  288. package/tree-view/tree-item/index.d.ts.map +1 -1
  289. package/tree-view/tree-item/index.js +3 -1
  290. package/tree-view/tree-item/index.js.map +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAWxH;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAqB;;IACtD,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;IACvF,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAiC,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAqB;;IACxD,MAAM,OAAO,GAA0B,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC;IACpH,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAiC,CAAC,CAAC;AACpE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAAI,OAAuC;;IACrF,MAAM,OAAO,GAA2C;QACtD,IAAI,EAAE,8BAA8B;QACpC,OAAO;KACR,CAAC;IACF,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAA,0BAA0B,EAAE,0CAAG,OAAiC,CAAC,CAAC;AACpE,CAAC;AACD,MAAM,UAAU,kCAAkC,CAAI,OAA6C;IACjG,4BAA4B,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,2BAA2B;IACzC,YAAY,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,yBAAyB;IACvC,YAAY,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,CAAC,CAAC;AACtD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAc,OAAkC;;IAC1E,MAAM,eAAe,GAAG,2BAA2B,EAAE,CAAC;IACtD,IAAI,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC1C,eAAe,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACvC,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC;gBACrD,cAAc,CAAC,OAAO,GAAG,EAAE,GAAG,cAAc,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7E,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B,EAAE,CAAC;QACjD,iBAAiB,CAAC,eAAe,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,KAAK,8BAA8B,CAAC,CAAC,CAAC;IACtH,CAAC;IACD,MAAA,0BAA0B,EAAE,0CAAG,OAAiC,CAAC,CAAC;AACpE,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getExternalProps } from '../../utils/external-props';\nimport { getAppLayoutInitialMessages, getAppLayoutMessageHandler, pushInitialMessage, setInitialMessage } from './core';\nimport {\n AppLayoutUpdateMessage,\n DrawerPayload,\n FeatureNotificationsPayload,\n FeatureNotificationsPayloadPublic,\n RegisterDrawerMessage,\n RegisterFeatureNotificationsMessage,\n WidgetMessage,\n} from './interfaces';\n\n/**\n * Registers a new left runtime drawer to app layout\n * @param drawer\n */\nexport function registerLeftDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerLeftDrawer', payload: drawer };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\n\n/**\n * Registers a new bottom runtime drawer to app layout\n * @param drawer\n */\nexport function registerBottomDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerBottomDrawer', payload: { ...drawer, position: 'bottom' } };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\n\n/**\n * Registers a new feature notifications runtime drawer to app layout\n * @param payload\n */\nexport function registerFeatureNotifications<T>(payload: FeatureNotificationsPayload<T>) {\n const message: RegisterFeatureNotificationsMessage<T> = {\n type: 'registerFeatureNotifications',\n payload,\n };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\nexport function registerFeatureNotificationsPublic<T>(payload: FeatureNotificationsPayloadPublic<T>) {\n registerFeatureNotifications(getExternalProps(payload));\n}\n\nexport function showFeaturePromptIfPossible() {\n updateDrawer({ type: 'showFeaturePromptIfPossible' });\n}\n\nexport function clearFeatureNotifications() {\n updateDrawer({ type: 'clearFeatureNotifications' });\n}\n\n/**\n * Interact with already registered app layout drawers\n * @param message\n */\nexport function updateDrawer<T = unknown>(message: AppLayoutUpdateMessage<T>) {\n const initialMessages = getAppLayoutInitialMessages();\n if (message.type === 'updateDrawerConfig') {\n initialMessages.forEach(initialMessage => {\n if (initialMessage.payload.id === message.payload.id) {\n initialMessage.payload = { ...initialMessage.payload, ...message.payload };\n }\n });\n }\n\n if (message.type === 'clearFeatureNotifications') {\n setInitialMessage(initialMessages.filter(initialMessage => initialMessage.type !== 'registerFeatureNotifications'));\n }\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { getExternalProps } from '../../utils/external-props';\nimport { getAppLayoutInitialMessages, getAppLayoutMessageHandler, pushInitialMessage, setInitialMessage } from './core';\nimport {\n AppLayoutUpdateMessage,\n BreadcrumbsConsumerPayload,\n BreadcrumbsConsumerRegistration,\n DrawerPayload,\n FeatureNotificationsPayload,\n FeatureNotificationsPayloadPublic,\n RegisterBreadcrumbsExternalConsumerMessage,\n RegisterDrawerMessage,\n RegisterFeatureNotificationsMessage,\n UnregisterBreadcrumbsExternalConsumerMessage,\n WidgetMessage,\n} from './interfaces';\n\n/**\n * Registers a new left runtime drawer to app layout\n * @param drawer\n */\nexport function registerLeftDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerLeftDrawer', payload: drawer };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\n\n/**\n * Registers a new bottom runtime drawer to app layout\n * @param drawer\n */\nexport function registerBottomDrawer(drawer: DrawerPayload) {\n const message: RegisterDrawerMessage = { type: 'registerBottomDrawer', payload: { ...drawer, position: 'bottom' } };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\n\n/**\n * Registers a new feature notifications runtime drawer to app layout\n * @param payload\n */\nexport function registerFeatureNotifications<T>(payload: FeatureNotificationsPayload<T>) {\n const message: RegisterFeatureNotificationsMessage<T> = {\n type: 'registerFeatureNotifications',\n payload,\n };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\nexport function registerFeatureNotificationsPublic<T>(payload: FeatureNotificationsPayloadPublic<T>) {\n registerFeatureNotifications(getExternalProps(payload));\n}\n\nexport function showFeaturePromptIfPossible() {\n updateDrawer({ type: 'showFeaturePromptIfPossible' });\n}\n\nexport function clearFeatureNotifications() {\n updateDrawer({ type: 'clearFeatureNotifications' });\n}\n\n/**\n * Registers the surface that renders breadcrumbs outside App Layout.\n */\nexport function registerBreadcrumbsConsumer(payload: BreadcrumbsConsumerPayload): BreadcrumbsConsumerRegistration {\n const message: RegisterBreadcrumbsExternalConsumerMessage = {\n type: 'registerBreadcrumbsExternalConsumer',\n payload,\n };\n pushInitialMessage(message);\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n\n return {\n unregister: () => {\n const initialMessages = getAppLayoutInitialMessages();\n setInitialMessage(\n initialMessages.filter(initialMessage => initialMessage.type !== 'registerBreadcrumbsExternalConsumer')\n );\n const unregisterMessage: UnregisterBreadcrumbsExternalConsumerMessage = {\n type: 'unregisterBreadcrumbsExternalConsumer',\n payload: undefined,\n };\n getAppLayoutMessageHandler()?.(unregisterMessage as WidgetMessage<unknown>);\n },\n };\n}\n\n/**\n * Interact with already registered app layout drawers\n * @param message\n */\nexport function updateDrawer<T = unknown>(message: AppLayoutUpdateMessage<T>) {\n const initialMessages = getAppLayoutInitialMessages();\n if (message.type === 'updateDrawerConfig') {\n initialMessages.forEach(initialMessage => {\n if (\n initialMessage.type !== 'registerBreadcrumbsExternalConsumer' &&\n initialMessage.payload.id === message.payload.id\n ) {\n initialMessage.payload = { ...initialMessage.payload, ...message.payload };\n }\n });\n }\n\n if (message.type === 'clearFeatureNotifications') {\n setInitialMessage(initialMessages.filter(initialMessage => initialMessage.type !== 'registerFeatureNotifications'));\n }\n getAppLayoutMessageHandler()?.(message as WidgetMessage<unknown>);\n}\n"]}
@@ -1,3 +1,4 @@
1
+ import type { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';
1
2
  import { ButtonGroupProps, ItemRuntime } from '../../../button-group/interfaces';
2
3
  import { NonCancelableEventHandler } from '../../../types/events';
3
4
  interface Message<Type, Payload> {
@@ -172,6 +173,15 @@ export interface FeatureNotificationsPayload<T> {
172
173
  };
173
174
  }
174
175
  export type FeatureNotificationsPayloadPublic<T> = Omit<FeatureNotificationsPayload<T>, '__persistFeatureNotifications' | '__retrieveFeatureNotifications'>;
176
+ export interface BreadcrumbsConsumerPayload {
177
+ /** Called when the current breadcrumbs change. */
178
+ onBreadcrumbsChange: (breadcrumbs: BreadcrumbGroupProps | null) => void;
179
+ }
180
+ export interface BreadcrumbsConsumerRegistration {
181
+ unregister: () => void;
182
+ }
183
+ export type RegisterBreadcrumbsExternalConsumerMessage = Message<'registerBreadcrumbsExternalConsumer', BreadcrumbsConsumerPayload>;
184
+ export type UnregisterBreadcrumbsExternalConsumerMessage = Message<'unregisterBreadcrumbsExternalConsumer', undefined>;
175
185
  export type RegisterDrawerMessage = Message<'registerLeftDrawer' | 'registerBottomDrawer', DrawerPayload>;
176
186
  export type RegisterFeatureNotificationsMessage<T> = Message<'registerFeatureNotifications', FeatureNotificationsPayload<T>>;
177
187
  export type UpdateDrawerConfigMessage = Message<'updateDrawerConfig', Pick<DrawerPayload, 'id'> & Partial<Omit<DrawerPayload, 'mountContent' | 'unmountContent' | 'mountHeader' | 'unmountHeader'>>>;
@@ -197,7 +207,7 @@ export interface ShowFeaturePromptIfPossible {
197
207
  export interface ClearFeatureNotifications {
198
208
  type: 'clearFeatureNotifications';
199
209
  }
200
- export type AppLayoutUpdateMessage<T = unknown> = UpdateDrawerConfigMessage | OpenDrawerMessage | CloseDrawerMessage | ResizeDrawerMessage | ExpandDrawerMessage | ExitExpandedModeMessage | RegisterFeatureNotificationsMessage<T> | ShowFeaturePromptIfPossible | ClearFeatureNotifications;
201
- export type InitialMessage<T> = RegisterDrawerMessage | RegisterFeatureNotificationsMessage<T>;
210
+ export type AppLayoutUpdateMessage<T = unknown> = UpdateDrawerConfigMessage | OpenDrawerMessage | CloseDrawerMessage | ResizeDrawerMessage | ExpandDrawerMessage | ExitExpandedModeMessage | RegisterFeatureNotificationsMessage<T> | ShowFeaturePromptIfPossible | ClearFeatureNotifications | UnregisterBreadcrumbsExternalConsumerMessage;
211
+ export type InitialMessage<T> = RegisterDrawerMessage | RegisterFeatureNotificationsMessage<T> | RegisterBreadcrumbsExternalConsumerMessage;
202
212
  export type WidgetMessage<T = unknown> = InitialMessage<T> | AppLayoutUpdateMessage<T>;
203
213
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,UAAU,OAAO,CAAC,IAAI,EAAE,OAAO;IAC7B,IAAI,EAAE,IAAI,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,KAAK,sBAAsB,GAAG,CAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,KAAK,IAAI,CAAC;AAE/E,UAAU,mBAAmB;IAC3B,kBAAkB,EAAE,sBAAsB,CAAC;CAC5C;AAED,UAAU,uBAAuB;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE;QACV,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,yBAAyB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,uBAAuB,CAAC,EAAE;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,YAAY,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAClF,cAAc,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,uBAAuB,CAAC,CAAC;IAC9D,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IAC/C,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,yBAAyB,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAC;IACnF,iBAAiB,CAAC,EAAE,yBAAyB,CAAC;QAAE,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACvE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC9B;AAED,KAAK,UAAU,GAAG,MAAM,IAAI,CAAC;AAC7B,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,KAAK,UAAU,GAAG,IAAI,CAAC;AAEzF;;;;;;;;GAQG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACxB,2FAA2F;IAC3F,EAAE,EAAE,MAAM,CAAC;IACX,qHAAqH;IACrH,MAAM,EAAE,CAAC,CAAC;IACV,4GAA4G;IAC5G,OAAO,EAAE,CAAC,CAAC;IACX,4GAA4G;IAC5G,eAAe,CAAC,EAAE,CAAC,CAAC;IACpB,iIAAiI;IACjI,WAAW,EAAE,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,qCAAqC;IACpD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,KAAK,SAAS,GAAG,MAAM,CAAC;AACxB,KAAK,wBAAwB,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,qBAAqB,GAAG,MAAM,CAAC,SAAS,EAAE,wBAAwB,CAAC,CAAC;AAChF,MAAM,MAAM,2BAA2B,GAAG,CACxC,iBAAiB,EAAE,qCAAqC,EACxD,KAAK,EAAE,qBAAqB,KACzB,OAAO,CAAC,IAAI,CAAC,CAAC;AACnB,MAAM,MAAM,4BAA4B,GAAG,CACzC,iBAAiB,EAAE,qCAAqC,KACrD,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAEpC,MAAM,WAAW,2BAA2B,CAAC,CAAC;IAC5C;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;OAMG;IACH,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,SAAS,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC;IAC/C;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,qCAAqC,CAAC;IAC1D;;;;;;;OAOG;IACH,6BAA6B,CAAC,EAAE,2BAA2B,CAAC;IAC5D;;;;;;OAMG;IACH,8BAA8B,CAAC,EAAE,4BAA4B,CAAC;IAE9D,WAAW,CAAC,EAAE;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,qBAAqB,CAAC,EAAE,MAAM,CAAC;KAChC,CAAC;CACH;AAED,MAAM,MAAM,iCAAiC,CAAC,CAAC,IAAI,IAAI,CACrD,2BAA2B,CAAC,CAAC,CAAC,EAC9B,+BAA+B,GAAG,gCAAgC,CACnE,CAAC;AAEF,MAAM,WAAW,0BAA0B;IACzC,kDAAkD;IAClD,mBAAmB,EAAE,CAAC,WAAW,EAAE,oBAAoB,GAAG,IAAI,KAAK,IAAI,CAAC;CACzE;AAED,MAAM,WAAW,+BAA+B;IAC9C,UAAU,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,MAAM,MAAM,0CAA0C,GAAG,OAAO,CAC9D,qCAAqC,EACrC,0BAA0B,CAC3B,CAAC;AACF,MAAM,MAAM,4CAA4C,GAAG,OAAO,CAAC,uCAAuC,EAAE,SAAS,CAAC,CAAC;AAEvH,MAAM,MAAM,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,GAAG,sBAAsB,EAAE,aAAa,CAAC,CAAC;AAC1G,MAAM,MAAM,mCAAmC,CAAC,CAAC,IAAI,OAAO,CAC1D,8BAA8B,EAC9B,2BAA2B,CAAC,CAAC,CAAC,CAC/B,CAAC;AACF,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC7C,oBAAoB,EACpB,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,GACvB,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,cAAc,GAAG,gBAAgB,GAAG,aAAa,GAAG,eAAe,CAAC,CAAC,CACpG,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxE,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AACxF,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,cAAc,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAC1E,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,kBAAkB,CAAC;CAC1B;AACD,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,6BAA6B,CAAC;CACrC;AACD,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,MAAM,MAAM,sBAAsB,CAAC,CAAC,GAAG,OAAO,IAC1C,yBAAyB,GACzB,iBAAiB,GACjB,kBAAkB,GAClB,mBAAmB,GACnB,mBAAmB,GACnB,uBAAuB,GACvB,mCAAmC,CAAC,CAAC,CAAC,GACtC,2BAA2B,GAC3B,yBAAyB,GACzB,4CAA4C,CAAC;AAEjD,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB,qBAAqB,GACrB,mCAAmC,CAAC,CAAC,CAAC,GACtC,0CAA0C,CAAC;AAE/C,MAAM,MAAM,aAAa,CAAC,CAAC,GAAG,OAAO,IAAI,cAAc,CAAC,CAAC,CAAC,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ButtonGroupProps, ItemRuntime } from '../../../button-group/interfaces';\nimport { NonCancelableEventHandler } from '../../../types/events';\n\ninterface Message<Type, Payload> {\n type: Type;\n payload: Payload;\n}\n\ntype DrawerVisibilityChange = (callback: (isVisible: boolean) => void) => void;\n\ninterface MountContentContext {\n onVisibilityChange: DrawerVisibilityChange;\n}\n\ninterface DrawerStateChangeParams {\n isOpen: boolean;\n initiatedByUserAction?: boolean;\n}\n\nexport interface DrawerPayload {\n id: string;\n ariaLabels: {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n resizeHandleTooltipText?: string;\n expandedModeButton?: string;\n exitExpandedModeButton?: string;\n };\n isExpandable?: boolean;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n defaultActive?: boolean;\n trigger?: {\n iconSvg?: string;\n customIcon?: string;\n };\n exitExpandedModeTrigger?: {\n customIcon?: string;\n };\n mountContent: (container: HTMLElement, mountContext: MountContentContext) => void;\n unmountContent: (container: HTMLElement) => void;\n preserveInactiveContent?: boolean;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n mountHeader?: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n headerActions?: ReadonlyArray<ItemRuntime>;\n onHeaderActionClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n position?: 'side' | 'bottom';\n}\n\ntype Destructor = () => void;\nexport type MountContentPart<T> = (container: HTMLElement, data: T) => Destructor | void;\n\n/**\n * Describes a single feature entry in the notification drawer.\n *\n * The generic type `T` determines how feature text content is provided:\n * - When `T` is `string`, the values are rendered as plain text.\n * - When `T` is `ReactNode`, you must also provide `mountItem` on the parent\n * `FeatureNotificationsPayload` so the framework can mount the React content\n * into the DOM container.\n */\nexport interface Feature<T> {\n /** Unique identifier used for persistence tracking (seen/unseen state) and list keying. */\n id: string;\n /** Primary title displayed as the feature heading in both the notification drawer and the feature prompt popover. */\n header: T;\n /** Descriptive body rendered below the header in the notification drawer and the feature prompt popover. */\n content: T;\n /** Optional category label rendered between the release date and the content in the notification drawer. */\n contentCategory?: T;\n /** Publication date of the feature. Used for default filtering (last 90 days), descending sort order, and display formatting. */\n releaseDate: Date;\n}\n\nexport interface FeatureNotificationsPersistenceConfig {\n uniqueKey: string;\n}\n\ntype FeatureId = string;\ntype FeatureReleaseDateString = string;\nexport type PersistedFeaturesDict = Record<FeatureId, FeatureReleaseDateString>;\nexport type PersistFeatureNotifications = (\n persistenceConfig: FeatureNotificationsPersistenceConfig,\n value: PersistedFeaturesDict\n) => Promise<void>;\nexport type RetrieveFeatureNotifications = (\n persistenceConfig: FeatureNotificationsPersistenceConfig\n) => Promise<PersistedFeaturesDict>;\n\nexport interface FeatureNotificationsPayload<T> {\n /**\n * Unique identifier for the feature notifications.\n */\n id: string;\n /**\n * When set to `true`, prevents the feature prompt from automatically appearing\n * when unseen features are detected during registration. The prompt can still\n * be shown programmatically via the `showFeaturePromptIfPossible` message.\n *\n * @default false\n */\n suppressFeaturePrompt?: boolean;\n /**\n * List of features to display in the notification drawer. Each feature is filtered\n * by `filterFeatures` (or a default 90-day recency filter), sorted by `releaseDate`\n * in descending order, and tracked for seen/unseen state via persistence. The latest\n * unseen feature is used to populate the feature prompt, and opening the drawer marks\n * all features as seen.\n */\n features: Array<Feature<T>>;\n /**\n * Mounting function used to render each feature's `header`, `content`, and\n * `contentCategory` values into the DOM. Required when `T` is `ReactNode`\n * (or any non-string type) so the framework can mount the content into the\n * provided container element. When `T` is `string`, this can be omitted and\n * values are rendered as plain text.\n *\n * The function receives the target `container` element and the `data` value\n * (one of the feature's text fields), and should return an optional destructor\n * that will be called on unmount to clean up resources (e.g. `root.unmount()`).\n *\n * @example\n * ```ts\n * import { createRoot } from 'react-dom/client';\n *\n * mountItem: (container, data) => {\n * const root = createRoot(container);\n * root.render(data);\n * return () => root.unmount();\n * }\n * ```\n */\n mountItem?: MountContentPart<T>;\n /**\n * Optional URL rendered as a \"View all feature releases\" link at the bottom of the notification\n * drawer, allowing users to navigate to a dedicated page with the full list of\n * features.\n */\n featuresPageLink?: string;\n /**\n * Optional predicate to control which features are displayed. Applied to each\n * feature before sorting. When omitted, a default filter is used that only\n * keeps features with a `releaseDate` within the last 90 days.\n */\n filterFeatures?: (item: Feature<T>) => boolean;\n /**\n * Configuration for persisting seen/unseen state of features. The `uniqueKey`\n * is used as the storage key when saving and retrieving which features the user\n * has already viewed. When omitted, a default key (`'awsui-feature-notifications'`)\n * is used.\n */\n persistenceConfig?: FeatureNotificationsPersistenceConfig;\n /**\n * @internal\n * Optional override for saving the seen/unseen state of features. When provided,\n * this function is called instead of the built-in persistence mechanism when the\n * user opens the notification drawer and all features are marked as seen.\n * Receives the `persistenceConfig` and a dictionary mapping feature IDs to their\n * release date strings.\n */\n __persistFeatureNotifications?: PersistFeatureNotifications;\n /**\n * @internal\n * Optional override for retrieving the previously persisted seen/unseen state of\n * features. When provided, this function is called instead of the built-in retrieval\n * mechanism during registration to determine which features the user has already viewed.\n * Should return a dictionary mapping feature IDs to their release date strings.\n */\n __retrieveFeatureNotifications?: RetrieveFeatureNotifications;\n\n i18nStrings?: {\n titleText?: string;\n viewAllText?: string;\n closeButtonAriaLabel?: string;\n contentAriaLabel?: string;\n triggerButtonAriaLabel?: string;\n resizeHandleAriaLabel?: string;\n };\n}\n\nexport type FeatureNotificationsPayloadPublic<T> = Omit<\n FeatureNotificationsPayload<T>,\n '__persistFeatureNotifications' | '__retrieveFeatureNotifications'\n>;\n\nexport type RegisterDrawerMessage = Message<'registerLeftDrawer' | 'registerBottomDrawer', DrawerPayload>;\nexport type RegisterFeatureNotificationsMessage<T> = Message<\n 'registerFeatureNotifications',\n FeatureNotificationsPayload<T>\n>;\nexport type UpdateDrawerConfigMessage = Message<\n 'updateDrawerConfig',\n Pick<DrawerPayload, 'id'> &\n Partial<Omit<DrawerPayload, 'mountContent' | 'unmountContent' | 'mountHeader' | 'unmountHeader'>>\n>;\nexport type OpenDrawerMessage = Message<'openDrawer', { id: string }>;\nexport type CloseDrawerMessage = Message<'closeDrawer', { id: string }>;\nexport type ResizeDrawerMessage = Message<'resizeDrawer', { id: string; size: number }>;\nexport type ExpandDrawerMessage = Message<'expandDrawer', { id: string }>;\nexport interface ExitExpandedModeMessage {\n type: 'exitExpandedMode';\n}\nexport interface ShowFeaturePromptIfPossible {\n type: 'showFeaturePromptIfPossible';\n}\nexport interface ClearFeatureNotifications {\n type: 'clearFeatureNotifications';\n}\n\nexport type AppLayoutUpdateMessage<T = unknown> =\n | UpdateDrawerConfigMessage\n | OpenDrawerMessage\n | CloseDrawerMessage\n | ResizeDrawerMessage\n | ExpandDrawerMessage\n | ExitExpandedModeMessage\n | RegisterFeatureNotificationsMessage<T>\n | ShowFeaturePromptIfPossible\n | ClearFeatureNotifications;\n\nexport type InitialMessage<T> = RegisterDrawerMessage | RegisterFeatureNotificationsMessage<T>;\n\nexport type WidgetMessage<T = unknown> = InitialMessage<T> | AppLayoutUpdateMessage<T>;\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../../src/internal/plugins/widget/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport type { BreadcrumbGroupProps } from '../../../breadcrumb-group/interfaces';\nimport { ButtonGroupProps, ItemRuntime } from '../../../button-group/interfaces';\nimport { NonCancelableEventHandler } from '../../../types/events';\n\ninterface Message<Type, Payload> {\n type: Type;\n payload: Payload;\n}\n\ntype DrawerVisibilityChange = (callback: (isVisible: boolean) => void) => void;\n\ninterface MountContentContext {\n onVisibilityChange: DrawerVisibilityChange;\n}\n\ninterface DrawerStateChangeParams {\n isOpen: boolean;\n initiatedByUserAction?: boolean;\n}\n\nexport interface DrawerPayload {\n id: string;\n ariaLabels: {\n content?: string;\n closeButton?: string;\n triggerButton?: string;\n resizeHandle?: string;\n resizeHandleTooltipText?: string;\n expandedModeButton?: string;\n exitExpandedModeButton?: string;\n };\n isExpandable?: boolean;\n resizable?: boolean;\n defaultSize?: number;\n onResize?: NonCancelableEventHandler<{ size: number; id: string }>;\n defaultActive?: boolean;\n trigger?: {\n iconSvg?: string;\n customIcon?: string;\n };\n exitExpandedModeTrigger?: {\n customIcon?: string;\n };\n mountContent: (container: HTMLElement, mountContext: MountContentContext) => void;\n unmountContent: (container: HTMLElement) => void;\n preserveInactiveContent?: boolean;\n onToggle?: NonCancelableEventHandler<DrawerStateChangeParams>;\n mountHeader?: (container: HTMLElement) => void;\n unmountHeader?: (container: HTMLElement) => void;\n headerActions?: ReadonlyArray<ItemRuntime>;\n onHeaderActionClick?: NonCancelableEventHandler<ButtonGroupProps.ItemClickDetails>;\n onToggleFocusMode?: NonCancelableEventHandler<{ isExpanded: boolean }>;\n position?: 'side' | 'bottom';\n}\n\ntype Destructor = () => void;\nexport type MountContentPart<T> = (container: HTMLElement, data: T) => Destructor | void;\n\n/**\n * Describes a single feature entry in the notification drawer.\n *\n * The generic type `T` determines how feature text content is provided:\n * - When `T` is `string`, the values are rendered as plain text.\n * - When `T` is `ReactNode`, you must also provide `mountItem` on the parent\n * `FeatureNotificationsPayload` so the framework can mount the React content\n * into the DOM container.\n */\nexport interface Feature<T> {\n /** Unique identifier used for persistence tracking (seen/unseen state) and list keying. */\n id: string;\n /** Primary title displayed as the feature heading in both the notification drawer and the feature prompt popover. */\n header: T;\n /** Descriptive body rendered below the header in the notification drawer and the feature prompt popover. */\n content: T;\n /** Optional category label rendered between the release date and the content in the notification drawer. */\n contentCategory?: T;\n /** Publication date of the feature. Used for default filtering (last 90 days), descending sort order, and display formatting. */\n releaseDate: Date;\n}\n\nexport interface FeatureNotificationsPersistenceConfig {\n uniqueKey: string;\n}\n\ntype FeatureId = string;\ntype FeatureReleaseDateString = string;\nexport type PersistedFeaturesDict = Record<FeatureId, FeatureReleaseDateString>;\nexport type PersistFeatureNotifications = (\n persistenceConfig: FeatureNotificationsPersistenceConfig,\n value: PersistedFeaturesDict\n) => Promise<void>;\nexport type RetrieveFeatureNotifications = (\n persistenceConfig: FeatureNotificationsPersistenceConfig\n) => Promise<PersistedFeaturesDict>;\n\nexport interface FeatureNotificationsPayload<T> {\n /**\n * Unique identifier for the feature notifications.\n */\n id: string;\n /**\n * When set to `true`, prevents the feature prompt from automatically appearing\n * when unseen features are detected during registration. The prompt can still\n * be shown programmatically via the `showFeaturePromptIfPossible` message.\n *\n * @default false\n */\n suppressFeaturePrompt?: boolean;\n /**\n * List of features to display in the notification drawer. Each feature is filtered\n * by `filterFeatures` (or a default 90-day recency filter), sorted by `releaseDate`\n * in descending order, and tracked for seen/unseen state via persistence. The latest\n * unseen feature is used to populate the feature prompt, and opening the drawer marks\n * all features as seen.\n */\n features: Array<Feature<T>>;\n /**\n * Mounting function used to render each feature's `header`, `content`, and\n * `contentCategory` values into the DOM. Required when `T` is `ReactNode`\n * (or any non-string type) so the framework can mount the content into the\n * provided container element. When `T` is `string`, this can be omitted and\n * values are rendered as plain text.\n *\n * The function receives the target `container` element and the `data` value\n * (one of the feature's text fields), and should return an optional destructor\n * that will be called on unmount to clean up resources (e.g. `root.unmount()`).\n *\n * @example\n * ```ts\n * import { createRoot } from 'react-dom/client';\n *\n * mountItem: (container, data) => {\n * const root = createRoot(container);\n * root.render(data);\n * return () => root.unmount();\n * }\n * ```\n */\n mountItem?: MountContentPart<T>;\n /**\n * Optional URL rendered as a \"View all feature releases\" link at the bottom of the notification\n * drawer, allowing users to navigate to a dedicated page with the full list of\n * features.\n */\n featuresPageLink?: string;\n /**\n * Optional predicate to control which features are displayed. Applied to each\n * feature before sorting. When omitted, a default filter is used that only\n * keeps features with a `releaseDate` within the last 90 days.\n */\n filterFeatures?: (item: Feature<T>) => boolean;\n /**\n * Configuration for persisting seen/unseen state of features. The `uniqueKey`\n * is used as the storage key when saving and retrieving which features the user\n * has already viewed. When omitted, a default key (`'awsui-feature-notifications'`)\n * is used.\n */\n persistenceConfig?: FeatureNotificationsPersistenceConfig;\n /**\n * @internal\n * Optional override for saving the seen/unseen state of features. When provided,\n * this function is called instead of the built-in persistence mechanism when the\n * user opens the notification drawer and all features are marked as seen.\n * Receives the `persistenceConfig` and a dictionary mapping feature IDs to their\n * release date strings.\n */\n __persistFeatureNotifications?: PersistFeatureNotifications;\n /**\n * @internal\n * Optional override for retrieving the previously persisted seen/unseen state of\n * features. When provided, this function is called instead of the built-in retrieval\n * mechanism during registration to determine which features the user has already viewed.\n * Should return a dictionary mapping feature IDs to their release date strings.\n */\n __retrieveFeatureNotifications?: RetrieveFeatureNotifications;\n\n i18nStrings?: {\n titleText?: string;\n viewAllText?: string;\n closeButtonAriaLabel?: string;\n contentAriaLabel?: string;\n triggerButtonAriaLabel?: string;\n resizeHandleAriaLabel?: string;\n };\n}\n\nexport type FeatureNotificationsPayloadPublic<T> = Omit<\n FeatureNotificationsPayload<T>,\n '__persistFeatureNotifications' | '__retrieveFeatureNotifications'\n>;\n\nexport interface BreadcrumbsConsumerPayload {\n /** Called when the current breadcrumbs change. */\n onBreadcrumbsChange: (breadcrumbs: BreadcrumbGroupProps | null) => void;\n}\n\nexport interface BreadcrumbsConsumerRegistration {\n unregister: () => void;\n}\n\nexport type RegisterBreadcrumbsExternalConsumerMessage = Message<\n 'registerBreadcrumbsExternalConsumer',\n BreadcrumbsConsumerPayload\n>;\nexport type UnregisterBreadcrumbsExternalConsumerMessage = Message<'unregisterBreadcrumbsExternalConsumer', undefined>;\n\nexport type RegisterDrawerMessage = Message<'registerLeftDrawer' | 'registerBottomDrawer', DrawerPayload>;\nexport type RegisterFeatureNotificationsMessage<T> = Message<\n 'registerFeatureNotifications',\n FeatureNotificationsPayload<T>\n>;\nexport type UpdateDrawerConfigMessage = Message<\n 'updateDrawerConfig',\n Pick<DrawerPayload, 'id'> &\n Partial<Omit<DrawerPayload, 'mountContent' | 'unmountContent' | 'mountHeader' | 'unmountHeader'>>\n>;\nexport type OpenDrawerMessage = Message<'openDrawer', { id: string }>;\nexport type CloseDrawerMessage = Message<'closeDrawer', { id: string }>;\nexport type ResizeDrawerMessage = Message<'resizeDrawer', { id: string; size: number }>;\nexport type ExpandDrawerMessage = Message<'expandDrawer', { id: string }>;\nexport interface ExitExpandedModeMessage {\n type: 'exitExpandedMode';\n}\nexport interface ShowFeaturePromptIfPossible {\n type: 'showFeaturePromptIfPossible';\n}\nexport interface ClearFeatureNotifications {\n type: 'clearFeatureNotifications';\n}\n\nexport type AppLayoutUpdateMessage<T = unknown> =\n | UpdateDrawerConfigMessage\n | OpenDrawerMessage\n | CloseDrawerMessage\n | ResizeDrawerMessage\n | ExpandDrawerMessage\n | ExitExpandedModeMessage\n | RegisterFeatureNotificationsMessage<T>\n | ShowFeaturePromptIfPossible\n | ClearFeatureNotifications\n | UnregisterBreadcrumbsExternalConsumerMessage;\n\nexport type InitialMessage<T> =\n | RegisterDrawerMessage\n | RegisterFeatureNotificationsMessage<T>\n | RegisterBreadcrumbsExternalConsumerMessage;\n\nexport type WidgetMessage<T = unknown> = InitialMessage<T> | AppLayoutUpdateMessage<T>;\n"]}
@@ -1,3 +1,3 @@
1
1
  export * from './widget/interfaces';
2
2
  export { isAppLayoutReady, whenAppLayoutReady } from './widget/core';
3
- export { registerLeftDrawer, registerBottomDrawer, registerFeatureNotifications, updateDrawer, showFeaturePromptIfPossible, clearFeatureNotifications } from './widget/index';
3
+ export { registerLeftDrawer, registerBottomDrawer, registerFeatureNotifications, updateDrawer, showFeaturePromptIfPossible, clearFeatureNotifications, registerBreadcrumbsConsumer } from './widget/index';
@@ -1 +1 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../../src/internal/plugins/widget.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,YAAY,EACZ,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../../../src/internal/plugins/widget.ts"],"names":[],"mappings":"AAEA,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,YAAY,EACZ,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC"}
@@ -2,5 +2,5 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  export * from './widget/interfaces';
4
4
  export { isAppLayoutReady, whenAppLayoutReady } from './widget/core';
5
- export { registerLeftDrawer, registerBottomDrawer, registerFeatureNotifications, updateDrawer, showFeaturePromptIfPossible, clearFeatureNotifications, } from './widget/index';
5
+ export { registerLeftDrawer, registerBottomDrawer, registerFeatureNotifications, updateDrawer, showFeaturePromptIfPossible, clearFeatureNotifications, registerBreadcrumbsConsumer, } from './widget/index';
6
6
  //# sourceMappingURL=widget.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../src/internal/plugins/widget.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,YAAY,EACZ,2BAA2B,EAC3B,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport * from './widget/interfaces';\nexport { isAppLayoutReady, whenAppLayoutReady } from './widget/core';\nexport {\n registerLeftDrawer,\n registerBottomDrawer,\n registerFeatureNotifications,\n updateDrawer,\n showFeaturePromptIfPossible,\n clearFeatureNotifications,\n} from './widget/index';\n"]}
1
+ {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../../../src/internal/plugins/widget.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACrE,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,4BAA4B,EAC5B,YAAY,EACZ,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,gBAAgB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport * from './widget/interfaces';\nexport { isAppLayoutReady, whenAppLayoutReady } from './widget/core';\nexport {\n registerLeftDrawer,\n registerBottomDrawer,\n registerFeatureNotifications,\n updateDrawer,\n showFeaturePromptIfPossible,\n clearFeatureNotifications,\n registerBreadcrumbsConsumer,\n} from './widget/index';\n"]}
@@ -20,14 +20,17 @@ function checkLocale(component, locale) {
20
20
  return '';
21
21
  }
22
22
  // Support underscore-delimited locales
23
- locale = locale && locale.replace(/^([a-z]{2})_/, '$1-');
24
- // Check that the value matches aa-BB pattern
23
+ locale = locale.replace(/^([a-zA-Z]{2})_/, '$1-');
24
+ // Check that the value matches aa-BB pattern, case-insensitively:
25
+ // locales are matched case-insensitively per BCP 47, and e.g. I18nProvider lowercases its locale.
25
26
  // TODO: support full BCP 47 spec?
26
- if (locale && !locale.match(/^[a-z]{2}(-[A-Z]{2})?$/)) {
27
+ const match = locale.match(/^([a-zA-Z]{2})(?:-([a-zA-Z]{2}))?$/);
28
+ if (!match) {
27
29
  warnOnce(component, `Invalid locale provided: ${locale}. Falling back to default`);
28
- locale = '';
30
+ return '';
29
31
  }
30
- return locale;
32
+ // Normalize to the canonical aa-BB casing.
33
+ return match[2] ? `${match[1].toLowerCase()}-${match[2].toUpperCase()}` : match[1].toLowerCase();
31
34
  }
32
35
  function getHtmlElement() {
33
36
  return typeof document !== 'undefined' ? document.querySelector('html') : null;
@@ -1 +1 @@
1
- {"version":3,"file":"normalize-locale.js","sourceRoot":"","sources":["../../../../../src/internal/utils/locale/normalize-locale.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAqB;;IACtE,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,EAAE,MAAA,cAAc,EAAE,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,MAAiC;IACvE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,uCAAuC;IACvC,MAAM,GAAG,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;IACzD,6CAA6C;IAC7C,kCAAkC;IAClC,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,EAAE,CAAC;QACtD,QAAQ,CAAC,SAAS,EAAE,4BAA4B,MAAM,2BAA2B,CAAC,CAAC;QACnF,MAAM,GAAG,EAAE,CAAC;IACd,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;AAC5D,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { mergeLocales } from './merge-locales';\n\nexport function normalizeLocale(component: string, locale: string | null): string {\n locale = checkLocale(component, locale);\n const browserLocale = getBrowserLocale();\n if (locale) {\n return mergeLocales(locale, browserLocale);\n }\n const htmlLocale = checkLocale(component, getHtmlElement()?.getAttribute('lang'));\n if (htmlLocale) {\n return mergeLocales(htmlLocale, browserLocale);\n }\n return browserLocale;\n}\n\nfunction checkLocale(component: string, locale: string | null | undefined): string {\n if (!locale || locale === '') {\n return '';\n }\n\n // Support underscore-delimited locales\n locale = locale && locale.replace(/^([a-z]{2})_/, '$1-');\n // Check that the value matches aa-BB pattern\n // TODO: support full BCP 47 spec?\n if (locale && !locale.match(/^[a-z]{2}(-[A-Z]{2})?$/)) {\n warnOnce(component, `Invalid locale provided: ${locale}. Falling back to default`);\n locale = '';\n }\n return locale;\n}\n\nfunction getHtmlElement() {\n return typeof document !== 'undefined' ? document.querySelector('html') : null;\n}\n\nfunction getBrowserLocale() {\n return new Intl.DateTimeFormat().resolvedOptions().locale;\n}\n"]}
1
+ {"version":3,"file":"normalize-locale.js","sourceRoot":"","sources":["../../../../../src/internal/utils/locale/normalize-locale.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,+CAA+C,CAAC;AAEzE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,MAAqB;;IACtE,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IACzC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,EAAE,MAAA,cAAc,EAAE,0CAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAClF,IAAI,UAAU,EAAE,CAAC;QACf,OAAO,YAAY,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,WAAW,CAAC,SAAiB,EAAE,MAAiC;IACvE,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,uCAAuC;IACvC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,KAAK,CAAC,CAAC;IAClD,kEAAkE;IAClE,kGAAkG;IAClG,kCAAkC;IAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACjE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,QAAQ,CAAC,SAAS,EAAE,4BAA4B,MAAM,2BAA2B,CAAC,CAAC;QACnF,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,2CAA2C;IAC3C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;AACnG,CAAC;AAED,SAAS,cAAc;IACrB,OAAO,OAAO,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB;IACvB,OAAO,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;AAC5D,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { warnOnce } from '@cloudscape-design/component-toolkit/internal';\n\nimport { mergeLocales } from './merge-locales';\n\nexport function normalizeLocale(component: string, locale: string | null): string {\n locale = checkLocale(component, locale);\n const browserLocale = getBrowserLocale();\n if (locale) {\n return mergeLocales(locale, browserLocale);\n }\n const htmlLocale = checkLocale(component, getHtmlElement()?.getAttribute('lang'));\n if (htmlLocale) {\n return mergeLocales(htmlLocale, browserLocale);\n }\n return browserLocale;\n}\n\nfunction checkLocale(component: string, locale: string | null | undefined): string {\n if (!locale || locale === '') {\n return '';\n }\n\n // Support underscore-delimited locales\n locale = locale.replace(/^([a-zA-Z]{2})_/, '$1-');\n // Check that the value matches aa-BB pattern, case-insensitively:\n // locales are matched case-insensitively per BCP 47, and e.g. I18nProvider lowercases its locale.\n // TODO: support full BCP 47 spec?\n const match = locale.match(/^([a-zA-Z]{2})(?:-([a-zA-Z]{2}))?$/);\n if (!match) {\n warnOnce(component, `Invalid locale provided: ${locale}. Falling back to default`);\n return '';\n }\n // Normalize to the canonical aa-BB casing.\n return match[2] ? `${match[1].toLowerCase()}-${match[2].toUpperCase()}` : match[1].toLowerCase();\n}\n\nfunction getHtmlElement() {\n return typeof document !== 'undefined' ? document.querySelector('html') : null;\n}\n\nfunction getBrowserLocale() {\n return new Intl.DateTimeFormat().resolvedOptions().locale;\n}\n"]}
package/manifest.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "artifactId": "10456448096",
2
+ "artifactId": "10747417078",
3
3
  "repoName": "components",
4
- "commitSha": "3dc4191dc98e9ea97b7a6f9b4f5eadd9fc1961cd"
4
+ "commitSha": "b7e52fa64bb81fcfdc59fa3ad40305eceec53383"
5
5
  }
package/package.json CHANGED
@@ -61,6 +61,7 @@
61
61
  "./date-input": "./date-input/index.js",
62
62
  "./date-picker": "./date-picker/index.js",
63
63
  "./date-range-picker": "./date-range-picker/index.js",
64
+ "./dialog": "./dialog/index.js",
64
65
  "./divider": "./divider/index.js",
65
66
  "./drawer": "./drawer/index.js",
66
67
  "./dropdown": "./dropdown/index.js",
@@ -184,6 +185,8 @@
184
185
  "./test-utils/selectors/date-picker": "./test-utils/selectors/date-picker/index.js",
185
186
  "./test-utils/dom/date-range-picker": "./test-utils/dom/date-range-picker/index.js",
186
187
  "./test-utils/selectors/date-range-picker": "./test-utils/selectors/date-range-picker/index.js",
188
+ "./test-utils/dom/dialog": "./test-utils/dom/dialog/index.js",
189
+ "./test-utils/selectors/dialog": "./test-utils/selectors/dialog/index.js",
187
190
  "./test-utils/dom/divider": "./test-utils/dom/divider/index.js",
188
191
  "./test-utils/selectors/divider": "./test-utils/selectors/divider/index.js",
189
192
  "./test-utils/dom/drawer": "./test-utils/dom/drawer/index.js",
@@ -356,7 +359,7 @@
356
359
  "./internal/base-theme/styles.css.js",
357
360
  "./internal/base-component/styles.css.js"
358
361
  ],
359
- "version": "3.0.1382",
362
+ "version": "3.0.1384",
360
363
  "repository": {
361
364
  "type": "git",
362
365
  "url": "https://github.com/cloudscape-design/components.git"
@@ -1,5 +1,6 @@
1
1
  export * from '../internal/plugins/widget/interfaces';
2
- import { clearFeatureNotifications, registerFeatureNotificationsPublic, showFeaturePromptIfPossible } from '../internal/plugins/widget/index';
2
+ import { clearFeatureNotifications, registerBreadcrumbsConsumer, registerFeatureNotificationsPublic, showFeaturePromptIfPossible } from '../internal/plugins/widget/index';
3
+ export { registerBreadcrumbsConsumer };
3
4
  export declare const featureNotifications: {
4
5
  registerFeatureNotifications: typeof registerFeatureNotificationsPublic;
5
6
  showFeaturePromptIfPossible: typeof showFeaturePromptIfPossible;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAGA,cAAc,uCAAuC,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,EAC5B,MAAM,kCAAkC,CAAC;AAE1C,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAGA,cAAc,uCAAuC,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,2BAA2B,EAC5B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAEvC,eAAO,MAAM,oBAAoB;;;;CAIhC,CAAC"}
package/plugins/index.js CHANGED
@@ -2,7 +2,8 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  'use client';
4
4
  export * from '../internal/plugins/widget/interfaces';
5
- import { clearFeatureNotifications, registerFeatureNotificationsPublic, showFeaturePromptIfPossible, } from '../internal/plugins/widget/index';
5
+ import { clearFeatureNotifications, registerBreadcrumbsConsumer, registerFeatureNotificationsPublic, showFeaturePromptIfPossible, } from '../internal/plugins/widget/index';
6
+ export { registerBreadcrumbsConsumer };
6
7
  export const featureNotifications = {
7
8
  registerFeatureNotifications: registerFeatureNotificationsPublic,
8
9
  showFeaturePromptIfPossible,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,cAAc,uCAAuC,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,4BAA4B,EAAE,kCAAkC;IAChE,2BAA2B;IAC3B,yBAAyB;CAC1B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nexport * from '../internal/plugins/widget/interfaces';\nimport {\n clearFeatureNotifications,\n registerFeatureNotificationsPublic,\n showFeaturePromptIfPossible,\n} from '../internal/plugins/widget/index';\n\nexport const featureNotifications = {\n registerFeatureNotifications: registerFeatureNotificationsPublic,\n showFeaturePromptIfPossible,\n clearFeatureNotifications,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/index.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,YAAY,CAAC;AACb,cAAc,uCAAuC,CAAC;AACtD,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,4BAA4B,EAAE,kCAAkC;IAChE,2BAA2B;IAC3B,yBAAyB;CAC1B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n'use client';\nexport * from '../internal/plugins/widget/interfaces';\nimport {\n clearFeatureNotifications,\n registerBreadcrumbsConsumer,\n registerFeatureNotificationsPublic,\n showFeaturePromptIfPossible,\n} from '../internal/plugins/widget/index';\n\nexport { registerBreadcrumbsConsumer };\n\nexport const featureNotifications = {\n registerFeatureNotifications: registerFeatureNotificationsPublic,\n showFeaturePromptIfPossible,\n clearFeatureNotifications,\n};\n"]}
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
- import { SplitPanelContentProps, SplitPanelProps } from './interfaces';
2
+ import { SplitPanelContentProps } from './content-props';
3
+ import { SplitPanelProps } from './interfaces';
3
4
  interface SplitPanelContentBottomProps extends SplitPanelContentProps {
4
5
  appLayoutMaxWidth: React.CSSProperties | undefined;
5
6
  closeBehavior: SplitPanelProps['closeBehavior'];
@@ -1 +1 @@
1
- {"version":3,"file":"bottom.d.ts","sourceRoot":"","sources":["../../../src/split-panel/bottom.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMvE,UAAU,4BAA6B,SAAQ,sBAAsB;IACnE,iBAAiB,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IACnD,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,SAAS,EACT,MAAM,EACN,aAAa,EACb,UAAU,EACV,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,iBAAiB,GAClB,EAAE,4BAA4B,eAqF9B"}
1
+ {"version":3,"file":"bottom.d.ts","sourceRoot":"","sources":["../../../src/split-panel/bottom.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAUjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAM/C,UAAU,4BAA6B,SAAQ,sBAAsB;IACnE,iBAAiB,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IACnD,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,wBAAgB,uBAAuB,CAAC,EACtC,aAAa,EACb,SAAS,EACT,MAAM,EACN,aAAa,EACb,UAAU,EACV,MAAM,EACN,YAAY,EACZ,QAAQ,EACR,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,iBAAiB,GAClB,EAAE,4BAA4B,eAqF9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"bottom.js","sourceRoot":"","sources":["../../../src/split-panel/bottom.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, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useAppLayoutToolbarDesignEnabled } from '../app-layout/utils/feature-flags';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport * as tokens from '../internal/generated/styles/tokens';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { SplitPanelContentProps, SplitPanelProps } from './interfaces';\n\nimport sharedStyles from '../app-layout/resize/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface SplitPanelContentBottomProps extends SplitPanelContentProps {\n appLayoutMaxWidth: React.CSSProperties | undefined;\n closeBehavior: SplitPanelProps['closeBehavior'];\n hasCustomElements?: boolean;\n}\n\nexport function SplitPanelContentBottom({\n closeBehavior,\n baseProps,\n isOpen,\n splitPanelRef,\n cappedSize,\n header,\n resizeHandle,\n children,\n appLayoutMaxWidth,\n panelHeaderId,\n ariaLabel,\n onToggle,\n hasCustomElements,\n}: SplitPanelContentBottomProps) {\n const isRefresh = useVisualRefresh();\n const isToolbar = useAppLayoutToolbarDesignEnabled();\n const {\n bottomOffset,\n leftOffset,\n rightOffset,\n disableContentPaddings,\n contentWrapperPaddings,\n reportHeaderHeight,\n headerHeight: headerBlockSize,\n animationDisabled,\n } = useSplitPanelContext();\n const isMobile = useMobile();\n\n const headerRef = useRef<HTMLDivElement>(null);\n\n useResizeObserver(headerRef, entry => {\n const visibleHeaderSize = closeBehavior === 'hide' && !isOpen ? 0 : entry.borderBoxHeight;\n reportHeaderHeight(visibleHeaderSize);\n });\n\n useEffect(() => {\n // report empty height when unmounting the panel\n return () => reportHeaderHeight(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const centeredMaxWidthClasses = clsx({\n [styles['pane-bottom-center-align']]: isRefresh,\n [styles['pane-bottom-content-nav-padding']]: contentWrapperPaddings?.closedNav,\n [styles['pane-bottom-content-tools-padding']]: contentWrapperPaddings?.closedTools,\n });\n\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles['position-bottom'], testUtilStyles.root, {\n [sharedStyles['with-motion-vertical']]: !animationDisabled,\n [testUtilStyles['open-position-bottom']]: isOpen,\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-clickable']]: !hasCustomElements,\n [styles['drawer-mobile']]: isMobile,\n [styles['drawer-disable-content-paddings']]: disableContentPaddings,\n [styles.refresh]: isRefresh,\n [styles['with-toolbar']]: isToolbar,\n [styles.hidden]: closeBehavior === 'hide' && !isOpen,\n })}\n onClick={() => !isOpen && !hasCustomElements && onToggle()}\n style={{\n insetBlockEnd: bottomOffset,\n insetInlineStart: leftOffset,\n insetInlineEnd: rightOffset,\n blockSize: isOpen\n ? cappedSize\n : closeBehavior === 'hide'\n ? 0\n : isToolbar && headerBlockSize !== undefined\n ? `calc(${headerBlockSize}px + ${tokens.borderPanelTopWidth})`\n : undefined,\n }}\n ref={splitPanelRef}\n >\n {closeBehavior === 'hide' && !isOpen ? null : (\n <>\n {isOpen && <div className={styles['slider-wrapper-bottom']}>{resizeHandle}</div>}\n <div\n className={styles['drawer-content-bottom']}\n aria-labelledby={panelHeaderId}\n aria-label={ariaLabel}\n role=\"region\"\n >\n <div className={clsx(styles['pane-header-wrapper-bottom'], centeredMaxWidthClasses)} ref={headerRef}>\n {header}\n </div>\n <div className={clsx(styles['content-bottom'], centeredMaxWidthClasses)} aria-hidden={!isOpen}>\n <div className={clsx({ [styles['content-bottom-max-width']]: isRefresh })} style={appLayoutMaxWidth}>\n {children}\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"bottom.js","sourceRoot":"","sources":["../../../src/split-panel/bottom.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, { useEffect, useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\n\nimport { useAppLayoutToolbarDesignEnabled } from '../app-layout/utils/feature-flags';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport * as tokens from '../internal/generated/styles/tokens';\nimport { useMobile } from '../internal/hooks/use-mobile';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { SplitPanelContentProps } from './content-props';\nimport { SplitPanelProps } from './interfaces';\n\nimport sharedStyles from '../app-layout/resize/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface SplitPanelContentBottomProps extends SplitPanelContentProps {\n appLayoutMaxWidth: React.CSSProperties | undefined;\n closeBehavior: SplitPanelProps['closeBehavior'];\n hasCustomElements?: boolean;\n}\n\nexport function SplitPanelContentBottom({\n closeBehavior,\n baseProps,\n isOpen,\n splitPanelRef,\n cappedSize,\n header,\n resizeHandle,\n children,\n appLayoutMaxWidth,\n panelHeaderId,\n ariaLabel,\n onToggle,\n hasCustomElements,\n}: SplitPanelContentBottomProps) {\n const isRefresh = useVisualRefresh();\n const isToolbar = useAppLayoutToolbarDesignEnabled();\n const {\n bottomOffset,\n leftOffset,\n rightOffset,\n disableContentPaddings,\n contentWrapperPaddings,\n reportHeaderHeight,\n headerHeight: headerBlockSize,\n animationDisabled,\n } = useSplitPanelContext();\n const isMobile = useMobile();\n\n const headerRef = useRef<HTMLDivElement>(null);\n\n useResizeObserver(headerRef, entry => {\n const visibleHeaderSize = closeBehavior === 'hide' && !isOpen ? 0 : entry.borderBoxHeight;\n reportHeaderHeight(visibleHeaderSize);\n });\n\n useEffect(() => {\n // report empty height when unmounting the panel\n return () => reportHeaderHeight(0);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const centeredMaxWidthClasses = clsx({\n [styles['pane-bottom-center-align']]: isRefresh,\n [styles['pane-bottom-content-nav-padding']]: contentWrapperPaddings?.closedNav,\n [styles['pane-bottom-content-tools-padding']]: contentWrapperPaddings?.closedTools,\n });\n\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles['position-bottom'], testUtilStyles.root, {\n [sharedStyles['with-motion-vertical']]: !animationDisabled,\n [testUtilStyles['open-position-bottom']]: isOpen,\n [styles['drawer-closed']]: !isOpen,\n [styles['drawer-clickable']]: !hasCustomElements,\n [styles['drawer-mobile']]: isMobile,\n [styles['drawer-disable-content-paddings']]: disableContentPaddings,\n [styles.refresh]: isRefresh,\n [styles['with-toolbar']]: isToolbar,\n [styles.hidden]: closeBehavior === 'hide' && !isOpen,\n })}\n onClick={() => !isOpen && !hasCustomElements && onToggle()}\n style={{\n insetBlockEnd: bottomOffset,\n insetInlineStart: leftOffset,\n insetInlineEnd: rightOffset,\n blockSize: isOpen\n ? cappedSize\n : closeBehavior === 'hide'\n ? 0\n : isToolbar && headerBlockSize !== undefined\n ? `calc(${headerBlockSize}px + ${tokens.borderPanelTopWidth})`\n : undefined,\n }}\n ref={splitPanelRef}\n >\n {closeBehavior === 'hide' && !isOpen ? null : (\n <>\n {isOpen && <div className={styles['slider-wrapper-bottom']}>{resizeHandle}</div>}\n <div\n className={styles['drawer-content-bottom']}\n aria-labelledby={panelHeaderId}\n aria-label={ariaLabel}\n role=\"region\"\n >\n <div className={clsx(styles['pane-header-wrapper-bottom'], centeredMaxWidthClasses)} ref={headerRef}>\n {header}\n </div>\n <div className={clsx(styles['content-bottom'], centeredMaxWidthClasses)} aria-hidden={!isOpen}>\n <div className={clsx({ [styles['content-bottom-max-width']]: isRefresh })} style={appLayoutMaxWidth}>\n {children}\n </div>\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n"]}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { BaseComponentProps } from '../types/base-component';
3
+ /** Props the split panel implementation passes to its bottom/side content renderers. Not public API. */
4
+ export interface SplitPanelContentProps {
5
+ style: React.CSSProperties;
6
+ baseProps: BaseComponentProps;
7
+ isOpen?: boolean;
8
+ splitPanelRef?: React.Ref<any>;
9
+ cappedSize: number;
10
+ panelHeaderId?: string;
11
+ ariaLabel?: string;
12
+ resizeHandle: React.ReactNode;
13
+ header: React.ReactNode;
14
+ children: React.ReactNode;
15
+ onToggle: () => void;
16
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-props.d.ts","sourceRoot":"","sources":["../../../src/split-panel/content-props.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,wGAAwG;AACxG,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=content-props.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-props.js","sourceRoot":"","sources":["../../../src/split-panel/content-props.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BaseComponentProps } from '../types/base-component';\n\n/** Props the split panel implementation passes to its bottom/side content renderers. Not public API. */\nexport interface SplitPanelContentProps {\n style: React.CSSProperties;\n baseProps: BaseComponentProps;\n isOpen?: boolean;\n splitPanelRef?: React.Ref<any>;\n cappedSize: number;\n panelHeaderId?: string;\n ariaLabel?: string;\n resizeHandle: React.ReactNode;\n header: React.ReactNode;\n children: React.ReactNode;\n onToggle: () => void;\n}\n"]}
@@ -65,17 +65,4 @@ export declare namespace SplitPanelProps {
65
65
  resizeHandleAriaLabel?: string;
66
66
  resizeHandleTooltipText?: string;
67
67
  }
68
- }
69
- export interface SplitPanelContentProps {
70
- style: React.CSSProperties;
71
- baseProps: BaseComponentProps;
72
- isOpen?: boolean;
73
- splitPanelRef?: React.Ref<any>;
74
- cappedSize: number;
75
- panelHeaderId?: string;
76
- ariaLabel?: string;
77
- resizeHandle: React.ReactNode;
78
- header: React.ReactNode;
79
- children: React.ReactNode;
80
- onToggle: () => void;
81
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/split-panel/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEpC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,yBAAiB,eAAe,CAAC;IAC/B,UAAiB,WAAW;QAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC;IAC3B,SAAS,EAAE,kBAAkB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,aAAa,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/split-panel/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B;;OAEG;IACH,aAAa,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC;IAE1C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC;;OAEG;IACH,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEpC;;OAEG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;OAEG;IACH,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAChC;AAED,yBAAiB,eAAe,CAAC;IAC/B,UAAiB,WAAW;QAC1B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,wBAAwB,CAAC,EAAE,MAAM,CAAC;QAClC,8BAA8B,CAAC,EAAE,MAAM,CAAC;QACxC,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;QAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;QACnC,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,uBAAuB,CAAC,EAAE,MAAM,CAAC;KAClC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/split-panel/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BaseComponentProps } from '../types/base-component';\n\nexport interface SplitPanelProps extends BaseComponentProps {\n /**\n * Header text of the split panel.\n */\n header?: string;\n children: React.ReactNode;\n /**\n * Determines whether the split panel collapses or hides completely when closed.\n */\n closeBehavior?: 'collapse' | 'hide';\n /**\n * When set to `true`, the preferences button is not displayed.\n */\n hidePreferencesButton?: boolean;\n /**\n * An object containing all the necessary localized strings required by the component.\n * - `closeButtonAriaLabel` - The text of the panel close button aria label.\n * - `openButtonAriaLabel` - The text of the panel open button aria label.\n * - `preferencesTitle` - The text of the preferences modal header.\n * - `preferencesPositionLabel` - The text of the position preference label.\n * - `preferencesPositionDescription` - The text of the position preference description.\n * - `preferencesPositionSide` - The text of the side position preference label.\n * - `preferencesPositionBottom` - The text of the bottom position preference label.\n * - `preferencesConfirm` - The text of the preference modal confirm button.\n * - `preferencesCancel` - The text of the preference modal cancel button.\n * - `resizeHandleAriaLabel` - The label of the resize handle aria label.\n * @i18n\n */\n i18nStrings?: SplitPanelProps.I18nStrings;\n\n /**\n * ARIA label for the panel. Use this if the value passed in the `header` property is not descriptive as a label for the panel.\n */\n ariaLabel?: string;\n\n /**\n * Actions for the header.\n */\n headerActions?: React.ReactNode;\n\n /**\n * Supplementary text below the heading.\n */\n headerDescription?: React.ReactNode;\n\n /**\n * The area next to the heading, used to display an Info link.\n */\n headerInfo?: React.ReactNode;\n\n /**\n * Content displayed before the header text.\n */\n headerBefore?: React.ReactNode;\n}\n\nexport namespace SplitPanelProps {\n export interface I18nStrings {\n closeButtonAriaLabel?: string;\n openButtonAriaLabel?: string;\n preferencesTitle?: string;\n preferencesPositionLabel?: string;\n preferencesPositionDescription?: string;\n preferencesPositionSide?: string;\n preferencesPositionBottom?: string;\n preferencesConfirm?: string;\n preferencesCancel?: string;\n preferencesCloseAriaLabel?: string;\n resizeHandleAriaLabel?: string;\n resizeHandleTooltipText?: string;\n }\n}\n\nexport interface SplitPanelContentProps {\n style: React.CSSProperties;\n baseProps: BaseComponentProps;\n isOpen?: boolean;\n splitPanelRef?: React.Ref<any>;\n cappedSize: number;\n panelHeaderId?: string;\n ariaLabel?: string;\n resizeHandle: React.ReactNode;\n header: React.ReactNode;\n children: React.ReactNode;\n onToggle: () => void;\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/split-panel/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BaseComponentProps } from '../types/base-component';\n\nexport interface SplitPanelProps extends BaseComponentProps {\n /**\n * Header text of the split panel.\n */\n header?: string;\n children: React.ReactNode;\n /**\n * Determines whether the split panel collapses or hides completely when closed.\n */\n closeBehavior?: 'collapse' | 'hide';\n /**\n * When set to `true`, the preferences button is not displayed.\n */\n hidePreferencesButton?: boolean;\n /**\n * An object containing all the necessary localized strings required by the component.\n * - `closeButtonAriaLabel` - The text of the panel close button aria label.\n * - `openButtonAriaLabel` - The text of the panel open button aria label.\n * - `preferencesTitle` - The text of the preferences modal header.\n * - `preferencesPositionLabel` - The text of the position preference label.\n * - `preferencesPositionDescription` - The text of the position preference description.\n * - `preferencesPositionSide` - The text of the side position preference label.\n * - `preferencesPositionBottom` - The text of the bottom position preference label.\n * - `preferencesConfirm` - The text of the preference modal confirm button.\n * - `preferencesCancel` - The text of the preference modal cancel button.\n * - `resizeHandleAriaLabel` - The label of the resize handle aria label.\n * @i18n\n */\n i18nStrings?: SplitPanelProps.I18nStrings;\n\n /**\n * ARIA label for the panel. Use this if the value passed in the `header` property is not descriptive as a label for the panel.\n */\n ariaLabel?: string;\n\n /**\n * Actions for the header.\n */\n headerActions?: React.ReactNode;\n\n /**\n * Supplementary text below the heading.\n */\n headerDescription?: React.ReactNode;\n\n /**\n * The area next to the heading, used to display an Info link.\n */\n headerInfo?: React.ReactNode;\n\n /**\n * Content displayed before the header text.\n */\n headerBefore?: React.ReactNode;\n}\n\nexport namespace SplitPanelProps {\n export interface I18nStrings {\n closeButtonAriaLabel?: string;\n openButtonAriaLabel?: string;\n preferencesTitle?: string;\n preferencesPositionLabel?: string;\n preferencesPositionDescription?: string;\n preferencesPositionSide?: string;\n preferencesPositionBottom?: string;\n preferencesConfirm?: string;\n preferencesCancel?: string;\n preferencesCloseAriaLabel?: string;\n resizeHandleAriaLabel?: string;\n resizeHandleTooltipText?: string;\n }\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  import React from 'react';
2
2
  import { ButtonProps } from '../button/interfaces';
3
- import { SplitPanelContentProps, SplitPanelProps } from './interfaces';
3
+ import { SplitPanelContentProps } from './content-props';
4
+ import { SplitPanelProps } from './interfaces';
4
5
  interface SplitPanelContentSideProps extends SplitPanelContentProps {
5
6
  closeBehavior: SplitPanelProps['closeBehavior'];
6
7
  openButtonAriaLabel?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"side.d.ts","sourceRoot":"","sources":["../../../src/split-panel/side.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAMvE,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,aAAa,GACd,EAAE,0BAA0B,eA0D5B"}
1
+ {"version":3,"file":"side.d.ts","sourceRoot":"","sources":["../../../src/split-panel/side.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAInD,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAM/C,UAAU,0BAA2B,SAAQ,sBAAsB;IACjE,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;IAChD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;CAC7C;AAED,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,EACT,aAAa,EACb,SAAS,EACT,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,MAAM,EACN,UAAU,EACV,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,QAAQ,EACR,aAAa,GACd,EAAE,0BAA0B,eA0D5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"side.js","sourceRoot":"","sources":["../../../src/split-panel/side.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 { useAppLayoutToolbarDesignEnabled } from '../app-layout/utils/feature-flags';\nimport { ButtonProps } from '../button/interfaces';\nimport InternalButton from '../button/internal';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { SplitPanelContentProps, SplitPanelProps } from './interfaces';\n\nimport sharedStyles from '../app-layout/resize/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface SplitPanelContentSideProps extends SplitPanelContentProps {\n closeBehavior: SplitPanelProps['closeBehavior'];\n openButtonAriaLabel?: string;\n toggleRef: React.RefObject<ButtonProps.Ref>;\n}\n\nexport function SplitPanelContentSide({\n style,\n baseProps,\n splitPanelRef,\n toggleRef,\n header,\n children,\n resizeHandle,\n isOpen,\n cappedSize,\n openButtonAriaLabel,\n panelHeaderId,\n ariaLabel,\n onToggle,\n closeBehavior,\n}: SplitPanelContentSideProps) {\n const { topOffset, bottomOffset, animationDisabled } = useSplitPanelContext();\n const isRefresh = useVisualRefresh();\n const isToolbar = useAppLayoutToolbarDesignEnabled();\n const disableAnimation = animationDisabled || (closeBehavior === 'hide' && !isOpen);\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles['position-side'], testUtilStyles.root, {\n [sharedStyles['with-motion-horizontal']]: !disableAnimation,\n [testUtilStyles['open-position-side']]: isOpen,\n [styles['drawer-closed']]: !isOpen,\n [styles['with-toolbar']]: isToolbar,\n [styles.refresh]: isRefresh,\n })}\n style={{\n width: isOpen ? cappedSize : isRefresh ? '0px' : undefined,\n maxWidth: isRefresh ? '100%' : undefined,\n ...style,\n }}\n ref={splitPanelRef}\n >\n <div\n className={styles['drawer-content-side']}\n style={{\n top: topOffset,\n bottom: bottomOffset,\n }}\n onClick={() => !isOpen && onToggle()}\n aria-labelledby={panelHeaderId}\n aria-label={ariaLabel}\n role=\"region\"\n >\n {isOpen ? (\n <div className={clsx(styles['slider-wrapper-side'], isToolbar && styles['with-toolbar'])}>{resizeHandle}</div>\n ) : closeBehavior === 'hide' ? null : (\n <InternalButton\n className={clsx(testUtilStyles['open-button'], styles['open-button-side'])}\n iconName=\"angle-left\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={openButtonAriaLabel}\n ariaExpanded={isOpen}\n //toggleRef should only be assigned when there is no other trigger-buttons\n ref={isRefresh || isToolbar ? null : toggleRef}\n />\n )}\n <div\n className={clsx(styles['content-side'], isToolbar && styles['with-toolbar'])}\n aria-hidden={!isOpen}\n style={{ width: isToolbar ? cappedSize : '0px' }} // to prevent text wrapping upon entering\n >\n <div className={styles['pane-header-wrapper-side']}>{header}</div>\n <div className={styles['pane-content-wrapper-side']}>{children}</div>\n </div>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"side.js","sourceRoot":"","sources":["../../../src/split-panel/side.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 { useAppLayoutToolbarDesignEnabled } from '../app-layout/utils/feature-flags';\nimport { ButtonProps } from '../button/interfaces';\nimport InternalButton from '../button/internal';\nimport { useSplitPanelContext } from '../internal/context/split-panel-context';\nimport { useVisualRefresh } from '../internal/hooks/use-visual-mode';\nimport { SplitPanelContentProps } from './content-props';\nimport { SplitPanelProps } from './interfaces';\n\nimport sharedStyles from '../app-layout/resize/styles.css.js';\nimport styles from './styles.css.js';\nimport testUtilStyles from './test-classes/styles.css.js';\n\ninterface SplitPanelContentSideProps extends SplitPanelContentProps {\n closeBehavior: SplitPanelProps['closeBehavior'];\n openButtonAriaLabel?: string;\n toggleRef: React.RefObject<ButtonProps.Ref>;\n}\n\nexport function SplitPanelContentSide({\n style,\n baseProps,\n splitPanelRef,\n toggleRef,\n header,\n children,\n resizeHandle,\n isOpen,\n cappedSize,\n openButtonAriaLabel,\n panelHeaderId,\n ariaLabel,\n onToggle,\n closeBehavior,\n}: SplitPanelContentSideProps) {\n const { topOffset, bottomOffset, animationDisabled } = useSplitPanelContext();\n const isRefresh = useVisualRefresh();\n const isToolbar = useAppLayoutToolbarDesignEnabled();\n const disableAnimation = animationDisabled || (closeBehavior === 'hide' && !isOpen);\n return (\n <div\n {...baseProps}\n className={clsx(baseProps.className, styles.drawer, styles['position-side'], testUtilStyles.root, {\n [sharedStyles['with-motion-horizontal']]: !disableAnimation,\n [testUtilStyles['open-position-side']]: isOpen,\n [styles['drawer-closed']]: !isOpen,\n [styles['with-toolbar']]: isToolbar,\n [styles.refresh]: isRefresh,\n })}\n style={{\n width: isOpen ? cappedSize : isRefresh ? '0px' : undefined,\n maxWidth: isRefresh ? '100%' : undefined,\n ...style,\n }}\n ref={splitPanelRef}\n >\n <div\n className={styles['drawer-content-side']}\n style={{\n top: topOffset,\n bottom: bottomOffset,\n }}\n onClick={() => !isOpen && onToggle()}\n aria-labelledby={panelHeaderId}\n aria-label={ariaLabel}\n role=\"region\"\n >\n {isOpen ? (\n <div className={clsx(styles['slider-wrapper-side'], isToolbar && styles['with-toolbar'])}>{resizeHandle}</div>\n ) : closeBehavior === 'hide' ? null : (\n <InternalButton\n className={clsx(testUtilStyles['open-button'], styles['open-button-side'])}\n iconName=\"angle-left\"\n variant=\"icon\"\n formAction=\"none\"\n ariaLabel={openButtonAriaLabel}\n ariaExpanded={isOpen}\n //toggleRef should only be assigned when there is no other trigger-buttons\n ref={isRefresh || isToolbar ? null : toggleRef}\n />\n )}\n <div\n className={clsx(styles['content-side'], isToolbar && styles['with-toolbar'])}\n aria-hidden={!isOpen}\n style={{ width: isToolbar ? cappedSize : '0px' }} // to prevent text wrapping upon entering\n >\n <div className={styles['pane-header-wrapper-side']}>{header}</div>\n <div className={styles['pane-content-wrapper-side']}>{children}</div>\n </div>\n </div>\n </div>\n );\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"td-element.d.ts","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAStC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAyB,SAAS,EAAE,MAAM,eAAe,CAAC;AAOjE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,IAAI,CACrB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAC3F,OAAO,GAAG,WAAW,GAAG,SAAS,CAClC,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,kGAmH1B,CAAC"}
1
+ {"version":3,"file":"td-element.d.ts","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAUtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAuB,MAAM,mBAAmB,CAAC;AAC5E,OAAO,EAAyB,SAAS,EAAE,MAAM,eAAe,CAAC;AAOjE,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,IAAI,CACrB,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,EAC3F,OAAO,GAAG,WAAW,GAAG,SAAS,CAClC,CAAC;IACF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,kBAAkB,CAAC;IAChC,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sBAAsB,CAAC,EAAE,MAAM,IAAI,CAAC;IACpC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,aAAa,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC;IACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,kGAqH1B,CAAC"}
@@ -5,6 +5,7 @@ import clsx from 'clsx';
5
5
  import { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';
6
6
  import { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';
7
7
  import { copyAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';
8
+ import { useInternalComponentIcons } from '../../icon-provider/use-component-icons';
8
9
  import { ExpandToggleButton } from '../../internal/components/expand-toggle-button';
9
10
  import { useVisualRefresh } from '../../internal/hooks/use-visual-mode';
10
11
  import { useStickyCellStyles } from '../sticky-columns';
@@ -26,10 +27,11 @@ export const TableTdElement = React.forwardRef(({ children, wrapLines, isRowHead
26
27
  const cellRefObject = useRef(null);
27
28
  const mergedRef = useMergeRefs(stickyStyles.ref, ref, cellRefObject);
28
29
  const { tabIndex: cellTabIndex } = useSingleTabStopNavigation(cellRefObject);
30
+ const tableIcons = useInternalComponentIcons('table');
29
31
  const isEditingActive = isEditing && !isEditingDisabled;
30
32
  return (React.createElement(Element, { style: { ...resizableStyle, ...stickyStyles.style }, className: clsx(styles['body-cell'], isSelected && styles['body-cell-selected'], isNextSelected && styles['body-cell-next-selected'], isPrevSelected && styles['body-cell-prev-selected'], !isEvenRow && stripedRows && styles['body-cell-shaded'], stripedRows && styles['has-striped-rows'], isVisualRefresh && styles['is-visual-refresh'], isSelection && tableStyles['selection-control'], hasSelection && styles['has-selection'], hasFooter && styles['has-footer'], resizableColumns && styles['resizable-columns'], verticalAlign === 'top' && styles['body-cell-align-top'], isEditable && styles['body-cell-editable'], isEditing && !isEditingDisabled && styles['body-cell-edit-active'], isEditing && isEditingDisabled && styles['body-cell-edit-disabled-popover'], hasSuccessIcon && styles['body-cell-has-success'], level !== undefined && !isEditingActive && styles['body-cell-expandable'], level !== undefined && !isEditingActive && styles[`expandable-level-${getLevelClassSuffix(level)}`], tableVariant && styles[`table-variant-${tableVariant}`], stickyStyles.className), onClick: onClick, onFocus: onFocus, onBlur: onBlur, ref: mergedRef, ...nativeAttributes, tabIndex: cellTabIndex === -1 ? undefined : cellTabIndex, ...copyAnalyticsMetadataAttribute(rest) },
31
33
  level !== undefined && isExpandable && !isEditingActive && (React.createElement("div", { className: styles['expandable-toggle-wrapper'] },
32
- React.createElement(ExpandToggleButton, { isExpanded: isExpanded, onExpandableItemToggle: onExpandableItemToggle, expandButtonLabel: expandButtonLabel, collapseButtonLabel: collapseButtonLabel }))),
34
+ React.createElement(ExpandToggleButton, { isExpanded: isExpanded, onExpandableItemToggle: onExpandableItemToggle, expandButtonLabel: expandButtonLabel, collapseButtonLabel: collapseButtonLabel, expandToggleIcon: tableIcons === null || tableIcons === void 0 ? void 0 : tableIcons.expandToggle }))),
33
35
  React.createElement("div", { className: clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap']) },
34
36
  children,
35
37
  counter ? (React.createElement("div", { className: styles['body-cell-counter'] },
@@ -1 +1 @@
1
- {"version":3,"file":"td-element.js","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\nimport { copyAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { ExpandToggleButton } from '../../internal/components/expand-toggle-button';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { ColumnWidthStyle } from '../column-widths-utils';\nimport { TableProps } from '../interfaces.js';\nimport { StickyColumnsModel, useStickyCellStyles } from '../sticky-columns';\nimport { getTableCellRoleProps, TableRole } from '../table-role';\nimport { getStickyClassNames } from '../utils';\n\nimport tableStyles from '../styles.css.js';\nimport testUtilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface TableTdElementProps {\n wrapLines: boolean | undefined;\n isRowHeader?: boolean;\n isSelected: boolean;\n isNextSelected: boolean;\n isPrevSelected: boolean;\n nativeAttributes?: Omit<\n React.TdHTMLAttributes<HTMLTableCellElement> | React.ThHTMLAttributes<HTMLTableCellElement>,\n 'style' | 'className' | 'onClick'\n >;\n onClick?: () => void;\n onFocus?: () => void;\n onBlur?: () => void;\n children?: React.ReactNode;\n isEvenRow?: boolean;\n stripedRows?: boolean;\n isSelection?: boolean;\n hasSelection?: boolean;\n hasFooter?: boolean;\n columnId: PropertyKey;\n colIndex: number;\n stickyState: StickyColumnsModel;\n tableRole: TableRole;\n level?: number;\n isExpandable?: boolean;\n isExpanded?: boolean;\n onExpandableItemToggle?: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n verticalAlign?: TableProps.VerticalAlign;\n resizableColumns?: boolean;\n resizableStyle?: ColumnWidthStyle;\n isEditable: boolean;\n isEditing: boolean;\n isEditingDisabled?: boolean;\n hasSuccessIcon?: boolean;\n tableVariant?: string;\n counter?: React.ReactNode;\n}\n\nexport const TableTdElement = React.forwardRef<HTMLTableCellElement, TableTdElementProps>(\n (\n {\n children,\n wrapLines,\n isRowHeader,\n isSelected,\n isNextSelected,\n isPrevSelected,\n nativeAttributes,\n onClick,\n onFocus,\n onBlur,\n isEvenRow,\n stripedRows,\n isSelection,\n hasSelection,\n hasFooter,\n columnId,\n colIndex,\n stickyState,\n tableRole,\n level,\n isExpandable,\n isExpanded,\n onExpandableItemToggle,\n expandButtonLabel,\n collapseButtonLabel,\n verticalAlign,\n resizableColumns,\n resizableStyle,\n isEditable,\n isEditing,\n isEditingDisabled,\n hasSuccessIcon,\n tableVariant,\n counter,\n ...rest\n },\n ref\n ) => {\n const Element = isRowHeader ? 'th' : 'td';\n const isVisualRefresh = useVisualRefresh();\n\n resizableStyle = resizableColumns ? {} : resizableStyle;\n\n nativeAttributes = { ...nativeAttributes, ...getTableCellRoleProps({ tableRole, isRowHeader, colIndex }) };\n\n const stickyStyles = useStickyCellStyles({\n stickyColumns: stickyState,\n columnId,\n getClassName: props => getStickyClassNames(styles, props),\n });\n\n const cellRefObject = useRef<HTMLTableCellElement>(null);\n const mergedRef = useMergeRefs(stickyStyles.ref, ref, cellRefObject);\n const { tabIndex: cellTabIndex } = useSingleTabStopNavigation(cellRefObject);\n const isEditingActive = isEditing && !isEditingDisabled;\n\n return (\n <Element\n style={{ ...resizableStyle, ...stickyStyles.style }}\n className={clsx(\n styles['body-cell'],\n isSelected && styles['body-cell-selected'],\n isNextSelected && styles['body-cell-next-selected'],\n isPrevSelected && styles['body-cell-prev-selected'],\n !isEvenRow && stripedRows && styles['body-cell-shaded'],\n stripedRows && styles['has-striped-rows'],\n isVisualRefresh && styles['is-visual-refresh'],\n isSelection && tableStyles['selection-control'],\n hasSelection && styles['has-selection'],\n hasFooter && styles['has-footer'],\n resizableColumns && styles['resizable-columns'],\n verticalAlign === 'top' && styles['body-cell-align-top'],\n isEditable && styles['body-cell-editable'],\n isEditing && !isEditingDisabled && styles['body-cell-edit-active'],\n isEditing && isEditingDisabled && styles['body-cell-edit-disabled-popover'],\n hasSuccessIcon && styles['body-cell-has-success'],\n level !== undefined && !isEditingActive && styles['body-cell-expandable'],\n level !== undefined && !isEditingActive && styles[`expandable-level-${getLevelClassSuffix(level)}`],\n tableVariant && styles[`table-variant-${tableVariant}`],\n stickyStyles.className\n )}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={mergedRef}\n {...nativeAttributes}\n tabIndex={cellTabIndex === -1 ? undefined : cellTabIndex}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {level !== undefined && isExpandable && !isEditingActive && (\n <div className={styles['expandable-toggle-wrapper']}>\n <ExpandToggleButton\n isExpanded={isExpanded}\n onExpandableItemToggle={onExpandableItemToggle}\n expandButtonLabel={expandButtonLabel}\n collapseButtonLabel={collapseButtonLabel}\n />\n </div>\n )}\n\n <div className={clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap'])}>\n {children}\n {counter ? (\n <div className={styles['body-cell-counter']}>\n <span> </span>\n <span className={testUtilStyles['body-cell-counter']}>{counter}</span>\n </div>\n ) : null}\n </div>\n </Element>\n );\n }\n);\n\nfunction getLevelClassSuffix(level: number) {\n return 0 <= level && level <= 9 ? level : 'next';\n}\n"]}
1
+ {"version":3,"file":"td-element.js","sourceRoot":"","sources":["../../../../src/table/body-cell/td-element.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useRef } from 'react';\nimport clsx from 'clsx';\n\nimport { useMergeRefs } from '@cloudscape-design/component-toolkit/internal';\nimport { useSingleTabStopNavigation } from '@cloudscape-design/component-toolkit/internal';\nimport { copyAnalyticsMetadataAttribute } from '@cloudscape-design/component-toolkit/internal/analytics-metadata';\n\nimport { useInternalComponentIcons } from '../../icon-provider/use-component-icons';\nimport { ExpandToggleButton } from '../../internal/components/expand-toggle-button';\nimport { useVisualRefresh } from '../../internal/hooks/use-visual-mode';\nimport { ColumnWidthStyle } from '../column-widths-utils';\nimport { TableProps } from '../interfaces.js';\nimport { StickyColumnsModel, useStickyCellStyles } from '../sticky-columns';\nimport { getTableCellRoleProps, TableRole } from '../table-role';\nimport { getStickyClassNames } from '../utils';\n\nimport tableStyles from '../styles.css.js';\nimport testUtilStyles from '../test-classes/styles.css.js';\nimport styles from './styles.css.js';\n\nexport interface TableTdElementProps {\n wrapLines: boolean | undefined;\n isRowHeader?: boolean;\n isSelected: boolean;\n isNextSelected: boolean;\n isPrevSelected: boolean;\n nativeAttributes?: Omit<\n React.TdHTMLAttributes<HTMLTableCellElement> | React.ThHTMLAttributes<HTMLTableCellElement>,\n 'style' | 'className' | 'onClick'\n >;\n onClick?: () => void;\n onFocus?: () => void;\n onBlur?: () => void;\n children?: React.ReactNode;\n isEvenRow?: boolean;\n stripedRows?: boolean;\n isSelection?: boolean;\n hasSelection?: boolean;\n hasFooter?: boolean;\n columnId: PropertyKey;\n colIndex: number;\n stickyState: StickyColumnsModel;\n tableRole: TableRole;\n level?: number;\n isExpandable?: boolean;\n isExpanded?: boolean;\n onExpandableItemToggle?: () => void;\n expandButtonLabel?: string;\n collapseButtonLabel?: string;\n verticalAlign?: TableProps.VerticalAlign;\n resizableColumns?: boolean;\n resizableStyle?: ColumnWidthStyle;\n isEditable: boolean;\n isEditing: boolean;\n isEditingDisabled?: boolean;\n hasSuccessIcon?: boolean;\n tableVariant?: string;\n counter?: React.ReactNode;\n}\n\nexport const TableTdElement = React.forwardRef<HTMLTableCellElement, TableTdElementProps>(\n (\n {\n children,\n wrapLines,\n isRowHeader,\n isSelected,\n isNextSelected,\n isPrevSelected,\n nativeAttributes,\n onClick,\n onFocus,\n onBlur,\n isEvenRow,\n stripedRows,\n isSelection,\n hasSelection,\n hasFooter,\n columnId,\n colIndex,\n stickyState,\n tableRole,\n level,\n isExpandable,\n isExpanded,\n onExpandableItemToggle,\n expandButtonLabel,\n collapseButtonLabel,\n verticalAlign,\n resizableColumns,\n resizableStyle,\n isEditable,\n isEditing,\n isEditingDisabled,\n hasSuccessIcon,\n tableVariant,\n counter,\n ...rest\n },\n ref\n ) => {\n const Element = isRowHeader ? 'th' : 'td';\n const isVisualRefresh = useVisualRefresh();\n\n resizableStyle = resizableColumns ? {} : resizableStyle;\n\n nativeAttributes = { ...nativeAttributes, ...getTableCellRoleProps({ tableRole, isRowHeader, colIndex }) };\n\n const stickyStyles = useStickyCellStyles({\n stickyColumns: stickyState,\n columnId,\n getClassName: props => getStickyClassNames(styles, props),\n });\n\n const cellRefObject = useRef<HTMLTableCellElement>(null);\n const mergedRef = useMergeRefs(stickyStyles.ref, ref, cellRefObject);\n const { tabIndex: cellTabIndex } = useSingleTabStopNavigation(cellRefObject);\n const tableIcons = useInternalComponentIcons('table');\n const isEditingActive = isEditing && !isEditingDisabled;\n\n return (\n <Element\n style={{ ...resizableStyle, ...stickyStyles.style }}\n className={clsx(\n styles['body-cell'],\n isSelected && styles['body-cell-selected'],\n isNextSelected && styles['body-cell-next-selected'],\n isPrevSelected && styles['body-cell-prev-selected'],\n !isEvenRow && stripedRows && styles['body-cell-shaded'],\n stripedRows && styles['has-striped-rows'],\n isVisualRefresh && styles['is-visual-refresh'],\n isSelection && tableStyles['selection-control'],\n hasSelection && styles['has-selection'],\n hasFooter && styles['has-footer'],\n resizableColumns && styles['resizable-columns'],\n verticalAlign === 'top' && styles['body-cell-align-top'],\n isEditable && styles['body-cell-editable'],\n isEditing && !isEditingDisabled && styles['body-cell-edit-active'],\n isEditing && isEditingDisabled && styles['body-cell-edit-disabled-popover'],\n hasSuccessIcon && styles['body-cell-has-success'],\n level !== undefined && !isEditingActive && styles['body-cell-expandable'],\n level !== undefined && !isEditingActive && styles[`expandable-level-${getLevelClassSuffix(level)}`],\n tableVariant && styles[`table-variant-${tableVariant}`],\n stickyStyles.className\n )}\n onClick={onClick}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={mergedRef}\n {...nativeAttributes}\n tabIndex={cellTabIndex === -1 ? undefined : cellTabIndex}\n {...copyAnalyticsMetadataAttribute(rest)}\n >\n {level !== undefined && isExpandable && !isEditingActive && (\n <div className={styles['expandable-toggle-wrapper']}>\n <ExpandToggleButton\n isExpanded={isExpanded}\n onExpandableItemToggle={onExpandableItemToggle}\n expandButtonLabel={expandButtonLabel}\n collapseButtonLabel={collapseButtonLabel}\n expandToggleIcon={tableIcons?.expandToggle}\n />\n </div>\n )}\n\n <div className={clsx(styles['body-cell-content'], wrapLines && styles['body-cell-wrap'])}>\n {children}\n {counter ? (\n <div className={styles['body-cell-counter']}>\n <span> </span>\n <span className={testUtilStyles['body-cell-counter']}>{counter}</span>\n </div>\n ) : null}\n </div>\n </Element>\n );\n }\n);\n\nfunction getLevelClassSuffix(level: number) {\n return 0 <= level && level <= 9 ? level : 'next';\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,MAAM,WAAW,oBAAoB,CAAC,QAAQ,CAAE,SAAQ,mBAAmB;IACzE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,EACxC,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,GACX,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eA2QhC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/table/header-cell/index.tsx"],"names":[],"mappings":"AAiBA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAU3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAQrD,MAAM,WAAW,oBAAoB,CAAC,QAAQ,CAAE,SAAQ,mBAAmB;IACzE,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC9C,mBAAmB,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACzD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IACpD,eAAe,CAAC,EAAE,UAAU,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACvD,WAAW,CAAC,EAAE,UAAU,CAAC,WAAW,CAAC;IACrC,UAAU,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,YAAY,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,EACxC,QAAQ,EACR,MAAM,EACN,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,SAAS,EACT,gBAAgB,EAChB,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,UAAU,EACV,QAAQ,EACR,WAAW,EACX,OAAO,EACP,SAAS,EACT,sBAAsB,EACtB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,OAAO,EACP,OAAO,EACP,OAAO,EACP,aAAa,EACb,kBAAkB,EAClB,MAAM,EACN,YAAY,EACZ,eAAe,EACf,WAAW,EACX,UAAU,GACX,EAAE,oBAAoB,CAAC,QAAQ,CAAC,eA+QhC"}