@cloudscape-design/components-themeable 3.0.769 → 3.0.771

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 (490) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/alert/motion.scss +1 -1
  3. package/lib/internal/scss/anchor-navigation/styles.scss +14 -13
  4. package/lib/internal/scss/app-layout/visual-refresh/trigger-button.scss +11 -5
  5. package/lib/internal/scss/app-layout/visual-refresh-toolbar/skeleton/styles.scss +1 -1
  6. package/lib/internal/scss/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scss +9 -8
  7. package/lib/internal/scss/attribute-editor/motion.scss +1 -1
  8. package/lib/internal/scss/breadcrumb-group/item/styles.scss +10 -15
  9. package/lib/internal/scss/breadcrumb-group/styles.scss +15 -35
  10. package/lib/internal/scss/button-dropdown/category-elements/styles.scss +4 -4
  11. package/lib/internal/scss/button-dropdown/item-element/styles.scss +1 -1
  12. package/lib/internal/scss/calendar/motion.scss +1 -1
  13. package/lib/internal/scss/calendar/styles.scss +1 -2
  14. package/lib/internal/scss/code-editor/resizable-box/styles.scss +1 -2
  15. package/lib/internal/scss/code-editor/styles.scss +3 -3
  16. package/lib/internal/scss/column-layout/styles.scss +1 -1
  17. package/lib/internal/scss/date-range-picker/motion.scss +1 -1
  18. package/lib/internal/scss/expandable-section/motion.scss +1 -1
  19. package/lib/internal/scss/form-field/motion.scss +5 -3
  20. package/lib/internal/scss/form-field/styles.scss +1 -1
  21. package/lib/internal/scss/internal/components/chart-series-details/motion.scss +1 -2
  22. package/lib/internal/scss/internal/components/checkbox-icon/styles.scss +5 -5
  23. package/lib/internal/scss/internal/components/dropdown/motion.scss +2 -3
  24. package/lib/internal/scss/internal/components/token-list/styles.scss +2 -1
  25. package/lib/internal/scss/internal/styles/links.scss +4 -4
  26. package/lib/internal/scss/mixed-line-bar-chart/motion.scss +1 -1
  27. package/lib/internal/scss/modal/motion.scss +5 -5
  28. package/lib/internal/scss/popover/motion.scss +2 -2
  29. package/lib/internal/scss/progress-bar/motion.scss +1 -1
  30. package/lib/internal/scss/radio-group/styles.scss +3 -3
  31. package/lib/internal/scss/side-navigation/analytics-metadata/styles.scss +9 -0
  32. package/lib/internal/scss/status-indicator/motion.scss +4 -2
  33. package/lib/internal/scss/status-indicator/styles.scss +1 -1
  34. package/lib/internal/scss/table/body-cell/styles.scss +11 -11
  35. package/lib/internal/scss/table/expandable-rows/styles.scss +1 -2
  36. package/lib/internal/scss/table/header-cell/styles.scss +6 -7
  37. package/lib/internal/scss/table/resizer/styles.scss +1 -1
  38. package/lib/internal/scss/table/styles.scss +4 -4
  39. package/lib/internal/scss/tabs/tab-header-bar.scss +2 -3
  40. package/lib/internal/scss/tiles/styles.scss +6 -6
  41. package/lib/internal/scss/toggle/styles.scss +9 -9
  42. package/lib/internal/scss/tutorial-panel/components/tutorial-list/motion.scss +1 -1
  43. package/lib/internal/template/alert/styles.css.js +27 -27
  44. package/lib/internal/template/alert/styles.scoped.css +43 -43
  45. package/lib/internal/template/alert/styles.selectors.js +27 -27
  46. package/lib/internal/template/anchor-navigation/styles.css.js +8 -8
  47. package/lib/internal/template/anchor-navigation/styles.scoped.css +23 -23
  48. package/lib/internal/template/anchor-navigation/styles.selectors.js +8 -8
  49. package/lib/internal/template/annotation-context/annotation/styles.css.js +24 -24
  50. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +31 -31
  51. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +24 -24
  52. package/lib/internal/template/app-layout/content-wrapper/styles.css.js +3 -3
  53. package/lib/internal/template/app-layout/content-wrapper/styles.scoped.css +7 -7
  54. package/lib/internal/template/app-layout/content-wrapper/styles.selectors.js +3 -3
  55. package/lib/internal/template/app-layout/drawer/styles.css.js +13 -13
  56. package/lib/internal/template/app-layout/drawer/styles.scoped.css +22 -22
  57. package/lib/internal/template/app-layout/drawer/styles.selectors.js +13 -13
  58. package/lib/internal/template/app-layout/interfaces.d.ts +1 -1
  59. package/lib/internal/template/app-layout/interfaces.js.map +1 -1
  60. package/lib/internal/template/app-layout/mobile-toolbar/styles.css.js +8 -8
  61. package/lib/internal/template/app-layout/mobile-toolbar/styles.scoped.css +9 -9
  62. package/lib/internal/template/app-layout/mobile-toolbar/styles.selectors.js +8 -8
  63. package/lib/internal/template/app-layout/resize/styles.css.js +4 -4
  64. package/lib/internal/template/app-layout/resize/styles.scoped.css +9 -9
  65. package/lib/internal/template/app-layout/resize/styles.selectors.js +4 -4
  66. package/lib/internal/template/app-layout/split-panel/styles.css.js +2 -2
  67. package/lib/internal/template/app-layout/split-panel/styles.scoped.css +3 -3
  68. package/lib/internal/template/app-layout/split-panel/styles.selectors.js +2 -2
  69. package/lib/internal/template/app-layout/styles.css.js +12 -12
  70. package/lib/internal/template/app-layout/styles.scoped.css +13 -13
  71. package/lib/internal/template/app-layout/styles.selectors.js +12 -12
  72. package/lib/internal/template/app-layout/toggles/styles.css.js +2 -2
  73. package/lib/internal/template/app-layout/toggles/styles.scoped.css +7 -7
  74. package/lib/internal/template/app-layout/toggles/styles.selectors.js +2 -2
  75. package/lib/internal/template/app-layout/visual-refresh/drawers.d.ts.map +1 -1
  76. package/lib/internal/template/app-layout/visual-refresh/drawers.js +4 -2
  77. package/lib/internal/template/app-layout/visual-refresh/drawers.js.map +1 -1
  78. package/lib/internal/template/app-layout/visual-refresh/mobile-toolbar.d.ts.map +1 -1
  79. package/lib/internal/template/app-layout/visual-refresh/mobile-toolbar.js +1 -1
  80. package/lib/internal/template/app-layout/visual-refresh/mobile-toolbar.js.map +1 -1
  81. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +85 -82
  82. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +177 -179
  83. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +85 -82
  84. package/lib/internal/template/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  85. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js +2 -2
  86. package/lib/internal/template/app-layout/visual-refresh/trigger-button.js.map +1 -1
  87. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +6 -6
  88. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +7 -7
  89. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +6 -6
  90. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  91. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +6 -6
  92. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  93. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +16 -16
  94. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +31 -31
  95. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +16 -16
  96. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/styles.css.js +1 -1
  97. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/styles.scoped.css +2 -2
  98. package/lib/internal/template/app-layout/visual-refresh-toolbar/split-panel/styles.selectors.js +1 -1
  99. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts +3 -1
  100. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.d.ts.map +1 -1
  101. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js +7 -5
  102. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/drawer-triggers.js.map +1 -1
  103. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js +1 -1
  104. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/index.js.map +1 -1
  105. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.css.js +12 -12
  106. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.scoped.css +15 -15
  107. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/styles.selectors.js +12 -12
  108. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.d.ts +29 -0
  109. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.d.ts.map +1 -1
  110. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js +109 -7
  111. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/index.js.map +1 -1
  112. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.css.js +9 -6
  113. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.scoped.css +36 -50
  114. package/lib/internal/template/app-layout/visual-refresh-toolbar/toolbar/trigger-button/styles.selectors.js +9 -6
  115. package/lib/internal/template/area-chart/styles.css.js +6 -6
  116. package/lib/internal/template/area-chart/styles.scoped.css +10 -10
  117. package/lib/internal/template/area-chart/styles.selectors.js +6 -6
  118. package/lib/internal/template/attribute-editor/styles.css.js +14 -14
  119. package/lib/internal/template/attribute-editor/styles.scoped.css +27 -27
  120. package/lib/internal/template/attribute-editor/styles.selectors.js +14 -14
  121. package/lib/internal/template/badge/styles.css.js +10 -10
  122. package/lib/internal/template/badge/styles.scoped.css +11 -11
  123. package/lib/internal/template/badge/styles.selectors.js +10 -10
  124. package/lib/internal/template/box/styles.css.js +191 -191
  125. package/lib/internal/template/box/styles.scoped.css +237 -237
  126. package/lib/internal/template/box/styles.selectors.js +191 -191
  127. package/lib/internal/template/breadcrumb-group/implementation.d.ts.map +1 -1
  128. package/lib/internal/template/breadcrumb-group/implementation.js +61 -12
  129. package/lib/internal/template/breadcrumb-group/implementation.js.map +1 -1
  130. package/lib/internal/template/breadcrumb-group/interfaces.d.ts +3 -2
  131. package/lib/internal/template/breadcrumb-group/interfaces.d.ts.map +1 -1
  132. package/lib/internal/template/breadcrumb-group/interfaces.js.map +1 -1
  133. package/lib/internal/template/breadcrumb-group/item/funnel.d.ts +1 -0
  134. package/lib/internal/template/breadcrumb-group/item/funnel.d.ts.map +1 -1
  135. package/lib/internal/template/breadcrumb-group/item/funnel.js +3 -3
  136. package/lib/internal/template/breadcrumb-group/item/funnel.js.map +1 -1
  137. package/lib/internal/template/breadcrumb-group/item/item.d.ts +1 -1
  138. package/lib/internal/template/breadcrumb-group/item/item.d.ts.map +1 -1
  139. package/lib/internal/template/breadcrumb-group/item/item.js +19 -38
  140. package/lib/internal/template/breadcrumb-group/item/item.js.map +1 -1
  141. package/lib/internal/template/breadcrumb-group/item/styles.css.js +8 -9
  142. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +36 -35
  143. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +8 -9
  144. package/lib/internal/template/breadcrumb-group/styles.css.js +8 -7
  145. package/lib/internal/template/breadcrumb-group/styles.scoped.css +18 -58
  146. package/lib/internal/template/breadcrumb-group/styles.selectors.js +8 -7
  147. package/lib/internal/template/breadcrumb-group/utils.d.ts +5 -0
  148. package/lib/internal/template/breadcrumb-group/utils.d.ts.map +1 -1
  149. package/lib/internal/template/breadcrumb-group/utils.js +56 -0
  150. package/lib/internal/template/breadcrumb-group/utils.js.map +1 -1
  151. package/lib/internal/template/button/styles.css.js +20 -20
  152. package/lib/internal/template/button/styles.scoped.css +155 -155
  153. package/lib/internal/template/button/styles.selectors.js +20 -20
  154. package/lib/internal/template/button-dropdown/category-elements/styles.css.js +14 -14
  155. package/lib/internal/template/button-dropdown/category-elements/styles.scoped.css +31 -31
  156. package/lib/internal/template/button-dropdown/category-elements/styles.selectors.js +14 -14
  157. package/lib/internal/template/button-dropdown/item-element/styles.css.js +13 -13
  158. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +25 -25
  159. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +13 -13
  160. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  161. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.scoped.css +6 -6
  162. package/lib/internal/template/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  163. package/lib/internal/template/button-dropdown/styles.css.js +17 -17
  164. package/lib/internal/template/button-dropdown/styles.scoped.css +27 -27
  165. package/lib/internal/template/button-dropdown/styles.selectors.js +17 -17
  166. package/lib/internal/template/button-group/styles.css.js +4 -4
  167. package/lib/internal/template/button-group/styles.scoped.css +5 -5
  168. package/lib/internal/template/button-group/styles.selectors.js +4 -4
  169. package/lib/internal/template/calendar/styles.css.js +21 -21
  170. package/lib/internal/template/calendar/styles.scoped.css +47 -47
  171. package/lib/internal/template/calendar/styles.selectors.js +21 -21
  172. package/lib/internal/template/cards/styles.css.js +39 -39
  173. package/lib/internal/template/cards/styles.scoped.css +51 -51
  174. package/lib/internal/template/cards/styles.selectors.js +39 -39
  175. package/lib/internal/template/checkbox/styles.css.js +3 -3
  176. package/lib/internal/template/checkbox/styles.scoped.css +6 -6
  177. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  178. package/lib/internal/template/code-editor/resizable-box/styles.css.js +3 -3
  179. package/lib/internal/template/code-editor/resizable-box/styles.scoped.css +11 -11
  180. package/lib/internal/template/code-editor/resizable-box/styles.selectors.js +3 -3
  181. package/lib/internal/template/code-editor/styles.css.js +33 -33
  182. package/lib/internal/template/code-editor/styles.scoped.css +185 -185
  183. package/lib/internal/template/code-editor/styles.selectors.js +33 -33
  184. package/lib/internal/template/collection-preferences/content-display/styles.css.js +11 -11
  185. package/lib/internal/template/collection-preferences/content-display/styles.scoped.css +19 -19
  186. package/lib/internal/template/collection-preferences/content-display/styles.selectors.js +11 -11
  187. package/lib/internal/template/collection-preferences/styles.css.js +37 -37
  188. package/lib/internal/template/collection-preferences/styles.scoped.css +48 -48
  189. package/lib/internal/template/collection-preferences/styles.selectors.js +37 -37
  190. package/lib/internal/template/column-layout/flexible-column-layout/styles.css.js +5 -5
  191. package/lib/internal/template/column-layout/flexible-column-layout/styles.scoped.css +6 -6
  192. package/lib/internal/template/column-layout/flexible-column-layout/styles.selectors.js +5 -5
  193. package/lib/internal/template/column-layout/styles.css.js +13 -13
  194. package/lib/internal/template/column-layout/styles.scoped.css +45 -45
  195. package/lib/internal/template/column-layout/styles.selectors.js +13 -13
  196. package/lib/internal/template/container/styles.css.js +30 -30
  197. package/lib/internal/template/container/styles.scoped.css +55 -55
  198. package/lib/internal/template/container/styles.selectors.js +30 -30
  199. package/lib/internal/template/content-layout/styles.css.js +14 -14
  200. package/lib/internal/template/content-layout/styles.scoped.css +17 -17
  201. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  202. package/lib/internal/template/date-picker/styles.css.js +7 -7
  203. package/lib/internal/template/date-picker/styles.scoped.css +10 -10
  204. package/lib/internal/template/date-picker/styles.selectors.js +7 -7
  205. package/lib/internal/template/date-range-picker/calendar/grids/styles.css.js +28 -28
  206. package/lib/internal/template/date-range-picker/calendar/grids/styles.scoped.css +44 -44
  207. package/lib/internal/template/date-range-picker/calendar/grids/styles.selectors.js +28 -28
  208. package/lib/internal/template/date-range-picker/relative-range/styles.css.js +9 -9
  209. package/lib/internal/template/date-range-picker/relative-range/styles.scoped.css +14 -14
  210. package/lib/internal/template/date-range-picker/relative-range/styles.selectors.js +9 -9
  211. package/lib/internal/template/date-range-picker/styles.css.js +39 -39
  212. package/lib/internal/template/date-range-picker/styles.scoped.css +49 -49
  213. package/lib/internal/template/date-range-picker/styles.selectors.js +39 -39
  214. package/lib/internal/template/drawer/styles.css.js +4 -4
  215. package/lib/internal/template/drawer/styles.scoped.css +11 -11
  216. package/lib/internal/template/drawer/styles.selectors.js +4 -4
  217. package/lib/internal/template/expandable-section/styles.css.js +34 -34
  218. package/lib/internal/template/expandable-section/styles.scoped.css +66 -66
  219. package/lib/internal/template/expandable-section/styles.selectors.js +34 -34
  220. package/lib/internal/template/file-upload/dropzone/styles.css.js +2 -2
  221. package/lib/internal/template/file-upload/dropzone/styles.scoped.css +3 -3
  222. package/lib/internal/template/file-upload/dropzone/styles.selectors.js +2 -2
  223. package/lib/internal/template/file-upload/file-input/styles.css.js +4 -4
  224. package/lib/internal/template/file-upload/file-input/styles.scoped.css +8 -8
  225. package/lib/internal/template/file-upload/file-input/styles.selectors.js +4 -4
  226. package/lib/internal/template/flashbar/styles.css.js +50 -50
  227. package/lib/internal/template/flashbar/styles.scoped.css +150 -150
  228. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  229. package/lib/internal/template/form/styles.css.js +8 -8
  230. package/lib/internal/template/form/styles.scoped.css +9 -9
  231. package/lib/internal/template/form/styles.selectors.js +8 -8
  232. package/lib/internal/template/form-field/styles.css.js +24 -24
  233. package/lib/internal/template/form-field/styles.scoped.css +43 -39
  234. package/lib/internal/template/form-field/styles.selectors.js +24 -24
  235. package/lib/internal/template/grid/styles.css.js +53 -53
  236. package/lib/internal/template/grid/styles.scoped.css +55 -55
  237. package/lib/internal/template/grid/styles.selectors.js +53 -53
  238. package/lib/internal/template/header/styles.css.js +34 -34
  239. package/lib/internal/template/header/styles.scoped.css +51 -51
  240. package/lib/internal/template/header/styles.selectors.js +34 -34
  241. package/lib/internal/template/help-panel/styles.css.js +5 -5
  242. package/lib/internal/template/help-panel/styles.scoped.css +72 -72
  243. package/lib/internal/template/help-panel/styles.selectors.js +5 -5
  244. package/lib/internal/template/hotspot/styles.css.js +7 -7
  245. package/lib/internal/template/hotspot/styles.scoped.css +8 -8
  246. package/lib/internal/template/hotspot/styles.selectors.js +7 -7
  247. package/lib/internal/template/icon/styles.css.js +38 -38
  248. package/lib/internal/template/icon/styles.scoped.css +83 -83
  249. package/lib/internal/template/icon/styles.selectors.js +38 -38
  250. package/lib/internal/template/input/styles.css.js +13 -13
  251. package/lib/internal/template/input/styles.scoped.css +33 -33
  252. package/lib/internal/template/input/styles.selectors.js +13 -13
  253. package/lib/internal/template/internal/analytics/index.d.ts +3 -1
  254. package/lib/internal/template/internal/analytics/index.d.ts.map +1 -1
  255. package/lib/internal/template/internal/analytics/index.js +8 -0
  256. package/lib/internal/template/internal/analytics/index.js.map +1 -1
  257. package/lib/internal/template/internal/analytics/interfaces.d.ts +9 -1
  258. package/lib/internal/template/internal/analytics/interfaces.d.ts.map +1 -1
  259. package/lib/internal/template/internal/analytics/interfaces.js.map +1 -1
  260. package/lib/internal/template/internal/components/abstract-switch/styles.css.js +13 -13
  261. package/lib/internal/template/internal/components/abstract-switch/styles.scoped.css +21 -21
  262. package/lib/internal/template/internal/components/abstract-switch/styles.selectors.js +13 -13
  263. package/lib/internal/template/internal/components/button-trigger/index.d.ts.map +1 -1
  264. package/lib/internal/template/internal/components/button-trigger/index.js +1 -1
  265. package/lib/internal/template/internal/components/button-trigger/index.js.map +1 -1
  266. package/lib/internal/template/internal/components/button-trigger/styles.css.js +13 -13
  267. package/lib/internal/template/internal/components/button-trigger/styles.scoped.css +28 -28
  268. package/lib/internal/template/internal/components/button-trigger/styles.selectors.js +13 -13
  269. package/lib/internal/template/internal/components/chart-filter/styles.css.js +3 -3
  270. package/lib/internal/template/internal/components/chart-filter/styles.scoped.css +4 -4
  271. package/lib/internal/template/internal/components/chart-filter/styles.selectors.js +3 -3
  272. package/lib/internal/template/internal/components/chart-legend/styles.css.js +6 -6
  273. package/lib/internal/template/internal/components/chart-legend/styles.scoped.css +16 -16
  274. package/lib/internal/template/internal/components/chart-legend/styles.selectors.js +6 -6
  275. package/lib/internal/template/internal/components/chart-plot/styles.css.js +5 -5
  276. package/lib/internal/template/internal/components/chart-plot/styles.scoped.css +6 -6
  277. package/lib/internal/template/internal/components/chart-plot/styles.selectors.js +5 -5
  278. package/lib/internal/template/internal/components/chart-popover/styles.css.js +3 -3
  279. package/lib/internal/template/internal/components/chart-popover/styles.scoped.css +4 -4
  280. package/lib/internal/template/internal/components/chart-popover/styles.selectors.js +3 -3
  281. package/lib/internal/template/internal/components/chart-series-details/styles.css.js +20 -20
  282. package/lib/internal/template/internal/components/chart-series-details/styles.scoped.css +36 -36
  283. package/lib/internal/template/internal/components/chart-series-details/styles.selectors.js +20 -20
  284. package/lib/internal/template/internal/components/chart-series-marker/styles.css.js +5 -5
  285. package/lib/internal/template/internal/components/chart-series-marker/styles.scoped.css +8 -8
  286. package/lib/internal/template/internal/components/chart-series-marker/styles.selectors.js +5 -5
  287. package/lib/internal/template/internal/components/chart-wrapper/styles.css.js +9 -9
  288. package/lib/internal/template/internal/components/chart-wrapper/styles.scoped.css +10 -10
  289. package/lib/internal/template/internal/components/chart-wrapper/styles.selectors.js +9 -9
  290. package/lib/internal/template/internal/components/checkbox-icon/styles.css.js +9 -9
  291. package/lib/internal/template/internal/components/checkbox-icon/styles.scoped.css +16 -16
  292. package/lib/internal/template/internal/components/checkbox-icon/styles.selectors.js +9 -9
  293. package/lib/internal/template/internal/components/dropdown/index.d.ts.map +1 -1
  294. package/lib/internal/template/internal/components/dropdown/index.js +5 -2
  295. package/lib/internal/template/internal/components/dropdown/index.js.map +1 -1
  296. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  297. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +38 -38
  298. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  299. package/lib/internal/template/internal/components/dropdown-footer/styles.css.js +3 -3
  300. package/lib/internal/template/internal/components/dropdown-footer/styles.scoped.css +4 -4
  301. package/lib/internal/template/internal/components/dropdown-footer/styles.selectors.js +3 -3
  302. package/lib/internal/template/internal/components/dropdown-status/styles.css.js +2 -2
  303. package/lib/internal/template/internal/components/dropdown-status/styles.scoped.css +3 -3
  304. package/lib/internal/template/internal/components/dropdown-status/styles.selectors.js +2 -2
  305. package/lib/internal/template/internal/components/handle/styles.css.js +2 -2
  306. package/lib/internal/template/internal/components/handle/styles.scoped.css +7 -7
  307. package/lib/internal/template/internal/components/handle/styles.selectors.js +2 -2
  308. package/lib/internal/template/internal/components/menu-dropdown/styles.css.js +7 -7
  309. package/lib/internal/template/internal/components/menu-dropdown/styles.scoped.css +14 -14
  310. package/lib/internal/template/internal/components/menu-dropdown/styles.selectors.js +7 -7
  311. package/lib/internal/template/internal/components/option/styles.css.js +17 -17
  312. package/lib/internal/template/internal/components/option/styles.scoped.css +30 -30
  313. package/lib/internal/template/internal/components/option/styles.selectors.js +17 -17
  314. package/lib/internal/template/internal/components/options-list/styles.css.js +2 -2
  315. package/lib/internal/template/internal/components/options-list/styles.scoped.css +3 -3
  316. package/lib/internal/template/internal/components/options-list/styles.selectors.js +2 -2
  317. package/lib/internal/template/internal/components/panel-resize-handle/styles.css.js +5 -5
  318. package/lib/internal/template/internal/components/panel-resize-handle/styles.scoped.css +11 -11
  319. package/lib/internal/template/internal/components/panel-resize-handle/styles.selectors.js +5 -5
  320. package/lib/internal/template/internal/components/screenreader-only/styles.css.js +1 -1
  321. package/lib/internal/template/internal/components/screenreader-only/styles.scoped.css +2 -2
  322. package/lib/internal/template/internal/components/screenreader-only/styles.selectors.js +1 -1
  323. package/lib/internal/template/internal/components/selectable-item/styles.css.js +16 -16
  324. package/lib/internal/template/internal/components/selectable-item/styles.scoped.css +30 -30
  325. package/lib/internal/template/internal/components/selectable-item/styles.selectors.js +16 -16
  326. package/lib/internal/template/internal/components/token-list/styles.css.js +9 -9
  327. package/lib/internal/template/internal/components/token-list/styles.scoped.css +31 -31
  328. package/lib/internal/template/internal/components/token-list/styles.selectors.js +9 -9
  329. package/lib/internal/template/internal/environment.js +1 -1
  330. package/lib/internal/template/internal/environment.json +1 -1
  331. package/lib/internal/template/internal/hooks/use-component-analytics/index.d.ts +2 -0
  332. package/lib/internal/template/internal/hooks/use-component-analytics/index.d.ts.map +1 -0
  333. package/lib/internal/template/internal/hooks/use-component-analytics/index.js +11 -0
  334. package/lib/internal/template/internal/hooks/use-component-analytics/index.js.map +1 -0
  335. package/lib/internal/template/key-value-pairs/styles.css.js +8 -8
  336. package/lib/internal/template/key-value-pairs/styles.scoped.css +10 -10
  337. package/lib/internal/template/key-value-pairs/styles.selectors.js +8 -8
  338. package/lib/internal/template/link/styles.css.js +20 -20
  339. package/lib/internal/template/link/styles.scoped.css +74 -74
  340. package/lib/internal/template/link/styles.selectors.js +20 -20
  341. package/lib/internal/template/mixed-line-bar-chart/styles.css.js +11 -11
  342. package/lib/internal/template/mixed-line-bar-chart/styles.scoped.css +18 -18
  343. package/lib/internal/template/mixed-line-bar-chart/styles.selectors.js +11 -11
  344. package/lib/internal/template/modal/styles.css.js +23 -23
  345. package/lib/internal/template/modal/styles.scoped.css +39 -39
  346. package/lib/internal/template/modal/styles.selectors.js +23 -23
  347. package/lib/internal/template/multiselect/styles.css.js +2 -2
  348. package/lib/internal/template/multiselect/styles.scoped.css +3 -3
  349. package/lib/internal/template/multiselect/styles.selectors.js +2 -2
  350. package/lib/internal/template/pagination/styles.css.js +9 -9
  351. package/lib/internal/template/pagination/styles.scoped.css +24 -24
  352. package/lib/internal/template/pagination/styles.selectors.js +9 -9
  353. package/lib/internal/template/pie-chart/styles.css.js +27 -27
  354. package/lib/internal/template/pie-chart/styles.scoped.css +49 -49
  355. package/lib/internal/template/pie-chart/styles.selectors.js +27 -27
  356. package/lib/internal/template/popover/styles.css.js +52 -52
  357. package/lib/internal/template/popover/styles.scoped.css +74 -74
  358. package/lib/internal/template/popover/styles.selectors.js +52 -52
  359. package/lib/internal/template/progress-bar/styles.css.js +19 -19
  360. package/lib/internal/template/progress-bar/styles.scoped.css +32 -32
  361. package/lib/internal/template/progress-bar/styles.selectors.js +19 -19
  362. package/lib/internal/template/prompt-input/styles.css.js +8 -8
  363. package/lib/internal/template/prompt-input/styles.scoped.css +20 -20
  364. package/lib/internal/template/prompt-input/styles.selectors.js +8 -8
  365. package/lib/internal/template/property-filter/filtering-token/styles.css.js +18 -18
  366. package/lib/internal/template/property-filter/filtering-token/styles.scoped.css +42 -42
  367. package/lib/internal/template/property-filter/filtering-token/styles.selectors.js +18 -18
  368. package/lib/internal/template/property-filter/styles.css.js +38 -38
  369. package/lib/internal/template/property-filter/styles.scoped.css +41 -41
  370. package/lib/internal/template/property-filter/styles.selectors.js +38 -38
  371. package/lib/internal/template/radio-group/styles.css.js +10 -10
  372. package/lib/internal/template/radio-group/styles.scoped.css +25 -25
  373. package/lib/internal/template/radio-group/styles.selectors.js +10 -10
  374. package/lib/internal/template/s3-resource-selector/s3-modal/styles.css.js +3 -3
  375. package/lib/internal/template/s3-resource-selector/s3-modal/styles.scoped.css +4 -4
  376. package/lib/internal/template/s3-resource-selector/s3-modal/styles.selectors.js +3 -3
  377. package/lib/internal/template/segmented-control/styles.css.js +15 -15
  378. package/lib/internal/template/segmented-control/styles.scoped.css +35 -35
  379. package/lib/internal/template/segmented-control/styles.selectors.js +15 -15
  380. package/lib/internal/template/select/parts/styles.css.js +21 -21
  381. package/lib/internal/template/select/parts/styles.scoped.css +23 -23
  382. package/lib/internal/template/select/parts/styles.selectors.js +21 -21
  383. package/lib/internal/template/select/styles.css.js +1 -1
  384. package/lib/internal/template/select/styles.scoped.css +2 -2
  385. package/lib/internal/template/select/styles.selectors.js +1 -1
  386. package/lib/internal/template/side-navigation/analytics-metadata/interfaces.d.ts +19 -0
  387. package/lib/internal/template/side-navigation/analytics-metadata/interfaces.d.ts.map +1 -0
  388. package/lib/internal/template/side-navigation/analytics-metadata/interfaces.js +4 -0
  389. package/lib/internal/template/side-navigation/analytics-metadata/interfaces.js.map +1 -0
  390. package/lib/internal/template/side-navigation/analytics-metadata/styles.css.js +7 -0
  391. package/lib/internal/template/side-navigation/analytics-metadata/styles.scoped.css +8 -0
  392. package/lib/internal/template/side-navigation/analytics-metadata/styles.selectors.js +8 -0
  393. package/lib/internal/template/side-navigation/index.d.ts.map +1 -1
  394. package/lib/internal/template/side-navigation/index.js +10 -1
  395. package/lib/internal/template/side-navigation/index.js.map +1 -1
  396. package/lib/internal/template/side-navigation/parts.d.ts +2 -1
  397. package/lib/internal/template/side-navigation/parts.d.ts.map +1 -1
  398. package/lib/internal/template/side-navigation/parts.js +42 -21
  399. package/lib/internal/template/side-navigation/parts.js.map +1 -1
  400. package/lib/internal/template/side-navigation/styles.css.js +30 -30
  401. package/lib/internal/template/side-navigation/styles.scoped.css +43 -43
  402. package/lib/internal/template/side-navigation/styles.selectors.js +30 -30
  403. package/lib/internal/template/slider/styles.css.js +26 -26
  404. package/lib/internal/template/slider/styles.scoped.css +77 -77
  405. package/lib/internal/template/slider/styles.selectors.js +26 -26
  406. package/lib/internal/template/space-between/styles.css.js +23 -23
  407. package/lib/internal/template/space-between/styles.scoped.css +25 -25
  408. package/lib/internal/template/space-between/styles.selectors.js +23 -23
  409. package/lib/internal/template/spinner/styles.css.js +13 -13
  410. package/lib/internal/template/spinner/styles.scoped.css +20 -20
  411. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  412. package/lib/internal/template/split-panel/icons/styles.css.js +22 -22
  413. package/lib/internal/template/split-panel/icons/styles.scoped.css +25 -25
  414. package/lib/internal/template/split-panel/icons/styles.selectors.js +22 -22
  415. package/lib/internal/template/split-panel/styles.css.js +26 -26
  416. package/lib/internal/template/split-panel/styles.scoped.css +44 -44
  417. package/lib/internal/template/split-panel/styles.selectors.js +26 -26
  418. package/lib/internal/template/status-indicator/styles.css.js +23 -23
  419. package/lib/internal/template/status-indicator/styles.scoped.css +34 -30
  420. package/lib/internal/template/status-indicator/styles.selectors.js +23 -23
  421. package/lib/internal/template/table/body-cell/styles.css.js +47 -47
  422. package/lib/internal/template/table/body-cell/styles.scoped.css +307 -307
  423. package/lib/internal/template/table/body-cell/styles.selectors.js +47 -47
  424. package/lib/internal/template/table/expandable-rows/styles.css.js +3 -3
  425. package/lib/internal/template/table/expandable-rows/styles.scoped.css +14 -14
  426. package/lib/internal/template/table/expandable-rows/styles.selectors.js +3 -3
  427. package/lib/internal/template/table/header-cell/styles.css.js +26 -26
  428. package/lib/internal/template/table/header-cell/styles.scoped.css +75 -75
  429. package/lib/internal/template/table/header-cell/styles.selectors.js +26 -26
  430. package/lib/internal/template/table/interfaces.d.ts +1 -0
  431. package/lib/internal/template/table/interfaces.d.ts.map +1 -1
  432. package/lib/internal/template/table/interfaces.js.map +1 -1
  433. package/lib/internal/template/table/internal.d.ts.map +1 -1
  434. package/lib/internal/template/table/internal.js +20 -0
  435. package/lib/internal/template/table/internal.js.map +1 -1
  436. package/lib/internal/template/table/resizer/styles.css.js +8 -8
  437. package/lib/internal/template/table/resizer/styles.scoped.css +16 -16
  438. package/lib/internal/template/table/resizer/styles.selectors.js +8 -8
  439. package/lib/internal/template/table/selection/styles.css.js +3 -3
  440. package/lib/internal/template/table/selection/styles.scoped.css +4 -4
  441. package/lib/internal/template/table/selection/styles.selectors.js +3 -3
  442. package/lib/internal/template/table/sticky-scrollbar/styles.css.js +6 -6
  443. package/lib/internal/template/table/sticky-scrollbar/styles.scoped.css +8 -8
  444. package/lib/internal/template/table/sticky-scrollbar/styles.selectors.js +6 -6
  445. package/lib/internal/template/table/styles.css.js +34 -34
  446. package/lib/internal/template/table/styles.scoped.css +44 -44
  447. package/lib/internal/template/table/styles.selectors.js +34 -34
  448. package/lib/internal/template/tabs/styles.css.js +28 -28
  449. package/lib/internal/template/tabs/styles.scoped.css +52 -52
  450. package/lib/internal/template/tabs/styles.selectors.js +28 -28
  451. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  452. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  453. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  454. package/lib/internal/template/text-content/styles.css.js +1 -1
  455. package/lib/internal/template/text-content/styles.scoped.css +65 -65
  456. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  457. package/lib/internal/template/text-filter/styles.css.js +3 -3
  458. package/lib/internal/template/text-filter/styles.scoped.css +4 -4
  459. package/lib/internal/template/text-filter/styles.selectors.js +3 -3
  460. package/lib/internal/template/textarea/styles.css.js +5 -5
  461. package/lib/internal/template/textarea/styles.scoped.css +15 -15
  462. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  463. package/lib/internal/template/tiles/styles.css.js +30 -30
  464. package/lib/internal/template/tiles/styles.scoped.css +81 -81
  465. package/lib/internal/template/tiles/styles.selectors.js +30 -30
  466. package/lib/internal/template/toggle/styles.css.js +10 -10
  467. package/lib/internal/template/toggle/styles.scoped.css +26 -26
  468. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  469. package/lib/internal/template/token-group/styles.css.js +10 -10
  470. package/lib/internal/template/token-group/styles.scoped.css +23 -23
  471. package/lib/internal/template/token-group/styles.selectors.js +10 -10
  472. package/lib/internal/template/top-navigation/1.0-beta/styles.css.js +25 -25
  473. package/lib/internal/template/top-navigation/1.0-beta/styles.scoped.css +43 -43
  474. package/lib/internal/template/top-navigation/1.0-beta/styles.selectors.js +25 -25
  475. package/lib/internal/template/top-navigation/styles.css.js +47 -47
  476. package/lib/internal/template/top-navigation/styles.scoped.css +67 -67
  477. package/lib/internal/template/top-navigation/styles.selectors.js +47 -47
  478. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  479. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +22 -22
  480. package/lib/internal/template/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  481. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  482. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.scoped.css +28 -28
  483. package/lib/internal/template/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  484. package/lib/internal/template/tutorial-panel/styles.css.js +1 -1
  485. package/lib/internal/template/tutorial-panel/styles.scoped.css +2 -2
  486. package/lib/internal/template/tutorial-panel/styles.selectors.js +1 -1
  487. package/lib/internal/template/wizard/styles.css.js +30 -30
  488. package/lib/internal/template/wizard/styles.scoped.css +59 -59
  489. package/lib/internal/template/wizard/styles.selectors.js +30 -30
  490. package/package.json +1 -1
@@ -136,9 +136,9 @@
136
136
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
137
137
  SPDX-License-Identifier: Apache-2.0
138
138
  */
139
- /* Style used for links in slots/components that are text heavy, to help links stand out among
139
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_marker_1isd1_ewgmn_141:not(#\9) {
141
+ .awsui_marker_1isd1_1yo3a_141:not(#\9) {
142
142
  border-collapse: separate;
143
143
  border-spacing: 0;
144
144
  box-sizing: border-box;
@@ -182,25 +182,25 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
182
182
  flex-shrink: 0;
183
183
  cursor: inherit;
184
184
  }
185
- .awsui_marker--line_1isd1_ewgmn_184:not(#\9) {
185
+ .awsui_marker--line_1isd1_1yo3a_184:not(#\9) {
186
186
  margin-block-start: 9px;
187
187
  block-size: 4px;
188
188
  }
189
- .awsui_marker--rectangle_1isd1_ewgmn_188:not(#\9) {
189
+ .awsui_marker--rectangle_1isd1_1yo3a_188:not(#\9) {
190
190
  block-size: 14px;
191
191
  border-start-start-radius: 2px;
192
192
  border-start-end-radius: 2px;
193
193
  border-end-start-radius: 2px;
194
194
  border-end-end-radius: 2px;
195
195
  }
196
- .awsui_marker--hollow-rectangle_1isd1_ewgmn_195:not(#\9) {
196
+ .awsui_marker--hollow-rectangle_1isd1_1yo3a_195:not(#\9) {
197
197
  block-size: 14px;
198
198
  border-start-start-radius: 2px;
199
199
  border-start-end-radius: 2px;
200
200
  border-end-start-radius: 2px;
201
201
  border-end-end-radius: 2px;
202
202
  }
203
- .awsui_marker--hollow-rectangle_1isd1_ewgmn_195:not(#\9)::after {
203
+ .awsui_marker--hollow-rectangle_1isd1_1yo3a_195:not(#\9)::after {
204
204
  content: "";
205
205
  display: block;
206
206
  margin-block: 2px;
@@ -209,13 +209,13 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
209
209
  background-color: var(--color-background-container-content-il2pe5, #ffffff);
210
210
  opacity: 0.5;
211
211
  }
212
- .awsui_marker--dashed_1isd1_ewgmn_211:not(#\9) {
212
+ .awsui_marker--dashed_1isd1_1yo3a_211:not(#\9) {
213
213
  block-size: 4px;
214
214
  inline-size: 6px;
215
215
  margin-block-start: 9px;
216
216
  margin-inline-end: 12px;
217
217
  }
218
- .awsui_marker--dashed_1isd1_ewgmn_211:not(#\9)::after {
218
+ .awsui_marker--dashed_1isd1_1yo3a_211:not(#\9)::after {
219
219
  content: "";
220
220
  display: block;
221
221
  inline-size: 6px;
@@ -2,10 +2,10 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "marker": "awsui_marker_1isd1_ewgmn_141",
6
- "marker--line": "awsui_marker--line_1isd1_ewgmn_184",
7
- "marker--rectangle": "awsui_marker--rectangle_1isd1_ewgmn_188",
8
- "marker--hollow-rectangle": "awsui_marker--hollow-rectangle_1isd1_ewgmn_195",
9
- "marker--dashed": "awsui_marker--dashed_1isd1_ewgmn_211"
5
+ "marker": "awsui_marker_1isd1_1yo3a_141",
6
+ "marker--line": "awsui_marker--line_1isd1_1yo3a_184",
7
+ "marker--rectangle": "awsui_marker--rectangle_1isd1_1yo3a_188",
8
+ "marker--hollow-rectangle": "awsui_marker--hollow-rectangle_1isd1_1yo3a_195",
9
+ "marker--dashed": "awsui_marker--dashed_1isd1_1yo3a_211"
10
10
  };
11
11
 
@@ -1,14 +1,14 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "wrapper": "awsui_wrapper_z5mul_1j3x9_177",
5
- "wrapper--fit-height": "awsui_wrapper--fit-height_z5mul_1j3x9_213",
6
- "inner-wrapper--fit-height": "awsui_inner-wrapper--fit-height_z5mul_1j3x9_218",
7
- "has-default-filter": "awsui_has-default-filter_z5mul_1j3x9_224",
8
- "content": "awsui_content_z5mul_1j3x9_228",
9
- "content--reserve-filter": "awsui_content--reserve-filter_z5mul_1j3x9_235",
10
- "content--reserve-legend": "awsui_content--reserve-legend_z5mul_1j3x9_239",
11
- "content--fit-height": "awsui_content--fit-height_z5mul_1j3x9_243",
12
- "filter-container": "awsui_filter-container_z5mul_1j3x9_247"
4
+ "wrapper": "awsui_wrapper_z5mul_8ifd7_177",
5
+ "wrapper--fit-height": "awsui_wrapper--fit-height_z5mul_8ifd7_213",
6
+ "inner-wrapper--fit-height": "awsui_inner-wrapper--fit-height_z5mul_8ifd7_218",
7
+ "has-default-filter": "awsui_has-default-filter_z5mul_8ifd7_224",
8
+ "content": "awsui_content_z5mul_8ifd7_228",
9
+ "content--reserve-filter": "awsui_content--reserve-filter_z5mul_8ifd7_235",
10
+ "content--reserve-legend": "awsui_content--reserve-legend_z5mul_8ifd7_239",
11
+ "content--fit-height": "awsui_content--fit-height_z5mul_8ifd7_243",
12
+ "filter-container": "awsui_filter-container_z5mul_8ifd7_247"
13
13
  };
14
14
 
@@ -172,9 +172,9 @@
172
172
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
173
173
  SPDX-License-Identifier: Apache-2.0
174
174
  */
175
- /* Style used for links in slots/components that are text heavy, to help links stand out among
175
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
176
176
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
177
- .awsui_wrapper_z5mul_1j3x9_177:not(#\9) {
177
+ .awsui_wrapper_z5mul_8ifd7_177:not(#\9) {
178
178
  border-collapse: separate;
179
179
  border-spacing: 0;
180
180
  box-sizing: border-box;
@@ -211,40 +211,40 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
211
211
  position: relative;
212
212
  display: block;
213
213
  }
214
- .awsui_wrapper--fit-height_z5mul_1j3x9_213:not(#\9) {
214
+ .awsui_wrapper--fit-height_z5mul_8ifd7_213:not(#\9) {
215
215
  block-size: 100%;
216
216
  overflow-y: auto;
217
217
  }
218
218
 
219
- .awsui_inner-wrapper--fit-height_z5mul_1j3x9_218:not(#\9) {
219
+ .awsui_inner-wrapper--fit-height_z5mul_8ifd7_218:not(#\9) {
220
220
  display: flex;
221
221
  flex-direction: column;
222
222
  block-size: 100%;
223
223
  }
224
224
 
225
- .awsui_has-default-filter_z5mul_1j3x9_224 > :not(#\9):first-child {
225
+ .awsui_has-default-filter_z5mul_8ifd7_224 > :not(#\9):first-child {
226
226
  flex: 280px 0 1;
227
227
  }
228
228
 
229
- .awsui_content_z5mul_1j3x9_228:not(#\9) {
229
+ .awsui_content_z5mul_8ifd7_228:not(#\9) {
230
230
  display: flex;
231
231
  position: relative;
232
232
  justify-content: center;
233
233
  align-items: center;
234
234
  }
235
235
 
236
- .awsui_content--reserve-filter_z5mul_1j3x9_235:not(#\9) {
236
+ .awsui_content--reserve-filter_z5mul_8ifd7_235:not(#\9) {
237
237
  margin-block-start: calc(2 * var(--line-height-body-m-2zx78l, 22px));
238
238
  }
239
239
 
240
- .awsui_content--reserve-legend_z5mul_1j3x9_239:not(#\9) {
240
+ .awsui_content--reserve-legend_z5mul_8ifd7_239:not(#\9) {
241
241
  margin-block-end: calc(2 * var(--line-height-body-m-2zx78l, 22px));
242
242
  }
243
243
 
244
- .awsui_content--fit-height_z5mul_1j3x9_243:not(#\9) {
244
+ .awsui_content--fit-height_z5mul_8ifd7_243:not(#\9) {
245
245
  flex: 1;
246
246
  }
247
247
 
248
- .awsui_filter-container_z5mul_1j3x9_247:not(#\9) {
248
+ .awsui_filter-container_z5mul_8ifd7_247:not(#\9) {
249
249
  /* used in test-utils */
250
250
  }
@@ -2,14 +2,14 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "wrapper": "awsui_wrapper_z5mul_1j3x9_177",
6
- "wrapper--fit-height": "awsui_wrapper--fit-height_z5mul_1j3x9_213",
7
- "inner-wrapper--fit-height": "awsui_inner-wrapper--fit-height_z5mul_1j3x9_218",
8
- "has-default-filter": "awsui_has-default-filter_z5mul_1j3x9_224",
9
- "content": "awsui_content_z5mul_1j3x9_228",
10
- "content--reserve-filter": "awsui_content--reserve-filter_z5mul_1j3x9_235",
11
- "content--reserve-legend": "awsui_content--reserve-legend_z5mul_1j3x9_239",
12
- "content--fit-height": "awsui_content--fit-height_z5mul_1j3x9_243",
13
- "filter-container": "awsui_filter-container_z5mul_1j3x9_247"
5
+ "wrapper": "awsui_wrapper_z5mul_8ifd7_177",
6
+ "wrapper--fit-height": "awsui_wrapper--fit-height_z5mul_8ifd7_213",
7
+ "inner-wrapper--fit-height": "awsui_inner-wrapper--fit-height_z5mul_8ifd7_218",
8
+ "has-default-filter": "awsui_has-default-filter_z5mul_8ifd7_224",
9
+ "content": "awsui_content_z5mul_8ifd7_228",
10
+ "content--reserve-filter": "awsui_content--reserve-filter_z5mul_8ifd7_235",
11
+ "content--reserve-legend": "awsui_content--reserve-legend_z5mul_8ifd7_239",
12
+ "content--fit-height": "awsui_content--fit-height_z5mul_8ifd7_243",
13
+ "filter-container": "awsui_filter-container_z5mul_8ifd7_247"
14
14
  };
15
15
 
@@ -1,14 +1,14 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_1fn7j_17eja_141",
5
- "styled-box": "awsui_styled-box_1fn7j_17eja_148",
6
- "styled-box-checked": "awsui_styled-box-checked_1fn7j_17eja_154",
7
- "styled-box-indeterminate": "awsui_styled-box-indeterminate_1fn7j_17eja_154",
8
- "styled-box-disabled": "awsui_styled-box-disabled_1fn7j_17eja_158",
9
- "styled-box-readonly": "awsui_styled-box-readonly_1fn7j_17eja_158",
10
- "styled-line": "awsui_styled-line_1fn7j_17eja_172",
11
- "styled-line-disabled": "awsui_styled-line-disabled_1fn7j_17eja_177",
12
- "styled-line-readonly": "awsui_styled-line-readonly_1fn7j_17eja_180"
4
+ "root": "awsui_root_1fn7j_5e5n6_141",
5
+ "styled-box": "awsui_styled-box_1fn7j_5e5n6_148",
6
+ "styled-box-checked": "awsui_styled-box-checked_1fn7j_5e5n6_164",
7
+ "styled-box-indeterminate": "awsui_styled-box-indeterminate_1fn7j_5e5n6_164",
8
+ "styled-box-disabled": "awsui_styled-box-disabled_1fn7j_5e5n6_168",
9
+ "styled-box-readonly": "awsui_styled-box-readonly_1fn7j_5e5n6_168",
10
+ "styled-line": "awsui_styled-line_1fn7j_5e5n6_172",
11
+ "styled-line-disabled": "awsui_styled-line-disabled_1fn7j_5e5n6_177",
12
+ "styled-line-readonly": "awsui_styled-line-readonly_1fn7j_5e5n6_180"
13
13
  };
14
14
 
@@ -136,47 +136,47 @@
136
136
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
137
137
  SPDX-License-Identifier: Apache-2.0
138
138
  */
139
- /* Style used for links in slots/components that are text heavy, to help links stand out among
139
+ /* Style used for links in slots/components that are text heavy, to help links stand out among
140
140
  surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F73#description */
141
- .awsui_root_1fn7j_17eja_141:not(#\9) {
141
+ .awsui_root_1fn7j_5e5n6_141:not(#\9) {
142
142
  position: absolute;
143
143
  inline-size: 100%;
144
144
  block-size: 100%;
145
145
  inset-block-start: 0;
146
146
  inset-inline-start: 0;
147
147
  }
148
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-box_1fn7j_17eja_148:not(#\9) {
148
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box_1fn7j_5e5n6_148:not(#\9) {
149
149
  fill: var(--color-background-control-default-n6yadr, #ffffff);
150
150
  stroke: var(--color-border-control-default-8uhjl0, #687078);
151
151
  stroke-width: var(--border-field-width-yoy972, 1px);
152
152
  transition: fill var(--motion-duration-transition-quick-j01tkg, 90ms) var(--motion-easing-transition-quick-9ktw66, linear), stroke var(--motion-duration-transition-quick-j01tkg, 90ms) var(--motion-easing-transition-quick-9ktw66, linear);
153
153
  }
154
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-box-checked_1fn7j_17eja_154:not(#\9), .awsui_root_1fn7j_17eja_141 > .awsui_styled-box-indeterminate_1fn7j_17eja_154:not(#\9) {
155
- fill: var(--color-background-control-checked-pvanxo, #0073bb);
156
- stroke: var(--color-border-control-checked-bqdl6s, #0073bb);
157
- }
158
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-box-disabled_1fn7j_17eja_158:not(#\9), .awsui_root_1fn7j_17eja_141 > .awsui_styled-box-readonly_1fn7j_17eja_158:not(#\9) {
159
- fill: var(--color-background-control-disabled-dsn0t2, #d5dbdb);
160
- stroke: var(--color-border-control-disabled-4hz3mo, #d5dbdb);
161
- }
162
154
  @media (prefers-reduced-motion: reduce) {
163
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-box_1fn7j_17eja_148:not(#\9) {
155
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box_1fn7j_5e5n6_148:not(#\9) {
164
156
  animation: none;
165
157
  transition: none;
166
158
  }
167
159
  }
168
- .awsui-motion-disabled .awsui_root_1fn7j_17eja_141 > .awsui_styled-box_1fn7j_17eja_148:not(#\9), .awsui-mode-entering .awsui_root_1fn7j_17eja_141 > .awsui_styled-box_1fn7j_17eja_148:not(#\9) {
160
+ .awsui-motion-disabled .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box_1fn7j_5e5n6_148:not(#\9), .awsui-mode-entering .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box_1fn7j_5e5n6_148:not(#\9) {
169
161
  animation: none;
170
162
  transition: none;
171
163
  }
172
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-line_1fn7j_17eja_172:not(#\9) {
164
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box-checked_1fn7j_5e5n6_164:not(#\9), .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box-indeterminate_1fn7j_5e5n6_164:not(#\9) {
165
+ fill: var(--color-background-control-checked-pvanxo, #0073bb);
166
+ stroke: var(--color-border-control-checked-bqdl6s, #0073bb);
167
+ }
168
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box-disabled_1fn7j_5e5n6_168:not(#\9), .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-box-readonly_1fn7j_5e5n6_168:not(#\9) {
169
+ fill: var(--color-background-control-disabled-dsn0t2, #d5dbdb);
170
+ stroke: var(--color-border-control-disabled-4hz3mo, #d5dbdb);
171
+ }
172
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-line_1fn7j_5e5n6_172:not(#\9) {
173
173
  stroke: var(--color-foreground-control-default-8qoldl, #ffffff);
174
174
  stroke-width: 2;
175
175
  fill: none;
176
176
  }
177
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-line-disabled_1fn7j_17eja_177:not(#\9) {
177
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-line-disabled_1fn7j_5e5n6_177:not(#\9) {
178
178
  stroke: var(--color-foreground-control-disabled-fcoqdk, #ffffff);
179
179
  }
180
- .awsui_root_1fn7j_17eja_141 > .awsui_styled-line-readonly_1fn7j_17eja_180:not(#\9) {
180
+ .awsui_root_1fn7j_5e5n6_141 > .awsui_styled-line-readonly_1fn7j_5e5n6_180:not(#\9) {
181
181
  stroke: var(--color-foreground-control-read-only-egnjey, #687078);
182
182
  }
@@ -2,14 +2,14 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_1fn7j_17eja_141",
6
- "styled-box": "awsui_styled-box_1fn7j_17eja_148",
7
- "styled-box-checked": "awsui_styled-box-checked_1fn7j_17eja_154",
8
- "styled-box-indeterminate": "awsui_styled-box-indeterminate_1fn7j_17eja_154",
9
- "styled-box-disabled": "awsui_styled-box-disabled_1fn7j_17eja_158",
10
- "styled-box-readonly": "awsui_styled-box-readonly_1fn7j_17eja_158",
11
- "styled-line": "awsui_styled-line_1fn7j_17eja_172",
12
- "styled-line-disabled": "awsui_styled-line-disabled_1fn7j_17eja_177",
13
- "styled-line-readonly": "awsui_styled-line-readonly_1fn7j_17eja_180"
5
+ "root": "awsui_root_1fn7j_5e5n6_141",
6
+ "styled-box": "awsui_styled-box_1fn7j_5e5n6_148",
7
+ "styled-box-checked": "awsui_styled-box-checked_1fn7j_5e5n6_164",
8
+ "styled-box-indeterminate": "awsui_styled-box-indeterminate_1fn7j_5e5n6_164",
9
+ "styled-box-disabled": "awsui_styled-box-disabled_1fn7j_5e5n6_168",
10
+ "styled-box-readonly": "awsui_styled-box-readonly_1fn7j_5e5n6_168",
11
+ "styled-line": "awsui_styled-line_1fn7j_5e5n6_172",
12
+ "styled-line-disabled": "awsui_styled-line-disabled_1fn7j_5e5n6_177",
13
+ "styled-line-readonly": "awsui_styled-line-readonly_1fn7j_5e5n6_180"
14
14
  };
15
15
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/dropdown/index.tsx"],"names":[],"mappings":";AA4BA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA6H7C,QAAA,MAAM,QAAQ,iXA2BX,aAAa,gBAoTf,CAAC;AAMF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/internal/components/dropdown/index.tsx"],"names":[],"mappings":";AA4BA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AA6H7C,QAAA,MAAM,QAAQ,iXA2BX,aAAa,gBAuTf,CAAC;AAMF,eAAe,QAAQ,CAAC"}
@@ -205,8 +205,11 @@ const Dropdown = ({ children, trigger, open, onDropdownClose, onMouseDown, heade
205
205
  if (!open) {
206
206
  return;
207
207
  }
208
- const clickListener = (e) => {
209
- if (!nodeBelongs(dropdownRef.current, e.target) && !nodeBelongs(triggerRef.current, e.target)) {
208
+ const clickListener = (event) => {
209
+ // Since the listener is registered on the window, `event.target` will incorrectly point at the
210
+ // shadow root if the component is rendered inside shadow DOM.
211
+ const target = event.composedPath()[0];
212
+ if (!nodeBelongs(dropdownRef.current, target) && !nodeBelongs(triggerRef.current, target)) {
210
213
  fireNonCancelableEvent(onDropdownClose);
211
214
  }
212
215
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/dropdown/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAClF,OAAO,EAAE,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAE7F,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,cAAc,MAAM,uCAAuC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC7E,OAAO,OAAO,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAoB,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAgC,MAAM,WAAW,CAAC;AAClF,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EAEvB,yCAAyC,GAE1C,MAAM,wBAAwB,CAAC;AAGhC,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAWrC,MAAM,iBAAiB,GAAG,CAAC,EACzB,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,EAAE,EACF,UAAU,EACV,IAAI,GACmB,EAAE,EAAE;;IAC3B,IAAI,CAAC,gBAAgB,EAAE;QACrB,OAAO,0CAAG,QAAQ,CAAI,CAAC;KACxB;IACD,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,IAAI,CAAC;KACb;IACD,MAAM,eAAe,GAAG,MAAA,MAAA,UAAU,CAAC,OAAO,0CAAE,aAAa,mCAAI,QAAQ,CAAC;IACtE,OAAO,YAAY,CACjB,6BAAK,EAAE,EAAE,EAAE,4BAA0B,UAAU,IAC5C,QAAQ,CACL,EACN,eAAe,CAAC,IAAI,CACrB,CAAC;AACJ,CAAC,CAAC;AAyBF,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EACL,aAAa,EACb,eAAe,EACf,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,MAAM,EACN,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,WAAW,EACX,EAAE,EACF,IAAI,EACJ,cAAc,EACd,eAAe,GACQ,EAAE,EAAE;IAC3B,MAAM,UAAU,GAAG,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC5D,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE;YAChD,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI;YACnB,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC,YAAY;YAC7C,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,YAAY;YAC3C,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ;YAC3B,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS;YAC3B,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,gBAAgB,IAAI,CAAC,QAAQ;YACrD,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,EAAE,yBAAyB;SACpE,CAAC,EACF,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,IAAI,qBACO,cAAc,sBACb,eAAe,eACtB,IAAI,oBACC,KAAK,KAAK,QAAQ,iBACrB,CAAC,IAAI,EAClB,KAAK,EACH,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,uBAAuB,CAAC,EAAE,GAAG,uBAAuB,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAE/G,WAAW,EAAE,WAAW;QAExB,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,0BAA0B,CAAC,EAClC,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,EAC1C,SAAS,IAAI,MAAM,CAAC,OAAO,CAC5B;YAED,6BAAK,GAAG,EAAE,oBAAoB,EAAE,SAAS,EAAE,MAAM,CAAC,kBAAkB,CAAC;gBACnE,oBAAC,uBAAuB,IAAC,QAAQ,EAAE,QAAQ;oBACxC,MAAM;oBACN,QAAQ;oBACR,MAAM,CACiB,CACtB,CACF,CACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,EAChB,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,eAAe,EACf,WAAW,EACX,MAAM,EACN,MAAM,EACN,UAAU,EACV,oBAAoB,GAAG,KAAK,EAC5B,YAAY,GAAG,IAAI,EACnB,aAAa,GAAG,KAAK,EACrB,qBAAqB,GAAG,IAAI,EAC5B,yBAAyB,GAAG,KAAK,EACjC,gBAAgB,GAAG,KAAK,EACxB,YAAY,GAAG,KAAK,EACpB,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,UAAU,GAAG,IAAI,EACjB,SAAS,GAAG,gBAAgB,EAC5B,OAAO,EACP,MAAM,EACN,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,eAAe,GACD,EAAE,EAAE;IAClB,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,WAAW,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC1D,yGAAyG;IACzG,MAAM,aAAa,GAAG,MAAM,CAA0B,IAAI,CAAC,CAAC;IAE5D,MAAM,SAAS,GAAG,gBAAgB,EAAE,CAAC;IAErC,MAAM,eAAe,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACzD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAA2C,cAAc,CAAC,CAAC;IAEnG,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,mBAAmB,GAAG,CAC1B,QAAqD,EACrD,UAAmB,EACnB,MAAsB,EACtB,iBAAiC,EACjC,EAAE;QACF,MAAM,WAAW,GAAG,CAAC,QAAQ,IAAI,YAAY,CAAC;QAC9C,IAAI,CAAC,YAAY,EAAE;YACjB,8FAA8F;YAC9F,iBAAiB,CAAC,KAAK,CAAC,YAAY,GAAG,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;SAChF;aAAM;YACL,iBAAiB,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC;SAC3D;QAED,IAAI,WAAW,IAAI,CAAC,gBAAgB,EAAE;YACpC,IAAI,qBAAqB,EAAE;gBACzB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;aACrD;SACF;aAAM;YACL,MAAM,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;SAC/C;QAED,iFAAiF;QACjF,IAAI,QAAQ,CAAC,cAAc,IAAI,CAAC,QAAQ,EAAE;YACxC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;YACjD,IAAI,CAAC,gBAAgB,EAAE;gBACrB,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;aACrC;SACF;aAAM;YACL,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;SACrD;QACD,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC;QAE9G,IAAI,QAAQ,CAAC,gBAAgB,IAAI,QAAQ,CAAC,gBAAgB,KAAK,MAAM,EAAE;YACrE,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;SAC3D;QAED,iFAAiF;QACjF,IAAI,gBAAgB,IAAI,CAAC,QAAQ,EAAE;YACjC,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;YAChC,IAAI,QAAQ,CAAC,cAAc,EAAE;gBAC3B,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,eAAe,UAAU,CAAC,GAAG,KAAK,CAAC;aACjE;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,UAAU,CAAC,MAAM,IAAI,CAAC;aACzD;YACD,IAAI,QAAQ,CAAC,eAAe,EAAE;gBAC5B,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,UAAU,CAAC,KAAK,QAAQ,QAAQ,CAAC,UAAU,GAAG,CAAC;aACxF;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,UAAU,CAAC,IAAI,IAAI,CAAC;aACxD;YACD,6DAA6D;YAC7D,6GAA6G;YAC7G,aAAa,CAAC,OAAO,GAAG,QAAQ,CAAC;YACjC,OAAO;SACR;QAED,8EAA8E;QAC9E,6BAA6B;QAC7B,0EAA0E;QAC1E,IAAI,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,EAAE;YAC5C,IAAI,QAAQ,CAAC,cAAc,EAAE;gBAC3B,MAAM,CAAC,KAAK,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC;aACrD;iBAAM;gBACL,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAC,eAAe,CAAC;aACzD;YACD,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;SAC3D;QAED,IAAI,QAAQ,CAAC,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE;YACvD,WAAW,CAAC,UAAU,CAAC,CAAC;SACzB;aAAM,IAAI,QAAQ,CAAC,cAAc,EAAE;YAClC,WAAW,CAAC,WAAW,CAAC,CAAC;SAC1B;aAAM,IAAI,QAAQ,CAAC,eAAe,EAAE;YACnC,WAAW,CAAC,aAAa,CAAC,CAAC;SAC5B;aAAM;YACL,WAAW,CAAC,cAAc,CAAC,CAAC;SAC7B;IACH,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,OAAgB,EAAE,EAAE,CAC7C,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClE,CAAC,CAAC,oBAAoB,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzF,MAAM,YAAY,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC/C,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAClE,sBAAsB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACxC;IACH,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,CAAC,KAAuB,EAAE,EAAE;QAC9C,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE;YAClE,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;SACvC;IACH,CAAC,CAAC;IAEF,sEAAsE;IACtE,2EAA2E;IAC3E,MAAM,aAAa,GAAG,GAAG,EAAE;QACzB,MAAM,iBAAiB,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC;QACjE,IACE,IAAI;YACJ,yBAAyB;YACzB,WAAW,CAAC,OAAO;YACnB,UAAU,CAAC,OAAO;YAClB,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;YACzD,CAAC,yCAAyC,CAAC;gBACzC,cAAc,EAAE,UAAU,CAAC,OAAO;gBAClC,eAAe,EAAE,WAAW,CAAC,OAAO;gBACpC,eAAe,EAAE,QAAQ;gBACzB,gBAAgB;gBAChB,YAAY;gBACZ,aAAa;gBACb,QAAQ;aACT,CAAC,EACF;YACA,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SACzD;IACH,CAAC,CAAC;IAEF,iBAAiB,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAE5D,eAAe,CAAC,GAAG,EAAE;QACnB,MAAM,cAAc,GAAG,GAAG,EAAE;YAC1B,IAAI,IAAI,IAAI,WAAW,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE;gBACrF,0GAA0G;gBAC1G,IAAI,UAAU,EAAE;oBACd,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBAClD;gBACD,mBAAmB,CACjB,GAAG,iBAAiB,CAClB,WAAW,CAAC,OAAO,EACnB,UAAU,CAAC,OAAO,EAClB,oBAAoB,CAAC,OAAO,EAC5B,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,yBAAyB,CAC1B,EACD,WAAW,CAAC,OAAO,EACnB,oBAAoB,CAAC,OAAO,CAC7B,CAAC;gBACF,IAAI,UAAU,EAAE;oBACd,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;iBACrD;aACF;QACH,CAAC,CAAC;QACF,cAAc,EAAE,CAAC;QAEjB,IAAI,IAAI,EAAE;YACR,iFAAiF;YACjF,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAClD,+EAA+E;YAC/E,kEAAkE;YAClE,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAChC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACvD,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,OAAO,GAAG,EAAE;gBACV,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YACvD,CAAC,CAAC;SACH;QACD,kBAAkB;QAClB,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;IAExG,6BAA6B;IAC7B,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QACD,MAAM,aAAa,GAAG,CAAC,CAAa,EAAE,EAAE;YACtC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;gBAC7F,sBAAsB,CAAC,eAAe,CAAC,CAAC;aACzC;QACH,CAAC,CAAC;QACF,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAEtD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;QAC3D,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAE5B,8CAA8C;IAC9C,eAAe,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE;YAC9B,OAAO;SACR;QACD,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAClC,IAAI,UAAU,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,IAAI,oBAAoB,CAAC,OAAO,EAAE;gBAC7E,MAAM,WAAW,GAAG,4BAA4B,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;gBACrE,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC;gBACnC,IAAI,aAAa,CAAC,OAAO,EAAE;oBACzB,IAAI,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE;wBACxC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,aAAa,GAAG,eAAe,WAAW,CAAC,eAAe,KAAK,CAAC;qBAC3F;yBAAM;wBACL,MAAM,CAAC,KAAK,CAAC,eAAe,GAAG,GAAG,WAAW,CAAC,aAAa,IAAI,CAAC;qBACjE;oBACD,IAAI,aAAa,CAAC,OAAO,CAAC,eAAe,EAAE;wBACzC,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,QAAQ,WAAW,CAAC,cAAc,QAAQ,aAAa,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC;qBAC/G;yBAAM;wBACL,MAAM,CAAC,KAAK,CAAC,gBAAgB,GAAG,GAAG,WAAW,CAAC,gBAAgB,IAAI,CAAC;qBACrE;iBACF;aACF;QACH,CAAC,CAAC;QAEF,sBAAsB,EAAE,CAAC;QAEzB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAChE,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QAChE,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;YACnE,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACrE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE7B,MAAM,UAAU,GAAG,WAAW,EAAE,CAAC;IAEjC,OAAO,CACL,6BACE,SAAS,EAAE,IAAI,CACb,MAAM,CAAC,IAAI,EACX,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAC3B,oBAAoB,IAAI,MAAM,CAAC,wBAAwB,CAAC,CACzD,EACD,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,WAAW;QAEnB,6BAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,IAC5G,OAAO,CACJ;QAEN,oBAAC,OAAO,IACN,iBAAiB,EAAE,GAAG,EAAE,WAAC,OAAA,WAAW,CAAC,OAAO,KAAI,MAAA,iBAAiB,CAAC,WAAW,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAA,EAAA,EAC/F,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,GAC7B;QAEF,oBAAC,iBAAiB,IAChB,UAAU,EAAE,UAAU,EACtB,gBAAgB,EAAE,gBAAgB,IAAI,CAAC,QAAQ,EAC/C,EAAE,EAAE,UAAU,EACd,UAAU,EAAE,UAAU,EACtB,IAAI,EAAE,IAAI;YAEV,oBAAC,UAAU,IAAC,EAAE,EAAE,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,KAAK,EAAE,IAAI,EAAE,KAAK,IACvC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CACf,6BAAK,GAAG,EAAE,oBAAoB;gBAC5B,oBAAC,OAAO,IACN,iBAAiB,EAAE,GAAG,EAAE,WAAC,OAAA,UAAU,CAAC,OAAO,KAAI,MAAA,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAA,EAAA,EAC5F,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,GAC7B;gBAEF,oBAAC,iBAAiB,IAChB,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,GAAG,EAClB,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,gBAAgB,EAClC,yBAAyB,EAAE,yBAAyB,EACpD,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,WAAW,EACxB,oBAAoB,EAAE,oBAAoB,EAC1C,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAE,iBAAiB,EACrB,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,cAAc,EAC9B,eAAe,EAAE,eAAe,IAE/B,QAAQ,CACS;gBAEpB,oBAAC,OAAO,IACN,iBAAiB,EAAE,GAAG,EAAE,WAAC,OAAA,UAAU,CAAC,OAAO,KAAI,MAAA,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,0CAAE,KAAK,EAAE,CAAA,CAAA,EAAA,EAC7F,QAAQ,EAAE,CAAC,IAAI,IAAI,CAAC,SAAS,GAC7B,CACE,CACP,CACU,CACK,CAChB,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CACzB,QAAqD,EACf,EAAE,CAAE,QAAqC,CAAC,aAAa,KAAK,SAAS,CAAC;AAE9G,eAAe,QAAQ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect } from '@cloudscape-design/component-toolkit/internal';\n\nimport { fireNonCancelableEvent } from '../../events';\nimport customCssProps from '../../generated/custom-css-properties';\nimport { useMergeRefs } from '../../hooks/use-merge-refs';\nimport { useMobile } from '../../hooks/use-mobile';\nimport { usePortalModeClasses } from '../../hooks/use-portal-mode-classes';\nimport { useUniqueId } from '../../hooks/use-unique-id/index.js';\nimport { useVisualRefresh } from '../../hooks/use-visual-mode';\nimport { nodeBelongs } from '../../utils/node-belongs';\nimport { getFirstFocusable, getLastFocusable } from '../focus-lock/utils.js';\nimport TabTrap from '../tab-trap/index.js';\nimport { Transition, TransitionStatus } from '../transition';\nimport { DropdownContextProvider, DropdownContextProviderProps } from './context';\nimport {\n calculatePosition,\n defaultMaxDropdownWidth,\n DropdownPosition,\n hasEnoughSpaceToStretchBeyondTriggerWidth,\n InteriorDropdownPosition,\n} from './dropdown-fit-handler';\nimport { DropdownProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\ninterface DropdownContainerProps {\n triggerRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n renderWithPortal: boolean;\n id?: string;\n referrerId?: string;\n open?: boolean;\n}\n\nconst DropdownContainer = ({\n triggerRef,\n children,\n renderWithPortal,\n id,\n referrerId,\n open,\n}: DropdownContainerProps) => {\n if (!renderWithPortal) {\n return <>{children}</>;\n }\n if (!open) {\n return null;\n }\n const currentDocument = triggerRef.current?.ownerDocument ?? document;\n return createPortal(\n <div id={id} data-awsui-referrer-id={referrerId}>\n {children}\n </div>,\n currentDocument.body\n );\n};\n\ninterface TransitionContentProps {\n state: TransitionStatus;\n transitionRef: React.MutableRefObject<any>;\n dropdownClasses: string;\n stretchWidth: boolean;\n interior: boolean;\n isRefresh: boolean;\n dropdownRef: React.RefObject<HTMLDivElement>;\n verticalContainerRef: React.RefObject<HTMLDivElement>;\n expandToViewport?: boolean;\n stretchBeyondTriggerWidth?: boolean;\n header?: React.ReactNode;\n children?: React.ReactNode;\n footer?: React.ReactNode;\n position?: DropdownContextProviderProps['position'];\n open?: boolean;\n onMouseDown?: React.MouseEventHandler<Element>;\n id?: string;\n role?: string;\n ariaLabelledby?: string;\n ariaDescribedby?: string;\n}\n\nconst TransitionContent = ({\n state,\n transitionRef,\n dropdownClasses,\n stretchWidth,\n interior,\n isRefresh,\n dropdownRef,\n verticalContainerRef,\n expandToViewport,\n stretchBeyondTriggerWidth,\n header,\n children,\n footer,\n position,\n open,\n onMouseDown,\n id,\n role,\n ariaLabelledby,\n ariaDescribedby,\n}: TransitionContentProps) => {\n const contentRef = useMergeRefs(dropdownRef, transitionRef);\n return (\n <div\n className={clsx(styles.dropdown, dropdownClasses, {\n [styles.open]: open,\n [styles['with-limited-width']]: !stretchWidth,\n [styles['hide-block-border']]: stretchWidth,\n [styles.interior]: interior,\n [styles.refresh]: isRefresh,\n [styles['use-portal']]: expandToViewport && !interior,\n [styles['stretch-beyond-trigger-width']]: stretchBeyondTriggerWidth,\n })}\n ref={contentRef}\n id={id}\n role={role}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n data-open={open}\n data-animating={state !== 'exited'}\n aria-hidden={!open}\n style={\n stretchBeyondTriggerWidth ? { [customCssProps.dropdownDefaultMaxWidth]: `${defaultMaxDropdownWidth}px` } : {}\n }\n onMouseDown={onMouseDown}\n >\n <div\n className={clsx(\n styles['dropdown-content-wrapper'],\n !header && !children && styles['is-empty'],\n isRefresh && styles.refresh\n )}\n >\n <div ref={verticalContainerRef} className={styles['dropdown-content']}>\n <DropdownContextProvider position={position}>\n {header}\n {children}\n {footer}\n </DropdownContextProvider>\n </div>\n </div>\n </div>\n );\n};\n\nconst Dropdown = ({\n children,\n trigger,\n open,\n onDropdownClose,\n onMouseDown,\n header,\n footer,\n dropdownId,\n stretchTriggerHeight = false,\n stretchWidth = true,\n stretchHeight = false,\n stretchToTriggerWidth = true,\n stretchBeyondTriggerWidth = false,\n expandToViewport = false,\n preferCenter = false,\n interior = false,\n minWidth,\n scrollable = true,\n loopFocus = expandToViewport,\n onFocus,\n onBlur,\n contentKey,\n dropdownContentId,\n dropdownContentRole,\n ariaLabelledby,\n ariaDescribedby,\n}: DropdownProps) => {\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const dropdownContainerRef = useRef<HTMLDivElement | null>(null);\n const verticalContainerRef = useRef<HTMLDivElement>(null);\n // To keep track of the initial position (drop up/down) which is kept the same during fixed repositioning\n const fixedPosition = useRef<DropdownPosition | null>(null);\n\n const isRefresh = useVisualRefresh();\n\n const dropdownClasses = usePortalModeClasses(triggerRef);\n const [position, setPosition] = useState<DropdownContextProviderProps['position']>('bottom-right');\n\n const isMobile = useMobile();\n\n const setDropdownPosition = (\n position: DropdownPosition | InteriorDropdownPosition,\n triggerBox: DOMRect,\n target: HTMLDivElement,\n verticalContainer: HTMLDivElement\n ) => {\n const entireWidth = !interior && stretchWidth;\n if (!stretchWidth) {\n // 1px offset for dropdowns where the dropdown itself needs a border, rather than on the items\n verticalContainer.style.maxBlockSize = `${parseInt(position.blockSize) + 1}px`;\n } else {\n verticalContainer.style.maxBlockSize = position.blockSize;\n }\n\n if (entireWidth && !expandToViewport) {\n if (stretchToTriggerWidth) {\n target.classList.add(styles['occupy-entire-width']);\n }\n } else {\n target.style.inlineSize = position.inlineSize;\n }\n\n // Using styles for main dropdown to adjust its position as preferred alternative\n if (position.dropBlockStart && !interior) {\n target.classList.add(styles['dropdown-drop-up']);\n if (!expandToViewport) {\n target.style.insetBlockEnd = '100%';\n }\n } else {\n target.classList.remove(styles['dropdown-drop-up']);\n }\n target.classList.add(position.dropInlineStart ? styles['dropdown-drop-left'] : styles['dropdown-drop-right']);\n\n if (position.insetInlineStart && position.insetInlineStart !== 'auto') {\n target.style.insetInlineStart = position.insetInlineStart;\n }\n\n // Position normal overflow dropdowns with fixed positioning relative to viewport\n if (expandToViewport && !interior) {\n target.style.position = 'fixed';\n if (position.dropBlockStart) {\n target.style.insetBlockEnd = `calc(100% - ${triggerBox.top}px)`;\n } else {\n target.style.insetBlockStart = `${triggerBox.bottom}px`;\n }\n if (position.dropInlineStart) {\n target.style.insetInlineStart = `calc(${triggerBox.right}px - ${position.inlineSize})`;\n } else {\n target.style.insetInlineStart = `${triggerBox.left}px`;\n }\n // Keep track of the initial dropdown position and direction.\n // Dropdown direction doesn't need to change as the user scrolls, just needs to stay attached to the trigger.\n fixedPosition.current = position;\n return;\n }\n\n // For an interior dropdown (the fly out) we need exact values for positioning\n // and classes are not enough\n // usage of relative position is impossible due to overwrite of overflow-x\n if (interior && isInteriorPosition(position)) {\n if (position.dropBlockStart) {\n target.style.insetBlockEnd = position.insetBlockEnd;\n } else {\n target.style.insetBlockStart = position.insetBlockStart;\n }\n target.style.insetInlineStart = position.insetInlineStart;\n }\n\n if (position.dropBlockStart && position.dropInlineStart) {\n setPosition('top-left');\n } else if (position.dropBlockStart) {\n setPosition('top-right');\n } else if (position.dropInlineStart) {\n setPosition('bottom-left');\n } else {\n setPosition('bottom-right');\n }\n };\n\n const isOutsideDropdown = (element: Element) =>\n (!wrapperRef.current || !nodeBelongs(wrapperRef.current, element)) &&\n (!dropdownContainerRef.current || !nodeBelongs(dropdownContainerRef.current, element));\n\n const focusHandler = (event: React.FocusEvent) => {\n if (!event.relatedTarget || isOutsideDropdown(event.relatedTarget)) {\n fireNonCancelableEvent(onFocus, event);\n }\n };\n\n const blurHandler = (event: React.FocusEvent) => {\n if (!event.relatedTarget || isOutsideDropdown(event.relatedTarget)) {\n fireNonCancelableEvent(onBlur, event);\n }\n };\n\n // Prevent the dropdown width from stretching beyond the trigger width\n // if that is going to cause the dropdown to be cropped because of overflow\n const fixStretching = () => {\n const classNameToRemove = styles['stretch-beyond-trigger-width'];\n if (\n open &&\n stretchBeyondTriggerWidth &&\n dropdownRef.current &&\n triggerRef.current &&\n dropdownRef.current.classList.contains(classNameToRemove) &&\n !hasEnoughSpaceToStretchBeyondTriggerWidth({\n triggerElement: triggerRef.current,\n dropdownElement: dropdownRef.current,\n desiredMinWidth: minWidth,\n expandToViewport,\n stretchWidth,\n stretchHeight,\n isMobile,\n })\n ) {\n dropdownRef.current.classList.remove(classNameToRemove);\n }\n };\n\n useResizeObserver(() => dropdownRef.current, fixStretching);\n\n useLayoutEffect(() => {\n const onDropdownOpen = () => {\n if (open && dropdownRef.current && triggerRef.current && verticalContainerRef.current) {\n // calculate scroll width only for dropdowns that has a scrollbar and ignore it for date picker components\n if (scrollable) {\n dropdownRef.current.classList.add(styles.nowrap);\n }\n setDropdownPosition(\n ...calculatePosition(\n dropdownRef.current,\n triggerRef.current,\n verticalContainerRef.current,\n interior,\n expandToViewport,\n preferCenter,\n stretchWidth,\n stretchHeight,\n isMobile,\n minWidth,\n stretchBeyondTriggerWidth\n ),\n dropdownRef.current,\n verticalContainerRef.current\n );\n if (scrollable) {\n dropdownRef.current.classList.remove(styles.nowrap);\n }\n }\n };\n onDropdownOpen();\n\n if (open) {\n // window may scroll when dropdown opens, for example when soft keyboard shows up\n window.addEventListener('scroll', onDropdownOpen);\n // only listen to window scroll within very short time after the dropdown opens\n // do not want to interfere dropdown position on scroll afterwards\n const timeoutId = setTimeout(() => {\n window.removeEventListener('scroll', onDropdownOpen);\n }, 500);\n\n return () => {\n clearTimeout(timeoutId);\n window.removeEventListener('scroll', onDropdownOpen);\n };\n }\n // See AWSUI-13040\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, dropdownRef, triggerRef, verticalContainerRef, interior, stretchWidth, isMobile, contentKey]);\n\n // subscribe to outside click\n useEffect(() => {\n if (!open) {\n return;\n }\n const clickListener = (e: MouseEvent) => {\n if (!nodeBelongs(dropdownRef.current, e.target) && !nodeBelongs(triggerRef.current, e.target)) {\n fireNonCancelableEvent(onDropdownClose);\n }\n };\n window.addEventListener('click', clickListener, true);\n\n return () => {\n window.removeEventListener('click', clickListener, true);\n };\n }, [open, onDropdownClose]);\n\n // sync dropdown position on scroll and resize\n useLayoutEffect(() => {\n if (!expandToViewport || !open) {\n return;\n }\n const updateDropdownPosition = () => {\n if (triggerRef.current && dropdownRef.current && verticalContainerRef.current) {\n const triggerRect = getLogicalBoundingClientRect(triggerRef.current);\n const target = dropdownRef.current;\n if (fixedPosition.current) {\n if (fixedPosition.current.dropBlockStart) {\n dropdownRef.current.style.insetBlockEnd = `calc(100% - ${triggerRect.insetBlockStart}px)`;\n } else {\n target.style.insetBlockStart = `${triggerRect.insetBlockEnd}px`;\n }\n if (fixedPosition.current.dropInlineStart) {\n target.style.insetInlineStart = `calc(${triggerRect.insetInlineEnd}px - ${fixedPosition.current.inlineSize})`;\n } else {\n target.style.insetInlineStart = `${triggerRect.insetInlineStart}px`;\n }\n }\n }\n };\n\n updateDropdownPosition();\n\n window.addEventListener('scroll', updateDropdownPosition, true);\n window.addEventListener('resize', updateDropdownPosition, true);\n return () => {\n window.removeEventListener('scroll', updateDropdownPosition, true);\n window.removeEventListener('resize', updateDropdownPosition, true);\n };\n }, [open, expandToViewport]);\n\n const referrerId = useUniqueId();\n\n return (\n <div\n className={clsx(\n styles.root,\n interior && styles.interior,\n stretchTriggerHeight && styles['stretch-trigger-height']\n )}\n ref={wrapperRef}\n onFocus={focusHandler}\n onBlur={blurHandler}\n >\n <div id={referrerId} className={clsx(stretchTriggerHeight && styles['stretch-trigger-height'])} ref={triggerRef}>\n {trigger}\n </div>\n\n <TabTrap\n focusNextCallback={() => dropdownRef.current && getFirstFocusable(dropdownRef.current)?.focus()}\n disabled={!open || !loopFocus}\n />\n\n <DropdownContainer\n triggerRef={triggerRef}\n renderWithPortal={expandToViewport && !interior}\n id={dropdownId}\n referrerId={referrerId}\n open={open}\n >\n <Transition in={open ?? false} exit={false}>\n {(state, ref) => (\n <div ref={dropdownContainerRef}>\n <TabTrap\n focusNextCallback={() => triggerRef.current && getLastFocusable(triggerRef.current)?.focus()}\n disabled={!open || !loopFocus}\n />\n\n <TransitionContent\n state={state}\n transitionRef={ref}\n dropdownClasses={dropdownClasses}\n open={open}\n stretchWidth={stretchWidth}\n interior={interior}\n header={header}\n expandToViewport={expandToViewport}\n stretchBeyondTriggerWidth={stretchBeyondTriggerWidth}\n footer={footer}\n onMouseDown={onMouseDown}\n isRefresh={isRefresh}\n dropdownRef={dropdownRef}\n verticalContainerRef={verticalContainerRef}\n position={position}\n id={dropdownContentId}\n role={dropdownContentRole}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n >\n {children}\n </TransitionContent>\n\n <TabTrap\n focusNextCallback={() => triggerRef.current && getFirstFocusable(triggerRef.current)?.focus()}\n disabled={!open || !loopFocus}\n />\n </div>\n )}\n </Transition>\n </DropdownContainer>\n </div>\n );\n};\n\nconst isInteriorPosition = (\n position: DropdownPosition | InteriorDropdownPosition\n): position is InteriorDropdownPosition => (position as InteriorDropdownPosition).insetBlockEnd !== undefined;\n\nexport default Dropdown;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/dropdown/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useLayoutEffect, useRef, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport clsx from 'clsx';\n\nimport { useResizeObserver } from '@cloudscape-design/component-toolkit/internal';\nimport { getLogicalBoundingClientRect } from '@cloudscape-design/component-toolkit/internal';\n\nimport { fireNonCancelableEvent } from '../../events';\nimport customCssProps from '../../generated/custom-css-properties';\nimport { useMergeRefs } from '../../hooks/use-merge-refs';\nimport { useMobile } from '../../hooks/use-mobile';\nimport { usePortalModeClasses } from '../../hooks/use-portal-mode-classes';\nimport { useUniqueId } from '../../hooks/use-unique-id/index.js';\nimport { useVisualRefresh } from '../../hooks/use-visual-mode';\nimport { nodeBelongs } from '../../utils/node-belongs';\nimport { getFirstFocusable, getLastFocusable } from '../focus-lock/utils.js';\nimport TabTrap from '../tab-trap/index.js';\nimport { Transition, TransitionStatus } from '../transition';\nimport { DropdownContextProvider, DropdownContextProviderProps } from './context';\nimport {\n calculatePosition,\n defaultMaxDropdownWidth,\n DropdownPosition,\n hasEnoughSpaceToStretchBeyondTriggerWidth,\n InteriorDropdownPosition,\n} from './dropdown-fit-handler';\nimport { DropdownProps } from './interfaces';\n\nimport styles from './styles.css.js';\n\ninterface DropdownContainerProps {\n triggerRef: React.RefObject<HTMLElement>;\n children?: React.ReactNode;\n renderWithPortal: boolean;\n id?: string;\n referrerId?: string;\n open?: boolean;\n}\n\nconst DropdownContainer = ({\n triggerRef,\n children,\n renderWithPortal,\n id,\n referrerId,\n open,\n}: DropdownContainerProps) => {\n if (!renderWithPortal) {\n return <>{children}</>;\n }\n if (!open) {\n return null;\n }\n const currentDocument = triggerRef.current?.ownerDocument ?? document;\n return createPortal(\n <div id={id} data-awsui-referrer-id={referrerId}>\n {children}\n </div>,\n currentDocument.body\n );\n};\n\ninterface TransitionContentProps {\n state: TransitionStatus;\n transitionRef: React.MutableRefObject<any>;\n dropdownClasses: string;\n stretchWidth: boolean;\n interior: boolean;\n isRefresh: boolean;\n dropdownRef: React.RefObject<HTMLDivElement>;\n verticalContainerRef: React.RefObject<HTMLDivElement>;\n expandToViewport?: boolean;\n stretchBeyondTriggerWidth?: boolean;\n header?: React.ReactNode;\n children?: React.ReactNode;\n footer?: React.ReactNode;\n position?: DropdownContextProviderProps['position'];\n open?: boolean;\n onMouseDown?: React.MouseEventHandler<Element>;\n id?: string;\n role?: string;\n ariaLabelledby?: string;\n ariaDescribedby?: string;\n}\n\nconst TransitionContent = ({\n state,\n transitionRef,\n dropdownClasses,\n stretchWidth,\n interior,\n isRefresh,\n dropdownRef,\n verticalContainerRef,\n expandToViewport,\n stretchBeyondTriggerWidth,\n header,\n children,\n footer,\n position,\n open,\n onMouseDown,\n id,\n role,\n ariaLabelledby,\n ariaDescribedby,\n}: TransitionContentProps) => {\n const contentRef = useMergeRefs(dropdownRef, transitionRef);\n return (\n <div\n className={clsx(styles.dropdown, dropdownClasses, {\n [styles.open]: open,\n [styles['with-limited-width']]: !stretchWidth,\n [styles['hide-block-border']]: stretchWidth,\n [styles.interior]: interior,\n [styles.refresh]: isRefresh,\n [styles['use-portal']]: expandToViewport && !interior,\n [styles['stretch-beyond-trigger-width']]: stretchBeyondTriggerWidth,\n })}\n ref={contentRef}\n id={id}\n role={role}\n aria-labelledby={ariaLabelledby}\n aria-describedby={ariaDescribedby}\n data-open={open}\n data-animating={state !== 'exited'}\n aria-hidden={!open}\n style={\n stretchBeyondTriggerWidth ? { [customCssProps.dropdownDefaultMaxWidth]: `${defaultMaxDropdownWidth}px` } : {}\n }\n onMouseDown={onMouseDown}\n >\n <div\n className={clsx(\n styles['dropdown-content-wrapper'],\n !header && !children && styles['is-empty'],\n isRefresh && styles.refresh\n )}\n >\n <div ref={verticalContainerRef} className={styles['dropdown-content']}>\n <DropdownContextProvider position={position}>\n {header}\n {children}\n {footer}\n </DropdownContextProvider>\n </div>\n </div>\n </div>\n );\n};\n\nconst Dropdown = ({\n children,\n trigger,\n open,\n onDropdownClose,\n onMouseDown,\n header,\n footer,\n dropdownId,\n stretchTriggerHeight = false,\n stretchWidth = true,\n stretchHeight = false,\n stretchToTriggerWidth = true,\n stretchBeyondTriggerWidth = false,\n expandToViewport = false,\n preferCenter = false,\n interior = false,\n minWidth,\n scrollable = true,\n loopFocus = expandToViewport,\n onFocus,\n onBlur,\n contentKey,\n dropdownContentId,\n dropdownContentRole,\n ariaLabelledby,\n ariaDescribedby,\n}: DropdownProps) => {\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useRef<HTMLDivElement | null>(null);\n const dropdownRef = useRef<HTMLDivElement | null>(null);\n const dropdownContainerRef = useRef<HTMLDivElement | null>(null);\n const verticalContainerRef = useRef<HTMLDivElement>(null);\n // To keep track of the initial position (drop up/down) which is kept the same during fixed repositioning\n const fixedPosition = useRef<DropdownPosition | null>(null);\n\n const isRefresh = useVisualRefresh();\n\n const dropdownClasses = usePortalModeClasses(triggerRef);\n const [position, setPosition] = useState<DropdownContextProviderProps['position']>('bottom-right');\n\n const isMobile = useMobile();\n\n const setDropdownPosition = (\n position: DropdownPosition | InteriorDropdownPosition,\n triggerBox: DOMRect,\n target: HTMLDivElement,\n verticalContainer: HTMLDivElement\n ) => {\n const entireWidth = !interior && stretchWidth;\n if (!stretchWidth) {\n // 1px offset for dropdowns where the dropdown itself needs a border, rather than on the items\n verticalContainer.style.maxBlockSize = `${parseInt(position.blockSize) + 1}px`;\n } else {\n verticalContainer.style.maxBlockSize = position.blockSize;\n }\n\n if (entireWidth && !expandToViewport) {\n if (stretchToTriggerWidth) {\n target.classList.add(styles['occupy-entire-width']);\n }\n } else {\n target.style.inlineSize = position.inlineSize;\n }\n\n // Using styles for main dropdown to adjust its position as preferred alternative\n if (position.dropBlockStart && !interior) {\n target.classList.add(styles['dropdown-drop-up']);\n if (!expandToViewport) {\n target.style.insetBlockEnd = '100%';\n }\n } else {\n target.classList.remove(styles['dropdown-drop-up']);\n }\n target.classList.add(position.dropInlineStart ? styles['dropdown-drop-left'] : styles['dropdown-drop-right']);\n\n if (position.insetInlineStart && position.insetInlineStart !== 'auto') {\n target.style.insetInlineStart = position.insetInlineStart;\n }\n\n // Position normal overflow dropdowns with fixed positioning relative to viewport\n if (expandToViewport && !interior) {\n target.style.position = 'fixed';\n if (position.dropBlockStart) {\n target.style.insetBlockEnd = `calc(100% - ${triggerBox.top}px)`;\n } else {\n target.style.insetBlockStart = `${triggerBox.bottom}px`;\n }\n if (position.dropInlineStart) {\n target.style.insetInlineStart = `calc(${triggerBox.right}px - ${position.inlineSize})`;\n } else {\n target.style.insetInlineStart = `${triggerBox.left}px`;\n }\n // Keep track of the initial dropdown position and direction.\n // Dropdown direction doesn't need to change as the user scrolls, just needs to stay attached to the trigger.\n fixedPosition.current = position;\n return;\n }\n\n // For an interior dropdown (the fly out) we need exact values for positioning\n // and classes are not enough\n // usage of relative position is impossible due to overwrite of overflow-x\n if (interior && isInteriorPosition(position)) {\n if (position.dropBlockStart) {\n target.style.insetBlockEnd = position.insetBlockEnd;\n } else {\n target.style.insetBlockStart = position.insetBlockStart;\n }\n target.style.insetInlineStart = position.insetInlineStart;\n }\n\n if (position.dropBlockStart && position.dropInlineStart) {\n setPosition('top-left');\n } else if (position.dropBlockStart) {\n setPosition('top-right');\n } else if (position.dropInlineStart) {\n setPosition('bottom-left');\n } else {\n setPosition('bottom-right');\n }\n };\n\n const isOutsideDropdown = (element: Element) =>\n (!wrapperRef.current || !nodeBelongs(wrapperRef.current, element)) &&\n (!dropdownContainerRef.current || !nodeBelongs(dropdownContainerRef.current, element));\n\n const focusHandler = (event: React.FocusEvent) => {\n if (!event.relatedTarget || isOutsideDropdown(event.relatedTarget)) {\n fireNonCancelableEvent(onFocus, event);\n }\n };\n\n const blurHandler = (event: React.FocusEvent) => {\n if (!event.relatedTarget || isOutsideDropdown(event.relatedTarget)) {\n fireNonCancelableEvent(onBlur, event);\n }\n };\n\n // Prevent the dropdown width from stretching beyond the trigger width\n // if that is going to cause the dropdown to be cropped because of overflow\n const fixStretching = () => {\n const classNameToRemove = styles['stretch-beyond-trigger-width'];\n if (\n open &&\n stretchBeyondTriggerWidth &&\n dropdownRef.current &&\n triggerRef.current &&\n dropdownRef.current.classList.contains(classNameToRemove) &&\n !hasEnoughSpaceToStretchBeyondTriggerWidth({\n triggerElement: triggerRef.current,\n dropdownElement: dropdownRef.current,\n desiredMinWidth: minWidth,\n expandToViewport,\n stretchWidth,\n stretchHeight,\n isMobile,\n })\n ) {\n dropdownRef.current.classList.remove(classNameToRemove);\n }\n };\n\n useResizeObserver(() => dropdownRef.current, fixStretching);\n\n useLayoutEffect(() => {\n const onDropdownOpen = () => {\n if (open && dropdownRef.current && triggerRef.current && verticalContainerRef.current) {\n // calculate scroll width only for dropdowns that has a scrollbar and ignore it for date picker components\n if (scrollable) {\n dropdownRef.current.classList.add(styles.nowrap);\n }\n setDropdownPosition(\n ...calculatePosition(\n dropdownRef.current,\n triggerRef.current,\n verticalContainerRef.current,\n interior,\n expandToViewport,\n preferCenter,\n stretchWidth,\n stretchHeight,\n isMobile,\n minWidth,\n stretchBeyondTriggerWidth\n ),\n dropdownRef.current,\n verticalContainerRef.current\n );\n if (scrollable) {\n dropdownRef.current.classList.remove(styles.nowrap);\n }\n }\n };\n onDropdownOpen();\n\n if (open) {\n // window may scroll when dropdown opens, for example when soft keyboard shows up\n window.addEventListener('scroll', onDropdownOpen);\n // only listen to window scroll within very short time after the dropdown opens\n // do not want to interfere dropdown position on scroll afterwards\n const timeoutId = setTimeout(() => {\n window.removeEventListener('scroll', onDropdownOpen);\n }, 500);\n\n return () => {\n clearTimeout(timeoutId);\n window.removeEventListener('scroll', onDropdownOpen);\n };\n }\n // See AWSUI-13040\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, dropdownRef, triggerRef, verticalContainerRef, interior, stretchWidth, isMobile, contentKey]);\n\n // subscribe to outside click\n useEffect(() => {\n if (!open) {\n return;\n }\n const clickListener = (event: MouseEvent) => {\n // Since the listener is registered on the window, `event.target` will incorrectly point at the\n // shadow root if the component is rendered inside shadow DOM.\n const target = event.composedPath()[0];\n if (!nodeBelongs(dropdownRef.current, target) && !nodeBelongs(triggerRef.current, target)) {\n fireNonCancelableEvent(onDropdownClose);\n }\n };\n window.addEventListener('click', clickListener, true);\n\n return () => {\n window.removeEventListener('click', clickListener, true);\n };\n }, [open, onDropdownClose]);\n\n // sync dropdown position on scroll and resize\n useLayoutEffect(() => {\n if (!expandToViewport || !open) {\n return;\n }\n const updateDropdownPosition = () => {\n if (triggerRef.current && dropdownRef.current && verticalContainerRef.current) {\n const triggerRect = getLogicalBoundingClientRect(triggerRef.current);\n const target = dropdownRef.current;\n if (fixedPosition.current) {\n if (fixedPosition.current.dropBlockStart) {\n dropdownRef.current.style.insetBlockEnd = `calc(100% - ${triggerRect.insetBlockStart}px)`;\n } else {\n target.style.insetBlockStart = `${triggerRect.insetBlockEnd}px`;\n }\n if (fixedPosition.current.dropInlineStart) {\n target.style.insetInlineStart = `calc(${triggerRect.insetInlineEnd}px - ${fixedPosition.current.inlineSize})`;\n } else {\n target.style.insetInlineStart = `${triggerRect.insetInlineStart}px`;\n }\n }\n }\n };\n\n updateDropdownPosition();\n\n window.addEventListener('scroll', updateDropdownPosition, true);\n window.addEventListener('resize', updateDropdownPosition, true);\n return () => {\n window.removeEventListener('scroll', updateDropdownPosition, true);\n window.removeEventListener('resize', updateDropdownPosition, true);\n };\n }, [open, expandToViewport]);\n\n const referrerId = useUniqueId();\n\n return (\n <div\n className={clsx(\n styles.root,\n interior && styles.interior,\n stretchTriggerHeight && styles['stretch-trigger-height']\n )}\n ref={wrapperRef}\n onFocus={focusHandler}\n onBlur={blurHandler}\n >\n <div id={referrerId} className={clsx(stretchTriggerHeight && styles['stretch-trigger-height'])} ref={triggerRef}>\n {trigger}\n </div>\n\n <TabTrap\n focusNextCallback={() => dropdownRef.current && getFirstFocusable(dropdownRef.current)?.focus()}\n disabled={!open || !loopFocus}\n />\n\n <DropdownContainer\n triggerRef={triggerRef}\n renderWithPortal={expandToViewport && !interior}\n id={dropdownId}\n referrerId={referrerId}\n open={open}\n >\n <Transition in={open ?? false} exit={false}>\n {(state, ref) => (\n <div ref={dropdownContainerRef}>\n <TabTrap\n focusNextCallback={() => triggerRef.current && getLastFocusable(triggerRef.current)?.focus()}\n disabled={!open || !loopFocus}\n />\n\n <TransitionContent\n state={state}\n transitionRef={ref}\n dropdownClasses={dropdownClasses}\n open={open}\n stretchWidth={stretchWidth}\n interior={interior}\n header={header}\n expandToViewport={expandToViewport}\n stretchBeyondTriggerWidth={stretchBeyondTriggerWidth}\n footer={footer}\n onMouseDown={onMouseDown}\n isRefresh={isRefresh}\n dropdownRef={dropdownRef}\n verticalContainerRef={verticalContainerRef}\n position={position}\n id={dropdownContentId}\n role={dropdownContentRole}\n ariaLabelledby={ariaLabelledby}\n ariaDescribedby={ariaDescribedby}\n >\n {children}\n </TransitionContent>\n\n <TabTrap\n focusNextCallback={() => triggerRef.current && getFirstFocusable(triggerRef.current)?.focus()}\n disabled={!open || !loopFocus}\n />\n </div>\n )}\n </Transition>\n </DropdownContainer>\n </div>\n );\n};\n\nconst isInteriorPosition = (\n position: DropdownPosition | InteriorDropdownPosition\n): position is InteriorDropdownPosition => (position as InteriorDropdownPosition).insetBlockEnd !== undefined;\n\nexport default Dropdown;\n"]}
@@ -1,25 +1,25 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "dropdown-content-wrapper": "awsui_dropdown-content-wrapper_qwoo0_i6bd2_149",
5
- "awsui-motion-fade-in-dropdown": "awsui_awsui-motion-fade-in-dropdown_qwoo0_i6bd2_1",
6
- "refresh": "awsui_refresh_qwoo0_i6bd2_170",
7
- "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_qwoo0_i6bd2_1",
8
- "root": "awsui_root_qwoo0_i6bd2_195",
9
- "interior": "awsui_interior_qwoo0_i6bd2_231",
10
- "dropdown": "awsui_dropdown_qwoo0_i6bd2_149",
11
- "use-portal": "awsui_use-portal_qwoo0_i6bd2_242",
12
- "is-empty": "awsui_is-empty_qwoo0_i6bd2_288",
13
- "dropdown-drop-up": "awsui_dropdown-drop-up_qwoo0_i6bd2_295",
14
- "with-limited-width": "awsui_with-limited-width_qwoo0_i6bd2_299",
15
- "dropdown-drop-left": "awsui_dropdown-drop-left_qwoo0_i6bd2_302",
16
- "dropdown-drop-right": "awsui_dropdown-drop-right_qwoo0_i6bd2_305",
17
- "occupy-entire-width": "awsui_occupy-entire-width_qwoo0_i6bd2_308",
18
- "stretch-beyond-trigger-width": "awsui_stretch-beyond-trigger-width_qwoo0_i6bd2_311",
19
- "hide-block-border": "awsui_hide-block-border_qwoo0_i6bd2_318",
20
- "open": "awsui_open_qwoo0_i6bd2_327",
21
- "nowrap": "awsui_nowrap_qwoo0_i6bd2_336",
22
- "dropdown-content": "awsui_dropdown-content_qwoo0_i6bd2_149",
23
- "stretch-trigger-height": "awsui_stretch-trigger-height_qwoo0_i6bd2_347"
4
+ "dropdown-content-wrapper": "awsui_dropdown-content-wrapper_qwoo0_c6gof_149",
5
+ "awsui-motion-fade-in-dropdown": "awsui_awsui-motion-fade-in-dropdown_qwoo0_c6gof_1",
6
+ "refresh": "awsui_refresh_qwoo0_c6gof_170",
7
+ "awsui-motion-fade-in-0": "awsui_awsui-motion-fade-in-0_qwoo0_c6gof_1",
8
+ "root": "awsui_root_qwoo0_c6gof_195",
9
+ "interior": "awsui_interior_qwoo0_c6gof_231",
10
+ "dropdown": "awsui_dropdown_qwoo0_c6gof_149",
11
+ "use-portal": "awsui_use-portal_qwoo0_c6gof_242",
12
+ "is-empty": "awsui_is-empty_qwoo0_c6gof_288",
13
+ "dropdown-drop-up": "awsui_dropdown-drop-up_qwoo0_c6gof_295",
14
+ "with-limited-width": "awsui_with-limited-width_qwoo0_c6gof_299",
15
+ "dropdown-drop-left": "awsui_dropdown-drop-left_qwoo0_c6gof_302",
16
+ "dropdown-drop-right": "awsui_dropdown-drop-right_qwoo0_c6gof_305",
17
+ "occupy-entire-width": "awsui_occupy-entire-width_qwoo0_c6gof_308",
18
+ "stretch-beyond-trigger-width": "awsui_stretch-beyond-trigger-width_qwoo0_c6gof_311",
19
+ "hide-block-border": "awsui_hide-block-border_qwoo0_c6gof_318",
20
+ "open": "awsui_open_qwoo0_c6gof_327",
21
+ "nowrap": "awsui_nowrap_qwoo0_c6gof_336",
22
+ "dropdown-content": "awsui_dropdown-content_qwoo0_c6gof_149",
23
+ "stretch-trigger-height": "awsui_stretch-trigger-height_qwoo0_c6gof_347"
24
24
  };
25
25