@cloudscape-design/components 3.0.334 → 3.0.336

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 (327) hide show
  1. package/alert/styles.css.js +19 -19
  2. package/alert/styles.scoped.css +33 -33
  3. package/alert/styles.selectors.js +19 -19
  4. package/annotation-context/annotation/styles.css.js +24 -24
  5. package/annotation-context/annotation/styles.scoped.css +30 -30
  6. package/annotation-context/annotation/styles.selectors.js +24 -24
  7. package/app-layout/index.js +3 -3
  8. package/app-layout/index.js.map +1 -1
  9. package/app-layout/visual-refresh/context.d.ts.map +1 -1
  10. package/app-layout/visual-refresh/context.js +3 -3
  11. package/app-layout/visual-refresh/context.js.map +1 -1
  12. package/app-layout/visual-refresh/styles.css.js +69 -69
  13. package/app-layout/visual-refresh/styles.scoped.css +168 -168
  14. package/app-layout/visual-refresh/styles.selectors.js +69 -69
  15. package/attribute-editor/styles.css.js +14 -14
  16. package/attribute-editor/styles.scoped.css +27 -27
  17. package/attribute-editor/styles.selectors.js +14 -14
  18. package/autosuggest/virtual-list.d.ts.map +1 -1
  19. package/autosuggest/virtual-list.js +2 -2
  20. package/autosuggest/virtual-list.js.map +1 -1
  21. package/badge/styles.css.js +5 -5
  22. package/badge/styles.scoped.css +7 -7
  23. package/badge/styles.selectors.js +5 -5
  24. package/box/styles.css.js +189 -189
  25. package/box/styles.scoped.css +238 -238
  26. package/box/styles.selectors.js +189 -189
  27. package/breadcrumb-group/styles.css.js +7 -7
  28. package/breadcrumb-group/styles.scoped.css +14 -14
  29. package/breadcrumb-group/styles.selectors.js +7 -7
  30. package/button/styles.css.js +20 -20
  31. package/button/styles.scoped.css +154 -154
  32. package/button/styles.selectors.js +20 -20
  33. package/button-dropdown/index.d.ts.map +1 -1
  34. package/button-dropdown/index.js +2 -2
  35. package/button-dropdown/index.js.map +1 -1
  36. package/button-dropdown/interfaces.d.ts +31 -0
  37. package/button-dropdown/interfaces.d.ts.map +1 -1
  38. package/button-dropdown/interfaces.js.map +1 -1
  39. package/button-dropdown/internal.d.ts.map +1 -1
  40. package/button-dropdown/internal.js +52 -7
  41. package/button-dropdown/internal.js.map +1 -1
  42. package/button-dropdown/mobile-expandable-group/styles.css.js +5 -5
  43. package/button-dropdown/mobile-expandable-group/styles.scoped.css +6 -6
  44. package/button-dropdown/mobile-expandable-group/styles.selectors.js +5 -5
  45. package/button-dropdown/styles.css.js +14 -8
  46. package/button-dropdown/styles.scoped.css +44 -14
  47. package/button-dropdown/styles.selectors.js +14 -8
  48. package/button-dropdown/utils/use-button-dropdown.d.ts +1 -0
  49. package/button-dropdown/utils/use-button-dropdown.d.ts.map +1 -1
  50. package/button-dropdown/utils/use-button-dropdown.js +1 -0
  51. package/button-dropdown/utils/use-button-dropdown.js.map +1 -1
  52. package/calendar/styles.css.js +18 -18
  53. package/calendar/styles.scoped.css +40 -40
  54. package/calendar/styles.selectors.js +18 -18
  55. package/cards/index.js +5 -4
  56. package/cards/index.js.map +1 -1
  57. package/cards/styles.css.js +38 -38
  58. package/cards/styles.scoped.css +55 -55
  59. package/cards/styles.selectors.js +38 -38
  60. package/checkbox/styles.css.js +3 -3
  61. package/checkbox/styles.scoped.css +7 -7
  62. package/checkbox/styles.selectors.js +3 -3
  63. package/code-editor/index.js +2 -2
  64. package/code-editor/index.js.map +1 -1
  65. package/code-editor/status-bar.d.ts.map +1 -1
  66. package/code-editor/status-bar.js +3 -3
  67. package/code-editor/status-bar.js.map +1 -1
  68. package/code-editor/styles.css.js +32 -32
  69. package/code-editor/styles.scoped.css +129 -129
  70. package/code-editor/styles.selectors.js +32 -32
  71. package/collection-preferences/content-display/styles.css.js +11 -11
  72. package/collection-preferences/content-display/styles.scoped.css +19 -19
  73. package/collection-preferences/content-display/styles.selectors.js +11 -11
  74. package/collection-preferences/styles.css.js +37 -37
  75. package/collection-preferences/styles.scoped.css +47 -47
  76. package/collection-preferences/styles.selectors.js +37 -37
  77. package/column-layout/flexible-column-layout/index.d.ts.map +1 -1
  78. package/column-layout/flexible-column-layout/index.js +2 -2
  79. package/column-layout/flexible-column-layout/index.js.map +1 -1
  80. package/column-layout/styles.css.js +13 -13
  81. package/column-layout/styles.scoped.css +44 -44
  82. package/column-layout/styles.selectors.js +13 -13
  83. package/container/styles.css.js +28 -28
  84. package/container/styles.scoped.css +52 -52
  85. package/container/styles.selectors.js +28 -28
  86. package/date-picker/styles.css.js +7 -7
  87. package/date-picker/styles.scoped.css +10 -10
  88. package/date-picker/styles.selectors.js +7 -7
  89. package/date-range-picker/styles.css.js +38 -38
  90. package/date-range-picker/styles.scoped.css +48 -48
  91. package/date-range-picker/styles.selectors.js +38 -38
  92. package/expandable-section/styles.css.js +29 -29
  93. package/expandable-section/styles.scoped.css +65 -65
  94. package/expandable-section/styles.selectors.js +29 -29
  95. package/flashbar/styles.css.js +46 -46
  96. package/flashbar/styles.scoped.css +160 -160
  97. package/flashbar/styles.selectors.js +46 -46
  98. package/form/styles.css.js +9 -9
  99. package/form/styles.scoped.css +9 -9
  100. package/form/styles.selectors.js +9 -9
  101. package/form-field/styles.css.js +19 -19
  102. package/form-field/styles.scoped.css +31 -31
  103. package/form-field/styles.selectors.js +19 -19
  104. package/grid/styles.css.js +53 -53
  105. package/grid/styles.scoped.css +55 -55
  106. package/grid/styles.selectors.js +53 -53
  107. package/header/styles.css.js +44 -44
  108. package/header/styles.scoped.css +50 -50
  109. package/header/styles.selectors.js +44 -44
  110. package/help-panel/styles.css.js +4 -4
  111. package/help-panel/styles.scoped.css +70 -69
  112. package/help-panel/styles.selectors.js +4 -4
  113. package/icon/styles.css.js +21 -21
  114. package/icon/styles.scoped.css +50 -50
  115. package/icon/styles.selectors.js +21 -21
  116. package/input/internal.js +1 -1
  117. package/input/internal.js.map +1 -1
  118. package/input/styles.css.js +12 -12
  119. package/input/styles.scoped.css +35 -35
  120. package/input/styles.selectors.js +12 -12
  121. package/internal/base-component/styles.scoped.css +8 -7
  122. package/internal/components/button-trigger/styles.css.js +9 -9
  123. package/internal/components/button-trigger/styles.scoped.css +26 -26
  124. package/internal/components/button-trigger/styles.selectors.js +9 -9
  125. package/internal/components/cartesian-chart/labels-measure.d.ts.map +1 -1
  126. package/internal/components/cartesian-chart/labels-measure.js +2 -2
  127. package/internal/components/cartesian-chart/labels-measure.js.map +1 -1
  128. package/internal/components/chart-filter/styles.css.js +3 -3
  129. package/internal/components/chart-filter/styles.scoped.css +4 -4
  130. package/internal/components/chart-filter/styles.selectors.js +3 -3
  131. package/internal/components/chart-legend/styles.css.js +6 -6
  132. package/internal/components/chart-legend/styles.scoped.css +16 -16
  133. package/internal/components/chart-legend/styles.selectors.js +6 -6
  134. package/internal/components/chart-popover/styles.css.js +3 -3
  135. package/internal/components/chart-popover/styles.scoped.css +4 -4
  136. package/internal/components/chart-popover/styles.selectors.js +3 -3
  137. package/internal/components/chart-series-details/styles.css.js +5 -5
  138. package/internal/components/chart-series-details/styles.scoped.css +10 -10
  139. package/internal/components/chart-series-details/styles.selectors.js +5 -5
  140. package/internal/components/chart-series-marker/styles.css.js +5 -5
  141. package/internal/components/chart-series-marker/styles.scoped.css +8 -8
  142. package/internal/components/chart-series-marker/styles.selectors.js +5 -5
  143. package/internal/components/chart-wrapper/styles.css.js +6 -6
  144. package/internal/components/chart-wrapper/styles.scoped.css +9 -9
  145. package/internal/components/chart-wrapper/styles.selectors.js +6 -6
  146. package/internal/components/dropdown/styles.css.js +20 -20
  147. package/internal/components/dropdown/styles.scoped.css +36 -36
  148. package/internal/components/dropdown/styles.selectors.js +20 -20
  149. package/internal/components/dropdown-footer/styles.css.js +3 -3
  150. package/internal/components/dropdown-footer/styles.scoped.css +4 -4
  151. package/internal/components/dropdown-footer/styles.selectors.js +3 -3
  152. package/internal/components/dropdown-status/index.d.ts.map +1 -1
  153. package/internal/components/dropdown-status/index.js +1 -1
  154. package/internal/components/dropdown-status/index.js.map +1 -1
  155. package/internal/components/dropdown-status/styles.css.js +2 -2
  156. package/internal/components/dropdown-status/styles.scoped.css +3 -3
  157. package/internal/components/dropdown-status/styles.selectors.js +2 -2
  158. package/internal/components/menu-dropdown/styles.css.js +7 -7
  159. package/internal/components/menu-dropdown/styles.scoped.css +14 -14
  160. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  161. package/internal/components/option/styles.css.js +17 -17
  162. package/internal/components/option/styles.scoped.css +31 -31
  163. package/internal/components/option/styles.selectors.js +17 -17
  164. package/internal/components/options-list/styles.css.js +2 -2
  165. package/internal/components/options-list/styles.scoped.css +3 -3
  166. package/internal/components/options-list/styles.selectors.js +2 -2
  167. package/internal/components/selectable-item/styles.css.js +16 -16
  168. package/internal/components/selectable-item/styles.scoped.css +29 -29
  169. package/internal/components/selectable-item/styles.selectors.js +16 -16
  170. package/internal/components/token-list/styles.css.js +9 -9
  171. package/internal/components/token-list/styles.scoped.css +21 -21
  172. package/internal/components/token-list/styles.selectors.js +9 -9
  173. package/internal/environment.js +1 -1
  174. package/internal/generated/theming/index.cjs +24 -13
  175. package/internal/generated/theming/index.js +24 -13
  176. package/internal/hooks/container-queries/index.d.ts +0 -2
  177. package/internal/hooks/container-queries/index.d.ts.map +1 -1
  178. package/internal/hooks/container-queries/index.js +2 -1
  179. package/internal/hooks/container-queries/index.js.map +1 -1
  180. package/internal/hooks/container-queries/use-container-breakpoints.d.ts.map +1 -1
  181. package/internal/hooks/container-queries/use-container-breakpoints.js +2 -2
  182. package/internal/hooks/container-queries/use-container-breakpoints.js.map +1 -1
  183. package/internal/hooks/container-queries/use-resize-observer.d.ts +1 -1
  184. package/internal/hooks/container-queries/use-resize-observer.d.ts.map +1 -1
  185. package/internal/hooks/container-queries/use-resize-observer.js +0 -2
  186. package/internal/hooks/container-queries/use-resize-observer.js.map +1 -1
  187. package/internal/hooks/use-dynamic-overlap/index.js +2 -2
  188. package/internal/hooks/use-dynamic-overlap/index.js.map +1 -1
  189. package/internal/manifest.json +1 -1
  190. package/internal/utils/use-container-width.d.ts.map +1 -1
  191. package/internal/utils/use-container-width.js +5 -3
  192. package/internal/utils/use-container-width.js.map +1 -1
  193. package/link/styles.css.js +20 -20
  194. package/link/styles.scoped.css +73 -73
  195. package/link/styles.selectors.js +20 -20
  196. package/modal/internal.d.ts.map +1 -1
  197. package/modal/internal.js +2 -1
  198. package/modal/internal.js.map +1 -1
  199. package/modal/styles.css.js +23 -23
  200. package/modal/styles.scoped.css +40 -40
  201. package/modal/styles.selectors.js +23 -23
  202. package/multiselect/styles.css.js +1 -1
  203. package/multiselect/styles.scoped.css +2 -2
  204. package/multiselect/styles.selectors.js +1 -1
  205. package/package.json +1 -1
  206. package/pagination/styles.css.js +9 -9
  207. package/pagination/styles.scoped.css +24 -24
  208. package/pagination/styles.selectors.js +9 -9
  209. package/pie-chart/styles.css.js +23 -23
  210. package/pie-chart/styles.scoped.css +42 -42
  211. package/pie-chart/styles.selectors.js +23 -23
  212. package/popover/styles.css.js +50 -50
  213. package/popover/styles.scoped.css +66 -66
  214. package/popover/styles.selectors.js +50 -50
  215. package/progress-bar/styles.css.js +18 -18
  216. package/progress-bar/styles.scoped.css +35 -35
  217. package/progress-bar/styles.selectors.js +18 -18
  218. package/property-filter/index.d.ts.map +1 -1
  219. package/property-filter/index.js +2 -3
  220. package/property-filter/index.js.map +1 -1
  221. package/property-filter/styles.css.js +29 -29
  222. package/property-filter/styles.scoped.css +32 -32
  223. package/property-filter/styles.selectors.js +29 -29
  224. package/property-filter/token-editor.d.ts.map +1 -1
  225. package/property-filter/token-editor.js +2 -2
  226. package/property-filter/token-editor.js.map +1 -1
  227. package/radio-group/styles.css.js +9 -9
  228. package/radio-group/styles.scoped.css +17 -17
  229. package/radio-group/styles.selectors.js +9 -9
  230. package/s3-resource-selector/s3-in-context/styles.css.js +7 -7
  231. package/s3-resource-selector/s3-in-context/styles.scoped.css +9 -9
  232. package/s3-resource-selector/s3-in-context/styles.selectors.js +7 -7
  233. package/segmented-control/styles.css.js +14 -14
  234. package/segmented-control/styles.scoped.css +35 -35
  235. package/segmented-control/styles.selectors.js +14 -14
  236. package/select/parts/virtual-list.js +2 -2
  237. package/select/parts/virtual-list.js.map +1 -1
  238. package/select/styles.css.js +1 -1
  239. package/select/styles.scoped.css +2 -2
  240. package/select/styles.selectors.js +1 -1
  241. package/side-navigation/styles.css.js +27 -27
  242. package/side-navigation/styles.scoped.css +39 -39
  243. package/side-navigation/styles.selectors.js +27 -27
  244. package/spinner/styles.css.js +13 -13
  245. package/spinner/styles.scoped.css +20 -20
  246. package/spinner/styles.selectors.js +13 -13
  247. package/split-panel/styles.css.js +56 -56
  248. package/split-panel/styles.scoped.css +78 -78
  249. package/split-panel/styles.selectors.js +56 -56
  250. package/status-indicator/internal.d.ts +6 -3
  251. package/status-indicator/internal.d.ts.map +1 -1
  252. package/status-indicator/internal.js +2 -2
  253. package/status-indicator/internal.js.map +1 -1
  254. package/status-indicator/styles.css.js +22 -20
  255. package/status-indicator/styles.scoped.css +33 -28
  256. package/status-indicator/styles.selectors.js +22 -20
  257. package/table/internal.d.ts.map +1 -1
  258. package/table/internal.js +6 -4
  259. package/table/internal.js.map +1 -1
  260. package/table/sticky-scrollbar/styles.css.js +4 -4
  261. package/table/sticky-scrollbar/styles.scoped.css +4 -5
  262. package/table/sticky-scrollbar/styles.selectors.js +4 -4
  263. package/table/styles.css.js +34 -34
  264. package/table/styles.scoped.css +43 -43
  265. package/table/styles.selectors.js +34 -34
  266. package/tabs/styles.css.js +21 -21
  267. package/tabs/styles.scoped.css +39 -39
  268. package/tabs/styles.selectors.js +21 -21
  269. package/tabs/tab-header-bar.js +2 -2
  270. package/tabs/tab-header-bar.js.map +1 -1
  271. package/test-utils/dom/button-dropdown/index.d.ts +2 -0
  272. package/test-utils/dom/button-dropdown/index.js +6 -1
  273. package/test-utils/dom/button-dropdown/index.js.map +1 -1
  274. package/test-utils/selectors/button-dropdown/index.d.ts +2 -0
  275. package/test-utils/selectors/button-dropdown/index.js +6 -1
  276. package/test-utils/selectors/button-dropdown/index.js.map +1 -1
  277. package/test-utils/tsconfig.tsbuildinfo +1 -1
  278. package/text-content/styles.css.js +1 -1
  279. package/text-content/styles.scoped.css +64 -64
  280. package/text-content/styles.selectors.js +1 -1
  281. package/text-filter/styles.css.js +3 -3
  282. package/text-filter/styles.scoped.css +4 -4
  283. package/text-filter/styles.selectors.js +3 -3
  284. package/textarea/styles.css.js +4 -4
  285. package/textarea/styles.scoped.css +14 -14
  286. package/textarea/styles.selectors.js +4 -4
  287. package/tiles/styles.css.js +28 -28
  288. package/tiles/styles.scoped.css +70 -70
  289. package/tiles/styles.selectors.js +28 -28
  290. package/toggle/styles.css.js +8 -8
  291. package/toggle/styles.scoped.css +15 -15
  292. package/toggle/styles.selectors.js +8 -8
  293. package/token-group/styles.css.js +7 -7
  294. package/token-group/styles.scoped.css +17 -17
  295. package/token-group/styles.selectors.js +7 -7
  296. package/top-navigation/1.0-beta/styles.css.js +25 -25
  297. package/top-navigation/1.0-beta/styles.scoped.css +43 -43
  298. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  299. package/top-navigation/1.0-beta/use-top-navigation.d.ts.map +1 -1
  300. package/top-navigation/1.0-beta/use-top-navigation.js +2 -1
  301. package/top-navigation/1.0-beta/use-top-navigation.js.map +1 -1
  302. package/top-navigation/styles.css.js +47 -47
  303. package/top-navigation/styles.scoped.css +70 -70
  304. package/top-navigation/styles.selectors.js +47 -47
  305. package/top-navigation/use-top-navigation.d.ts.map +1 -1
  306. package/top-navigation/use-top-navigation.js +2 -1
  307. package/top-navigation/use-top-navigation.js.map +1 -1
  308. package/tutorial-panel/components/tutorial-detail-view/styles.css.js +20 -20
  309. package/tutorial-panel/components/tutorial-detail-view/styles.scoped.css +23 -23
  310. package/tutorial-panel/components/tutorial-detail-view/styles.selectors.js +20 -20
  311. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  312. package/tutorial-panel/components/tutorial-list/styles.scoped.css +30 -30
  313. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  314. package/tutorial-panel/styles.css.js +1 -1
  315. package/tutorial-panel/styles.scoped.css +2 -2
  316. package/tutorial-panel/styles.selectors.js +1 -1
  317. package/wizard/styles.css.js +31 -31
  318. package/wizard/styles.scoped.css +63 -63
  319. package/wizard/styles.selectors.js +31 -31
  320. package/internal/hooks/container-queries/interfaces.d.ts +0 -10
  321. package/internal/hooks/container-queries/interfaces.d.ts.map +0 -1
  322. package/internal/hooks/container-queries/interfaces.js +0 -4
  323. package/internal/hooks/container-queries/interfaces.js.map +0 -1
  324. package/internal/hooks/container-queries/use-container-query.d.ts +0 -22
  325. package/internal/hooks/container-queries/use-container-query.d.ts.map +0 -1
  326. package/internal/hooks/container-queries/use-container-query.js +0 -32
  327. package/internal/hooks/container-queries/use-container-query.js.map +0 -1
@@ -94,7 +94,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
94
94
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
95
95
  SPDX-License-Identifier: Apache-2.0
96
96
  */
97
- .awsui_root_dm8gx_nm1t1_97:not(#\9) {
97
+ .awsui_root_dm8gx_1q0pf_97:not(#\9) {
98
98
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
99
99
  border-collapse: separate;
100
100
  border-spacing: 0;
@@ -125,32 +125,32 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
125
125
  word-spacing: normal;
126
126
  box-sizing: border-box;
127
127
  font-size: var(--font-body-m-size-7dign1, 14px);
128
- line-height: var(--font-body-m-line-height-rfgrp9, 22px);
128
+ line-height: var(--font-body-m-line-height-ghizru, 20px);
129
129
  color: var(--color-text-body-default-su7kuo, #000716);
130
130
  font-weight: 400;
131
131
  font-family: var(--font-family-base-wn913o, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
132
132
  -webkit-font-smoothing: auto;
133
133
  -moz-osx-font-smoothing: auto;
134
134
  }
135
- .awsui_root_dm8gx_nm1t1_97.awsui_has-items_dm8gx_nm1t1_109:not(#\9) {
135
+ .awsui_root_dm8gx_1q0pf_97.awsui_has-items_dm8gx_1q0pf_109:not(#\9) {
136
136
  padding-top: var(--space-xs-edba2s, 8px);
137
137
  }
138
138
 
139
- .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9) {
139
+ .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9) {
140
140
  margin: -1px -1px 0 var(--space-xxs-ja5cp8, 4px);
141
141
  border: 1px solid transparent;
142
142
  padding: 0 var(--space-xxs-ja5cp8, 4px);
143
143
  color: var(--color-text-button-inline-icon-default-6co2zx, #0972d3);
144
144
  background-color: transparent;
145
145
  }
146
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):focus {
146
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):focus {
147
147
  position: relative;
148
148
  }
149
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):focus {
149
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):focus {
150
150
  outline: 2px dotted transparent;
151
151
  outline-offset: calc(0px - 1px);
152
152
  }
153
- body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):focus::before {
153
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):focus::before {
154
154
  content: " ";
155
155
  display: block;
156
156
  position: absolute;
@@ -161,23 +161,23 @@ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\
161
161
  border-radius: var(--border-radius-control-default-focus-ring-muizvi, 4px);
162
162
  box-shadow: 0 0 0 2px var(--color-border-item-focused-4t19h5, #0972d3);
163
163
  }
164
- .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):focus {
164
+ .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):focus {
165
165
  outline: none;
166
166
  text-decoration: none;
167
167
  }
168
- .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):hover {
168
+ .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):hover {
169
169
  cursor: pointer;
170
170
  color: var(--color-text-button-inline-icon-hover-4bo7j3, #033160);
171
171
  }
172
172
 
173
- .awsui_token_dm8gx_nm1t1_147:not(#\9) {
173
+ .awsui_token_dm8gx_1q0pf_147:not(#\9) {
174
174
  height: 100%;
175
175
  display: flex;
176
176
  flex-direction: column;
177
177
  gap: var(--space-xxs-ja5cp8, 4px);
178
178
  }
179
179
 
180
- .awsui_token-box_dm8gx_nm1t1_154:not(#\9) {
180
+ .awsui_token-box_dm8gx_1q0pf_154:not(#\9) {
181
181
  height: 100%;
182
182
  border: var(--border-field-width-riro62, 2px) solid var(--color-border-item-selected-xoo46x, #0972d3);
183
183
  padding: var(--space-scaled-xxs-t2t62i, 4px) var(--space-xxs-ja5cp8, 4px) var(--space-scaled-xxs-t2t62i, 4px) var(--space-field-horizontal-8qo3uw, 12px);
@@ -189,27 +189,27 @@ body[data-awsui-focus-visible=true] .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\
189
189
  box-sizing: border-box;
190
190
  }
191
191
 
192
- .awsui_token-box-error_dm8gx_nm1t1_166:not(#\9) {
192
+ .awsui_token-box-error_dm8gx_1q0pf_166:not(#\9) {
193
193
  border-color: var(--color-border-status-error-vuw4yz, #d91515);
194
194
  border-left-width: var(--border-invalid-width-u1caet, 8px);
195
195
  }
196
- .awsui_token-box-error_dm8gx_nm1t1_166 > .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9) {
196
+ .awsui_token-box-error_dm8gx_1q0pf_166 > .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9) {
197
197
  color: var(--color-text-interactive-default-2sml2m, #414d5c);
198
198
  }
199
- .awsui_token-box-error_dm8gx_nm1t1_166 > .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):hover {
199
+ .awsui_token-box-error_dm8gx_1q0pf_166 > .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):hover {
200
200
  color: var(--color-text-interactive-hover-8bpozs, #000716);
201
201
  }
202
202
 
203
- .awsui_token-box-disabled_dm8gx_nm1t1_177.awsui_token-box-disabled_dm8gx_nm1t1_177:not(#\9) {
203
+ .awsui_token-box-disabled_dm8gx_1q0pf_177.awsui_token-box-disabled_dm8gx_1q0pf_177:not(#\9) {
204
204
  border-color: var(--color-border-control-disabled-pixk7g, #d1d5db);
205
205
  background-color: var(--color-background-container-content-og3y0v, #ffffff);
206
206
  color: var(--color-text-disabled-t7vw2a, #9ba7b6);
207
207
  pointer-events: none;
208
208
  }
209
- .awsui_token-box-disabled_dm8gx_nm1t1_177.awsui_token-box-disabled_dm8gx_nm1t1_177 > .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9) {
209
+ .awsui_token-box-disabled_dm8gx_1q0pf_177.awsui_token-box-disabled_dm8gx_1q0pf_177 > .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9) {
210
210
  color: var(--color-text-button-inline-icon-disabled-ffek69, #9ba7b6);
211
211
  }
212
- .awsui_token-box-disabled_dm8gx_nm1t1_177.awsui_token-box-disabled_dm8gx_nm1t1_177 > .awsui_dismiss-button_dm8gx_nm1t1_113:not(#\9):hover {
212
+ .awsui_token-box-disabled_dm8gx_1q0pf_177.awsui_token-box-disabled_dm8gx_1q0pf_177 > .awsui_dismiss-button_dm8gx_1q0pf_113:not(#\9):hover {
213
213
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
214
214
  cursor: auto;
215
215
  color: var(--color-text-button-inline-icon-disabled-ffek69, #9ba7b6);
@@ -2,12 +2,12 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "root": "awsui_root_dm8gx_nm1t1_97",
6
- "has-items": "awsui_has-items_dm8gx_nm1t1_109",
7
- "dismiss-button": "awsui_dismiss-button_dm8gx_nm1t1_113",
8
- "token": "awsui_token_dm8gx_nm1t1_147",
9
- "token-box": "awsui_token-box_dm8gx_nm1t1_154",
10
- "token-box-error": "awsui_token-box-error_dm8gx_nm1t1_166",
11
- "token-box-disabled": "awsui_token-box-disabled_dm8gx_nm1t1_177"
5
+ "root": "awsui_root_dm8gx_1q0pf_97",
6
+ "has-items": "awsui_has-items_dm8gx_1q0pf_109",
7
+ "dismiss-button": "awsui_dismiss-button_dm8gx_1q0pf_113",
8
+ "token": "awsui_token_dm8gx_1q0pf_147",
9
+ "token-box": "awsui_token-box_dm8gx_1q0pf_154",
10
+ "token-box-error": "awsui_token-box-error_dm8gx_1q0pf_166",
11
+ "token-box-disabled": "awsui_token-box-disabled_dm8gx_1q0pf_177"
12
12
  };
13
13
 
@@ -1,30 +1,30 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "top-navigation": "awsui_top-navigation_1ca1i_1n521_93",
5
- "padding-box": "awsui_padding-box_1ca1i_1n521_106",
6
- "medium": "awsui_medium_1ca1i_1n521_116",
7
- "narrow": "awsui_narrow_1ca1i_1n521_116",
8
- "hidden": "awsui_hidden_1ca1i_1n521_124",
9
- "\t": "awsui_\t_1ca1i_1n521_1",
10
- "identity": "awsui_identity_1ca1i_1n521_137",
11
- "identity-link": "awsui_identity-link_1ca1i_1n521_137",
12
- "no-logo": "awsui_no-logo_1ca1i_1n521_154",
13
- "logo": "awsui_logo_1ca1i_1n521_158",
14
- "title": "awsui_title_1ca1i_1n521_169",
15
- "inputs": "awsui_inputs_1ca1i_1n521_185",
16
- "search": "awsui_search_1ca1i_1n521_192",
17
- "search-expanded": "awsui_search-expanded_1ca1i_1n521_197",
18
- "utilities": "awsui_utilities_1ca1i_1n521_202",
19
- "utility-wrapper": "awsui_utility-wrapper_1ca1i_1n521_214",
20
- "utility-wrapper-last": "awsui_utility-wrapper-last_1ca1i_1n521_230",
21
- "utility-type-button-primary-button": "awsui_utility-type-button-primary-button_1ca1i_1n521_230",
22
- "utility-type-menu-dropdown": "awsui_utility-type-menu-dropdown_1ca1i_1n521_244",
23
- "utility-type-button-link": "awsui_utility-type-button-link_1ca1i_1n521_259",
24
- "utility-link-icon": "awsui_utility-link-icon_1ca1i_1n521_272",
25
- "utility-button-external-icon": "awsui_utility-button-external-icon_1ca1i_1n521_276",
26
- "trigger": "awsui_trigger_1ca1i_1n521_280",
27
- "rotate-up": "awsui_rotate-up_1ca1i_1n521_284",
28
- "rotate-down": "awsui_rotate-down_1ca1i_1n521_299"
4
+ "top-navigation": "awsui_top-navigation_1ca1i_kc62j_93",
5
+ "padding-box": "awsui_padding-box_1ca1i_kc62j_106",
6
+ "medium": "awsui_medium_1ca1i_kc62j_116",
7
+ "narrow": "awsui_narrow_1ca1i_kc62j_116",
8
+ "hidden": "awsui_hidden_1ca1i_kc62j_124",
9
+ "\t": "awsui_\t_1ca1i_kc62j_1",
10
+ "identity": "awsui_identity_1ca1i_kc62j_137",
11
+ "identity-link": "awsui_identity-link_1ca1i_kc62j_137",
12
+ "no-logo": "awsui_no-logo_1ca1i_kc62j_154",
13
+ "logo": "awsui_logo_1ca1i_kc62j_158",
14
+ "title": "awsui_title_1ca1i_kc62j_169",
15
+ "inputs": "awsui_inputs_1ca1i_kc62j_185",
16
+ "search": "awsui_search_1ca1i_kc62j_192",
17
+ "search-expanded": "awsui_search-expanded_1ca1i_kc62j_197",
18
+ "utilities": "awsui_utilities_1ca1i_kc62j_202",
19
+ "utility-wrapper": "awsui_utility-wrapper_1ca1i_kc62j_214",
20
+ "utility-wrapper-last": "awsui_utility-wrapper-last_1ca1i_kc62j_230",
21
+ "utility-type-button-primary-button": "awsui_utility-type-button-primary-button_1ca1i_kc62j_230",
22
+ "utility-type-menu-dropdown": "awsui_utility-type-menu-dropdown_1ca1i_kc62j_244",
23
+ "utility-type-button-link": "awsui_utility-type-button-link_1ca1i_kc62j_259",
24
+ "utility-link-icon": "awsui_utility-link-icon_1ca1i_kc62j_272",
25
+ "utility-button-external-icon": "awsui_utility-button-external-icon_1ca1i_kc62j_276",
26
+ "trigger": "awsui_trigger_1ca1i_kc62j_280",
27
+ "rotate-up": "awsui_rotate-up_1ca1i_kc62j_284",
28
+ "rotate-down": "awsui_rotate-down_1ca1i_kc62j_299"
29
29
  };
30
30
 
@@ -90,7 +90,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
90
90
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
91
91
  SPDX-License-Identifier: Apache-2.0
92
92
  */
93
- .awsui_top-navigation_1ca1i_1n521_93:not(#\9) {
93
+ .awsui_top-navigation_1ca1i_kc62j_93:not(#\9) {
94
94
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
95
95
  border-collapse: separate;
96
96
  border-spacing: 0;
@@ -121,7 +121,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
121
121
  word-spacing: normal;
122
122
  box-sizing: border-box;
123
123
  font-size: var(--font-body-m-size-7dign1, 14px);
124
- line-height: var(--font-body-m-line-height-rfgrp9, 22px);
124
+ line-height: var(--font-body-m-line-height-ghizru, 20px);
125
125
  color: var(--color-text-body-default-su7kuo, #000716);
126
126
  font-weight: 400;
127
127
  font-family: var(--font-family-base-wn913o, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
@@ -129,7 +129,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
129
129
  -moz-osx-font-smoothing: auto;
130
130
  background: var(--color-background-container-content-og3y0v, #ffffff);
131
131
  }
132
- .awsui_top-navigation_1ca1i_1n521_93 > .awsui_padding-box_1ca1i_1n521_106:not(#\9) {
132
+ .awsui_top-navigation_1ca1i_kc62j_93 > .awsui_padding-box_1ca1i_kc62j_106:not(#\9) {
133
133
  display: flex;
134
134
  flex-direction: row;
135
135
  flex-wrap: nowrap;
@@ -139,15 +139,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
139
139
  height: calc(var(--space-xxxl-65sweb, 40px) + var(--space-scaled-m-gxhdpl, 16px));
140
140
  padding: 0 0 0 var(--space-l-f4l5gr, 20px);
141
141
  }
142
- .awsui_top-navigation_1ca1i_1n521_93.awsui_medium_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106:not(#\9), .awsui_top-navigation_1ca1i_1n521_93.awsui_narrow_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106:not(#\9) {
142
+ .awsui_top-navigation_1ca1i_kc62j_93.awsui_medium_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106:not(#\9), .awsui_top-navigation_1ca1i_kc62j_93.awsui_narrow_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106:not(#\9) {
143
143
  height: calc(var(--space-xxxl-65sweb, 40px) + var(--space-scaled-xs-wbfgrv, 8px));
144
144
  }
145
- .awsui_top-navigation_1ca1i_1n521_93.awsui_narrow_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106:not(#\9) {
145
+ .awsui_top-navigation_1ca1i_kc62j_93.awsui_narrow_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106:not(#\9) {
146
146
  height: var(--space-xxxl-65sweb, 40px);
147
147
  padding: 0 0 0 var(--space-xs-edba2s, 8px);
148
148
  }
149
149
 
150
- .awsui_hidden_1ca1i_1n521_124:not(#\9) {
150
+ .awsui_hidden_1ca1i_kc62j_124:not(#\9) {
151
151
  position: absolute !important;
152
152
  top: -9999px !important;
153
153
  left: -9999px !important;
@@ -156,20 +156,20 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
156
156
  }
157
157
 
158
158
  /* stylelint-disable-next-line selector-combinator-disallowed-list, selector-max-universal */
159
- .awsui_hidden_1ca1i_1n521_124 *:not(#\9):not(#awsui_\9 _1ca1i_1n521_1) {
159
+ .awsui_hidden_1ca1i_kc62j_124 *:not(#\9):not(#awsui_\9 _1ca1i_kc62j_1) {
160
160
  visibility: hidden;
161
161
  }
162
162
 
163
- .awsui_identity_1ca1i_1n521_137 > .awsui_identity-link_1ca1i_1n521_137:not(#\9) {
163
+ .awsui_identity_1ca1i_kc62j_137 > .awsui_identity-link_1ca1i_kc62j_137:not(#\9) {
164
164
  display: flex;
165
165
  align-items: center;
166
166
  text-decoration: none;
167
167
  color: var(--color-text-top-navigation-title-hdg6ea, #000716);
168
168
  }
169
- .awsui_identity_1ca1i_1n521_137 > .awsui_identity-link_1ca1i_1n521_137:not(#\9):hover {
169
+ .awsui_identity_1ca1i_kc62j_137 > .awsui_identity-link_1ca1i_kc62j_137:not(#\9):hover {
170
170
  color: var(--color-text-accent-qh8xwn, #0972d3);
171
171
  }
172
- body[data-awsui-focus-visible=true] .awsui_identity_1ca1i_1n521_137 > .awsui_identity-link_1ca1i_1n521_137:not(#\9):focus {
172
+ body[data-awsui-focus-visible=true] .awsui_identity_1ca1i_kc62j_137 > .awsui_identity-link_1ca1i_kc62j_137:not(#\9):focus {
173
173
  outline: thin dotted;
174
174
  outline: var(--border-link-focus-ring-outline-pwlekd, 0);
175
175
  outline-offset: 2px;
@@ -177,22 +177,22 @@ body[data-awsui-focus-visible=true] .awsui_identity_1ca1i_1n521_137 > .awsui_ide
177
177
  border-radius: var(--border-radius-control-default-focus-ring-muizvi, 4px);
178
178
  box-shadow: 0 0 0 var(--border-link-focus-ring-shadow-spread-z7lixz, 2px) var(--color-border-item-focused-4t19h5, #0972d3);
179
179
  }
180
- .awsui_identity_1ca1i_1n521_137.awsui_no-logo_1ca1i_1n521_154:not(#\9) {
180
+ .awsui_identity_1ca1i_kc62j_137.awsui_no-logo_1ca1i_kc62j_154:not(#\9) {
181
181
  min-width: 100px;
182
182
  }
183
183
 
184
- .awsui_logo_1ca1i_1n521_158:not(#\9) {
184
+ .awsui_logo_1ca1i_kc62j_158:not(#\9) {
185
185
  display: block;
186
186
  max-height: var(--space-xxl-sgg5p8, 32px);
187
187
  margin-left: var(--space-s-hdd878, 12px);
188
188
  width: auto;
189
189
  min-width: 10px;
190
190
  }
191
- .awsui_logo_1ca1i_1n521_158.awsui_narrow_1ca1i_1n521_116:not(#\9) {
191
+ .awsui_logo_1ca1i_kc62j_158.awsui_narrow_1ca1i_kc62j_116:not(#\9) {
192
192
  max-height: var(--space-xl-gsucfg, 24px);
193
193
  }
194
194
 
195
- .awsui_title_1ca1i_1n521_169:not(#\9) {
195
+ .awsui_title_1ca1i_kc62j_169:not(#\9) {
196
196
  font-size: var(--font-heading-m-size-hbn9yp, 20px);
197
197
  line-height: var(--font-heading-m-line-height-ozfvgp, 24px);
198
198
  letter-spacing: var(--font-heading-m-letter-spacing-rsatez, -0.01em);
@@ -204,28 +204,28 @@ body[data-awsui-focus-visible=true] .awsui_identity_1ca1i_1n521_137 > .awsui_ide
204
204
  overflow: hidden;
205
205
  text-overflow: ellipsis;
206
206
  }
207
- .awsui_no-logo_1ca1i_1n521_154 > .awsui_identity-link_1ca1i_1n521_137 > .awsui_title_1ca1i_1n521_169:not(#\9) {
207
+ .awsui_no-logo_1ca1i_kc62j_154 > .awsui_identity-link_1ca1i_kc62j_137 > .awsui_title_1ca1i_kc62j_169:not(#\9) {
208
208
  font-weight: 700;
209
209
  }
210
210
 
211
- .awsui_inputs_1ca1i_1n521_185:not(#\9) {
211
+ .awsui_inputs_1ca1i_kc62j_185:not(#\9) {
212
212
  flex: 1;
213
213
  min-width: 0;
214
214
  display: flex;
215
215
  justify-content: center;
216
216
  }
217
217
 
218
- .awsui_search_1ca1i_1n521_192:not(#\9) {
218
+ .awsui_search_1ca1i_kc62j_192:not(#\9) {
219
219
  width: 100%;
220
220
  max-width: 340px;
221
221
  padding-left: var(--space-xxxl-65sweb, 40px);
222
222
  }
223
- .awsui_search-expanded_1ca1i_1n521_197:not(#\9) {
223
+ .awsui_search-expanded_1ca1i_kc62j_197:not(#\9) {
224
224
  max-width: none;
225
225
  padding-left: var(--space-s-hdd878, 12px);
226
226
  }
227
227
 
228
- .awsui_utilities_1ca1i_1n521_202:not(#\9) {
228
+ .awsui_utilities_1ca1i_kc62j_202:not(#\9) {
229
229
  display: flex;
230
230
  flex-shrink: 0;
231
231
  flex-direction: row;
@@ -233,17 +233,17 @@ body[data-awsui-focus-visible=true] .awsui_identity_1ca1i_1n521_137 > .awsui_ide
233
233
  padding-left: var(--space-m-h2th94, 16px);
234
234
  height: 100%;
235
235
  }
236
- .awsui_medium_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106 > .awsui_utilities_1ca1i_1n521_202:not(#\9), .awsui_narrow_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106 > .awsui_utilities_1ca1i_1n521_202:not(#\9) {
236
+ .awsui_medium_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106 > .awsui_utilities_1ca1i_kc62j_202:not(#\9), .awsui_narrow_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106 > .awsui_utilities_1ca1i_kc62j_202:not(#\9) {
237
237
  padding-left: 0;
238
238
  }
239
239
 
240
- .awsui_utility-wrapper_1ca1i_1n521_214:not(#\9) {
240
+ .awsui_utility-wrapper_1ca1i_kc62j_214:not(#\9) {
241
241
  display: flex;
242
242
  position: relative;
243
243
  flex-shrink: 0;
244
244
  align-items: center;
245
245
  }
246
- .awsui_utility-wrapper_1ca1i_1n521_214:not(#\9)::after {
246
+ .awsui_utility-wrapper_1ca1i_kc62j_214:not(#\9)::after {
247
247
  display: block;
248
248
  position: absolute;
249
249
  content: "";
@@ -253,86 +253,86 @@ body[data-awsui-focus-visible=true] .awsui_identity_1ca1i_1n521_137 > .awsui_ide
253
253
  bottom: var(--space-s-hdd878, 12px);
254
254
  background: var(--color-border-divider-default-9o8zql, #e9ebed);
255
255
  }
256
- .awsui_utility-wrapper_1ca1i_1n521_214.awsui_utility-wrapper-last_1ca1i_1n521_230:not(#\9):not(.awsui_utility-type-button-primary-button_1ca1i_1n521_230) {
256
+ .awsui_utility-wrapper_1ca1i_kc62j_214.awsui_utility-wrapper-last_1ca1i_kc62j_230:not(#\9):not(.awsui_utility-type-button-primary-button_1ca1i_kc62j_230) {
257
257
  padding-right: 0;
258
258
  }
259
- .awsui_utility-wrapper_1ca1i_1n521_214.awsui_utility-wrapper-last_1ca1i_1n521_230:not(#\9):not(.awsui_utility-type-button-primary-button_1ca1i_1n521_230)::after {
259
+ .awsui_utility-wrapper_1ca1i_kc62j_214.awsui_utility-wrapper-last_1ca1i_kc62j_230:not(#\9):not(.awsui_utility-type-button-primary-button_1ca1i_kc62j_230)::after {
260
260
  display: none;
261
261
  }
262
- .awsui_medium_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106 > .awsui_utilities_1ca1i_1n521_202 > .awsui_utility-wrapper_1ca1i_1n521_214:not(#\9)::after, .awsui_narrow_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106 > .awsui_utilities_1ca1i_1n521_202 > .awsui_utility-wrapper_1ca1i_1n521_214:not(#\9)::after {
262
+ .awsui_medium_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106 > .awsui_utilities_1ca1i_kc62j_202 > .awsui_utility-wrapper_1ca1i_kc62j_214:not(#\9)::after, .awsui_narrow_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106 > .awsui_utilities_1ca1i_kc62j_202 > .awsui_utility-wrapper_1ca1i_kc62j_214:not(#\9)::after {
263
263
  top: var(--space-xs-edba2s, 8px);
264
264
  bottom: var(--space-xs-edba2s, 8px);
265
265
  }
266
266
 
267
- .awsui_utility-wrapper-last_1ca1i_1n521_230:not(#\9) {
267
+ .awsui_utility-wrapper-last_1ca1i_kc62j_230:not(#\9) {
268
268
  margin-right: var(--space-s-hdd878, 12px);
269
269
  }
270
- .awsui_utility-wrapper-last_1ca1i_1n521_230.awsui_utility-type-menu-dropdown_1ca1i_1n521_244:not(#\9) {
270
+ .awsui_utility-wrapper-last_1ca1i_kc62j_230.awsui_utility-type-menu-dropdown_1ca1i_kc62j_244:not(#\9) {
271
271
  margin-right: 0;
272
272
  }
273
- .awsui_narrow_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106 > .awsui_utilities_1ca1i_1n521_202 > .awsui_utility-wrapper-last_1ca1i_1n521_230:not(#\9) {
273
+ .awsui_narrow_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106 > .awsui_utilities_1ca1i_kc62j_202 > .awsui_utility-wrapper-last_1ca1i_kc62j_230:not(#\9) {
274
274
  margin-right: 0;
275
275
  }
276
- .awsui_narrow_1ca1i_1n521_116 > .awsui_padding-box_1ca1i_1n521_106 > .awsui_utilities_1ca1i_1n521_202 > .awsui_utility-wrapper-last_1ca1i_1n521_230.awsui_utility-type-button-primary-button_1ca1i_1n521_230:not(#\9) {
276
+ .awsui_narrow_1ca1i_kc62j_116 > .awsui_padding-box_1ca1i_kc62j_106 > .awsui_utilities_1ca1i_kc62j_202 > .awsui_utility-wrapper-last_1ca1i_kc62j_230.awsui_utility-type-button-primary-button_1ca1i_kc62j_230:not(#\9) {
277
277
  padding-right: var(--space-l-f4l5gr, 20px);
278
278
  }
279
279
 
280
- .awsui_utility-type-menu-dropdown_1ca1i_1n521_244:not(#\9) {
280
+ .awsui_utility-type-menu-dropdown_1ca1i_kc62j_244:not(#\9) {
281
281
  padding: 0 var(--space-s-hdd878, 12px);
282
282
  align-items: stretch;
283
283
  }
284
284
 
285
- .awsui_utility-type-button-link_1ca1i_1n521_259:not(#\9),
286
- .awsui_utility-type-button-primary-button_1ca1i_1n521_230:not(#\9) {
285
+ .awsui_utility-type-button-link_1ca1i_kc62j_259:not(#\9),
286
+ .awsui_utility-type-button-primary-button_1ca1i_kc62j_230:not(#\9) {
287
287
  padding: 0 var(--space-m-h2th94, 16px);
288
288
  }
289
289
 
290
- .awsui_utility-type-button-primary-button_1ca1i_1n521_230:not(#\9) {
290
+ .awsui_utility-type-button-primary-button_1ca1i_kc62j_230:not(#\9) {
291
291
  left: -1px;
292
292
  border-left: 1px solid var(--color-background-container-content-og3y0v, #ffffff);
293
293
  }
294
- .awsui_utility-type-button-primary-button_1ca1i_1n521_230:not(#\9)::after {
294
+ .awsui_utility-type-button-primary-button_1ca1i_kc62j_230:not(#\9)::after {
295
295
  display: none;
296
296
  }
297
297
 
298
- .awsui_utility-link-icon_1ca1i_1n521_272:not(#\9) {
298
+ .awsui_utility-link-icon_1ca1i_kc62j_272:not(#\9) {
299
299
  margin-right: var(--space-xxs-ja5cp8, 4px);
300
300
  }
301
301
 
302
- .awsui_utility-button-external-icon_1ca1i_1n521_276:not(#\9) {
302
+ .awsui_utility-button-external-icon_1ca1i_kc62j_276:not(#\9) {
303
303
  display: inline-block;
304
304
  }
305
305
 
306
- .awsui_trigger_1ca1i_1n521_280:not(#\9) {
306
+ .awsui_trigger_1ca1i_kc62j_280:not(#\9) {
307
307
  /*used in test-utils*/
308
308
  }
309
309
 
310
- .awsui_rotate-up_1ca1i_1n521_284:not(#\9) {
310
+ .awsui_rotate-up_1ca1i_kc62j_284:not(#\9) {
311
311
  transform: rotate(-180deg);
312
312
  transition: transform var(--motion-duration-rotate-180-m9g4a9, 135ms) var(--motion-easing-rotate-180-h4cyjx, cubic-bezier(0.165, 0.84, 0.44, 1));
313
313
  }
314
314
  @media (prefers-reduced-motion: reduce) {
315
- .awsui_rotate-up_1ca1i_1n521_284:not(#\9) {
315
+ .awsui_rotate-up_1ca1i_kc62j_284:not(#\9) {
316
316
  animation: none;
317
317
  transition: none;
318
318
  }
319
319
  }
320
- .awsui-motion-disabled .awsui_rotate-up_1ca1i_1n521_284:not(#\9), .awsui-mode-entering .awsui_rotate-up_1ca1i_1n521_284:not(#\9) {
320
+ .awsui-motion-disabled .awsui_rotate-up_1ca1i_kc62j_284:not(#\9), .awsui-mode-entering .awsui_rotate-up_1ca1i_kc62j_284:not(#\9) {
321
321
  animation: none;
322
322
  transition: none;
323
323
  }
324
324
 
325
- .awsui_rotate-down_1ca1i_1n521_299:not(#\9) {
325
+ .awsui_rotate-down_1ca1i_kc62j_299:not(#\9) {
326
326
  transform: rotate(0deg);
327
327
  transition: transform var(--motion-duration-rotate-180-m9g4a9, 135ms) var(--motion-easing-rotate-180-h4cyjx, cubic-bezier(0.165, 0.84, 0.44, 1));
328
328
  }
329
329
  @media (prefers-reduced-motion: reduce) {
330
- .awsui_rotate-down_1ca1i_1n521_299:not(#\9) {
330
+ .awsui_rotate-down_1ca1i_kc62j_299:not(#\9) {
331
331
  animation: none;
332
332
  transition: none;
333
333
  }
334
334
  }
335
- .awsui-motion-disabled .awsui_rotate-down_1ca1i_1n521_299:not(#\9), .awsui-mode-entering .awsui_rotate-down_1ca1i_1n521_299:not(#\9) {
335
+ .awsui-motion-disabled .awsui_rotate-down_1ca1i_kc62j_299:not(#\9), .awsui-mode-entering .awsui_rotate-down_1ca1i_kc62j_299:not(#\9) {
336
336
  animation: none;
337
337
  transition: none;
338
338
  }
@@ -2,30 +2,30 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "top-navigation": "awsui_top-navigation_1ca1i_1n521_93",
6
- "padding-box": "awsui_padding-box_1ca1i_1n521_106",
7
- "medium": "awsui_medium_1ca1i_1n521_116",
8
- "narrow": "awsui_narrow_1ca1i_1n521_116",
9
- "hidden": "awsui_hidden_1ca1i_1n521_124",
10
- "\t": "awsui_\t_1ca1i_1n521_1",
11
- "identity": "awsui_identity_1ca1i_1n521_137",
12
- "identity-link": "awsui_identity-link_1ca1i_1n521_137",
13
- "no-logo": "awsui_no-logo_1ca1i_1n521_154",
14
- "logo": "awsui_logo_1ca1i_1n521_158",
15
- "title": "awsui_title_1ca1i_1n521_169",
16
- "inputs": "awsui_inputs_1ca1i_1n521_185",
17
- "search": "awsui_search_1ca1i_1n521_192",
18
- "search-expanded": "awsui_search-expanded_1ca1i_1n521_197",
19
- "utilities": "awsui_utilities_1ca1i_1n521_202",
20
- "utility-wrapper": "awsui_utility-wrapper_1ca1i_1n521_214",
21
- "utility-wrapper-last": "awsui_utility-wrapper-last_1ca1i_1n521_230",
22
- "utility-type-button-primary-button": "awsui_utility-type-button-primary-button_1ca1i_1n521_230",
23
- "utility-type-menu-dropdown": "awsui_utility-type-menu-dropdown_1ca1i_1n521_244",
24
- "utility-type-button-link": "awsui_utility-type-button-link_1ca1i_1n521_259",
25
- "utility-link-icon": "awsui_utility-link-icon_1ca1i_1n521_272",
26
- "utility-button-external-icon": "awsui_utility-button-external-icon_1ca1i_1n521_276",
27
- "trigger": "awsui_trigger_1ca1i_1n521_280",
28
- "rotate-up": "awsui_rotate-up_1ca1i_1n521_284",
29
- "rotate-down": "awsui_rotate-down_1ca1i_1n521_299"
5
+ "top-navigation": "awsui_top-navigation_1ca1i_kc62j_93",
6
+ "padding-box": "awsui_padding-box_1ca1i_kc62j_106",
7
+ "medium": "awsui_medium_1ca1i_kc62j_116",
8
+ "narrow": "awsui_narrow_1ca1i_kc62j_116",
9
+ "hidden": "awsui_hidden_1ca1i_kc62j_124",
10
+ "\t": "awsui_\t_1ca1i_kc62j_1",
11
+ "identity": "awsui_identity_1ca1i_kc62j_137",
12
+ "identity-link": "awsui_identity-link_1ca1i_kc62j_137",
13
+ "no-logo": "awsui_no-logo_1ca1i_kc62j_154",
14
+ "logo": "awsui_logo_1ca1i_kc62j_158",
15
+ "title": "awsui_title_1ca1i_kc62j_169",
16
+ "inputs": "awsui_inputs_1ca1i_kc62j_185",
17
+ "search": "awsui_search_1ca1i_kc62j_192",
18
+ "search-expanded": "awsui_search-expanded_1ca1i_kc62j_197",
19
+ "utilities": "awsui_utilities_1ca1i_kc62j_202",
20
+ "utility-wrapper": "awsui_utility-wrapper_1ca1i_kc62j_214",
21
+ "utility-wrapper-last": "awsui_utility-wrapper-last_1ca1i_kc62j_230",
22
+ "utility-type-button-primary-button": "awsui_utility-type-button-primary-button_1ca1i_kc62j_230",
23
+ "utility-type-menu-dropdown": "awsui_utility-type-menu-dropdown_1ca1i_kc62j_244",
24
+ "utility-type-button-link": "awsui_utility-type-button-link_1ca1i_kc62j_259",
25
+ "utility-link-icon": "awsui_utility-link-icon_1ca1i_kc62j_272",
26
+ "utility-button-external-icon": "awsui_utility-button-external-icon_1ca1i_kc62j_276",
27
+ "trigger": "awsui_trigger_1ca1i_kc62j_280",
28
+ "rotate-up": "awsui_rotate-up_1ca1i_kc62j_284",
29
+ "rotate-down": "awsui_rotate-down_1ca1i_kc62j_299"
30
30
  };
31
31
 
@@ -1 +1 @@
1
- {"version":3,"file":"use-top-navigation.d.ts","sourceRoot":"lib/default/","sources":["top-navigation/1.0-beta/use-top-navigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC/D,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,SAAS,EAAE,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/B,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEtC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAKD,wBAAgB,gBAAgB,CAAC,EAC/B,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,sBAAsB,GAAG,gBAAgB,CA0F3C;AAUD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,EACpD,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,OAAO,GACpB,aAAa,CAAC,eAAe,CAAC,CA+BhC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,aAAa,CAAC,eAAe,CAAC,EAC9C,KAAK,EAAE,8BAA8B,GACpC,eAAe,CA6BjB"}
1
+ {"version":3,"file":"use-top-navigation.d.ts","sourceRoot":"lib/default/","sources":["top-navigation/1.0-beta/use-top-navigation.ts"],"names":[],"mappings":"AAEA,OAAO,KAA+C,MAAM,OAAO,CAAC;AAIpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,WAAW,sBAAsB;IACrC,iBAAiB,CAAC,EAAE,KAAK,CAAC,gBAAgB,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;IAC/D,QAAQ,EAAE,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACrC,SAAS,EAAE,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,sBAAsB,EAAE,MAAM,EAAE,CAAC;IACjC,yBAAyB,EAAE,MAAM,EAAE,CAAC;IACpC,uBAAuB,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAC/B,UAAU,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAEtC,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,SAAS,GAAG,KAAK,GAAG,GAAG,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAKD,wBAAgB,gBAAgB,CAAC,EAC/B,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,sBAAsB,GAAG,gBAAgB,CA0F3C;AAUD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,OAAO,CAAC,EACpD,aAAa,EAAE,OAAO,EACtB,YAAY,EAAE,OAAO,GACpB,aAAa,CAAC,eAAe,CAAC,CA+BhC;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,cAAc,EAAE,aAAa,CAAC,eAAe,CAAC,EAC9C,KAAK,EAAE,8BAA8B,GACpC,eAAe,CA6BjB"}
@@ -2,8 +2,9 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { useEffect, useMemo, useRef, useState } from 'react';
4
4
  import { useMergeRefs } from '../../internal/hooks/use-merge-refs';
5
- import { useContainerBreakpoints, useContainerQuery } from '../../internal/hooks/container-queries';
5
+ import { useContainerBreakpoints } from '../../internal/hooks/container-queries';
6
6
  import styles from './styles.css.js';
7
+ import { useContainerQuery } from '@cloudscape-design/component-toolkit';
7
8
  // A small buffer to make calculations more lenient against browser lag or padding adjustments.
8
9
  const RESPONSIVENESS_BUFFER = 20;
9
10
  export function useTopNavigation({ __internalRootRef: mainRef, identity, search, utilities, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"use-top-navigation.js","sourceRoot":"lib/default/","sources":["top-navigation/1.0-beta/use-top-navigation.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useMergeRefs } from '../../internal/hooks/use-merge-refs';\n\nimport { useContainerBreakpoints, useContainerQuery } from '../../internal/hooks/container-queries';\nimport { TopNavigationProps } from './interfaces';\nimport styles from './styles.css.js';\n\nexport interface UseTopNavigationParams {\n __internalRootRef?: React.MutableRefObject<HTMLElement> | null;\n identity: TopNavigationProps['identity'];\n search: TopNavigationProps['search'];\n utilities: NonNullable<TopNavigationProps['utilities']>;\n}\n\nexport interface ResponsiveState {\n hideUtilityText?: boolean;\n hideSearch?: boolean;\n hideUtilities?: number[];\n hideTitle?: boolean;\n}\n\nexport interface TopNavigationSizeConfiguration {\n hasSearch: boolean;\n availableWidth: number;\n utilitiesLeftPadding: number;\n fullIdentityWidth: number;\n titleWidth: number;\n searchSlotWidth: number;\n searchUtilityWidth: number;\n utilityWithLabelWidths: number[];\n utilityWithoutLabelWidths: number[];\n menuTriggerUtilityWidth: number;\n}\n\nexport interface UseTopNavigation {\n ref: React.Ref<HTMLDivElement>;\n virtualRef: React.Ref<HTMLDivElement>;\n\n responsiveState: ResponsiveState;\n breakpoint: 'default' | 'xxs' | 's';\n isSearchExpanded: boolean;\n onSearchUtilityClick: () => void;\n}\n\n// A small buffer to make calculations more lenient against browser lag or padding adjustments.\nconst RESPONSIVENESS_BUFFER = 20;\n\nexport function useTopNavigation({\n __internalRootRef: mainRef,\n identity,\n search,\n utilities,\n}: UseTopNavigationParams): UseTopNavigation {\n // Refs and breakpoints\n const virtualRef = useRef<HTMLDivElement | null>(null);\n const [breakpoint, breakpointRef] = useContainerBreakpoints(['xxs', 's']);\n\n // Responsiveness state\n // The component works by calculating the possible resize states that it can\n // be in, and having a state variable to track which state we're currently in.\n const hasSearch = !!search;\n const hasTitleWithLogo = identity && !!identity.logo && !!identity.title;\n const responsiveStates = useMemo<ReadonlyArray<ResponsiveState>>(() => {\n return generateResponsiveStateKeys(utilities, hasSearch, hasTitleWithLogo);\n }, [utilities, hasSearch, hasTitleWithLogo]);\n\n // To hide/show elements dynamically, we need to know how much space they take up,\n // even if they're not being rendered. The top navigation elements are hidden/resized\n // based on the available size or if a search bar is open, and they need to be available\n // for calculations so we know where to toggle them. So we render a second, more stable\n // top-nav off screen to do these calculations against.\n //\n // We can't \"affix\" these values to pixels because they can depend on spacing tokens.\n // It's easier to render all of these utilities separately rather than figuring out\n // spacing token values, icon sizes, text widths, etc.\n //\n // TODO: Some of these values can be memoized to improve perf.\n const [responsiveState, containerQueryRef] = useContainerQuery<ResponsiveState>(() => {\n if (!mainRef?.current || !virtualRef.current) {\n return responsiveStates[0];\n }\n\n const sizeConfiguration = {\n hasSearch: !!search,\n\n // Get widths and paddings from the visible top navigation\n availableWidth: getContentBoxWidth(mainRef.current.querySelector(`.${styles['padding-box']}`)!),\n utilitiesLeftPadding: parseFloat(\n getComputedStyle(virtualRef.current.querySelector(`.${styles.utilities}`)!).paddingLeft\n ),\n\n // Get widths from the hidden top navigation\n fullIdentityWidth: virtualRef.current.querySelector(`.${styles.identity}`)!.getBoundingClientRect().width,\n titleWidth: virtualRef.current.querySelector(`.${styles.title}`)?.getBoundingClientRect().width ?? 0,\n searchSlotWidth: virtualRef.current.querySelector(`.${styles.search}`)?.getBoundingClientRect().width ?? 0,\n searchUtilityWidth: virtualRef.current.querySelector('[data-utility-special=\"search\"]')!.getBoundingClientRect()\n .width,\n utilityWithLabelWidths: Array.prototype.slice\n .call(virtualRef.current.querySelectorAll(`[data-utility-hide=\"false\"]`))\n .map((element: Element) => element.getBoundingClientRect().width),\n utilityWithoutLabelWidths: Array.prototype.slice\n .call(virtualRef.current.querySelectorAll(`[data-utility-hide=\"true\"]`))\n .map((element: Element) => element.getBoundingClientRect().width),\n menuTriggerUtilityWidth: virtualRef.current\n .querySelector('[data-utility-special=\"menu-trigger\"]')!\n .getBoundingClientRect().width,\n };\n\n return determineBestResponsiveState(responsiveStates, sizeConfiguration);\n }, [mainRef, search, responsiveStates]);\n\n // Search slot expansion on small screens\n const [isSearchMinimized, setSearchMinimized] = useState(true);\n const isSearchExpanded = !isSearchMinimized && breakpoint !== 's' && hasSearch && responsiveState?.hideSearch;\n\n // If the search was expanded, and then the screen resized so that the\n // expansion is no longer necessary. So we implicitly minimize it.\n useEffect(() => {\n if (!responsiveState?.hideSearch) {\n setSearchMinimized(true);\n }\n }, [responsiveState]);\n\n // If the search is expanded after clicking on the search utility, move\n // the focus to the input. Since this is a user-controlled slot, we're just\n // assuming that it contains an input, though it's a pretty safe guess.\n useEffect(() => {\n if (isSearchExpanded) {\n mainRef?.current?.querySelector<HTMLInputElement>(`.${styles.search} input`)?.focus();\n }\n }, [isSearchExpanded, mainRef]);\n\n const mergedRef = useMergeRefs(...(mainRef ? [mainRef] : []), containerQueryRef, breakpointRef);\n\n return {\n ref: mergedRef,\n virtualRef: virtualRef,\n responsiveState: responsiveState ?? responsiveStates[0],\n breakpoint: breakpoint ?? 'default',\n isSearchExpanded: !!isSearchExpanded,\n onSearchUtilityClick: () => setSearchMinimized(isSearchMinimized => !isSearchMinimized),\n };\n}\n\n/**\n * Get the width of the content box (assuming the element's box-sizing is border-box).\n */\nfunction getContentBoxWidth(element: Element): number {\n const style = getComputedStyle(element);\n return parseFloat(style.width) - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);\n}\n\n/**\n * Generates the series of responsive steps that can be performed on the header in order.\n */\nexport function generateResponsiveStateKeys(\n utilities: ReadonlyArray<TopNavigationProps.Utility>,\n canHideSearch: boolean,\n canHideTitle: boolean\n): ReadonlyArray<ResponsiveState> {\n const states: ResponsiveState[] = [{}];\n if (utilities.some(utility => utility.text)) {\n states.push({ hideUtilityText: true });\n }\n if (canHideSearch) {\n states.push({\n hideUtilityText: true,\n hideSearch: true,\n });\n }\n const hiddenUtilties = [];\n for (let i = 0; i < utilities.length; i++) {\n if (!utilities[i].disableUtilityCollapse) {\n hiddenUtilties.push(i);\n states.push({\n hideUtilityText: true,\n hideSearch: canHideSearch || undefined,\n hideUtilities: hiddenUtilties.length > 0 ? hiddenUtilties.slice() : undefined,\n });\n }\n }\n if (canHideTitle) {\n states.push({\n hideUtilityText: true,\n hideSearch: canHideSearch || undefined,\n hideUtilities: hiddenUtilties.length > 0 ? hiddenUtilties.slice() : undefined,\n hideTitle: true,\n });\n }\n return states;\n}\n\n/**\n * Determines the best responsive state configuration of the top navigation, based on the given list of possible responsive states\n * and the current sizes of all elements inside the navigation bar.\n */\nexport function determineBestResponsiveState(\n possibleStates: ReadonlyArray<ResponsiveState>,\n sizes: TopNavigationSizeConfiguration\n): ResponsiveState {\n const {\n hasSearch,\n availableWidth,\n utilitiesLeftPadding,\n fullIdentityWidth,\n titleWidth,\n searchSlotWidth,\n searchUtilityWidth,\n utilityWithLabelWidths,\n utilityWithoutLabelWidths,\n menuTriggerUtilityWidth,\n } = sizes;\n // Iterate through each state and calculate its expected required width.\n for (const state of possibleStates) {\n const searchWidth = hasSearch ? (state.hideSearch ? searchUtilityWidth : searchSlotWidth) : 0;\n const utilitiesWidth: number = (state.hideUtilityText ? utilityWithoutLabelWidths : utilityWithLabelWidths)\n .filter((_width, i) => !state.hideUtilities || state.hideUtilities.indexOf(i) === -1)\n .reduce((sum, width) => sum + width, 0);\n const menuTriggerWidth = state.hideUtilities ? menuTriggerUtilityWidth : 0;\n const identityWidth = state.hideTitle ? fullIdentityWidth - titleWidth : fullIdentityWidth;\n const expectedInnerWidth = identityWidth + searchWidth + utilitiesLeftPadding + utilitiesWidth + menuTriggerWidth;\n if (expectedInnerWidth <= availableWidth - RESPONSIVENESS_BUFFER) {\n return state;\n }\n }\n\n // If nothing matches, pick the smallest possible state.\n return possibleStates[possibleStates.length - 1];\n}\n"]}
1
+ {"version":3,"file":"use-top-navigation.js","sourceRoot":"lib/default/","sources":["top-navigation/1.0-beta/use-top-navigation.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAc,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AAEjF,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AAuCzE,+FAA+F;AAC/F,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAEjC,MAAM,UAAU,gBAAgB,CAAC,EAC/B,iBAAiB,EAAE,OAAO,EAC1B,QAAQ,EACR,MAAM,EACN,SAAS,GACc;IACvB,uBAAuB;IACvB,MAAM,UAAU,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,uBAAuB,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAE1E,uBAAuB;IACvB,4EAA4E;IAC5E,8EAA8E;IAC9E,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,MAAM,gBAAgB,GAAG,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;IACzE,MAAM,gBAAgB,GAAG,OAAO,CAAiC,GAAG,EAAE;QACpE,OAAO,2BAA2B,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAC7E,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE7C,kFAAkF;IAClF,qFAAqF;IACrF,wFAAwF;IACxF,uFAAuF;IACvF,uDAAuD;IACvD,EAAE;IACF,qFAAqF;IACrF,mFAAmF;IACnF,sDAAsD;IACtD,EAAE;IACF,8DAA8D;IAC9D,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,GAAG,iBAAiB,CAAkB,GAAG,EAAE;;QACnF,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;YAC5C,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC;SAC5B;QAED,MAAM,iBAAiB,GAAG;YACxB,SAAS,EAAE,CAAC,CAAC,MAAM;YAEnB,0DAA0D;YAC1D,cAAc,EAAE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,aAAa,CAAC,EAAE,CAAE,CAAC;YAC/F,oBAAoB,EAAE,UAAU,CAC9B,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,SAAS,EAAE,CAAE,CAAC,CAAC,WAAW,CACxF;YAED,4CAA4C;YAC5C,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAE,CAAC,qBAAqB,EAAE,CAAC,KAAK;YACzG,UAAU,EAAE,MAAA,MAAA,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,0CAAE,qBAAqB,GAAG,KAAK,mCAAI,CAAC;YACpG,eAAe,EAAE,MAAA,MAAA,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,0CAAE,qBAAqB,GAAG,KAAK,mCAAI,CAAC;YAC1G,kBAAkB,EAAE,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,iCAAiC,CAAE,CAAC,qBAAqB,EAAE;iBAC7G,KAAK;YACR,sBAAsB,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;iBAC1C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,6BAA6B,CAAC,CAAC;iBACxE,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YACnE,yBAAyB,EAAE,KAAK,CAAC,SAAS,CAAC,KAAK;iBAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;iBACvE,GAAG,CAAC,CAAC,OAAgB,EAAE,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,KAAK,CAAC;YACnE,uBAAuB,EAAE,UAAU,CAAC,OAAO;iBACxC,aAAa,CAAC,uCAAuC,CAAE;iBACvD,qBAAqB,EAAE,CAAC,KAAK;SACjC,CAAC;QAEF,OAAO,4BAA4B,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;IAC3E,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAExC,yCAAyC;IACzC,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,gBAAgB,GAAG,CAAC,iBAAiB,IAAI,UAAU,KAAK,GAAG,IAAI,SAAS,KAAI,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,CAAA,CAAC;IAE9G,sEAAsE;IACtE,kEAAkE;IAClE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,CAAA,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,UAAU,CAAA,EAAE;YAChC,kBAAkB,CAAC,IAAI,CAAC,CAAC;SAC1B;IACH,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC;IAEtB,uEAAuE;IACvE,2EAA2E;IAC3E,uEAAuE;IACvE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,gBAAgB,EAAE;YACpB,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,0CAAE,aAAa,CAAmB,IAAI,MAAM,CAAC,MAAM,QAAQ,CAAC,0CAAE,KAAK,EAAE,CAAC;SACvF;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhC,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,iBAAiB,EAAE,aAAa,CAAC,CAAC;IAEhG,OAAO;QACL,GAAG,EAAE,SAAS;QACd,UAAU,EAAE,UAAU;QACtB,eAAe,EAAE,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,gBAAgB,CAAC,CAAC,CAAC;QACvD,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,SAAS;QACnC,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;QACpC,oBAAoB,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC;KACxF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,OAAgB;IAC1C,MAAM,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAClG,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,SAAoD,EACpD,aAAsB,EACtB,YAAqB;IAErB,MAAM,MAAM,GAAsB,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3C,MAAM,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;KACxC;IACD,IAAI,aAAa,EAAE;QACjB,MAAM,CAAC,IAAI,CAAC;YACV,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;KACJ;IACD,MAAM,cAAc,GAAG,EAAE,CAAC;IAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,sBAAsB,EAAE;YACxC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC;gBACV,eAAe,EAAE,IAAI;gBACrB,UAAU,EAAE,aAAa,IAAI,SAAS;gBACtC,aAAa,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;aAC9E,CAAC,CAAC;SACJ;KACF;IACD,IAAI,YAAY,EAAE;QAChB,MAAM,CAAC,IAAI,CAAC;YACV,eAAe,EAAE,IAAI;YACrB,UAAU,EAAE,aAAa,IAAI,SAAS;YACtC,aAAa,EAAE,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;YAC7E,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;KACJ;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,4BAA4B,CAC1C,cAA8C,EAC9C,KAAqC;IAErC,MAAM,EACJ,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,kBAAkB,EAClB,sBAAsB,EACtB,yBAAyB,EACzB,uBAAuB,GACxB,GAAG,KAAK,CAAC;IACV,wEAAwE;IACxE,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE;QAClC,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9F,MAAM,cAAc,GAAW,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,sBAAsB,CAAC;aACxG,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;aACpF,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC;QAC1C,MAAM,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3E,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC3F,MAAM,kBAAkB,GAAG,aAAa,GAAG,WAAW,GAAG,oBAAoB,GAAG,cAAc,GAAG,gBAAgB,CAAC;QAClH,IAAI,kBAAkB,IAAI,cAAc,GAAG,qBAAqB,EAAE;YAChE,OAAO,KAAK,CAAC;SACd;KACF;IAED,wDAAwD;IACxD,OAAO,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACnD,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useMemo, useRef, useState } from 'react';\nimport { useMergeRefs } from '../../internal/hooks/use-merge-refs';\n\nimport { useContainerBreakpoints } from '../../internal/hooks/container-queries';\nimport { TopNavigationProps } from './interfaces';\nimport styles from './styles.css.js';\nimport { useContainerQuery } from '@cloudscape-design/component-toolkit';\n\nexport interface UseTopNavigationParams {\n __internalRootRef?: React.MutableRefObject<HTMLElement> | null;\n identity: TopNavigationProps['identity'];\n search: TopNavigationProps['search'];\n utilities: NonNullable<TopNavigationProps['utilities']>;\n}\n\nexport interface ResponsiveState {\n hideUtilityText?: boolean;\n hideSearch?: boolean;\n hideUtilities?: number[];\n hideTitle?: boolean;\n}\n\nexport interface TopNavigationSizeConfiguration {\n hasSearch: boolean;\n availableWidth: number;\n utilitiesLeftPadding: number;\n fullIdentityWidth: number;\n titleWidth: number;\n searchSlotWidth: number;\n searchUtilityWidth: number;\n utilityWithLabelWidths: number[];\n utilityWithoutLabelWidths: number[];\n menuTriggerUtilityWidth: number;\n}\n\nexport interface UseTopNavigation {\n ref: React.Ref<HTMLDivElement>;\n virtualRef: React.Ref<HTMLDivElement>;\n\n responsiveState: ResponsiveState;\n breakpoint: 'default' | 'xxs' | 's';\n isSearchExpanded: boolean;\n onSearchUtilityClick: () => void;\n}\n\n// A small buffer to make calculations more lenient against browser lag or padding adjustments.\nconst RESPONSIVENESS_BUFFER = 20;\n\nexport function useTopNavigation({\n __internalRootRef: mainRef,\n identity,\n search,\n utilities,\n}: UseTopNavigationParams): UseTopNavigation {\n // Refs and breakpoints\n const virtualRef = useRef<HTMLDivElement | null>(null);\n const [breakpoint, breakpointRef] = useContainerBreakpoints(['xxs', 's']);\n\n // Responsiveness state\n // The component works by calculating the possible resize states that it can\n // be in, and having a state variable to track which state we're currently in.\n const hasSearch = !!search;\n const hasTitleWithLogo = identity && !!identity.logo && !!identity.title;\n const responsiveStates = useMemo<ReadonlyArray<ResponsiveState>>(() => {\n return generateResponsiveStateKeys(utilities, hasSearch, hasTitleWithLogo);\n }, [utilities, hasSearch, hasTitleWithLogo]);\n\n // To hide/show elements dynamically, we need to know how much space they take up,\n // even if they're not being rendered. The top navigation elements are hidden/resized\n // based on the available size or if a search bar is open, and they need to be available\n // for calculations so we know where to toggle them. So we render a second, more stable\n // top-nav off screen to do these calculations against.\n //\n // We can't \"affix\" these values to pixels because they can depend on spacing tokens.\n // It's easier to render all of these utilities separately rather than figuring out\n // spacing token values, icon sizes, text widths, etc.\n //\n // TODO: Some of these values can be memoized to improve perf.\n const [responsiveState, containerQueryRef] = useContainerQuery<ResponsiveState>(() => {\n if (!mainRef?.current || !virtualRef.current) {\n return responsiveStates[0];\n }\n\n const sizeConfiguration = {\n hasSearch: !!search,\n\n // Get widths and paddings from the visible top navigation\n availableWidth: getContentBoxWidth(mainRef.current.querySelector(`.${styles['padding-box']}`)!),\n utilitiesLeftPadding: parseFloat(\n getComputedStyle(virtualRef.current.querySelector(`.${styles.utilities}`)!).paddingLeft\n ),\n\n // Get widths from the hidden top navigation\n fullIdentityWidth: virtualRef.current.querySelector(`.${styles.identity}`)!.getBoundingClientRect().width,\n titleWidth: virtualRef.current.querySelector(`.${styles.title}`)?.getBoundingClientRect().width ?? 0,\n searchSlotWidth: virtualRef.current.querySelector(`.${styles.search}`)?.getBoundingClientRect().width ?? 0,\n searchUtilityWidth: virtualRef.current.querySelector('[data-utility-special=\"search\"]')!.getBoundingClientRect()\n .width,\n utilityWithLabelWidths: Array.prototype.slice\n .call(virtualRef.current.querySelectorAll(`[data-utility-hide=\"false\"]`))\n .map((element: Element) => element.getBoundingClientRect().width),\n utilityWithoutLabelWidths: Array.prototype.slice\n .call(virtualRef.current.querySelectorAll(`[data-utility-hide=\"true\"]`))\n .map((element: Element) => element.getBoundingClientRect().width),\n menuTriggerUtilityWidth: virtualRef.current\n .querySelector('[data-utility-special=\"menu-trigger\"]')!\n .getBoundingClientRect().width,\n };\n\n return determineBestResponsiveState(responsiveStates, sizeConfiguration);\n }, [mainRef, search, responsiveStates]);\n\n // Search slot expansion on small screens\n const [isSearchMinimized, setSearchMinimized] = useState(true);\n const isSearchExpanded = !isSearchMinimized && breakpoint !== 's' && hasSearch && responsiveState?.hideSearch;\n\n // If the search was expanded, and then the screen resized so that the\n // expansion is no longer necessary. So we implicitly minimize it.\n useEffect(() => {\n if (!responsiveState?.hideSearch) {\n setSearchMinimized(true);\n }\n }, [responsiveState]);\n\n // If the search is expanded after clicking on the search utility, move\n // the focus to the input. Since this is a user-controlled slot, we're just\n // assuming that it contains an input, though it's a pretty safe guess.\n useEffect(() => {\n if (isSearchExpanded) {\n mainRef?.current?.querySelector<HTMLInputElement>(`.${styles.search} input`)?.focus();\n }\n }, [isSearchExpanded, mainRef]);\n\n const mergedRef = useMergeRefs(...(mainRef ? [mainRef] : []), containerQueryRef, breakpointRef);\n\n return {\n ref: mergedRef,\n virtualRef: virtualRef,\n responsiveState: responsiveState ?? responsiveStates[0],\n breakpoint: breakpoint ?? 'default',\n isSearchExpanded: !!isSearchExpanded,\n onSearchUtilityClick: () => setSearchMinimized(isSearchMinimized => !isSearchMinimized),\n };\n}\n\n/**\n * Get the width of the content box (assuming the element's box-sizing is border-box).\n */\nfunction getContentBoxWidth(element: Element): number {\n const style = getComputedStyle(element);\n return parseFloat(style.width) - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);\n}\n\n/**\n * Generates the series of responsive steps that can be performed on the header in order.\n */\nexport function generateResponsiveStateKeys(\n utilities: ReadonlyArray<TopNavigationProps.Utility>,\n canHideSearch: boolean,\n canHideTitle: boolean\n): ReadonlyArray<ResponsiveState> {\n const states: ResponsiveState[] = [{}];\n if (utilities.some(utility => utility.text)) {\n states.push({ hideUtilityText: true });\n }\n if (canHideSearch) {\n states.push({\n hideUtilityText: true,\n hideSearch: true,\n });\n }\n const hiddenUtilties = [];\n for (let i = 0; i < utilities.length; i++) {\n if (!utilities[i].disableUtilityCollapse) {\n hiddenUtilties.push(i);\n states.push({\n hideUtilityText: true,\n hideSearch: canHideSearch || undefined,\n hideUtilities: hiddenUtilties.length > 0 ? hiddenUtilties.slice() : undefined,\n });\n }\n }\n if (canHideTitle) {\n states.push({\n hideUtilityText: true,\n hideSearch: canHideSearch || undefined,\n hideUtilities: hiddenUtilties.length > 0 ? hiddenUtilties.slice() : undefined,\n hideTitle: true,\n });\n }\n return states;\n}\n\n/**\n * Determines the best responsive state configuration of the top navigation, based on the given list of possible responsive states\n * and the current sizes of all elements inside the navigation bar.\n */\nexport function determineBestResponsiveState(\n possibleStates: ReadonlyArray<ResponsiveState>,\n sizes: TopNavigationSizeConfiguration\n): ResponsiveState {\n const {\n hasSearch,\n availableWidth,\n utilitiesLeftPadding,\n fullIdentityWidth,\n titleWidth,\n searchSlotWidth,\n searchUtilityWidth,\n utilityWithLabelWidths,\n utilityWithoutLabelWidths,\n menuTriggerUtilityWidth,\n } = sizes;\n // Iterate through each state and calculate its expected required width.\n for (const state of possibleStates) {\n const searchWidth = hasSearch ? (state.hideSearch ? searchUtilityWidth : searchSlotWidth) : 0;\n const utilitiesWidth: number = (state.hideUtilityText ? utilityWithoutLabelWidths : utilityWithLabelWidths)\n .filter((_width, i) => !state.hideUtilities || state.hideUtilities.indexOf(i) === -1)\n .reduce((sum, width) => sum + width, 0);\n const menuTriggerWidth = state.hideUtilities ? menuTriggerUtilityWidth : 0;\n const identityWidth = state.hideTitle ? fullIdentityWidth - titleWidth : fullIdentityWidth;\n const expectedInnerWidth = identityWidth + searchWidth + utilitiesLeftPadding + utilitiesWidth + menuTriggerWidth;\n if (expectedInnerWidth <= availableWidth - RESPONSIVENESS_BUFFER) {\n return state;\n }\n }\n\n // If nothing matches, pick the smallest possible state.\n return possibleStates[possibleStates.length - 1];\n}\n"]}