@cloudscape-design/components 3.0.244 → 3.0.246

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 (261) hide show
  1. package/annotation-context/annotation/annotation-trigger.d.ts.map +1 -1
  2. package/annotation-context/annotation/annotation-trigger.js +1 -3
  3. package/annotation-context/annotation/annotation-trigger.js.map +1 -1
  4. package/annotation-context/annotation/styles.css.js +24 -24
  5. package/annotation-context/annotation/styles.scoped.css +29 -29
  6. package/annotation-context/annotation/styles.selectors.js +24 -24
  7. package/app-layout/visual-refresh/styles.css.js +61 -61
  8. package/app-layout/visual-refresh/styles.scoped.css +151 -151
  9. package/app-layout/visual-refresh/styles.selectors.js +61 -61
  10. package/app-layout/visual-refresh/trigger-button.d.ts.map +1 -1
  11. package/app-layout/visual-refresh/trigger-button.js +2 -4
  12. package/app-layout/visual-refresh/trigger-button.js.map +1 -1
  13. package/breadcrumb-group/item/item.d.ts.map +1 -1
  14. package/breadcrumb-group/item/item.js +2 -5
  15. package/breadcrumb-group/item/item.js.map +1 -1
  16. package/breadcrumb-group/item/styles.css.js +9 -9
  17. package/breadcrumb-group/item/styles.scoped.css +17 -17
  18. package/breadcrumb-group/item/styles.selectors.js +9 -9
  19. package/button/internal.d.ts.map +1 -1
  20. package/button/internal.js +2 -3
  21. package/button/internal.js.map +1 -1
  22. package/button/styles.css.js +19 -18
  23. package/button/styles.scoped.css +136 -136
  24. package/button/styles.selectors.js +19 -18
  25. package/calendar/grid/index.d.ts.map +1 -1
  26. package/calendar/grid/index.js +2 -4
  27. package/calendar/grid/index.js.map +1 -1
  28. package/calendar/styles.css.js +18 -18
  29. package/calendar/styles.scoped.css +38 -38
  30. package/calendar/styles.selectors.js +18 -18
  31. package/code-editor/styles.css.js +32 -32
  32. package/code-editor/styles.scoped.css +109 -109
  33. package/code-editor/styles.selectors.js +32 -32
  34. package/code-editor/tab-button.d.ts.map +1 -1
  35. package/code-editor/tab-button.js +2 -4
  36. package/code-editor/tab-button.js.map +1 -1
  37. package/date-picker/index.d.ts.map +1 -1
  38. package/date-picker/index.js +1 -3
  39. package/date-picker/index.js.map +1 -1
  40. package/date-picker/styles.css.js +7 -7
  41. package/date-picker/styles.scoped.css +9 -9
  42. package/date-picker/styles.selectors.js +7 -7
  43. package/date-range-picker/calendar/grids/grid.d.ts.map +1 -1
  44. package/date-range-picker/calendar/grids/grid.js +1 -3
  45. package/date-range-picker/calendar/grids/grid.js.map +1 -1
  46. package/date-range-picker/calendar/grids/index.d.ts.map +1 -1
  47. package/date-range-picker/calendar/grids/index.js +1 -3
  48. package/date-range-picker/calendar/grids/index.js.map +1 -1
  49. package/date-range-picker/calendar/grids/styles.css.js +25 -25
  50. package/date-range-picker/calendar/grids/styles.scoped.css +42 -42
  51. package/date-range-picker/calendar/grids/styles.selectors.js +25 -25
  52. package/date-range-picker/dropdown.d.ts.map +1 -1
  53. package/date-range-picker/dropdown.js +1 -3
  54. package/date-range-picker/dropdown.js.map +1 -1
  55. package/date-range-picker/styles.css.js +38 -38
  56. package/date-range-picker/styles.scoped.css +45 -45
  57. package/date-range-picker/styles.selectors.js +38 -38
  58. package/expandable-section/expandable-section-header.d.ts.map +1 -1
  59. package/expandable-section/expandable-section-header.js +8 -11
  60. package/expandable-section/expandable-section-header.js.map +1 -1
  61. package/expandable-section/styles.css.js +23 -23
  62. package/expandable-section/styles.scoped.css +44 -44
  63. package/expandable-section/styles.selectors.js +23 -23
  64. package/flashbar/collapsible-flashbar.d.ts.map +1 -1
  65. package/flashbar/collapsible-flashbar.js +1 -3
  66. package/flashbar/collapsible-flashbar.js.map +1 -1
  67. package/flashbar/flash.d.ts.map +1 -1
  68. package/flashbar/flash.js +1 -3
  69. package/flashbar/flash.js.map +1 -1
  70. package/flashbar/styles.css.js +45 -45
  71. package/flashbar/styles.scoped.css +144 -144
  72. package/flashbar/styles.selectors.js +45 -45
  73. package/internal/components/abstract-switch/index.d.ts.map +1 -1
  74. package/internal/components/abstract-switch/index.js +8 -4
  75. package/internal/components/abstract-switch/index.js.map +1 -1
  76. package/internal/components/abstract-switch/styles.css.js +13 -13
  77. package/internal/components/abstract-switch/styles.scoped.css +19 -19
  78. package/internal/components/abstract-switch/styles.selectors.js +13 -13
  79. package/internal/components/button-trigger/index.d.ts.map +1 -1
  80. package/internal/components/button-trigger/index.js +1 -3
  81. package/internal/components/button-trigger/index.js.map +1 -1
  82. package/internal/components/button-trigger/styles.css.js +9 -9
  83. package/internal/components/button-trigger/styles.scoped.css +23 -23
  84. package/internal/components/button-trigger/styles.selectors.js +9 -9
  85. package/internal/components/chart-legend/index.d.ts.map +1 -1
  86. package/internal/components/chart-legend/index.js +2 -4
  87. package/internal/components/chart-legend/index.js.map +1 -1
  88. package/internal/components/chart-legend/styles.css.js +6 -6
  89. package/internal/components/chart-legend/styles.scoped.css +15 -15
  90. package/internal/components/chart-legend/styles.selectors.js +6 -6
  91. package/internal/components/chart-plot/focus-outline.d.ts.map +1 -1
  92. package/internal/components/chart-plot/focus-outline.js +25 -3
  93. package/internal/components/chart-plot/focus-outline.js.map +1 -1
  94. package/internal/components/filtering-token/index.d.ts +2 -1
  95. package/internal/components/filtering-token/index.d.ts.map +1 -1
  96. package/internal/components/filtering-token/index.js +3 -5
  97. package/internal/components/filtering-token/index.js.map +1 -1
  98. package/internal/components/filtering-token/styles.css.js +7 -7
  99. package/internal/components/filtering-token/styles.scoped.css +13 -13
  100. package/internal/components/filtering-token/styles.selectors.js +7 -7
  101. package/internal/components/menu-dropdown/index.d.ts.map +1 -1
  102. package/internal/components/menu-dropdown/index.js +2 -4
  103. package/internal/components/menu-dropdown/index.js.map +1 -1
  104. package/internal/components/menu-dropdown/styles.css.js +7 -7
  105. package/internal/components/menu-dropdown/styles.scoped.css +13 -13
  106. package/internal/components/menu-dropdown/styles.selectors.js +7 -7
  107. package/internal/components/options-list/utils/use-keyboard.d.ts +0 -2
  108. package/internal/components/options-list/utils/use-keyboard.d.ts.map +1 -1
  109. package/internal/components/options-list/utils/use-keyboard.js +2 -3
  110. package/internal/components/options-list/utils/use-keyboard.js.map +1 -1
  111. package/internal/components/token-list/index.d.ts +1 -1
  112. package/internal/components/token-list/index.d.ts.map +1 -1
  113. package/internal/components/token-list/index.js +3 -3
  114. package/internal/components/token-list/index.js.map +1 -1
  115. package/internal/components/token-list/interfaces.d.ts +0 -1
  116. package/internal/components/token-list/interfaces.d.ts.map +1 -1
  117. package/internal/components/token-list/interfaces.js.map +1 -1
  118. package/internal/components/token-list/styles.css.js +9 -9
  119. package/internal/components/token-list/styles.scoped.css +20 -20
  120. package/internal/components/token-list/styles.selectors.js +9 -9
  121. package/internal/components/token-list/token-focus-controller.js +1 -1
  122. package/internal/components/token-list/token-focus-controller.js.map +1 -1
  123. package/internal/components/token-list/token-limit-toggle.d.ts.map +1 -1
  124. package/internal/components/token-list/token-limit-toggle.js +1 -3
  125. package/internal/components/token-list/token-limit-toggle.js.map +1 -1
  126. package/internal/environment.js +1 -1
  127. package/internal/hooks/focus-visible/index.d.ts +2 -5
  128. package/internal/hooks/focus-visible/index.d.ts.map +1 -1
  129. package/internal/hooks/focus-visible/index.js +42 -22
  130. package/internal/hooks/focus-visible/index.js.map +1 -1
  131. package/internal/hooks/use-base-component/index.d.ts.map +1 -1
  132. package/internal/hooks/use-base-component/index.js +2 -0
  133. package/internal/hooks/use-base-component/index.js.map +1 -1
  134. package/internal/manifest.json +1 -1
  135. package/link/internal.d.ts.map +1 -1
  136. package/link/internal.js +1 -3
  137. package/link/internal.js.map +1 -1
  138. package/link/styles.css.js +20 -20
  139. package/link/styles.scoped.css +71 -71
  140. package/link/styles.selectors.js +20 -20
  141. package/package.json +1 -1
  142. package/pagination/internal.d.ts.map +1 -1
  143. package/pagination/internal.js +1 -3
  144. package/pagination/internal.js.map +1 -1
  145. package/pagination/styles.css.js +9 -9
  146. package/pagination/styles.scoped.css +23 -23
  147. package/pagination/styles.selectors.js +9 -9
  148. package/popover/internal.d.ts.map +1 -1
  149. package/popover/internal.js +1 -3
  150. package/popover/internal.js.map +1 -1
  151. package/popover/styles.css.js +50 -50
  152. package/popover/styles.scoped.css +63 -63
  153. package/popover/styles.selectors.js +50 -50
  154. package/property-filter/index.d.ts.map +1 -1
  155. package/property-filter/index.js +2 -2
  156. package/property-filter/index.js.map +1 -1
  157. package/property-filter/token.d.ts.map +1 -1
  158. package/property-filter/token.js +1 -1
  159. package/property-filter/token.js.map +1 -1
  160. package/segmented-control/segment.d.ts.map +1 -1
  161. package/segmented-control/segment.js +1 -3
  162. package/segmented-control/segment.js.map +1 -1
  163. package/segmented-control/styles.css.js +14 -14
  164. package/segmented-control/styles.scoped.css +33 -33
  165. package/segmented-control/styles.selectors.js +14 -14
  166. package/select/utils/use-select.d.ts.map +1 -1
  167. package/select/utils/use-select.js +0 -3
  168. package/select/utils/use-select.js.map +1 -1
  169. package/side-navigation/internal.d.ts.map +1 -1
  170. package/side-navigation/internal.js +2 -5
  171. package/side-navigation/internal.js.map +1 -1
  172. package/side-navigation/styles.css.js +27 -27
  173. package/side-navigation/styles.scoped.css +37 -37
  174. package/side-navigation/styles.selectors.js +27 -27
  175. package/split-panel/index.d.ts.map +1 -1
  176. package/split-panel/index.js +1 -3
  177. package/split-panel/index.js.map +1 -1
  178. package/split-panel/styles.css.js +59 -59
  179. package/split-panel/styles.scoped.css +81 -81
  180. package/split-panel/styles.selectors.js +59 -59
  181. package/table/body-cell/index.d.ts.map +1 -1
  182. package/table/body-cell/index.js +3 -3
  183. package/table/body-cell/index.js.map +1 -1
  184. package/table/body-cell/styles.css.js +18 -18
  185. package/table/body-cell/styles.scoped.css +57 -55
  186. package/table/body-cell/styles.selectors.js +18 -18
  187. package/table/header-cell/index.d.ts.map +1 -1
  188. package/table/header-cell/index.js +11 -9
  189. package/table/header-cell/index.js.map +1 -1
  190. package/table/header-cell/styles.css.js +19 -19
  191. package/table/header-cell/styles.scoped.css +32 -32
  192. package/table/header-cell/styles.selectors.js +19 -19
  193. package/table/internal.d.ts.map +1 -1
  194. package/table/internal.js +1 -3
  195. package/table/internal.js.map +1 -1
  196. package/table/resizer/styles.css.js +6 -6
  197. package/table/resizer/styles.scoped.css +11 -11
  198. package/table/resizer/styles.selectors.js +6 -6
  199. package/table/styles.css.js +33 -33
  200. package/table/styles.scoped.css +41 -41
  201. package/table/styles.selectors.js +33 -33
  202. package/tabs/index.d.ts.map +1 -1
  203. package/tabs/index.js +8 -3
  204. package/tabs/index.js.map +1 -1
  205. package/tabs/styles.css.js +21 -21
  206. package/tabs/styles.scoped.css +38 -38
  207. package/tabs/styles.selectors.js +21 -21
  208. package/tabs/tab-header-bar.d.ts.map +1 -1
  209. package/tabs/tab-header-bar.js +9 -3
  210. package/tabs/tab-header-bar.js.map +1 -1
  211. package/tag-editor/internal.d.ts.map +1 -1
  212. package/tag-editor/internal.js +2 -4
  213. package/tag-editor/internal.js.map +1 -1
  214. package/tag-editor/styles.css.js +3 -3
  215. package/tag-editor/styles.scoped.css +10 -10
  216. package/tag-editor/styles.selectors.js +3 -3
  217. package/token-group/dismiss-button.d.ts.map +1 -1
  218. package/token-group/dismiss-button.js +1 -3
  219. package/token-group/dismiss-button.js.map +1 -1
  220. package/token-group/internal.js +2 -2
  221. package/token-group/internal.js.map +1 -1
  222. package/token-group/styles.css.js +5 -5
  223. package/token-group/styles.scoped.css +12 -12
  224. package/token-group/styles.selectors.js +5 -5
  225. package/token-group/token.d.ts +3 -5
  226. package/token-group/token.d.ts.map +1 -1
  227. package/token-group/token.js +2 -2
  228. package/token-group/token.js.map +1 -1
  229. package/top-navigation/1.0-beta/internal.d.ts.map +1 -1
  230. package/top-navigation/1.0-beta/internal.js +1 -3
  231. package/top-navigation/1.0-beta/internal.js.map +1 -1
  232. package/top-navigation/1.0-beta/styles.css.js +25 -25
  233. package/top-navigation/1.0-beta/styles.scoped.css +42 -42
  234. package/top-navigation/1.0-beta/styles.selectors.js +25 -25
  235. package/top-navigation/interfaces.d.ts +4 -0
  236. package/top-navigation/interfaces.d.ts.map +1 -1
  237. package/top-navigation/interfaces.js.map +1 -1
  238. package/top-navigation/internal.d.ts.map +1 -1
  239. package/top-navigation/internal.js +1 -3
  240. package/top-navigation/internal.js.map +1 -1
  241. package/top-navigation/parts/overflow-menu/menu-item.d.ts.map +1 -1
  242. package/top-navigation/parts/overflow-menu/menu-item.js +9 -13
  243. package/top-navigation/parts/overflow-menu/menu-item.js.map +1 -1
  244. package/top-navigation/parts/utility.d.ts.map +1 -1
  245. package/top-navigation/parts/utility.js +2 -1
  246. package/top-navigation/parts/utility.js.map +1 -1
  247. package/top-navigation/styles.css.js +47 -47
  248. package/top-navigation/styles.scoped.css +66 -66
  249. package/top-navigation/styles.selectors.js +47 -47
  250. package/tutorial-panel/components/tutorial-list/index.d.ts.map +1 -1
  251. package/tutorial-panel/components/tutorial-list/index.js +1 -3
  252. package/tutorial-panel/components/tutorial-list/index.js.map +1 -1
  253. package/tutorial-panel/components/tutorial-list/styles.css.js +18 -18
  254. package/tutorial-panel/components/tutorial-list/styles.scoped.css +27 -27
  255. package/tutorial-panel/components/tutorial-list/styles.selectors.js +18 -18
  256. package/wizard/styles.css.js +32 -32
  257. package/wizard/styles.scoped.css +63 -63
  258. package/wizard/styles.selectors.js +32 -32
  259. package/wizard/wizard-form.d.ts.map +1 -1
  260. package/wizard/wizard-form.js +1 -3
  261. package/wizard/wizard-form.js.map +1 -1
@@ -2,14 +2,12 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import clsx from 'clsx';
4
4
  import React, { useRef, memo } from 'react';
5
- import useFocusVisible from '../../hooks/focus-visible';
6
5
  import InternalBox from '../../../box/internal';
7
6
  import { KeyCode } from '../../keycode';
8
7
  import SeriesMarker from '../chart-series-marker';
9
8
  import styles from './styles.css.js';
10
9
  export default memo(ChartLegend);
11
10
  function ChartLegend({ series, onHighlightChange, highlightedSeries, legendTitle, ariaLabel, plotContainerRef, }) {
12
- const focusVisible = useFocusVisible();
13
11
  const containerRef = useRef(null);
14
12
  const segmentsRef = useRef([]);
15
13
  const highlightedSeriesIndex = findSeriesIndex(series, highlightedSeries);
@@ -71,7 +69,7 @@ function ChartLegend({ series, onHighlightChange, highlightedSeries, legendTitle
71
69
  const someHighlighted = highlightedSeries !== null;
72
70
  const isHighlighted = highlightedSeries === s.datum;
73
71
  const isDimmed = someHighlighted && !isHighlighted;
74
- return (React.createElement("div", Object.assign({}, focusVisible, { role: "button", key: index, "aria-pressed": isHighlighted, className: clsx(styles.marker, {
72
+ return (React.createElement("div", { role: "button", key: index, "aria-pressed": isHighlighted, className: clsx(styles.marker, {
75
73
  [styles['marker--dimmed']]: isDimmed,
76
74
  [styles['marker--highlighted']]: isHighlighted,
77
75
  }), ref: elem => {
@@ -81,7 +79,7 @@ function ChartLegend({ series, onHighlightChange, highlightedSeries, legendTitle
81
79
  else {
82
80
  delete segmentsRef.current[index];
83
81
  }
84
- }, tabIndex: index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1, onFocus: () => handleSelection(index), onClick: () => handleSelection(index), onMouseOver: () => handleMouseOver(s.datum), onMouseLeave: handleMouseLeave }),
82
+ }, tabIndex: index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1, onFocus: () => handleSelection(index), onClick: () => handleSelection(index), onMouseOver: () => handleMouseOver(s.datum), onMouseLeave: handleMouseLeave },
85
83
  React.createElement(SeriesMarker, { color: s.color, type: s.type }),
86
84
  " ",
87
85
  s.label));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/components/chart-legend/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef, memo } from 'react';\n\nimport useFocusVisible from '../../hooks/focus-visible';\nimport InternalBox from '../../../box/internal';\nimport { KeyCode } from '../../keycode';\nimport SeriesMarker, { ChartSeriesMarkerType } from '../chart-series-marker';\nimport styles from './styles.css.js';\n\nexport interface ChartLegendItem<T> {\n label: string;\n color: string;\n type: ChartSeriesMarkerType;\n datum: T;\n}\n\nexport interface ChartLegendProps<T> {\n series: ReadonlyArray<ChartLegendItem<T>>;\n highlightedSeries: T | null;\n legendTitle?: string;\n ariaLabel?: string;\n plotContainerRef?: React.RefObject<HTMLDivElement>;\n onHighlightChange: (series: T | null) => void;\n}\n\nexport default memo(ChartLegend) as typeof ChartLegend;\n\nfunction ChartLegend<T>({\n series,\n onHighlightChange,\n highlightedSeries,\n legendTitle,\n ariaLabel,\n plotContainerRef,\n}: ChartLegendProps<T>) {\n const focusVisible = useFocusVisible();\n const containerRef = useRef<HTMLDivElement>(null);\n const segmentsRef = useRef<Record<number, HTMLElement>>([]);\n\n const highlightedSeriesIndex = findSeriesIndex(series, highlightedSeries);\n\n const highlightLeft = () => {\n const currentIndex = highlightedSeriesIndex ?? 0;\n const nextIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : series.length - 1;\n segmentsRef.current[nextIndex]?.focus();\n };\n\n const highlightRight = () => {\n const currentIndex = highlightedSeriesIndex ?? 0;\n const nextIndex = currentIndex + 1 < series.length ? currentIndex + 1 : 0;\n segmentsRef.current[nextIndex]?.focus();\n };\n\n const handleKeyPress = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.right || event.keyCode === KeyCode.left) {\n // Preventing default fixes an issue in Safari+VO when VO additionally interprets arrow keys as its commands.\n event.preventDefault();\n\n switch (event.keyCode) {\n case KeyCode.left:\n return highlightLeft();\n\n case KeyCode.right:\n return highlightRight();\n\n default:\n return;\n }\n }\n };\n\n const handleSelection = (index: number) => {\n if (series[index].datum !== highlightedSeries) {\n onHighlightChange(series[index].datum);\n }\n };\n\n const handleBlur = (event: React.FocusEvent<Element>) => {\n // We need to check if the next element to be focused inside the plot container or not\n // so we don't clear the selected legend in case we are still focusing elements ( legend elements )\n // inside the plot container\n if (\n event.relatedTarget === null ||\n (containerRef.current &&\n !containerRef.current.contains(event.relatedTarget) &&\n !plotContainerRef?.current?.contains(event.relatedTarget))\n ) {\n onHighlightChange(null);\n }\n };\n\n const handleMouseOver = (s: T) => {\n if (s !== highlightedSeries) {\n onHighlightChange(s);\n }\n };\n\n const handleMouseLeave = () => {\n onHighlightChange(null);\n };\n\n return (\n <>\n <div\n ref={containerRef}\n role=\"toolbar\"\n aria-label={legendTitle || ariaLabel}\n className={styles.root}\n onKeyDown={handleKeyPress}\n onBlur={handleBlur}\n >\n {legendTitle && (\n <InternalBox fontWeight=\"bold\" className={styles.title}>\n {legendTitle}\n </InternalBox>\n )}\n\n <div className={styles.list}>\n {series.map((s, index) => {\n const someHighlighted = highlightedSeries !== null;\n const isHighlighted = highlightedSeries === s.datum;\n const isDimmed = someHighlighted && !isHighlighted;\n return (\n <div\n {...focusVisible}\n role=\"button\"\n key={index}\n aria-pressed={isHighlighted}\n className={clsx(styles.marker, {\n [styles['marker--dimmed']]: isDimmed,\n [styles['marker--highlighted']]: isHighlighted,\n })}\n ref={elem => {\n if (elem) {\n segmentsRef.current[index] = elem;\n } else {\n delete segmentsRef.current[index];\n }\n }}\n tabIndex={\n index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1\n }\n onFocus={() => handleSelection(index)}\n onClick={() => handleSelection(index)}\n onMouseOver={() => handleMouseOver(s.datum)}\n onMouseLeave={handleMouseLeave}\n >\n <SeriesMarker color={s.color} type={s.type} /> {s.label}\n </div>\n );\n })}\n </div>\n </div>\n </>\n );\n}\n\nfunction findSeriesIndex<T>(series: ReadonlyArray<ChartLegendItem<T>>, targetSeries: null | T): undefined | number {\n for (let index = 0; index < series.length; index++) {\n if (series[index].datum === targetSeries) {\n return index;\n }\n }\n return undefined;\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/components/chart-legend/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React, { useRef, memo } from 'react';\n\nimport InternalBox from '../../../box/internal';\nimport { KeyCode } from '../../keycode';\nimport SeriesMarker, { ChartSeriesMarkerType } from '../chart-series-marker';\nimport styles from './styles.css.js';\n\nexport interface ChartLegendItem<T> {\n label: string;\n color: string;\n type: ChartSeriesMarkerType;\n datum: T;\n}\n\nexport interface ChartLegendProps<T> {\n series: ReadonlyArray<ChartLegendItem<T>>;\n highlightedSeries: T | null;\n legendTitle?: string;\n ariaLabel?: string;\n plotContainerRef?: React.RefObject<HTMLDivElement>;\n onHighlightChange: (series: T | null) => void;\n}\n\nexport default memo(ChartLegend) as typeof ChartLegend;\n\nfunction ChartLegend<T>({\n series,\n onHighlightChange,\n highlightedSeries,\n legendTitle,\n ariaLabel,\n plotContainerRef,\n}: ChartLegendProps<T>) {\n const containerRef = useRef<HTMLDivElement>(null);\n const segmentsRef = useRef<Record<number, HTMLElement>>([]);\n\n const highlightedSeriesIndex = findSeriesIndex(series, highlightedSeries);\n\n const highlightLeft = () => {\n const currentIndex = highlightedSeriesIndex ?? 0;\n const nextIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : series.length - 1;\n segmentsRef.current[nextIndex]?.focus();\n };\n\n const highlightRight = () => {\n const currentIndex = highlightedSeriesIndex ?? 0;\n const nextIndex = currentIndex + 1 < series.length ? currentIndex + 1 : 0;\n segmentsRef.current[nextIndex]?.focus();\n };\n\n const handleKeyPress = (event: React.KeyboardEvent) => {\n if (event.keyCode === KeyCode.right || event.keyCode === KeyCode.left) {\n // Preventing default fixes an issue in Safari+VO when VO additionally interprets arrow keys as its commands.\n event.preventDefault();\n\n switch (event.keyCode) {\n case KeyCode.left:\n return highlightLeft();\n\n case KeyCode.right:\n return highlightRight();\n\n default:\n return;\n }\n }\n };\n\n const handleSelection = (index: number) => {\n if (series[index].datum !== highlightedSeries) {\n onHighlightChange(series[index].datum);\n }\n };\n\n const handleBlur = (event: React.FocusEvent<Element>) => {\n // We need to check if the next element to be focused inside the plot container or not\n // so we don't clear the selected legend in case we are still focusing elements ( legend elements )\n // inside the plot container\n if (\n event.relatedTarget === null ||\n (containerRef.current &&\n !containerRef.current.contains(event.relatedTarget) &&\n !plotContainerRef?.current?.contains(event.relatedTarget))\n ) {\n onHighlightChange(null);\n }\n };\n\n const handleMouseOver = (s: T) => {\n if (s !== highlightedSeries) {\n onHighlightChange(s);\n }\n };\n\n const handleMouseLeave = () => {\n onHighlightChange(null);\n };\n\n return (\n <>\n <div\n ref={containerRef}\n role=\"toolbar\"\n aria-label={legendTitle || ariaLabel}\n className={styles.root}\n onKeyDown={handleKeyPress}\n onBlur={handleBlur}\n >\n {legendTitle && (\n <InternalBox fontWeight=\"bold\" className={styles.title}>\n {legendTitle}\n </InternalBox>\n )}\n\n <div className={styles.list}>\n {series.map((s, index) => {\n const someHighlighted = highlightedSeries !== null;\n const isHighlighted = highlightedSeries === s.datum;\n const isDimmed = someHighlighted && !isHighlighted;\n return (\n <div\n role=\"button\"\n key={index}\n aria-pressed={isHighlighted}\n className={clsx(styles.marker, {\n [styles['marker--dimmed']]: isDimmed,\n [styles['marker--highlighted']]: isHighlighted,\n })}\n ref={elem => {\n if (elem) {\n segmentsRef.current[index] = elem;\n } else {\n delete segmentsRef.current[index];\n }\n }}\n tabIndex={\n index === highlightedSeriesIndex || (highlightedSeriesIndex === undefined && index === 0) ? 0 : -1\n }\n onFocus={() => handleSelection(index)}\n onClick={() => handleSelection(index)}\n onMouseOver={() => handleMouseOver(s.datum)}\n onMouseLeave={handleMouseLeave}\n >\n <SeriesMarker color={s.color} type={s.type} /> {s.label}\n </div>\n );\n })}\n </div>\n </div>\n </>\n );\n}\n\nfunction findSeriesIndex<T>(series: ReadonlyArray<ChartLegendItem<T>>, targetSeries: null | T): undefined | number {\n for (let index = 0; index < series.length; index++) {\n if (series[index].datum === targetSeries) {\n return index;\n }\n }\n return undefined;\n}\n"]}
@@ -1,11 +1,11 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "marker": "awsui_marker_1kjc7_6thzz_93",
5
- "root": "awsui_root_1kjc7_6thzz_111",
6
- "title": "awsui_title_1kjc7_6thzz_127",
7
- "list": "awsui_list_1kjc7_6thzz_131",
8
- "marker--dimmed": "awsui_marker--dimmed_1kjc7_6thzz_173",
9
- "marker--highlighted": "awsui_marker--highlighted_1kjc7_6thzz_176"
4
+ "marker": "awsui_marker_1kjc7_frtmv_93",
5
+ "root": "awsui_root_1kjc7_frtmv_111",
6
+ "title": "awsui_title_1kjc7_frtmv_127",
7
+ "list": "awsui_list_1kjc7_frtmv_131",
8
+ "marker--dimmed": "awsui_marker--dimmed_1kjc7_frtmv_173",
9
+ "marker--highlighted": "awsui_marker--highlighted_1kjc7_frtmv_176"
10
10
  };
11
11
 
@@ -90,16 +90,16 @@ 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_marker_1kjc7_6thzz_93:not(#\9) {
93
+ .awsui_marker_1kjc7_frtmv_93:not(#\9) {
94
94
  transition: opacity var(--motion-duration-transition-quick-x85tae, 90ms) var(--motion-easing-transition-quick-lukbd8, linear);
95
95
  }
96
96
  @media (prefers-reduced-motion: reduce) {
97
- .awsui_marker_1kjc7_6thzz_93:not(#\9) {
97
+ .awsui_marker_1kjc7_frtmv_93:not(#\9) {
98
98
  animation: none;
99
99
  transition: none;
100
100
  }
101
101
  }
102
- .awsui-motion-disabled .awsui_marker_1kjc7_6thzz_93:not(#\9), .awsui-mode-entering .awsui_marker_1kjc7_6thzz_93:not(#\9) {
102
+ .awsui-motion-disabled .awsui_marker_1kjc7_frtmv_93:not(#\9), .awsui-mode-entering .awsui_marker_1kjc7_frtmv_93:not(#\9) {
103
103
  animation: none;
104
104
  transition: none;
105
105
  }
@@ -108,7 +108,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
108
108
  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
109
109
  SPDX-License-Identifier: Apache-2.0
110
110
  */
111
- .awsui_root_1kjc7_6thzz_111:not(#\9) {
111
+ .awsui_root_1kjc7_frtmv_111:not(#\9) {
112
112
  /* stylelint-disable-next-line plugin/no-unsupported-browser-features */
113
113
  border-collapse: separate;
114
114
  border-spacing: 0;
@@ -146,15 +146,15 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
146
146
  -webkit-font-smoothing: auto;
147
147
  -moz-osx-font-smoothing: auto;
148
148
  }
149
- .awsui_root_1kjc7_6thzz_111:not(#\9):focus {
149
+ .awsui_root_1kjc7_frtmv_111:not(#\9):focus {
150
150
  outline: none;
151
151
  }
152
152
 
153
- .awsui_title_1kjc7_6thzz_127:not(#\9) {
153
+ .awsui_title_1kjc7_frtmv_127:not(#\9) {
154
154
  /* used in test utils */
155
155
  }
156
156
 
157
- .awsui_list_1kjc7_6thzz_131:not(#\9) {
157
+ .awsui_list_1kjc7_frtmv_131:not(#\9) {
158
158
  display: flex;
159
159
  flex-wrap: wrap;
160
160
  list-style: none;
@@ -162,7 +162,7 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
162
162
  padding: 0;
163
163
  }
164
164
 
165
- .awsui_marker_1kjc7_6thzz_93:not(#\9) {
165
+ .awsui_marker_1kjc7_frtmv_93:not(#\9) {
166
166
  display: inline-flex;
167
167
  align-items: flex-start;
168
168
  margin-right: var(--space-m-17eucw, 16px);
@@ -172,17 +172,17 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
172
172
  cursor: pointer;
173
173
  opacity: 1;
174
174
  }
175
- .awsui_marker_1kjc7_6thzz_93:not(#\9):focus {
175
+ .awsui_marker_1kjc7_frtmv_93:not(#\9):focus {
176
176
  outline: none;
177
177
  }
178
- .awsui_marker_1kjc7_6thzz_93[data-awsui-focus-visible=true]:not(#\9):focus {
178
+ body[data-awsui-focus-visible=true] .awsui_marker_1kjc7_frtmv_93:not(#\9):focus {
179
179
  position: relative;
180
180
  }
181
- .awsui_marker_1kjc7_6thzz_93[data-awsui-focus-visible=true]:not(#\9):focus {
181
+ body[data-awsui-focus-visible=true] .awsui_marker_1kjc7_frtmv_93:not(#\9):focus {
182
182
  outline: 2px dotted transparent;
183
183
  outline-offset: calc(2px - 1px);
184
184
  }
185
- .awsui_marker_1kjc7_6thzz_93[data-awsui-focus-visible=true]:not(#\9):focus::before {
185
+ body[data-awsui-focus-visible=true] .awsui_marker_1kjc7_frtmv_93:not(#\9):focus::before {
186
186
  content: " ";
187
187
  display: block;
188
188
  position: absolute;
@@ -193,12 +193,12 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
193
193
  border-radius: var(--border-radius-control-default-focus-ring-7661kz, 4px);
194
194
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
195
195
  }
196
- .awsui_marker_1kjc7_6thzz_93:not(#\9):last-child {
196
+ .awsui_marker_1kjc7_frtmv_93:not(#\9):last-child {
197
197
  margin-right: 0;
198
198
  }
199
- .awsui_marker_1kjc7_6thzz_93.awsui_marker--dimmed_1kjc7_6thzz_173:not(#\9) {
199
+ .awsui_marker_1kjc7_frtmv_93.awsui_marker--dimmed_1kjc7_frtmv_173:not(#\9) {
200
200
  opacity: 0.35;
201
201
  }
202
- .awsui_marker_1kjc7_6thzz_93.awsui_marker--highlighted_1kjc7_6thzz_176:not(#\9) {
202
+ .awsui_marker_1kjc7_frtmv_93.awsui_marker--highlighted_1kjc7_frtmv_176:not(#\9) {
203
203
  /* used in test utils */
204
204
  }
@@ -2,11 +2,11 @@
2
2
  // es-module interop with Babel and Typescript
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  module.exports.default = {
5
- "marker": "awsui_marker_1kjc7_6thzz_93",
6
- "root": "awsui_root_1kjc7_6thzz_111",
7
- "title": "awsui_title_1kjc7_6thzz_127",
8
- "list": "awsui_list_1kjc7_6thzz_131",
9
- "marker--dimmed": "awsui_marker--dimmed_1kjc7_6thzz_173",
10
- "marker--highlighted": "awsui_marker--highlighted_1kjc7_6thzz_176"
5
+ "marker": "awsui_marker_1kjc7_frtmv_93",
6
+ "root": "awsui_root_1kjc7_frtmv_111",
7
+ "title": "awsui_title_1kjc7_frtmv_127",
8
+ "list": "awsui_list_1kjc7_frtmv_131",
9
+ "marker--dimmed": "awsui_marker--dimmed_1kjc7_frtmv_173",
10
+ "marker--highlighted": "awsui_marker--highlighted_1kjc7_frtmv_176"
11
11
  };
12
12
 
@@ -1 +1 @@
1
- {"version":3,"file":"focus-outline.d.ts","sourceRoot":"lib/default/","sources":["internal/components/chart-plot/focus-outline.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAEvC,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAU,EAAE,EAAE,iBAAiB,eAkB7F"}
1
+ {"version":3,"file":"focus-outline.d.ts","sourceRoot":"lib/default/","sources":["internal/components/chart-plot/focus-outline.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAG3D,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAGvC,MAAM,WAAW,iBAAiB;IAChC,UAAU,CAAC,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC9C,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA4BD,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAU,EAAE,EAAE,iBAAiB,eAkB7F"}
@@ -1,11 +1,33 @@
1
1
  // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
  // SPDX-License-Identifier: Apache-2.0
3
- import React, { useEffect, useRef } from 'react';
3
+ import React, { useEffect, useRef, useState } from 'react';
4
4
  import styles from './styles.css.js';
5
- import useFocusVisible from '../../hooks/focus-visible/index';
5
+ import { isModifierKey } from '../../hooks/focus-visible';
6
+ function useFocusVisibleState() {
7
+ const [focusVisible, setFocusVisible] = useState(false);
8
+ useEffect(() => {
9
+ function handleMousedown() {
10
+ return setFocusVisible(false);
11
+ }
12
+ function handleKeydown(event) {
13
+ // we do not want to highlight focused element
14
+ // when special keys are pressed
15
+ if (!isModifierKey(event)) {
16
+ setFocusVisible(true);
17
+ }
18
+ }
19
+ document.addEventListener('mousedown', handleMousedown);
20
+ document.addEventListener('keydown', handleKeydown);
21
+ return () => {
22
+ document.removeEventListener('mousedown', handleMousedown);
23
+ document.removeEventListener('keydown', handleKeydown);
24
+ };
25
+ });
26
+ return focusVisible;
27
+ }
6
28
  export default function FocusOutline({ elementKey, elementRef, offset = 0 }) {
7
29
  const ref = useRef(null);
8
- const { 'data-awsui-focus-visible': focusVisible } = useFocusVisible();
30
+ const focusVisible = useFocusVisibleState();
9
31
  useEffect(() => {
10
32
  if (!ref.current) {
11
33
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"focus-outline.js","sourceRoot":"lib/default/","sources":["internal/components/chart-plot/focus-outline.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEjD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,eAAe,MAAM,iCAAiC,CAAC;AAS9D,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC,EAAqB;IAC5F,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,EAAE,0BAA0B,EAAE,YAAY,EAAE,GAAG,eAAe,EAAE,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;YAChB,OAAO;SACR;QAED,IAAI,YAAY,IAAI,UAAU,IAAI,UAAU,IAAI,UAAU,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE;YAChG,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAC7C,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SAC3C;aAAM;YACL,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAC1B;IACH,CAAC,EAAE,CAAC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC;IAEnD,OAAO,8BAAM,GAAG,EAAE,GAAG,iBAAc,MAAM,EAAC,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,EAAE,EAAE,EAAC,GAAG,GAAG,CAAC;AAC1F,CAAC;AAED,SAAS,WAAW,CAClB,EAAkB,EAClB,QAAiE,EACjE,MAAc;IAEd,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxD,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpE,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IACtE,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,WAAW,CAAC,EAAkB;IACrC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC/B,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACxB,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;IACxB,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAC5B,EAAE,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef } from 'react';\n\nimport styles from './styles.css.js';\nimport useFocusVisible from '../../hooks/focus-visible/index';\nimport { Offset } from '../interfaces';\n\nexport interface FocusOutlineProps {\n elementKey?: null | string | number | boolean;\n elementRef?: React.RefObject<SVGSVGElement | SVGGElement>;\n offset?: Offset;\n}\n\nexport default function FocusOutline({ elementKey, elementRef, offset = 0 }: FocusOutlineProps) {\n const ref = useRef<SVGRectElement>(null);\n const { 'data-awsui-focus-visible': focusVisible } = useFocusVisible();\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n if (focusVisible && elementKey && elementRef && elementRef.current && elementRef.current.getBBox) {\n const element = elementRef.current.getBBox();\n showOutline(ref.current, element, offset);\n } else {\n hideOutline(ref.current);\n }\n }, [focusVisible, elementKey, elementRef, offset]);\n\n return <rect ref={ref} aria-hidden=\"true\" className={styles['focus-outline']} rx=\"2\" />;\n}\n\nfunction showOutline(\n el: SVGRectElement,\n position: { x: number; y: number; width: number; height: number },\n offset: Offset\n) {\n const offsetX = typeof offset === 'number' ? offset : offset.x;\n const offsetY = typeof offset === 'number' ? offset : offset.y;\n el.setAttribute('x', (position.x - offsetX).toString());\n el.setAttribute('y', (position.y - offsetY).toString());\n el.setAttribute('width', (position.width + 2 * offsetX).toString());\n el.setAttribute('height', (position.height + 2 * offsetY).toString());\n el.style.visibility = 'visible';\n}\n\nfunction hideOutline(el: SVGRectElement) {\n el.style.visibility = 'hidden';\n el.removeAttribute('x');\n el.removeAttribute('y');\n el.removeAttribute('width');\n el.removeAttribute('height');\n}\n"]}
1
+ {"version":3,"file":"focus-outline.js","sourceRoot":"lib/default/","sources":["internal/components/chart-plot/focus-outline.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React, { useEffect, useRef, useState } from 'react';\n\nimport styles from './styles.css.js';\nimport { Offset } from '../interfaces';\nimport { isModifierKey } from '../../hooks/focus-visible';\n\nexport interface FocusOutlineProps {\n elementKey?: null | string | number | boolean;\n elementRef?: React.RefObject<SVGSVGElement | SVGGElement>;\n offset?: Offset;\n}\n\nfunction useFocusVisibleState() {\n const [focusVisible, setFocusVisible] = useState(false);\n useEffect(() => {\n function handleMousedown() {\n return setFocusVisible(false);\n }\n\n function handleKeydown(event: KeyboardEvent) {\n // we do not want to highlight focused element\n // when special keys are pressed\n if (!isModifierKey(event)) {\n setFocusVisible(true);\n }\n }\n\n document.addEventListener('mousedown', handleMousedown);\n document.addEventListener('keydown', handleKeydown);\n return () => {\n document.removeEventListener('mousedown', handleMousedown);\n document.removeEventListener('keydown', handleKeydown);\n };\n });\n\n return focusVisible;\n}\n\nexport default function FocusOutline({ elementKey, elementRef, offset = 0 }: FocusOutlineProps) {\n const ref = useRef<SVGRectElement>(null);\n const focusVisible = useFocusVisibleState();\n\n useEffect(() => {\n if (!ref.current) {\n return;\n }\n\n if (focusVisible && elementKey && elementRef && elementRef.current && elementRef.current.getBBox) {\n const element = elementRef.current.getBBox();\n showOutline(ref.current, element, offset);\n } else {\n hideOutline(ref.current);\n }\n }, [focusVisible, elementKey, elementRef, offset]);\n\n return <rect ref={ref} aria-hidden=\"true\" className={styles['focus-outline']} rx=\"2\" />;\n}\n\nfunction showOutline(\n el: SVGRectElement,\n position: { x: number; y: number; width: number; height: number },\n offset: Offset\n) {\n const offsetX = typeof offset === 'number' ? offset : offset.x;\n const offsetY = typeof offset === 'number' ? offset : offset.y;\n el.setAttribute('x', (position.x - offsetX).toString());\n el.setAttribute('y', (position.y - offsetY).toString());\n el.setAttribute('width', (position.width + 2 * offsetX).toString());\n el.setAttribute('height', (position.height + 2 * offsetY).toString());\n el.style.visibility = 'visible';\n}\n\nfunction hideOutline(el: SVGRectElement) {\n el.style.visibility = 'hidden';\n el.removeAttribute('x');\n el.removeAttribute('y');\n el.removeAttribute('width');\n el.removeAttribute('height');\n}\n"]}
@@ -3,6 +3,7 @@ export declare namespace FilteringTokenProps {
3
3
  type Operation = 'and' | 'or';
4
4
  }
5
5
  export interface FilteringTokenProps {
6
+ ariaLabel?: string;
6
7
  showOperation: boolean;
7
8
  operation: FilteringTokenProps.Operation;
8
9
  andText: string;
@@ -14,5 +15,5 @@ export interface FilteringTokenProps {
14
15
  onChange: (op: FilteringTokenProps.Operation) => void;
15
16
  onDismiss: () => void;
16
17
  }
17
- export default function FilteringToken({ showOperation, operation, andText, orText, dismissAriaLabel, operatorAriaLabel, disabled, children, onChange, onDismiss, }: FilteringTokenProps): JSX.Element;
18
+ export default function FilteringToken({ ariaLabel, showOperation, operation, andText, orText, dismissAriaLabel, operatorAriaLabel, disabled, children, onChange, onDismiss, }: FilteringTokenProps): JSX.Element;
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["internal/components/filtering-token/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,QAAQ,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,SAAS,KAAK,IAAI,CAAC;IACtD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,eAoCrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["internal/components/filtering-token/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,yBAAiB,mBAAmB,CAAC;IACnC,KAAY,SAAS,GAAG,KAAK,GAAG,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,SAAS,EAAE,mBAAmB,CAAC,SAAS,CAAC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,QAAQ,EAAE,CAAC,EAAE,EAAE,mBAAmB,CAAC,SAAS,KAAK,IAAI,CAAC;IACtD,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,EACT,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,eAkCrB"}
@@ -4,18 +4,16 @@ import React from 'react';
4
4
  import clsx from 'clsx';
5
5
  import InternalSelect from '../../../select/internal';
6
6
  import InternalIcon from '../../../icon/internal';
7
- import useFocusVisible from '../../hooks/focus-visible';
8
7
  import styles from './styles.css.js';
9
- export default function FilteringToken({ showOperation, operation, andText, orText, dismissAriaLabel, operatorAriaLabel, disabled, children, onChange, onDismiss, }) {
10
- const focusVisible = useFocusVisible();
11
- return (React.createElement("div", { className: styles.root },
8
+ export default function FilteringToken({ ariaLabel, showOperation, operation, andText, orText, dismissAriaLabel, operatorAriaLabel, disabled, children, onChange, onDismiss, }) {
9
+ return (React.createElement("div", { className: styles.root, role: "group", "aria-label": ariaLabel },
12
10
  showOperation && (React.createElement(InternalSelect, { __inFilteringToken: true, className: styles.select, options: [
13
11
  { value: 'and', label: andText },
14
12
  { value: 'or', label: orText },
15
13
  ], selectedOption: { value: operation, label: operation === 'and' ? andText : orText }, onChange: e => onChange(e.detail.selectedOption.value), disabled: disabled, ariaLabel: operatorAriaLabel })),
16
14
  React.createElement("div", { className: clsx(styles.token, showOperation && styles['show-operation'], disabled && styles['token-disabled']), "aria-disabled": disabled },
17
15
  React.createElement("div", { className: styles['token-content'] }, children),
18
- React.createElement("button", Object.assign({}, focusVisible, { type: "button", className: styles['dismiss-button'], "aria-label": dismissAriaLabel, onClick: onDismiss, disabled: disabled }),
16
+ React.createElement("button", { type: "button", className: styles['dismiss-button'], "aria-label": dismissAriaLabel, onClick: onDismiss, disabled: disabled },
19
17
  React.createElement(InternalIcon, { name: "close" })))));
20
18
  }
21
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/components/filtering-token/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAClD,OAAO,eAAe,MAAM,2BAA2B,CAAC;AAExD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAqBrC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACW;IACpB,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI;QACxB,aAAa,IAAI,CAChB,oBAAC,cAAc,IACb,kBAAkB,EAAE,IAAI,EACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EACxB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;gBAChC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;aAC/B,EACD,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EACnF,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAsC,CAAC,EACvF,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,iBAAiB,GAC5B,CACH;QACD,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,mBAC/F,QAAQ;YAEvB,6BAAK,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,IAAG,QAAQ,CAAO;YACzD,gDACM,YAAY,IAChB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,gBACvB,gBAAgB,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ;gBAElB,oBAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,CACtB,CACL,CACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport InternalSelect from '../../../select/internal';\nimport InternalIcon from '../../../icon/internal';\nimport useFocusVisible from '../../hooks/focus-visible';\n\nimport styles from './styles.css.js';\n\nexport namespace FilteringTokenProps {\n export type Operation = 'and' | 'or';\n}\n\nexport interface FilteringTokenProps {\n showOperation: boolean;\n operation: FilteringTokenProps.Operation;\n andText: string;\n orText: string;\n dismissAriaLabel?: string;\n operatorAriaLabel?: string;\n disabled?: boolean;\n\n children: React.ReactNode;\n\n onChange: (op: FilteringTokenProps.Operation) => void;\n onDismiss: () => void;\n}\n\nexport default function FilteringToken({\n showOperation,\n operation,\n andText,\n orText,\n dismissAriaLabel,\n operatorAriaLabel,\n disabled,\n children,\n onChange,\n onDismiss,\n}: FilteringTokenProps) {\n const focusVisible = useFocusVisible();\n return (\n <div className={styles.root}>\n {showOperation && (\n <InternalSelect\n __inFilteringToken={true}\n className={styles.select}\n options={[\n { value: 'and', label: andText },\n { value: 'or', label: orText },\n ]}\n selectedOption={{ value: operation, label: operation === 'and' ? andText : orText }}\n onChange={e => onChange(e.detail.selectedOption.value as FilteringTokenProps.Operation)}\n disabled={disabled}\n ariaLabel={operatorAriaLabel}\n />\n )}\n <div\n className={clsx(styles.token, showOperation && styles['show-operation'], disabled && styles['token-disabled'])}\n aria-disabled={disabled}\n >\n <div className={styles['token-content']}>{children}</div>\n <button\n {...focusVisible}\n type=\"button\"\n className={styles['dismiss-button']}\n aria-label={dismissAriaLabel}\n onClick={onDismiss}\n disabled={disabled}\n >\n <InternalIcon name=\"close\" />\n </button>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/components/filtering-token/index.tsx"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC;AACtC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,YAAY,MAAM,wBAAwB,CAAC;AAElD,OAAO,MAAM,MAAM,iBAAiB,CAAC;AAsBrC,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,SAAS,EACT,aAAa,EACb,SAAS,EACT,OAAO,EACP,MAAM,EACN,gBAAgB,EAChB,iBAAiB,EACjB,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,GACW;IACpB,OAAO,CACL,6BAAK,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAC,OAAO,gBAAa,SAAS;QAC5D,aAAa,IAAI,CAChB,oBAAC,cAAc,IACb,kBAAkB,EAAE,IAAI,EACxB,SAAS,EAAE,MAAM,CAAC,MAAM,EACxB,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;gBAChC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;aAC/B,EACD,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,EAAE,EACnF,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,KAAsC,CAAC,EACvF,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,iBAAiB,GAC5B,CACH;QACD,6BACE,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,QAAQ,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAAC,mBAC/F,QAAQ;YAEvB,6BAAK,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,IAAG,QAAQ,CAAO;YACzD,gCACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC,gBACvB,gBAAgB,EAC5B,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,QAAQ;gBAElB,oBAAC,YAAY,IAAC,IAAI,EAAC,OAAO,GAAG,CACtB,CACL,CACF,CACP,CAAC;AACJ,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport React from 'react';\nimport clsx from 'clsx';\n\nimport InternalSelect from '../../../select/internal';\nimport InternalIcon from '../../../icon/internal';\n\nimport styles from './styles.css.js';\n\nexport namespace FilteringTokenProps {\n export type Operation = 'and' | 'or';\n}\n\nexport interface FilteringTokenProps {\n ariaLabel?: string;\n showOperation: boolean;\n operation: FilteringTokenProps.Operation;\n andText: string;\n orText: string;\n dismissAriaLabel?: string;\n operatorAriaLabel?: string;\n disabled?: boolean;\n\n children: React.ReactNode;\n\n onChange: (op: FilteringTokenProps.Operation) => void;\n onDismiss: () => void;\n}\n\nexport default function FilteringToken({\n ariaLabel,\n showOperation,\n operation,\n andText,\n orText,\n dismissAriaLabel,\n operatorAriaLabel,\n disabled,\n children,\n onChange,\n onDismiss,\n}: FilteringTokenProps) {\n return (\n <div className={styles.root} role=\"group\" aria-label={ariaLabel}>\n {showOperation && (\n <InternalSelect\n __inFilteringToken={true}\n className={styles.select}\n options={[\n { value: 'and', label: andText },\n { value: 'or', label: orText },\n ]}\n selectedOption={{ value: operation, label: operation === 'and' ? andText : orText }}\n onChange={e => onChange(e.detail.selectedOption.value as FilteringTokenProps.Operation)}\n disabled={disabled}\n ariaLabel={operatorAriaLabel}\n />\n )}\n <div\n className={clsx(styles.token, showOperation && styles['show-operation'], disabled && styles['token-disabled'])}\n aria-disabled={disabled}\n >\n <div className={styles['token-content']}>{children}</div>\n <button\n type=\"button\"\n className={styles['dismiss-button']}\n aria-label={dismissAriaLabel}\n onClick={onDismiss}\n disabled={disabled}\n >\n <InternalIcon name=\"close\" />\n </button>\n </div>\n </div>\n );\n}\n"]}
@@ -1,12 +1,12 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "root": "awsui_root_10m3l_jlr8x_97",
5
- "token": "awsui_token_10m3l_jlr8x_102",
6
- "show-operation": "awsui_show-operation_10m3l_jlr8x_113",
7
- "select": "awsui_select_10m3l_jlr8x_119",
8
- "token-content": "awsui_token-content_10m3l_jlr8x_123",
9
- "dismiss-button": "awsui_dismiss-button_10m3l_jlr8x_127",
10
- "token-disabled": "awsui_token-disabled_10m3l_jlr8x_163"
4
+ "root": "awsui_root_10m3l_ujfpz_97",
5
+ "token": "awsui_token_10m3l_ujfpz_102",
6
+ "show-operation": "awsui_show-operation_10m3l_ujfpz_113",
7
+ "select": "awsui_select_10m3l_ujfpz_119",
8
+ "token-content": "awsui_token-content_10m3l_ujfpz_123",
9
+ "dismiss-button": "awsui_dismiss-button_10m3l_ujfpz_127",
10
+ "token-disabled": "awsui_token-disabled_10m3l_ujfpz_163"
11
11
  };
12
12
 
@@ -94,12 +94,12 @@ 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_10m3l_jlr8x_97:not(#\9) {
97
+ .awsui_root_10m3l_ujfpz_97:not(#\9) {
98
98
  display: flex;
99
99
  align-content: stretch;
100
100
  }
101
101
 
102
- .awsui_token_10m3l_jlr8x_102:not(#\9) {
102
+ .awsui_token_10m3l_ujfpz_102:not(#\9) {
103
103
  border: var(--border-field-width-idlekx, 2px) solid var(--color-border-item-selected-ppkssz, #0972d3);
104
104
  display: flex;
105
105
  align-items: stretch;
@@ -110,21 +110,21 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
110
110
  box-sizing: border-box;
111
111
  }
112
112
 
113
- .awsui_show-operation_10m3l_jlr8x_113:not(#\9) {
113
+ .awsui_show-operation_10m3l_ujfpz_113:not(#\9) {
114
114
  border-left: none;
115
115
  border-top-left-radius: 0;
116
116
  border-bottom-left-radius: 0;
117
117
  }
118
118
 
119
- .awsui_select_10m3l_jlr8x_119:not(#\9) {
119
+ .awsui_select_10m3l_ujfpz_119:not(#\9) {
120
120
  /* used in test-utils */
121
121
  }
122
122
 
123
- .awsui_token-content_10m3l_jlr8x_123:not(#\9) {
123
+ .awsui_token-content_10m3l_ujfpz_123:not(#\9) {
124
124
  padding: var(--space-scaled-xxs-95dhkm, 4px) var(--space-field-horizontal-89h2yr, 12px);
125
125
  }
126
126
 
127
- .awsui_dismiss-button_10m3l_jlr8x_127:not(#\9) {
127
+ .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9) {
128
128
  width: 30px;
129
129
  margin: 0;
130
130
  border: none;
@@ -133,14 +133,14 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
133
133
  background-color: transparent;
134
134
  border-left: var(--border-field-width-idlekx, 2px) solid var(--color-border-item-selected-ppkssz, #0972d3);
135
135
  }
136
- .awsui_dismiss-button_10m3l_jlr8x_127[data-awsui-focus-visible=true]:not(#\9):focus {
136
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9):focus {
137
137
  position: relative;
138
138
  }
139
- .awsui_dismiss-button_10m3l_jlr8x_127[data-awsui-focus-visible=true]:not(#\9):focus {
139
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9):focus {
140
140
  outline: 2px dotted transparent;
141
141
  outline-offset: calc(var(--space-filtering-token-dismiss-button-focus-outline-gutter-itb5fd, -5px) - 1px);
142
142
  }
143
- .awsui_dismiss-button_10m3l_jlr8x_127[data-awsui-focus-visible=true]:not(#\9):focus::before {
143
+ body[data-awsui-focus-visible=true] .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9):focus::before {
144
144
  content: " ";
145
145
  display: block;
146
146
  position: absolute;
@@ -151,22 +151,22 @@ surrounding text. (WCAG F73) https://www.w3.org/WAI/WCAG21/Techniques/failures/F
151
151
  border-radius: var(--border-radius-control-default-focus-ring-7661kz, 4px);
152
152
  box-shadow: 0 0 0 2px var(--color-border-item-focused-ap3b6s, #0972d3);
153
153
  }
154
- .awsui_dismiss-button_10m3l_jlr8x_127:not(#\9):focus {
154
+ .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9):focus {
155
155
  outline: none;
156
156
  text-decoration: none;
157
157
  }
158
- .awsui_dismiss-button_10m3l_jlr8x_127:not(#\9):hover {
158
+ .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9):hover {
159
159
  cursor: pointer;
160
160
  color: var(--color-text-interactive-hover-v3lasm, #000716);
161
161
  }
162
162
 
163
- .awsui_token-disabled_10m3l_jlr8x_163:not(#\9) {
163
+ .awsui_token-disabled_10m3l_ujfpz_163:not(#\9) {
164
164
  border-color: var(--color-border-control-disabled-vx8bco, #d1d5db);
165
165
  background-color: var(--color-background-container-content-i8i4a0, #ffffff);
166
166
  color: var(--color-text-disabled-a2nkh4, #9ba7b6);
167
167
  pointer-events: none;
168
168
  }
169
- .awsui_token-disabled_10m3l_jlr8x_163 > .awsui_dismiss-button_10m3l_jlr8x_127:not(#\9) {
169
+ .awsui_token-disabled_10m3l_ujfpz_163 > .awsui_dismiss-button_10m3l_ujfpz_127:not(#\9) {
170
170
  color: var(--color-text-interactive-disabled-3pbb07, #9ba7b6);
171
171
  border-color: var(--color-border-control-disabled-vx8bco, #d1d5db);
172
172
  }
@@ -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_10m3l_jlr8x_97",
6
- "token": "awsui_token_10m3l_jlr8x_102",
7
- "show-operation": "awsui_show-operation_10m3l_jlr8x_113",
8
- "select": "awsui_select_10m3l_jlr8x_119",
9
- "token-content": "awsui_token-content_10m3l_jlr8x_123",
10
- "dismiss-button": "awsui_dismiss-button_10m3l_jlr8x_127",
11
- "token-disabled": "awsui_token-disabled_10m3l_jlr8x_163"
5
+ "root": "awsui_root_10m3l_ujfpz_97",
6
+ "token": "awsui_token_10m3l_ujfpz_102",
7
+ "show-operation": "awsui_show-operation_10m3l_ujfpz_113",
8
+ "select": "awsui_select_10m3l_ujfpz_119",
9
+ "token-content": "awsui_token-content_10m3l_ujfpz_123",
10
+ "dismiss-button": "awsui_dismiss-button_10m3l_ujfpz_127",
11
+ "token-disabled": "awsui_token-disabled_10m3l_ujfpz_163"
12
12
  };
13
13
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["internal/components/menu-dropdown/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AASrE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,aAAa,gFAuDzB,CAAC;AAEF,QAAA,MAAM,YAAY,+FAUf,iBAAiB,gBAgCnB,CAAC;AAGF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"lib/default/","sources":["internal/components/menu-dropdown/index.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAQrE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAE7B,eAAO,MAAM,aAAa,gFAqDzB,CAAC;AAEF,QAAA,MAAM,YAAY,+FAUf,iBAAiB,gBAgCnB,CAAC;AAGF,eAAe,YAAY,CAAC"}
@@ -5,18 +5,16 @@ import clsx from 'clsx';
5
5
  import React from 'react';
6
6
  import { getBaseProps } from '../../base-component';
7
7
  import { applyDisplayName } from '../../utils/apply-display-name';
8
- import useFocusVisible from '../../hooks/focus-visible';
9
8
  import InternalButtonDropdown from '../../../button-dropdown/internal';
10
9
  import InternalIcon from '../../../icon/internal';
11
10
  import buttonDropdownStyles from '../../../button-dropdown/styles.css.js';
12
11
  import styles from './styles.css.js';
13
12
  export const ButtonTrigger = React.forwardRef(({ iconName, iconUrl, iconAlt, iconSvg, badge, ariaLabel, offsetRight, disabled, expanded, children, onClick, }, ref) => {
14
- const focusVisible = useFocusVisible();
15
13
  const hasIcon = iconName || iconUrl || iconSvg;
16
- return (React.createElement("button", Object.assign({}, focusVisible, { ref: ref, type: "button", className: clsx(styles.button, styles[`offset-right-${offsetRight}`], { [styles.expanded]: expanded }), "aria-label": ariaLabel, "aria-expanded": !!expanded, "aria-haspopup": true, disabled: disabled, onClick: event => {
14
+ return (React.createElement("button", { ref: ref, type: "button", className: clsx(styles.button, styles[`offset-right-${offsetRight}`], { [styles.expanded]: expanded }), "aria-label": ariaLabel, "aria-expanded": !!expanded, "aria-haspopup": true, disabled: disabled, onClick: event => {
17
15
  event.preventDefault();
18
16
  onClick && onClick();
19
- } }),
17
+ } },
20
18
  hasIcon && (React.createElement(InternalIcon, { className: styles.icon, name: iconName, url: iconUrl, alt: iconAlt, svg: iconSvg, badge: badge })),
21
19
  children && React.createElement("span", { className: styles.text }, children),
22
20
  children && (React.createElement(InternalIcon, { name: "caret-down-filled", className: expanded ? buttonDropdownStyles['rotate-up'] : buttonDropdownStyles['rotate-down'] }))));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/components/menu-dropdown/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React from 'react';\n\nimport { MenuDropdownProps, ButtonTriggerProps } from './interfaces';\nimport { getBaseProps } from '../../base-component';\nimport { applyDisplayName } from '../../utils/apply-display-name';\nimport useFocusVisible from '../../hooks/focus-visible';\nimport InternalButtonDropdown from '../../../button-dropdown/internal';\nimport InternalIcon from '../../../icon/internal';\nimport buttonDropdownStyles from '../../../button-dropdown/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { MenuDropdownProps };\n\nexport const ButtonTrigger = React.forwardRef(\n (\n {\n iconName,\n iconUrl,\n iconAlt,\n iconSvg,\n badge,\n ariaLabel,\n offsetRight,\n disabled,\n expanded,\n children,\n onClick,\n }: ButtonTriggerProps,\n ref: React.Ref<any>\n ) => {\n const focusVisible = useFocusVisible();\n const hasIcon = iconName || iconUrl || iconSvg;\n\n return (\n <button\n {...focusVisible}\n ref={ref}\n type=\"button\"\n className={clsx(styles.button, styles[`offset-right-${offsetRight}`], { [styles.expanded]: expanded })}\n aria-label={ariaLabel}\n aria-expanded={!!expanded}\n aria-haspopup={true}\n disabled={disabled}\n onClick={event => {\n event.preventDefault();\n onClick && onClick();\n }}\n >\n {hasIcon && (\n <InternalIcon\n className={styles.icon}\n name={iconName}\n url={iconUrl}\n alt={iconAlt}\n svg={iconSvg}\n badge={badge}\n />\n )}\n {children && <span className={styles.text}>{children}</span>}\n {children && (\n <InternalIcon\n name=\"caret-down-filled\"\n className={expanded ? buttonDropdownStyles['rotate-up'] : buttonDropdownStyles['rotate-down']}\n />\n )}\n </button>\n );\n }\n);\n\nconst MenuDropdown = ({\n iconName,\n iconUrl,\n iconAlt,\n iconSvg,\n badge,\n ariaLabel,\n offsetRight,\n children,\n ...props\n}: MenuDropdownProps) => {\n const baseProps = getBaseProps(props);\n\n const dropdownTrigger = (clickHandler: () => void, ref: React.Ref<any>, isDisabled: boolean, isExpanded: boolean) => {\n return (\n <ButtonTrigger\n ref={ref}\n disabled={isDisabled}\n expanded={isExpanded}\n iconName={iconName}\n iconUrl={iconUrl}\n iconAlt={iconAlt}\n iconSvg={iconSvg}\n badge={badge}\n ariaLabel={ariaLabel}\n offsetRight={offsetRight}\n onClick={clickHandler}\n >\n {children}\n </ButtonTrigger>\n );\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...props}\n variant=\"navigation\"\n customTriggerBuilder={dropdownTrigger}\n preferCenter={true}\n />\n );\n};\n\napplyDisplayName(MenuDropdown, 'MenuDropdown');\nexport default MenuDropdown;\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"lib/default/","sources":["internal/components/menu-dropdown/index.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport clsx from 'clsx';\nimport React from 'react';\n\nimport { MenuDropdownProps, ButtonTriggerProps } from './interfaces';\nimport { getBaseProps } from '../../base-component';\nimport { applyDisplayName } from '../../utils/apply-display-name';\nimport InternalButtonDropdown from '../../../button-dropdown/internal';\nimport InternalIcon from '../../../icon/internal';\nimport buttonDropdownStyles from '../../../button-dropdown/styles.css.js';\nimport styles from './styles.css.js';\n\nexport { MenuDropdownProps };\n\nexport const ButtonTrigger = React.forwardRef(\n (\n {\n iconName,\n iconUrl,\n iconAlt,\n iconSvg,\n badge,\n ariaLabel,\n offsetRight,\n disabled,\n expanded,\n children,\n onClick,\n }: ButtonTriggerProps,\n ref: React.Ref<any>\n ) => {\n const hasIcon = iconName || iconUrl || iconSvg;\n\n return (\n <button\n ref={ref}\n type=\"button\"\n className={clsx(styles.button, styles[`offset-right-${offsetRight}`], { [styles.expanded]: expanded })}\n aria-label={ariaLabel}\n aria-expanded={!!expanded}\n aria-haspopup={true}\n disabled={disabled}\n onClick={event => {\n event.preventDefault();\n onClick && onClick();\n }}\n >\n {hasIcon && (\n <InternalIcon\n className={styles.icon}\n name={iconName}\n url={iconUrl}\n alt={iconAlt}\n svg={iconSvg}\n badge={badge}\n />\n )}\n {children && <span className={styles.text}>{children}</span>}\n {children && (\n <InternalIcon\n name=\"caret-down-filled\"\n className={expanded ? buttonDropdownStyles['rotate-up'] : buttonDropdownStyles['rotate-down']}\n />\n )}\n </button>\n );\n }\n);\n\nconst MenuDropdown = ({\n iconName,\n iconUrl,\n iconAlt,\n iconSvg,\n badge,\n ariaLabel,\n offsetRight,\n children,\n ...props\n}: MenuDropdownProps) => {\n const baseProps = getBaseProps(props);\n\n const dropdownTrigger = (clickHandler: () => void, ref: React.Ref<any>, isDisabled: boolean, isExpanded: boolean) => {\n return (\n <ButtonTrigger\n ref={ref}\n disabled={isDisabled}\n expanded={isExpanded}\n iconName={iconName}\n iconUrl={iconUrl}\n iconAlt={iconAlt}\n iconSvg={iconSvg}\n badge={badge}\n ariaLabel={ariaLabel}\n offsetRight={offsetRight}\n onClick={clickHandler}\n >\n {children}\n </ButtonTrigger>\n );\n };\n\n return (\n <InternalButtonDropdown\n {...baseProps}\n {...props}\n variant=\"navigation\"\n customTriggerBuilder={dropdownTrigger}\n preferCenter={true}\n />\n );\n};\n\napplyDisplayName(MenuDropdown, 'MenuDropdown');\nexport default MenuDropdown;\n"]}
@@ -1,12 +1,12 @@
1
1
 
2
2
  import './styles.scoped.css';
3
3
  export default {
4
- "button": "awsui_button_m5h9f_5k6gw_93",
5
- "expanded": "awsui_expanded_m5h9f_5k6gw_127",
6
- "offset-right-none": "awsui_offset-right-none_m5h9f_5k6gw_138",
7
- "offset-right-l": "awsui_offset-right-l_m5h9f_5k6gw_141",
8
- "offset-right-xxl": "awsui_offset-right-xxl_m5h9f_5k6gw_144",
9
- "text": "awsui_text_m5h9f_5k6gw_166",
10
- "icon": "awsui_icon_m5h9f_5k6gw_170"
4
+ "button": "awsui_button_m5h9f_1yya9_93",
5
+ "expanded": "awsui_expanded_m5h9f_1yya9_127",
6
+ "offset-right-none": "awsui_offset-right-none_m5h9f_1yya9_138",
7
+ "offset-right-l": "awsui_offset-right-l_m5h9f_1yya9_141",
8
+ "offset-right-xxl": "awsui_offset-right-xxl_m5h9f_1yya9_144",
9
+ "text": "awsui_text_m5h9f_1yya9_166",
10
+ "icon": "awsui_icon_m5h9f_1yya9_170"
11
11
  };
12
12