@cloudscape-design/components-themeable 3.0.1210 → 3.0.1212

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 (221) hide show
  1. package/lib/internal/manifest.json +1 -1
  2. package/lib/internal/scss/internal/components/dropdown/styles.scss +3 -2
  3. package/lib/internal/scss/internal/generated/custom-css-properties/index.scss +140 -139
  4. package/lib/internal/template/alert/interfaces.d.ts +2 -0
  5. package/lib/internal/template/alert/interfaces.d.ts.map +1 -1
  6. package/lib/internal/template/alert/interfaces.js.map +1 -1
  7. package/lib/internal/template/alert/styles.css.js +27 -27
  8. package/lib/internal/template/alert/styles.scoped.css +50 -50
  9. package/lib/internal/template/alert/styles.selectors.js +27 -27
  10. package/lib/internal/template/annotation-context/annotation/styles.css.js +13 -13
  11. package/lib/internal/template/annotation-context/annotation/styles.scoped.css +21 -21
  12. package/lib/internal/template/annotation-context/annotation/styles.selectors.js +13 -13
  13. package/lib/internal/template/app-layout/notifications/styles.css.js +3 -3
  14. package/lib/internal/template/app-layout/notifications/styles.scoped.css +7 -7
  15. package/lib/internal/template/app-layout/notifications/styles.selectors.js +3 -3
  16. package/lib/internal/template/app-layout/visual-refresh/styles.css.js +86 -86
  17. package/lib/internal/template/app-layout/visual-refresh/styles.scoped.css +258 -258
  18. package/lib/internal/template/app-layout/visual-refresh/styles.selectors.js +86 -86
  19. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.css.js +30 -30
  20. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.scoped.css +87 -87
  21. package/lib/internal/template/app-layout/visual-refresh-toolbar/drawer/styles.selectors.js +30 -30
  22. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.css.js +4 -4
  23. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.scoped.css +7 -7
  24. package/lib/internal/template/app-layout/visual-refresh-toolbar/navigation/styles.selectors.js +4 -4
  25. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.css.js +27 -27
  26. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.scoped.css +54 -54
  27. package/lib/internal/template/app-layout/visual-refresh-toolbar/skeleton/styles.selectors.js +27 -27
  28. package/lib/internal/template/attribute-editor/styles.css.js +15 -15
  29. package/lib/internal/template/attribute-editor/styles.scoped.css +28 -28
  30. package/lib/internal/template/attribute-editor/styles.selectors.js +15 -15
  31. package/lib/internal/template/autosuggest/interfaces.d.ts +2 -0
  32. package/lib/internal/template/autosuggest/interfaces.d.ts.map +1 -1
  33. package/lib/internal/template/autosuggest/interfaces.js.map +1 -1
  34. package/lib/internal/template/badge/interfaces.d.ts +2 -0
  35. package/lib/internal/template/badge/interfaces.d.ts.map +1 -1
  36. package/lib/internal/template/badge/interfaces.js.map +1 -1
  37. package/lib/internal/template/breadcrumb-group/item/styles.css.js +7 -7
  38. package/lib/internal/template/breadcrumb-group/item/styles.scoped.css +28 -28
  39. package/lib/internal/template/breadcrumb-group/item/styles.selectors.js +7 -7
  40. package/lib/internal/template/button/interfaces.d.ts +2 -0
  41. package/lib/internal/template/button/interfaces.d.ts.map +1 -1
  42. package/lib/internal/template/button/interfaces.js.map +1 -1
  43. package/lib/internal/template/button/styles.css.js +22 -22
  44. package/lib/internal/template/button/styles.scoped.css +256 -256
  45. package/lib/internal/template/button/styles.selectors.js +22 -22
  46. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js +1 -1
  47. package/lib/internal/template/button-dropdown/category-elements/expandable-category-element.js.map +1 -1
  48. package/lib/internal/template/button-dropdown/internal.d.ts.map +1 -1
  49. package/lib/internal/template/button-dropdown/internal.js +1 -1
  50. package/lib/internal/template/button-dropdown/internal.js.map +1 -1
  51. package/lib/internal/template/button-dropdown/item-element/styles.css.js +21 -21
  52. package/lib/internal/template/button-dropdown/item-element/styles.scoped.css +37 -37
  53. package/lib/internal/template/button-dropdown/item-element/styles.selectors.js +21 -21
  54. package/lib/internal/template/button-group/interfaces.d.ts +2 -0
  55. package/lib/internal/template/button-group/interfaces.d.ts.map +1 -1
  56. package/lib/internal/template/button-group/interfaces.js.map +1 -1
  57. package/lib/internal/template/checkbox/interfaces.d.ts +2 -0
  58. package/lib/internal/template/checkbox/interfaces.d.ts.map +1 -1
  59. package/lib/internal/template/checkbox/interfaces.js.map +1 -1
  60. package/lib/internal/template/checkbox/styles.css.js +3 -3
  61. package/lib/internal/template/checkbox/styles.scoped.css +11 -11
  62. package/lib/internal/template/checkbox/styles.selectors.js +3 -3
  63. package/lib/internal/template/column-layout/flexible-column-layout/index.js +2 -2
  64. package/lib/internal/template/column-layout/flexible-column-layout/index.js.map +1 -1
  65. package/lib/internal/template/column-layout/grid-column-layout.js +1 -1
  66. package/lib/internal/template/column-layout/grid-column-layout.js.map +1 -1
  67. package/lib/internal/template/container/interfaces.d.ts +2 -0
  68. package/lib/internal/template/container/interfaces.d.ts.map +1 -1
  69. package/lib/internal/template/container/interfaces.js.map +1 -1
  70. package/lib/internal/template/content-layout/styles.css.js +14 -14
  71. package/lib/internal/template/content-layout/styles.scoped.css +27 -27
  72. package/lib/internal/template/content-layout/styles.selectors.js +14 -14
  73. package/lib/internal/template/date-picker/index.d.ts.map +1 -1
  74. package/lib/internal/template/date-picker/index.js +1 -1
  75. package/lib/internal/template/date-picker/index.js.map +1 -1
  76. package/lib/internal/template/date-range-picker/index.d.ts.map +1 -1
  77. package/lib/internal/template/date-range-picker/index.js +1 -1
  78. package/lib/internal/template/date-range-picker/index.js.map +1 -1
  79. package/lib/internal/template/flashbar/interfaces.d.ts +2 -0
  80. package/lib/internal/template/flashbar/interfaces.d.ts.map +1 -1
  81. package/lib/internal/template/flashbar/interfaces.js.map +1 -1
  82. package/lib/internal/template/flashbar/styles.css.js +50 -50
  83. package/lib/internal/template/flashbar/styles.scoped.css +187 -187
  84. package/lib/internal/template/flashbar/styles.selectors.js +50 -50
  85. package/lib/internal/template/grid/internal.d.ts.map +1 -1
  86. package/lib/internal/template/grid/internal.js +2 -2
  87. package/lib/internal/template/grid/internal.js.map +1 -1
  88. package/lib/internal/template/help-panel/styles.css.js +6 -6
  89. package/lib/internal/template/help-panel/styles.scoped.css +73 -73
  90. package/lib/internal/template/help-panel/styles.selectors.js +6 -6
  91. package/lib/internal/template/input/interfaces.d.ts +2 -0
  92. package/lib/internal/template/input/interfaces.d.ts.map +1 -1
  93. package/lib/internal/template/input/interfaces.js.map +1 -1
  94. package/lib/internal/template/input/styles.css.js +13 -13
  95. package/lib/internal/template/input/styles.scoped.css +74 -74
  96. package/lib/internal/template/input/styles.selectors.js +13 -13
  97. package/lib/internal/template/internal/base-component/styles.scoped.css +1 -1
  98. package/lib/internal/template/internal/components/autosuggest-input/index.d.ts.map +1 -1
  99. package/lib/internal/template/internal/components/autosuggest-input/index.js +2 -1
  100. package/lib/internal/template/internal/components/autosuggest-input/index.js.map +1 -1
  101. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.css.js +30 -30
  102. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.scoped.css +58 -58
  103. package/lib/internal/template/internal/components/drag-handle-wrapper/styles.selectors.js +30 -30
  104. package/lib/internal/template/internal/components/dropdown/dropdown-fit-handler.d.ts +9 -9
  105. package/lib/internal/template/internal/components/dropdown/dropdown-fit-handler.d.ts.map +1 -1
  106. package/lib/internal/template/internal/components/dropdown/dropdown-fit-handler.js +22 -23
  107. package/lib/internal/template/internal/components/dropdown/dropdown-fit-handler.js.map +1 -1
  108. package/lib/internal/template/internal/components/dropdown/dropdown-position.d.ts.map +1 -1
  109. package/lib/internal/template/internal/components/dropdown/dropdown-position.js +4 -1
  110. package/lib/internal/template/internal/components/dropdown/dropdown-position.js.map +1 -1
  111. package/lib/internal/template/internal/components/dropdown/index.d.ts +1 -1
  112. package/lib/internal/template/internal/components/dropdown/index.d.ts.map +1 -1
  113. package/lib/internal/template/internal/components/dropdown/index.js +54 -30
  114. package/lib/internal/template/internal/components/dropdown/index.js.map +1 -1
  115. package/lib/internal/template/internal/components/dropdown/interfaces.d.ts +33 -18
  116. package/lib/internal/template/internal/components/dropdown/interfaces.d.ts.map +1 -1
  117. package/lib/internal/template/internal/components/dropdown/interfaces.js.map +1 -1
  118. package/lib/internal/template/internal/components/dropdown/styles.css.js +20 -20
  119. package/lib/internal/template/internal/components/dropdown/styles.scoped.css +39 -38
  120. package/lib/internal/template/internal/components/dropdown/styles.selectors.js +20 -20
  121. package/lib/internal/template/internal/components/radio-button/interfaces.d.ts +2 -0
  122. package/lib/internal/template/internal/components/radio-button/interfaces.d.ts.map +1 -1
  123. package/lib/internal/template/internal/components/radio-button/interfaces.js.map +1 -1
  124. package/lib/internal/template/internal/components/radio-button/styles.css.js +7 -7
  125. package/lib/internal/template/internal/components/radio-button/styles.scoped.css +18 -18
  126. package/lib/internal/template/internal/components/radio-button/styles.selectors.js +7 -7
  127. package/lib/internal/template/internal/components/token-list/styles.css.js +10 -10
  128. package/lib/internal/template/internal/components/token-list/styles.scoped.css +25 -25
  129. package/lib/internal/template/internal/components/token-list/styles.selectors.js +10 -10
  130. package/lib/internal/template/internal/environment.js +2 -2
  131. package/lib/internal/template/internal/environment.json +2 -2
  132. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts +1 -0
  133. package/lib/internal/template/internal/generated/custom-css-properties/index.d.ts.map +1 -1
  134. package/lib/internal/template/internal/generated/custom-css-properties/index.js +139 -138
  135. package/lib/internal/template/internal/generated/custom-css-properties/index.js.map +1 -1
  136. package/lib/internal/template/internal/hooks/use-base-component/styles-check.d.ts +1 -2
  137. package/lib/internal/template/internal/hooks/use-base-component/styles-check.d.ts.map +1 -1
  138. package/lib/internal/template/internal/hooks/use-base-component/styles-check.js +27 -7
  139. package/lib/internal/template/internal/hooks/use-base-component/styles-check.js.map +1 -1
  140. package/lib/internal/template/internal/utils/flatten-children.d.ts +3 -0
  141. package/lib/internal/template/internal/utils/flatten-children.d.ts.map +1 -0
  142. package/lib/internal/template/internal/utils/flatten-children.js +17 -0
  143. package/lib/internal/template/internal/utils/flatten-children.js.map +1 -0
  144. package/lib/internal/template/link/interfaces.d.ts +2 -0
  145. package/lib/internal/template/link/interfaces.d.ts.map +1 -1
  146. package/lib/internal/template/link/interfaces.js.map +1 -1
  147. package/lib/internal/template/link/styles.css.js +20 -20
  148. package/lib/internal/template/link/styles.scoped.css +103 -103
  149. package/lib/internal/template/link/styles.selectors.js +20 -20
  150. package/lib/internal/template/multiselect/internal.d.ts.map +1 -1
  151. package/lib/internal/template/multiselect/internal.js +2 -1
  152. package/lib/internal/template/multiselect/internal.js.map +1 -1
  153. package/lib/internal/template/multiselect/use-multiselect.d.ts +1 -1
  154. package/lib/internal/template/progress-bar/interfaces.d.ts +2 -0
  155. package/lib/internal/template/progress-bar/interfaces.d.ts.map +1 -1
  156. package/lib/internal/template/progress-bar/interfaces.js.map +1 -1
  157. package/lib/internal/template/progress-bar/styles.css.js +18 -18
  158. package/lib/internal/template/progress-bar/styles.scoped.css +48 -48
  159. package/lib/internal/template/progress-bar/styles.selectors.js +18 -18
  160. package/lib/internal/template/prompt-input/interfaces.d.ts +2 -0
  161. package/lib/internal/template/prompt-input/interfaces.d.ts.map +1 -1
  162. package/lib/internal/template/prompt-input/interfaces.js.map +1 -1
  163. package/lib/internal/template/prompt-input/styles.css.js +17 -17
  164. package/lib/internal/template/prompt-input/styles.scoped.css +79 -79
  165. package/lib/internal/template/prompt-input/styles.selectors.js +17 -17
  166. package/lib/internal/template/radio-group/interfaces.d.ts +2 -0
  167. package/lib/internal/template/radio-group/interfaces.d.ts.map +1 -1
  168. package/lib/internal/template/radio-group/interfaces.js.map +1 -1
  169. package/lib/internal/template/segmented-control/interfaces.d.ts +2 -0
  170. package/lib/internal/template/segmented-control/interfaces.d.ts.map +1 -1
  171. package/lib/internal/template/segmented-control/interfaces.js.map +1 -1
  172. package/lib/internal/template/segmented-control/styles.css.js +16 -16
  173. package/lib/internal/template/segmented-control/styles.scoped.css +46 -46
  174. package/lib/internal/template/segmented-control/styles.selectors.js +16 -16
  175. package/lib/internal/template/select/internal.d.ts.map +1 -1
  176. package/lib/internal/template/select/internal.js +2 -1
  177. package/lib/internal/template/select/internal.js.map +1 -1
  178. package/lib/internal/template/select/utils/use-select.d.ts +1 -1
  179. package/lib/internal/template/select/utils/use-select.d.ts.map +1 -1
  180. package/lib/internal/template/select/utils/use-select.js +1 -1
  181. package/lib/internal/template/select/utils/use-select.js.map +1 -1
  182. package/lib/internal/template/slider/interfaces.d.ts +2 -0
  183. package/lib/internal/template/slider/interfaces.d.ts.map +1 -1
  184. package/lib/internal/template/slider/interfaces.js.map +1 -1
  185. package/lib/internal/template/slider/styles.css.js +26 -26
  186. package/lib/internal/template/slider/styles.scoped.css +165 -165
  187. package/lib/internal/template/slider/styles.selectors.js +26 -26
  188. package/lib/internal/template/space-between/internal.d.ts.map +1 -1
  189. package/lib/internal/template/space-between/internal.js +4 -3
  190. package/lib/internal/template/space-between/internal.js.map +1 -1
  191. package/lib/internal/template/spinner/styles.css.js +13 -13
  192. package/lib/internal/template/spinner/styles.scoped.css +39 -39
  193. package/lib/internal/template/spinner/styles.selectors.js +13 -13
  194. package/lib/internal/template/tabs/interfaces.d.ts +2 -0
  195. package/lib/internal/template/tabs/interfaces.d.ts.map +1 -1
  196. package/lib/internal/template/tabs/interfaces.js.map +1 -1
  197. package/lib/internal/template/tabs/styles.css.js +30 -30
  198. package/lib/internal/template/tabs/styles.scoped.css +76 -76
  199. package/lib/internal/template/tabs/styles.selectors.js +30 -30
  200. package/lib/internal/template/tag-editor/styles.css.js +3 -3
  201. package/lib/internal/template/tag-editor/styles.scoped.css +13 -13
  202. package/lib/internal/template/tag-editor/styles.selectors.js +3 -3
  203. package/lib/internal/template/text-content/styles.css.js +1 -1
  204. package/lib/internal/template/text-content/styles.scoped.css +66 -66
  205. package/lib/internal/template/text-content/styles.selectors.js +1 -1
  206. package/lib/internal/template/text-filter/interfaces.d.ts +2 -0
  207. package/lib/internal/template/text-filter/interfaces.d.ts.map +1 -1
  208. package/lib/internal/template/text-filter/interfaces.js.map +1 -1
  209. package/lib/internal/template/textarea/interfaces.d.ts +2 -0
  210. package/lib/internal/template/textarea/interfaces.d.ts.map +1 -1
  211. package/lib/internal/template/textarea/interfaces.js.map +1 -1
  212. package/lib/internal/template/textarea/styles.css.js +5 -5
  213. package/lib/internal/template/textarea/styles.scoped.css +45 -45
  214. package/lib/internal/template/textarea/styles.selectors.js +5 -5
  215. package/lib/internal/template/toggle/interfaces.d.ts +2 -0
  216. package/lib/internal/template/toggle/interfaces.d.ts.map +1 -1
  217. package/lib/internal/template/toggle/interfaces.js.map +1 -1
  218. package/lib/internal/template/toggle/styles.css.js +10 -10
  219. package/lib/internal/template/toggle/styles.scoped.css +23 -23
  220. package/lib/internal/template/toggle/styles.selectors.js +10 -10
  221. package/package.json +1 -1
@@ -3,7 +3,7 @@
3
3
  import { useEffect } from 'react';
4
4
  import { GIT_SHA, PACKAGE_VERSION, THEME } from '../../environment';
5
5
  import { metrics } from '../../metrics';
6
- export function checkMissingStyles(ownerDocument) {
6
+ function checkMissingStyles(ownerDocument) {
7
7
  if (!ownerDocument.defaultView) {
8
8
  // skip the check if this iframe is detached
9
9
  return;
@@ -23,17 +23,36 @@ function documentReady(document, callback) {
23
23
  (_a = document.defaultView) === null || _a === void 0 ? void 0 : _a.addEventListener('load', () => callback(), { once: true });
24
24
  }
25
25
  }
26
- export function documentReadyAndIdle(document, signal) {
27
- return new Promise((resolve, reject) => {
26
+ async function documentReadyAndIdle(document, signal) {
27
+ await new Promise((resolve, reject) => {
28
28
  signal.addEventListener('abort', () => reject(new DOMException('Aborted', 'AbortError')));
29
29
  documentReady(document, () => {
30
- setTimeout(() => {
31
- requestIdleCallback(() => resolve());
32
- }, 1000);
30
+ setTimeout(() => requestIdleCallback(() => resolve()), 1000);
33
31
  });
34
32
  });
33
+ const stylesheets = Array.from(document.querySelectorAll('link[rel="stylesheet"]'));
34
+ await Promise.all(stylesheets.map(link => {
35
+ // already loaded
36
+ if (link.sheet) {
37
+ return Promise.resolve();
38
+ }
39
+ return new Promise((resolve, reject) => {
40
+ function cleanup(done) {
41
+ link.removeEventListener('load', onLoad);
42
+ link.removeEventListener('error', onError);
43
+ signal.removeEventListener('abort', onAbort);
44
+ done();
45
+ }
46
+ const onLoad = () => cleanup(resolve);
47
+ const onError = () => cleanup(resolve);
48
+ const onAbort = () => cleanup(() => reject(new DOMException('Aborted', 'AbortError')));
49
+ link.addEventListener('load', onLoad);
50
+ link.addEventListener('error', onError);
51
+ signal.addEventListener('abort', onAbort);
52
+ });
53
+ }));
35
54
  }
36
- const checkedDocs = new WeakMap();
55
+ let checkedDocs = new WeakMap();
37
56
  const checkMissingStylesOnce = (document) => {
38
57
  const checked = checkedDocs.get(document);
39
58
  if (!checked) {
@@ -41,6 +60,7 @@ const checkMissingStylesOnce = (document) => {
41
60
  checkedDocs.set(document, true);
42
61
  }
43
62
  };
63
+ export const __testResetCheckedDocs = () => (checkedDocs = new WeakMap());
44
64
  export function useMissingStylesCheck(elementRef) {
45
65
  useEffect(() => {
46
66
  var _a, _b;
@@ -1 +1 @@
1
- {"version":3,"file":"styles-check.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-base-component/styles-check.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 } from 'react';\n\nimport { GIT_SHA, PACKAGE_VERSION, THEME } from '../../environment';\nimport { metrics } from '../../metrics';\n\nexport function checkMissingStyles(ownerDocument: Document) {\n if (!ownerDocument.defaultView) {\n // skip the check if this iframe is detached\n return;\n }\n const result = getComputedStyle(ownerDocument.body).getPropertyValue(`--awsui-version-info-${GIT_SHA}`);\n if (!result) {\n console.error(`Missing AWS-UI CSS for theme \"${THEME}\", version \"${PACKAGE_VERSION}\", and git sha \"${GIT_SHA}\".`);\n metrics.sendOpsMetricObject('awsui-missing-css-asset', {});\n }\n}\n\nfunction documentReady(document: Document, callback: () => void) {\n if (document.readyState === 'complete') {\n callback();\n } else {\n document.defaultView?.addEventListener('load', () => callback(), { once: true });\n }\n}\n\nexport function documentReadyAndIdle(document: Document, signal: AbortSignal) {\n return new Promise<void>((resolve, reject) => {\n signal.addEventListener('abort', () => reject(new DOMException('Aborted', 'AbortError')));\n documentReady(document, () => {\n setTimeout(() => {\n requestIdleCallback(() => resolve());\n }, 1000);\n });\n });\n}\n\nconst checkedDocs = new WeakMap<Document, boolean>();\nconst checkMissingStylesOnce = (document: Document) => {\n const checked = checkedDocs.get(document);\n if (!checked) {\n checkMissingStyles(document);\n checkedDocs.set(document, true);\n }\n};\n\nexport function useMissingStylesCheck(elementRef: React.RefObject<HTMLElement>) {\n useEffect(() => {\n // if idle callbacks not supported, we simply do not collect the metric\n if (typeof requestIdleCallback !== 'function') {\n return;\n }\n const ownerDocument = elementRef.current?.ownerDocument ?? document;\n const abortController = new AbortController();\n documentReadyAndIdle(ownerDocument, abortController.signal).then(\n () => checkMissingStylesOnce(ownerDocument),\n error => {\n // istanbul ignore next\n if (error.name !== 'AbortError') {\n throw error;\n }\n }\n );\n return () => abortController.abort();\n }, [elementRef]);\n}\n"]}
1
+ {"version":3,"file":"styles-check.js","sourceRoot":"","sources":["../../../../../src/internal/hooks/use-base-component/styles-check.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 } from 'react';\n\nimport { GIT_SHA, PACKAGE_VERSION, THEME } from '../../environment';\nimport { metrics } from '../../metrics';\n\nfunction checkMissingStyles(ownerDocument: Document) {\n if (!ownerDocument.defaultView) {\n // skip the check if this iframe is detached\n return;\n }\n\n const result = getComputedStyle(ownerDocument.body).getPropertyValue(`--awsui-version-info-${GIT_SHA}`);\n if (!result) {\n console.error(`Missing AWS-UI CSS for theme \"${THEME}\", version \"${PACKAGE_VERSION}\", and git sha \"${GIT_SHA}\".`);\n metrics.sendOpsMetricObject('awsui-missing-css-asset', {});\n }\n}\n\nfunction documentReady(document: Document, callback: () => void) {\n if (document.readyState === 'complete') {\n callback();\n } else {\n document.defaultView?.addEventListener('load', () => callback(), { once: true });\n }\n}\n\nasync function documentReadyAndIdle(document: Document, signal: AbortSignal) {\n await new Promise<void>((resolve, reject) => {\n signal.addEventListener('abort', () => reject(new DOMException('Aborted', 'AbortError')));\n documentReady(document, () => {\n setTimeout(() => requestIdleCallback(() => resolve()), 1000);\n });\n });\n\n const stylesheets = Array.from(document.querySelectorAll<HTMLLinkElement>('link[rel=\"stylesheet\"]'));\n await Promise.all(\n stylesheets.map(link => {\n // already loaded\n if (link.sheet) {\n return Promise.resolve();\n }\n return new Promise<void>((resolve, reject) => {\n function cleanup(done: () => void) {\n link.removeEventListener('load', onLoad);\n link.removeEventListener('error', onError);\n signal.removeEventListener('abort', onAbort);\n done();\n }\n const onLoad = () => cleanup(resolve);\n const onError = () => cleanup(resolve);\n const onAbort = () => cleanup(() => reject(new DOMException('Aborted', 'AbortError')));\n\n link.addEventListener('load', onLoad);\n link.addEventListener('error', onError);\n signal.addEventListener('abort', onAbort);\n });\n })\n );\n}\n\nlet checkedDocs = new WeakMap<Document, boolean>();\nconst checkMissingStylesOnce = (document: Document) => {\n const checked = checkedDocs.get(document);\n if (!checked) {\n checkMissingStyles(document);\n checkedDocs.set(document, true);\n }\n};\n\nexport const __testResetCheckedDocs = () => (checkedDocs = new WeakMap());\n\nexport function useMissingStylesCheck(elementRef: React.RefObject<HTMLElement>) {\n useEffect(() => {\n // if idle callbacks not supported, we simply do not collect the metric\n if (typeof requestIdleCallback !== 'function') {\n return;\n }\n const ownerDocument = elementRef.current?.ownerDocument ?? document;\n const abortController = new AbortController();\n documentReadyAndIdle(ownerDocument, abortController.signal).then(\n () => checkMissingStylesOnce(ownerDocument),\n error => {\n // istanbul ignore next\n if (error.name !== 'AbortError') {\n throw error;\n }\n }\n );\n return () => abortController.abort();\n }, [elementRef]);\n}\n"]}
@@ -0,0 +1,3 @@
1
+ import { ReactNode } from 'react';
2
+ export declare function flattenChildren(children: ReactNode): ReactNode[];
3
+ //# sourceMappingURL=flatten-children.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-children.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/flatten-children.ts"],"names":[],"mappings":"AAEA,OAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,GAAG,SAAS,EAAE,CAWhE"}
@@ -0,0 +1,17 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ import React from 'react';
4
+ import flattenChildrenLegacy from 'react-keyed-flatten-children';
5
+ export function flattenChildren(children) {
6
+ var _a;
7
+ const versionString = (_a = React.version) === null || _a === void 0 ? void 0 : _a.split('.')[0];
8
+ const majorVersion = versionString ? parseInt(versionString, 10) : NaN;
9
+ if (!Number.isNaN(majorVersion) && majorVersion < 19) {
10
+ // React 16-18: Use react-keyed-flatten-children for backward compatibility
11
+ return flattenChildrenLegacy(children);
12
+ }
13
+ // React 19+: Uses Children.toArray() which doesn't flatten fragments.
14
+ // This also supports bigint which is not available in earlier React versions.
15
+ return React.Children.toArray(children);
16
+ }
17
+ //# sourceMappingURL=flatten-children.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flatten-children.js","sourceRoot":"","sources":["../../../../src/internal/utils/flatten-children.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAoB,MAAM,OAAO,CAAC;AACzC,OAAO,qBAAqB,MAAM,8BAA8B,CAAC;AAEjE,MAAM,UAAU,eAAe,CAAC,QAAmB;;IACjD,MAAM,aAAa,GAAG,MAAA,KAAK,CAAC,OAAO,0CAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAEvE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;QACrD,2EAA2E;QAC3E,OAAO,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACzC,CAAC;IACD,sEAAsE;IACtE,8EAA8E;IAC9E,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { ReactNode } from 'react';\nimport flattenChildrenLegacy from 'react-keyed-flatten-children';\n\nexport function flattenChildren(children: ReactNode): ReactNode[] {\n const versionString = React.version?.split('.')[0];\n const majorVersion = versionString ? parseInt(versionString, 10) : NaN;\n\n if (!Number.isNaN(majorVersion) && majorVersion < 19) {\n // React 16-18: Use react-keyed-flatten-children for backward compatibility\n return flattenChildrenLegacy(children);\n }\n // React 19+: Uses Children.toArray() which doesn't flatten fragments.\n // This also supports bigint which is not available in earlier React versions.\n return React.Children.toArray(children);\n}\n"]}
@@ -91,6 +91,8 @@ export interface LinkProps extends BaseComponentProps {
91
91
  */
92
92
  rel?: string;
93
93
  /**
94
+ * An object containing CSS properties to customize the link's visual appearance.
95
+ * Refer to the [style](/components/link/?tabId=style) tab for more details.
94
96
  * @awsuiSystem core
95
97
  */
96
98
  style?: LinkProps.Style;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/link/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,IAAI,YAAY,EAC3B,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACnD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC;IAE9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE1D;;OAEG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE3D;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAExB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;CACpF;AAED,yBAAiB,SAAS,CAAC;IACzB,KAAY,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAC7E,KAAY,QAAQ,GAChB,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,WAAW,GACX,WAAW,GACX,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;IACd,KAAY,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IAE1C,KAAY,YAAY,GAAG,oBAAoB,CAAC;IAEhD,UAAiB,GAAG;QAClB;;WAEG;QACH,KAAK,IAAI,IAAI,CAAC;KACf;IAED,KAAY,WAAW,GAAG,YAAY,CAAC;IACvC,UAAiB,KAAK;QACpB,IAAI,CAAC,EAAE;YACL,KAAK,CAAC,EAAE;gBACN,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,SAAS,CAAC,EAAE;gBACV,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC;SACH,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../../src/link/interfaces.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,IAAI,YAAY,EAC3B,yBAAyB,EAC1B,MAAM,oBAAoB,CAAC;AAC5B;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAC;AAE5E,MAAM,WAAW,SAAU,SAAQ,kBAAkB;IACnD;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC;IAE5B;;;OAGG;IACH,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC;IAE9B;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAExB;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,sBAAsB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAE1D;;OAEG;IACH,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IAE3D;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC;IAExB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAC,CAAC;CACpF;AAED,yBAAiB,SAAS,CAAC;IACzB,KAAY,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,GAAG,mBAAmB,CAAC;IAC7E,KAAY,QAAQ,GAChB,QAAQ,GACR,QAAQ,GACR,YAAY,GACZ,WAAW,GACX,WAAW,GACX,WAAW,GACX,YAAY,GACZ,WAAW,GACX,SAAS,CAAC;IACd,KAAY,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC;IAE1C,KAAY,YAAY,GAAG,oBAAoB,CAAC;IAEhD,UAAiB,GAAG;QAClB;;WAEG;QACH,KAAK,IAAI,IAAI,CAAC;KACf;IAED,KAAY,WAAW,GAAG,YAAY,CAAC;IACvC,UAAiB,KAAK;QACpB,IAAI,CAAC,EAAE;YACL,KAAK,CAAC,EAAE;gBACN,MAAM,CAAC,EAAE,MAAM,CAAC;gBAChB,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,KAAK,CAAC,EAAE,MAAM,CAAC;aAChB,CAAC;YACF,SAAS,CAAC,EAAE;gBACV,WAAW,CAAC,EAAE,MAAM,CAAC;gBACrB,YAAY,CAAC,EAAE,MAAM,CAAC;gBACtB,WAAW,CAAC,EAAE,MAAM,CAAC;aACtB,CAAC;SACH,CAAC;KACH;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/link/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BaseComponentProps } from '../internal/base-component';\nimport {\n BaseNavigationDetail,\n CancelableEventHandler,\n ClickDetail as _ClickDetail,\n NonCancelableEventHandler,\n} from '../internal/events';\n/**\n * @awsuiSystem core\n */\nimport { NativeAttributes } from '../internal/utils/with-native-attributes';\n\nexport interface LinkProps extends BaseComponentProps {\n /**\n * Determines the visual style of the link as follows:\n *\n * - `primary` - Displays the link text with bold styling for sufficient contrast with surrounding text.\n * Use this for links where the context doesn't imply interactivity such as\n * \"Learn more\" links and links within paragraphs.\n * - `secondary` - Does not provide any additional indicators for interactivity (except for an underline when the user hovers over or focuses the link).\n * This can be used in cases where the interactivity is strongly implied by its context,\n * such as in a table or a list of external links.\n * - `info` - Use for \"info\" links that link to content in a help panel.\n *\n * The default is `secondary`, except inside the following components where it defaults to `primary`:\n * - Table\n * - Cards\n * - Alert\n * - Popover\n * - Help Panel (main `content` only)\n */\n variant?: LinkProps.Variant;\n\n /**\n * Determines the font size and line height.\n * This property is overridden if the variant is `info`.\n */\n fontSize?: LinkProps.FontSize;\n\n /**\n * Determines the text color of the link and its icon.\n *\n * - `normal`: Use in most cases where a link is required.\n * - `inverted`: Use to style links inside Flashbars.\n *\n * This property is overridden if the variant is `info`.\n */\n color?: LinkProps.Color;\n\n /**\n * Marks the link as external by adding an icon after the text. If `href`\n * is provided, opens the link in a new tab when clicked.\n */\n external?: boolean;\n\n /**\n * Specifies where to open the linked URL. Set this to `_blank` to open the URL\n * in a new tab. If you set this property to `_blank`, the component\n * automatically adds `rel=\"noopener noreferrer\"` to avoid performance\n * and security issues.\n *\n * For other options see the documentation for <a> tag's\n * [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n */\n target?: string;\n\n /**\n * The URL that the link points to.\n * If an `href` is not provided, the component will render using a\n * \"button\" role and `target` will not be used.\n */\n href?: string;\n\n /**\n * The text to render inside the link.\n */\n children?: React.ReactNode;\n\n /**\n * Adds an aria-label to the HTML element.\n */\n ariaLabel?: string;\n\n /**\n * Adds an aria-label to the external icon.\n * @i18n\n */\n externalIconAriaLabel?: string;\n\n /**\n * Called when a link is clicked without any modifier keys. If the link has no `href` provided, it will be called on\n * all clicks.\n *\n * If you want to implement client-side routing yourself, use this event and prevent default browser navigation\n * (by calling `preventDefault`).\n */\n onFollow?: CancelableEventHandler<LinkProps.FollowDetail>;\n\n /**\n * Called when the user clicks on the link. Do not use this handler for navigation, use the `onFollow` event instead.\n */\n onClick?: NonCancelableEventHandler<LinkProps.ClickDetail>;\n\n /**\n * Adds a `rel` attribute to the link. If the `rel` property is provided, it overrides the default behaviour.\n * By default, the component sets the `rel` attribute to \"noopener noreferrer\" when `external` is `true` or `target` is `\"_blank\"`.\n */\n rel?: string;\n\n /**\n * @awsuiSystem core\n */\n style?: LinkProps.Style;\n\n /**\n * Attributes to add to the native element.\n * Some attributes will be automatically combined with internal attribute values:\n * - `className` will be appended.\n * - Event handlers will be chained, unless the default is prevented.\n *\n * We do not support using this attribute to apply custom styling.\n *\n * @awsuiSystem core\n */\n nativeAttributes?: NativeAttributes<React.AnchorHTMLAttributes<HTMLAnchorElement>>;\n}\n\nexport namespace LinkProps {\n export type Variant = 'primary' | 'secondary' | 'info' | 'awsui-value-large';\n export type FontSize =\n | 'body-s'\n | 'body-m'\n | 'heading-xs'\n | 'heading-s'\n | 'heading-m'\n | 'heading-l'\n | 'heading-xl'\n | 'display-l'\n | 'inherit';\n export type Color = 'normal' | 'inverted';\n\n export type FollowDetail = BaseNavigationDetail;\n\n export interface Ref {\n /**\n * Sets the browser focus on the anchor element.\n */\n focus(): void;\n }\n\n export type ClickDetail = _ClickDetail;\n export interface Style {\n root?: {\n color?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n focusRing?: {\n borderColor?: string;\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n }\n}\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/link/interfaces.ts"],"names":[],"mappings":"","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\n\nimport { BaseComponentProps } from '../internal/base-component';\nimport {\n BaseNavigationDetail,\n CancelableEventHandler,\n ClickDetail as _ClickDetail,\n NonCancelableEventHandler,\n} from '../internal/events';\n/**\n * @awsuiSystem core\n */\nimport { NativeAttributes } from '../internal/utils/with-native-attributes';\n\nexport interface LinkProps extends BaseComponentProps {\n /**\n * Determines the visual style of the link as follows:\n *\n * - `primary` - Displays the link text with bold styling for sufficient contrast with surrounding text.\n * Use this for links where the context doesn't imply interactivity such as\n * \"Learn more\" links and links within paragraphs.\n * - `secondary` - Does not provide any additional indicators for interactivity (except for an underline when the user hovers over or focuses the link).\n * This can be used in cases where the interactivity is strongly implied by its context,\n * such as in a table or a list of external links.\n * - `info` - Use for \"info\" links that link to content in a help panel.\n *\n * The default is `secondary`, except inside the following components where it defaults to `primary`:\n * - Table\n * - Cards\n * - Alert\n * - Popover\n * - Help Panel (main `content` only)\n */\n variant?: LinkProps.Variant;\n\n /**\n * Determines the font size and line height.\n * This property is overridden if the variant is `info`.\n */\n fontSize?: LinkProps.FontSize;\n\n /**\n * Determines the text color of the link and its icon.\n *\n * - `normal`: Use in most cases where a link is required.\n * - `inverted`: Use to style links inside Flashbars.\n *\n * This property is overridden if the variant is `info`.\n */\n color?: LinkProps.Color;\n\n /**\n * Marks the link as external by adding an icon after the text. If `href`\n * is provided, opens the link in a new tab when clicked.\n */\n external?: boolean;\n\n /**\n * Specifies where to open the linked URL. Set this to `_blank` to open the URL\n * in a new tab. If you set this property to `_blank`, the component\n * automatically adds `rel=\"noopener noreferrer\"` to avoid performance\n * and security issues.\n *\n * For other options see the documentation for <a> tag's\n * [target attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#target).\n */\n target?: string;\n\n /**\n * The URL that the link points to.\n * If an `href` is not provided, the component will render using a\n * \"button\" role and `target` will not be used.\n */\n href?: string;\n\n /**\n * The text to render inside the link.\n */\n children?: React.ReactNode;\n\n /**\n * Adds an aria-label to the HTML element.\n */\n ariaLabel?: string;\n\n /**\n * Adds an aria-label to the external icon.\n * @i18n\n */\n externalIconAriaLabel?: string;\n\n /**\n * Called when a link is clicked without any modifier keys. If the link has no `href` provided, it will be called on\n * all clicks.\n *\n * If you want to implement client-side routing yourself, use this event and prevent default browser navigation\n * (by calling `preventDefault`).\n */\n onFollow?: CancelableEventHandler<LinkProps.FollowDetail>;\n\n /**\n * Called when the user clicks on the link. Do not use this handler for navigation, use the `onFollow` event instead.\n */\n onClick?: NonCancelableEventHandler<LinkProps.ClickDetail>;\n\n /**\n * Adds a `rel` attribute to the link. If the `rel` property is provided, it overrides the default behaviour.\n * By default, the component sets the `rel` attribute to \"noopener noreferrer\" when `external` is `true` or `target` is `\"_blank\"`.\n */\n rel?: string;\n\n /**\n * An object containing CSS properties to customize the link's visual appearance.\n * Refer to the [style](/components/link/?tabId=style) tab for more details.\n * @awsuiSystem core\n */\n style?: LinkProps.Style;\n\n /**\n * Attributes to add to the native element.\n * Some attributes will be automatically combined with internal attribute values:\n * - `className` will be appended.\n * - Event handlers will be chained, unless the default is prevented.\n *\n * We do not support using this attribute to apply custom styling.\n *\n * @awsuiSystem core\n */\n nativeAttributes?: NativeAttributes<React.AnchorHTMLAttributes<HTMLAnchorElement>>;\n}\n\nexport namespace LinkProps {\n export type Variant = 'primary' | 'secondary' | 'info' | 'awsui-value-large';\n export type FontSize =\n | 'body-s'\n | 'body-m'\n | 'heading-xs'\n | 'heading-s'\n | 'heading-m'\n | 'heading-l'\n | 'heading-xl'\n | 'display-l'\n | 'inherit';\n export type Color = 'normal' | 'inverted';\n\n export type FollowDetail = BaseNavigationDetail;\n\n export interface Ref {\n /**\n * Sets the browser focus on the anchor element.\n */\n focus(): void;\n }\n\n export type ClickDetail = _ClickDetail;\n export interface Style {\n root?: {\n color?: {\n active?: string;\n default?: string;\n hover?: string;\n };\n focusRing?: {\n borderColor?: string;\n borderRadius?: string;\n borderWidth?: string;\n };\n };\n }\n}\n"]}
@@ -1,25 +1,25 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "link": "awsui_link_4c84z_1rl6a_145",
5
- "variant-secondary": "awsui_variant-secondary_4c84z_1rl6a_212",
6
- "variant-primary": "awsui_variant-primary_4c84z_1rl6a_247",
7
- "variant-info": "awsui_variant-info_4c84z_1rl6a_280",
8
- "variant-value-large": "awsui_variant-value-large_4c84z_1rl6a_315",
9
- "variant-top-navigation": "awsui_variant-top-navigation_4c84z_1rl6a_347",
10
- "variant-recovery": "awsui_variant-recovery_4c84z_1rl6a_382",
11
- "button": "awsui_button_4c84z_1rl6a_415",
12
- "color-inverted": "awsui_color-inverted_4c84z_1rl6a_450",
13
- "font-size-body-s": "awsui_font-size-body-s_4c84z_1rl6a_471",
14
- "font-size-body-m": "awsui_font-size-body-m_4c84z_1rl6a_478",
15
- "font-size-heading-xs": "awsui_font-size-heading-xs_4c84z_1rl6a_484",
16
- "font-size-heading-s": "awsui_font-size-heading-s_4c84z_1rl6a_490",
17
- "font-size-heading-m": "awsui_font-size-heading-m_4c84z_1rl6a_497",
18
- "font-size-heading-l": "awsui_font-size-heading-l_4c84z_1rl6a_504",
19
- "font-size-heading-xl": "awsui_font-size-heading-xl_4c84z_1rl6a_511",
20
- "font-size-display-l": "awsui_font-size-display-l_4c84z_1rl6a_518",
21
- "font-size-inherit": "awsui_font-size-inherit_4c84z_1rl6a_525",
22
- "icon-wrapper": "awsui_icon-wrapper_4c84z_1rl6a_533",
23
- "icon": "awsui_icon_4c84z_1rl6a_533"
4
+ "link": "awsui_link_4c84z_1grqn_145",
5
+ "variant-secondary": "awsui_variant-secondary_4c84z_1grqn_212",
6
+ "variant-primary": "awsui_variant-primary_4c84z_1grqn_247",
7
+ "variant-info": "awsui_variant-info_4c84z_1grqn_280",
8
+ "variant-value-large": "awsui_variant-value-large_4c84z_1grqn_315",
9
+ "variant-top-navigation": "awsui_variant-top-navigation_4c84z_1grqn_347",
10
+ "variant-recovery": "awsui_variant-recovery_4c84z_1grqn_382",
11
+ "button": "awsui_button_4c84z_1grqn_415",
12
+ "color-inverted": "awsui_color-inverted_4c84z_1grqn_450",
13
+ "font-size-body-s": "awsui_font-size-body-s_4c84z_1grqn_471",
14
+ "font-size-body-m": "awsui_font-size-body-m_4c84z_1grqn_478",
15
+ "font-size-heading-xs": "awsui_font-size-heading-xs_4c84z_1grqn_484",
16
+ "font-size-heading-s": "awsui_font-size-heading-s_4c84z_1grqn_490",
17
+ "font-size-heading-m": "awsui_font-size-heading-m_4c84z_1grqn_497",
18
+ "font-size-heading-l": "awsui_font-size-heading-l_4c84z_1grqn_504",
19
+ "font-size-heading-xl": "awsui_font-size-heading-xl_4c84z_1grqn_511",
20
+ "font-size-display-l": "awsui_font-size-display-l_4c84z_1grqn_518",
21
+ "font-size-inherit": "awsui_font-size-inherit_4c84z_1grqn_525",
22
+ "icon-wrapper": "awsui_icon-wrapper_4c84z_1grqn_533",
23
+ "icon": "awsui_icon_4c84z_1grqn_533"
24
24
  };
25
25