@cloudscape-design/chart-components 1.0.0

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 (246) hide show
  1. package/LICENSE +175 -0
  2. package/NOTICE +1 -0
  3. package/README.md +25 -0
  4. package/cartesian-chart/chart-cartesian-internal.d.ts +10 -0
  5. package/cartesian-chart/chart-cartesian-internal.js +99 -0
  6. package/cartesian-chart/chart-cartesian-internal.js.map +1 -0
  7. package/cartesian-chart/chart-series-cartesian.d.ts +7 -0
  8. package/cartesian-chart/chart-series-cartesian.js +95 -0
  9. package/cartesian-chart/chart-series-cartesian.js.map +1 -0
  10. package/cartesian-chart/index.d.ts +5 -0
  11. package/cartesian-chart/index.js +133 -0
  12. package/cartesian-chart/index.js.map +1 -0
  13. package/cartesian-chart/interfaces.d.ts +166 -0
  14. package/cartesian-chart/interfaces.js +4 -0
  15. package/cartesian-chart/interfaces.js.map +1 -0
  16. package/cartesian-chart/test-classes/styles.css.js +6 -0
  17. package/cartesian-chart/test-classes/styles.scoped.css +7 -0
  18. package/cartesian-chart/test-classes/styles.selectors.js +7 -0
  19. package/core/chart-api/chart-extra-axis-titles.d.ts +10 -0
  20. package/core/chart-api/chart-extra-axis-titles.js +42 -0
  21. package/core/chart-api/chart-extra-axis-titles.js.map +1 -0
  22. package/core/chart-api/chart-extra-context.d.ts +41 -0
  23. package/core/chart-api/chart-extra-context.js +93 -0
  24. package/core/chart-api/chart-extra-context.js.map +1 -0
  25. package/core/chart-api/chart-extra-highlight.d.ts +20 -0
  26. package/core/chart-api/chart-extra-highlight.js +205 -0
  27. package/core/chart-api/chart-extra-highlight.js.map +1 -0
  28. package/core/chart-api/chart-extra-legend.d.ts +27 -0
  29. package/core/chart-api/chart-extra-legend.js +118 -0
  30. package/core/chart-api/chart-extra-legend.js.map +1 -0
  31. package/core/chart-api/chart-extra-navigation.d.ts +84 -0
  32. package/core/chart-api/chart-extra-navigation.js +470 -0
  33. package/core/chart-api/chart-extra-navigation.js.map +1 -0
  34. package/core/chart-api/chart-extra-nodata.d.ts +15 -0
  35. package/core/chart-api/chart-extra-nodata.js +45 -0
  36. package/core/chart-api/chart-extra-nodata.js.map +1 -0
  37. package/core/chart-api/chart-extra-pointer.d.ts +33 -0
  38. package/core/chart-api/chart-extra-pointer.js +173 -0
  39. package/core/chart-api/chart-extra-pointer.js.map +1 -0
  40. package/core/chart-api/chart-extra-tooltip.d.ts +33 -0
  41. package/core/chart-api/chart-extra-tooltip.js +209 -0
  42. package/core/chart-api/chart-extra-tooltip.js.map +1 -0
  43. package/core/chart-api/index.d.ts +75 -0
  44. package/core/chart-api/index.js +383 -0
  45. package/core/chart-api/index.js.map +1 -0
  46. package/core/chart-container.d.ts +20 -0
  47. package/core/chart-container.js +55 -0
  48. package/core/chart-container.js.map +1 -0
  49. package/core/chart-core.d.ts +7 -0
  50. package/core/chart-core.js +287 -0
  51. package/core/chart-core.js.map +1 -0
  52. package/core/components/core-application.d.ts +6 -0
  53. package/core/components/core-application.js +16 -0
  54. package/core/components/core-application.js.map +1 -0
  55. package/core/components/core-filters.d.ts +9 -0
  56. package/core/components/core-filters.js +22 -0
  57. package/core/components/core-filters.js.map +1 -0
  58. package/core/components/core-legend.d.ts +13 -0
  59. package/core/components/core-legend.js +27 -0
  60. package/core/components/core-legend.js.map +1 -0
  61. package/core/components/core-no-data.d.ts +6 -0
  62. package/core/components/core-no-data.js +48 -0
  63. package/core/components/core-no-data.js.map +1 -0
  64. package/core/components/core-slots.d.ts +7 -0
  65. package/core/components/core-slots.js +11 -0
  66. package/core/components/core-slots.js.map +1 -0
  67. package/core/components/core-tooltip.d.ts +7 -0
  68. package/core/components/core-tooltip.js +183 -0
  69. package/core/components/core-tooltip.js.map +1 -0
  70. package/core/components/core-vertical-axis-title.d.ts +5 -0
  71. package/core/components/core-vertical-axis-title.js +15 -0
  72. package/core/components/core-vertical-axis-title.js.map +1 -0
  73. package/core/formatters.d.ts +2 -0
  74. package/core/formatters.js +113 -0
  75. package/core/formatters.js.map +1 -0
  76. package/core/i18n-utils.d.ts +21 -0
  77. package/core/i18n-utils.js +18 -0
  78. package/core/i18n-utils.js.map +1 -0
  79. package/core/interfaces.d.ts +436 -0
  80. package/core/interfaces.js +4 -0
  81. package/core/interfaces.js.map +1 -0
  82. package/core/styles.css.js +25 -0
  83. package/core/styles.scoped.css +115 -0
  84. package/core/styles.selectors.js +26 -0
  85. package/core/test-classes/styles.css.js +33 -0
  86. package/core/test-classes/styles.scoped.css +34 -0
  87. package/core/test-classes/styles.selectors.js +34 -0
  88. package/core/utils.d.ts +45 -0
  89. package/core/utils.js +262 -0
  90. package/core/utils.js.map +1 -0
  91. package/index.d.ts +4 -0
  92. package/index.js +5 -0
  93. package/index.js.map +1 -0
  94. package/internal/api-docs/components/cartesian-chart.js +571 -0
  95. package/internal/api-docs/components/index.d.ts +3 -0
  96. package/internal/api-docs/components/index.js +4 -0
  97. package/internal/api-docs/components/interfaces.d.ts +81 -0
  98. package/internal/api-docs/components/pie-chart.js +430 -0
  99. package/internal/api-docs/test-utils-doc/dom.js +4 -0
  100. package/internal/api-docs/test-utils-doc/selectors.js +4 -0
  101. package/internal/base-component/get-data-attributes.d.ts +1 -0
  102. package/internal/base-component/get-data-attributes.js +12 -0
  103. package/internal/base-component/get-data-attributes.js.map +1 -0
  104. package/internal/base-component/use-base-component.d.ts +13 -0
  105. package/internal/base-component/use-base-component.js +18 -0
  106. package/internal/base-component/use-base-component.js.map +1 -0
  107. package/internal/base-component/use-telemetry.d.ts +2 -0
  108. package/internal/base-component/use-telemetry.js +8 -0
  109. package/internal/base-component/use-telemetry.js.map +1 -0
  110. package/internal/chart-styles.d.ts +88 -0
  111. package/internal/chart-styles.js +145 -0
  112. package/internal/chart-styles.js.map +1 -0
  113. package/internal/components/chart-legend/index.d.ts +14 -0
  114. package/internal/components/chart-legend/index.js +245 -0
  115. package/internal/components/chart-legend/index.js.map +1 -0
  116. package/internal/components/chart-legend/styles.css.js +22 -0
  117. package/internal/components/chart-legend/styles.scoped.css +233 -0
  118. package/internal/components/chart-legend/styles.selectors.js +23 -0
  119. package/internal/components/chart-legend/test-classes/styles.css.js +11 -0
  120. package/internal/components/chart-legend/test-classes/styles.scoped.css +12 -0
  121. package/internal/components/chart-legend/test-classes/styles.selectors.js +12 -0
  122. package/internal/components/chart-series-filter/index.d.ts +17 -0
  123. package/internal/components/chart-series-filter/index.js +14 -0
  124. package/internal/components/chart-series-filter/index.js.map +1 -0
  125. package/internal/components/interfaces.d.ts +17 -0
  126. package/internal/components/interfaces.js +4 -0
  127. package/internal/components/interfaces.js.map +1 -0
  128. package/internal/components/series-details/index.d.ts +23 -0
  129. package/internal/components/series-details/index.js +45 -0
  130. package/internal/components/series-details/index.js.map +1 -0
  131. package/internal/components/series-details/styles.css.js +22 -0
  132. package/internal/components/series-details/styles.scoped.css +150 -0
  133. package/internal/components/series-details/styles.selectors.js +23 -0
  134. package/internal/components/series-details/test-classes/styles.css.js +10 -0
  135. package/internal/components/series-details/test-classes/styles.scoped.css +11 -0
  136. package/internal/components/series-details/test-classes/styles.selectors.js +11 -0
  137. package/internal/components/series-marker/index.d.ts +8 -0
  138. package/internal/components/series-marker/index.js +45 -0
  139. package/internal/components/series-marker/index.js.map +1 -0
  140. package/internal/components/series-marker/interfaces.d.ts +1 -0
  141. package/internal/components/series-marker/interfaces.js +4 -0
  142. package/internal/components/series-marker/interfaces.js.map +1 -0
  143. package/internal/components/series-marker/render-marker.d.ts +3 -0
  144. package/internal/components/series-marker/render-marker.js +74 -0
  145. package/internal/components/series-marker/render-marker.js.map +1 -0
  146. package/internal/components/series-marker/styles.css.js +7 -0
  147. package/internal/components/series-marker/styles.scoped.css +55 -0
  148. package/internal/components/series-marker/styles.selectors.js +8 -0
  149. package/internal/environment.d.ts +4 -0
  150. package/internal/environment.js +5 -0
  151. package/internal/environment.json +7 -0
  152. package/internal/events/index.d.ts +23 -0
  153. package/internal/events/index.js +41 -0
  154. package/internal/events/index.js.map +1 -0
  155. package/internal/generated/styles/tokens.d.ts +756 -0
  156. package/internal/generated/styles/tokens.js +756 -0
  157. package/internal/generated/theming/index.cjs +12584 -0
  158. package/internal/generated/theming/index.cjs.d.ts +2399 -0
  159. package/internal/generated/theming/index.d.ts +2399 -0
  160. package/internal/generated/theming/index.js +12584 -0
  161. package/internal/manifest.json +3 -0
  162. package/internal/styles.css.js +6 -0
  163. package/internal/styles.scoped.css +13 -0
  164. package/internal/styles.selectors.js +7 -0
  165. package/internal/utils/apply-display-name.d.ts +1 -0
  166. package/internal/utils/apply-display-name.js +6 -0
  167. package/internal/utils/apply-display-name.js.map +1 -0
  168. package/internal/utils/async-store.d.ts +19 -0
  169. package/internal/utils/async-store.js +58 -0
  170. package/internal/utils/async-store.js.map +1 -0
  171. package/internal/utils/chart-series.d.ts +8 -0
  172. package/internal/utils/chart-series.js +11 -0
  173. package/internal/utils/chart-series.js.map +1 -0
  174. package/internal/utils/renderer-utils.d.ts +17 -0
  175. package/internal/utils/renderer-utils.js +95 -0
  176. package/internal/utils/renderer-utils.js.map +1 -0
  177. package/internal/utils/series-data.d.ts +2 -0
  178. package/internal/utils/series-data.js +8 -0
  179. package/internal/utils/series-data.js.map +1 -0
  180. package/internal/utils/test-i18n-provider.d.ts +8 -0
  181. package/internal/utils/test-i18n-provider.js +8 -0
  182. package/internal/utils/test-i18n-provider.js.map +1 -0
  183. package/internal/utils/use-previous.d.ts +4 -0
  184. package/internal/utils/use-previous.js +14 -0
  185. package/internal/utils/use-previous.js.map +1 -0
  186. package/internal/utils/utils.d.ts +16 -0
  187. package/internal/utils/utils.js +49 -0
  188. package/internal/utils/utils.js.map +1 -0
  189. package/internal-do-not-use/core-chart/index.d.ts +4 -0
  190. package/internal-do-not-use/core-chart/index.js +13 -0
  191. package/internal-do-not-use/core-chart/index.js.map +1 -0
  192. package/internal-do-not-use/core-legend/index.d.ts +2 -0
  193. package/internal-do-not-use/core-legend/index.js +11 -0
  194. package/internal-do-not-use/core-legend/index.js.map +1 -0
  195. package/package.json +106 -0
  196. package/pie-chart/chart-inner-area.d.ts +10 -0
  197. package/pie-chart/chart-inner-area.js +63 -0
  198. package/pie-chart/chart-inner-area.js.map +1 -0
  199. package/pie-chart/chart-pie-internal.d.ts +11 -0
  200. package/pie-chart/chart-pie-internal.js +103 -0
  201. package/pie-chart/chart-pie-internal.js.map +1 -0
  202. package/pie-chart/index.d.ts +5 -0
  203. package/pie-chart/index.js +48 -0
  204. package/pie-chart/index.js.map +1 -0
  205. package/pie-chart/interfaces.d.ts +101 -0
  206. package/pie-chart/interfaces.js +4 -0
  207. package/pie-chart/interfaces.js.map +1 -0
  208. package/pie-chart/test-classes/styles.css.js +8 -0
  209. package/pie-chart/test-classes/styles.scoped.css +9 -0
  210. package/pie-chart/test-classes/styles.selectors.js +9 -0
  211. package/test-utils/dom/cartesian-chart/index.d.ts +14 -0
  212. package/test-utils/dom/cartesian-chart/index.js +24 -0
  213. package/test-utils/dom/cartesian-chart/index.js.map +1 -0
  214. package/test-utils/dom/cartesian-chart/tooltip.d.ts +28 -0
  215. package/test-utils/dom/cartesian-chart/tooltip.js +48 -0
  216. package/test-utils/dom/cartesian-chart/tooltip.js.map +1 -0
  217. package/test-utils/dom/index.d.ts +46 -0
  218. package/test-utils/dom/index.js +35 -0
  219. package/test-utils/dom/index.js.map +1 -0
  220. package/test-utils/dom/internal/base.d.ts +93 -0
  221. package/test-utils/dom/internal/base.js +146 -0
  222. package/test-utils/dom/internal/base.js.map +1 -0
  223. package/test-utils/dom/internal/core.d.ts +14 -0
  224. package/test-utils/dom/internal/core.js +37 -0
  225. package/test-utils/dom/internal/core.js.map +1 -0
  226. package/test-utils/dom/pie-chart/index.d.ts +17 -0
  227. package/test-utils/dom/pie-chart/index.js +29 -0
  228. package/test-utils/dom/pie-chart/index.js.map +1 -0
  229. package/test-utils/selectors/cartesian-chart/index.d.ts +14 -0
  230. package/test-utils/selectors/cartesian-chart/index.js +24 -0
  231. package/test-utils/selectors/cartesian-chart/index.js.map +1 -0
  232. package/test-utils/selectors/cartesian-chart/tooltip.d.ts +28 -0
  233. package/test-utils/selectors/cartesian-chart/tooltip.js +48 -0
  234. package/test-utils/selectors/cartesian-chart/tooltip.js.map +1 -0
  235. package/test-utils/selectors/index.d.ts +46 -0
  236. package/test-utils/selectors/index.js +32 -0
  237. package/test-utils/selectors/index.js.map +1 -0
  238. package/test-utils/selectors/internal/base.d.ts +93 -0
  239. package/test-utils/selectors/internal/base.js +146 -0
  240. package/test-utils/selectors/internal/base.js.map +1 -0
  241. package/test-utils/selectors/internal/core.d.ts +14 -0
  242. package/test-utils/selectors/internal/core.js +37 -0
  243. package/test-utils/selectors/internal/core.js.map +1 -0
  244. package/test-utils/selectors/pie-chart/index.d.ts +17 -0
  245. package/test-utils/selectors/pie-chart/index.js +29 -0
  246. package/test-utils/selectors/pie-chart/index.js.map +1 -0
@@ -0,0 +1,233 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /*
6
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ /*
10
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
11
+ SPDX-License-Identifier: Apache-2.0
12
+ */
13
+ /* stylelint-disable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
14
+ /* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
15
+ body[data-awsui-focus-visible=true] .awsui_focus-outline_1kjc7_lk6jz_15:not(#\9) {
16
+ stroke: var(--color-border-item-focused-uk47pl, #006ce0);
17
+ }
18
+
19
+ /*
20
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
21
+ SPDX-License-Identifier: Apache-2.0
22
+ */
23
+ /*
24
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
25
+ SPDX-License-Identifier: Apache-2.0
26
+ */
27
+ .awsui_item_1kjc7_lk6jz_27:not(#\9) {
28
+ transition: opacity 90ms linear;
29
+ }
30
+ @media (prefers-reduced-motion: reduce) {
31
+ .awsui_item_1kjc7_lk6jz_27:not(#\9) {
32
+ animation: none;
33
+ transition: none;
34
+ }
35
+ }
36
+ .awsui-motion-disabled .awsui_item_1kjc7_lk6jz_27:not(#\9), .awsui-mode-entering .awsui_item_1kjc7_lk6jz_27:not(#\9) {
37
+ animation: none;
38
+ transition: none;
39
+ }
40
+
41
+ .awsui_root_1kjc7_lk6jz_41:not(#\9) {
42
+ border-collapse: separate;
43
+ border-spacing: 0;
44
+ box-sizing: border-box;
45
+ caption-side: top;
46
+ cursor: auto;
47
+ direction: inherit;
48
+ empty-cells: show;
49
+ font-family: serif;
50
+ font-size: medium;
51
+ font-style: normal;
52
+ font-variant: normal;
53
+ font-weight: 400;
54
+ font-stretch: normal;
55
+ line-height: normal;
56
+ hyphens: none;
57
+ letter-spacing: normal;
58
+ list-style: disc outside none;
59
+ tab-size: 8;
60
+ text-align: start;
61
+ text-indent: 0;
62
+ text-shadow: none;
63
+ text-transform: none;
64
+ visibility: visible;
65
+ white-space: normal;
66
+ word-spacing: normal;
67
+ font-size: var(--font-size-body-m-a7nh2n, 14px);
68
+ line-height: var(--line-height-body-m-2mh3ke, 20px);
69
+ color: var(--color-text-body-default-vvtq8u, #0f141a);
70
+ font-weight: 400;
71
+ font-family: var(--font-family-base-gmnpzl, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
72
+ -webkit-font-smoothing: auto;
73
+ -moz-osx-font-smoothing: auto;
74
+ overflow: auto;
75
+ max-height: inherit;
76
+ }
77
+ .awsui_root_1kjc7_lk6jz_41:not(#\9):focus {
78
+ outline: none;
79
+ }
80
+
81
+ .awsui_root-side_1kjc7_lk6jz_81:not(#\9) {
82
+ display: flex;
83
+ flex-direction: column;
84
+ }
85
+
86
+ .awsui_list_1kjc7_lk6jz_86:not(#\9) {
87
+ display: flex;
88
+ list-style: none;
89
+ margin-block: 0;
90
+ margin-inline: 0;
91
+ padding-block: var(--space-static-xxxs-yidks1, 2px);
92
+ padding-inline: var(--space-static-xxxs-yidks1, 2px);
93
+ padding-block-start: var(--space-scaled-xs-xwoogq, 8px);
94
+ }
95
+
96
+ .awsui_list-bottom_1kjc7_lk6jz_96:not(#\9) {
97
+ flex-wrap: wrap;
98
+ overflow-y: auto;
99
+ justify-content: space-between;
100
+ }
101
+
102
+ .awsui_list-side_1kjc7_lk6jz_102:not(#\9) {
103
+ flex-wrap: nowrap;
104
+ flex-direction: column;
105
+ }
106
+
107
+ .awsui_legend-bottom_1kjc7_lk6jz_107:not(#\9) {
108
+ flex: 1;
109
+ display: flex;
110
+ flex-wrap: wrap;
111
+ flex-direction: row;
112
+ max-inline-size: 100%;
113
+ gap: var(--space-scaled-xxs-pfm1nx, 4px) var(--space-static-m-m6qboo, 16px);
114
+ }
115
+
116
+ .awsui_legend-side_1kjc7_lk6jz_116:not(#\9) {
117
+ display: flex;
118
+ flex-wrap: wrap;
119
+ flex-direction: column;
120
+ gap: var(--space-scaled-xxs-pfm1nx, 4px) var(--space-static-m-m6qboo, 16px);
121
+ }
122
+
123
+ .awsui_item_1kjc7_lk6jz_27:not(#\9) {
124
+ border-collapse: separate;
125
+ border-spacing: 0;
126
+ box-sizing: border-box;
127
+ caption-side: top;
128
+ cursor: auto;
129
+ direction: inherit;
130
+ empty-cells: show;
131
+ font-family: serif;
132
+ font-size: medium;
133
+ font-style: normal;
134
+ font-variant: normal;
135
+ font-weight: 400;
136
+ font-stretch: normal;
137
+ line-height: normal;
138
+ hyphens: none;
139
+ letter-spacing: normal;
140
+ list-style: disc outside none;
141
+ tab-size: 8;
142
+ text-align: start;
143
+ text-indent: 0;
144
+ text-shadow: none;
145
+ text-transform: none;
146
+ visibility: visible;
147
+ white-space: normal;
148
+ word-spacing: normal;
149
+ font-size: var(--font-size-body-m-a7nh2n, 14px);
150
+ line-height: var(--line-height-body-m-2mh3ke, 20px);
151
+ color: var(--color-text-body-default-vvtq8u, #0f141a);
152
+ font-weight: 400;
153
+ font-family: var(--font-family-base-gmnpzl, "Open Sans", "Helvetica Neue", Roboto, Arial, sans-serif);
154
+ -webkit-font-smoothing: auto;
155
+ -moz-osx-font-smoothing: auto;
156
+ display: inline-flex;
157
+ padding-block: 0;
158
+ padding-inline: 0;
159
+ border-block: 0;
160
+ border-inline: 0;
161
+ background-color: transparent;
162
+ cursor: pointer;
163
+ opacity: 1;
164
+ max-inline-size: 100%;
165
+ }
166
+ .awsui_item_1kjc7_lk6jz_27:not(#\9):focus {
167
+ outline: none;
168
+ }
169
+ body[data-awsui-focus-visible=true] .awsui_item_1kjc7_lk6jz_27:not(#\9):focus {
170
+ position: relative;
171
+ box-sizing: border-box;
172
+ outline: 2px dotted transparent;
173
+ outline-offset: 1px;
174
+ }
175
+ body[data-awsui-focus-visible=true] .awsui_item_1kjc7_lk6jz_27:not(#\9):focus::before {
176
+ content: " ";
177
+ display: block;
178
+ position: absolute;
179
+ box-sizing: border-box;
180
+ inset-inline-start: calc(-1 * 2px);
181
+ inset-block-start: calc(-1 * 2px);
182
+ inline-size: calc(100% + 2 * 2px);
183
+ block-size: calc(100% + 2 * 2px);
184
+ border-radius: var(--border-radius-control-default-focus-ring-1uabki, 4px);
185
+ border: 2px solid var(--color-border-item-focused-uk47pl, #006ce0);
186
+ }
187
+ .awsui_item_1kjc7_lk6jz_27.awsui_item--inactive_1kjc7_lk6jz_187:not(#\9) {
188
+ color: var(--color-text-interactive-default-ugh9wp, #424650);
189
+ text-decoration: line-through;
190
+ text-decoration-thickness: 2px;
191
+ text-decoration-color: var(--color-text-interactive-default-ugh9wp, #424650);
192
+ }
193
+ .awsui_item_1kjc7_lk6jz_27.awsui_item--dimmed_1kjc7_lk6jz_193:not(#\9) {
194
+ opacity: 0.35;
195
+ }
196
+
197
+ .awsui_item-label_1kjc7_lk6jz_197:not(#\9) {
198
+ overflow: hidden;
199
+ white-space: nowrap;
200
+ text-overflow: ellipsis;
201
+ display: -webkit-box;
202
+ line-clamp: 1;
203
+ -webkit-line-clamp: 1;
204
+ -webkit-box-orient: vertical;
205
+ }
206
+
207
+ .awsui_actions_1kjc7_lk6jz_207:not(#\9) {
208
+ display: flex;
209
+ align-items: center;
210
+ }
211
+
212
+ .awsui_actions-bottom_1kjc7_lk6jz_212:not(#\9) {
213
+ flex-direction: row;
214
+ }
215
+
216
+ .awsui_actions-side_1kjc7_lk6jz_216:not(#\9) {
217
+ flex-direction: column;
218
+ align-items: flex-start;
219
+ }
220
+
221
+ .awsui_actions-divider-bottom_1kjc7_lk6jz_221:not(#\9) {
222
+ inline-size: 1px;
223
+ block-size: 80%;
224
+ margin-inline: var(--space-scaled-xs-xwoogq, 8px);
225
+ background: var(--color-border-divider-default-nr68jt, #c6c6cd);
226
+ }
227
+
228
+ .awsui_actions-divider-side_1kjc7_lk6jz_228:not(#\9) {
229
+ inline-size: 80%;
230
+ block-size: 1px;
231
+ margin-block-end: var(--space-scaled-xs-xwoogq, 8px);
232
+ background: var(--color-border-divider-default-nr68jt, #c6c6cd);
233
+ }
@@ -0,0 +1,23 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "focus-outline": "awsui_focus-outline_1kjc7_lk6jz_15",
6
+ "item": "awsui_item_1kjc7_lk6jz_27",
7
+ "root": "awsui_root_1kjc7_lk6jz_41",
8
+ "root-side": "awsui_root-side_1kjc7_lk6jz_81",
9
+ "list": "awsui_list_1kjc7_lk6jz_86",
10
+ "list-bottom": "awsui_list-bottom_1kjc7_lk6jz_96",
11
+ "list-side": "awsui_list-side_1kjc7_lk6jz_102",
12
+ "legend-bottom": "awsui_legend-bottom_1kjc7_lk6jz_107",
13
+ "legend-side": "awsui_legend-side_1kjc7_lk6jz_116",
14
+ "item--inactive": "awsui_item--inactive_1kjc7_lk6jz_187",
15
+ "item--dimmed": "awsui_item--dimmed_1kjc7_lk6jz_193",
16
+ "item-label": "awsui_item-label_1kjc7_lk6jz_197",
17
+ "actions": "awsui_actions_1kjc7_lk6jz_207",
18
+ "actions-bottom": "awsui_actions-bottom_1kjc7_lk6jz_212",
19
+ "actions-side": "awsui_actions-side_1kjc7_lk6jz_216",
20
+ "actions-divider-bottom": "awsui_actions-divider-bottom_1kjc7_lk6jz_221",
21
+ "actions-divider-side": "awsui_actions-divider-side_1kjc7_lk6jz_228"
22
+ };
23
+
@@ -0,0 +1,11 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "root": "awsui_root_hnnwn_1xf1x_5",
5
+ "actions": "awsui_actions_hnnwn_1xf1x_6",
6
+ "title": "awsui_title_hnnwn_1xf1x_7",
7
+ "item": "awsui_item_hnnwn_1xf1x_8",
8
+ "hidden-item": "awsui_hidden-item_hnnwn_1xf1x_9",
9
+ "dimmed-item": "awsui_dimmed-item_hnnwn_1xf1x_10"
10
+ };
11
+
@@ -0,0 +1,12 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ .awsui_root_hnnwn_1xf1x_5:not(#\9),
6
+ .awsui_actions_hnnwn_1xf1x_6:not(#\9),
7
+ .awsui_title_hnnwn_1xf1x_7:not(#\9),
8
+ .awsui_item_hnnwn_1xf1x_8:not(#\9),
9
+ .awsui_hidden-item_hnnwn_1xf1x_9:not(#\9),
10
+ .awsui_dimmed-item_hnnwn_1xf1x_10:not(#\9) {
11
+ /* used in test-utils */
12
+ }
@@ -0,0 +1,12 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "root": "awsui_root_hnnwn_1xf1x_5",
6
+ "actions": "awsui_actions_hnnwn_1xf1x_6",
7
+ "title": "awsui_title_hnnwn_1xf1x_7",
8
+ "item": "awsui_item_hnnwn_1xf1x_8",
9
+ "hidden-item": "awsui_hidden-item_hnnwn_1xf1x_9",
10
+ "dimmed-item": "awsui_dimmed-item_hnnwn_1xf1x_10"
11
+ };
12
+
@@ -0,0 +1,17 @@
1
+ import { NonCancelableEventHandler } from "../../../internal/events";
2
+ import { LegendItem } from "../interfaces";
3
+ interface ChartSeriesFilterProps {
4
+ items: readonly LegendItem[];
5
+ selectedItems: readonly string[];
6
+ onChange: NonCancelableEventHandler<{
7
+ selectedItems: readonly string[];
8
+ }>;
9
+ i18nStrings?: {
10
+ filterLabel?: string;
11
+ filterPlaceholder?: string;
12
+ filterSelectedAriaLabel?: string;
13
+ };
14
+ }
15
+ declare const ChartSeriesFilter: (props: ChartSeriesFilterProps) => import("react/jsx-runtime").JSX.Element;
16
+ export type { ChartSeriesFilterProps };
17
+ export default ChartSeriesFilter;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import { InternalChartFilter } from "@cloudscape-design/components/internal/do-not-use/chart-filter";
5
+ import { fireNonCancelableEvent } from "../../../internal/events";
6
+ const ChartSeriesFilter = (props) => {
7
+ return (_jsx(InternalChartFilter, { series: props.items.map((item) => ({
8
+ label: item.name,
9
+ datum: item.id,
10
+ marker: item.marker,
11
+ })), selectedSeries: props.selectedItems, onChange: (selectedItems) => fireNonCancelableEvent(props.onChange, { selectedItems }), i18nStrings: props.i18nStrings }));
12
+ };
13
+ export default ChartSeriesFilter;
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/chart-series-filter/index.tsx"],"names":[],"mappings":";AAAA,qEAAqE;AACrE,sCAAsC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,gEAAgE,CAAC;AAErG,OAAO,EAAE,sBAAsB,EAA6B,MAAM,0BAA0B,CAAC;AAc7F,MAAM,iBAAiB,GAAG,CAAC,KAA6B,EAAE,EAAE;IAC1D,OAAO,CACL,KAAC,mBAAmB,IAClB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACjC,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,EAAE;YACd,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC,CAAC,EACH,cAAc,EAAE,KAAK,CAAC,aAAa,EACnC,QAAQ,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,sBAAsB,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,EACtF,WAAW,EAAE,KAAK,CAAC,WAAW,GAC9B,CACH,CAAC;AACJ,CAAC,CAAC;AAIF,eAAe,iBAAiB,CAAC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { InternalChartFilter } from \"@cloudscape-design/components/internal/do-not-use/chart-filter\";\n\nimport { fireNonCancelableEvent, NonCancelableEventHandler } from \"../../../internal/events\";\nimport { LegendItem } from \"../interfaces\";\n\ninterface ChartSeriesFilterProps {\n items: readonly LegendItem[];\n selectedItems: readonly string[];\n onChange: NonCancelableEventHandler<{ selectedItems: readonly string[] }>;\n i18nStrings?: {\n filterLabel?: string;\n filterPlaceholder?: string;\n filterSelectedAriaLabel?: string;\n };\n}\n\nconst ChartSeriesFilter = (props: ChartSeriesFilterProps) => {\n return (\n <InternalChartFilter\n series={props.items.map((item) => ({\n label: item.name,\n datum: item.id,\n marker: item.marker,\n }))}\n selectedSeries={props.selectedItems}\n onChange={(selectedItems) => fireNonCancelableEvent(props.onChange, { selectedItems })}\n i18nStrings={props.i18nStrings}\n />\n );\n};\n\nexport type { ChartSeriesFilterProps };\n\nexport default ChartSeriesFilter;\n"]}
@@ -0,0 +1,17 @@
1
+ /// <reference types="react" />
2
+ export interface LegendItem {
3
+ id: string;
4
+ name: string;
5
+ marker: React.ReactNode;
6
+ visible: boolean;
7
+ highlighted: boolean;
8
+ }
9
+ export type GetLegendTooltipContent = (props: GetLegendTooltipContentProps) => LegendTooltipContent;
10
+ export interface GetLegendTooltipContentProps {
11
+ legendItem: LegendItem;
12
+ }
13
+ export interface LegendTooltipContent {
14
+ header: React.ReactNode;
15
+ body: React.ReactNode;
16
+ footer?: React.ReactNode;
17
+ }
@@ -0,0 +1,4 @@
1
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export {};
4
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../../src/internal/components/interfaces.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sCAAsC","sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport interface LegendItem {\n id: string;\n name: string;\n marker: React.ReactNode;\n visible: boolean;\n highlighted: boolean;\n}\n\nexport type GetLegendTooltipContent = (props: GetLegendTooltipContentProps) => LegendTooltipContent;\n\nexport interface GetLegendTooltipContentProps {\n legendItem: LegendItem;\n}\n\nexport interface LegendTooltipContent {\n header: React.ReactNode;\n body: React.ReactNode;\n footer?: React.ReactNode;\n}\n"]}
@@ -0,0 +1,23 @@
1
+ import { ReactNode } from "react";
2
+ import { BaseComponentProps } from "@cloudscape-design/components/internal/base-component";
3
+ interface ChartDetailPair {
4
+ key: ReactNode;
5
+ value: ReactNode;
6
+ }
7
+ export interface ChartSeriesDetailItem extends ChartDetailPair {
8
+ highlighted?: boolean;
9
+ marker?: React.ReactNode;
10
+ isDimmed?: boolean;
11
+ subItems?: ReadonlyArray<ChartDetailPair>;
12
+ expandableId?: string;
13
+ description?: ReactNode;
14
+ }
15
+ export type ExpandedSeries = Set<string>;
16
+ interface ChartSeriesDetailsProps extends BaseComponentProps {
17
+ details: ReadonlyArray<ChartSeriesDetailItem>;
18
+ expandedSeries?: ExpandedSeries;
19
+ setExpandedState?: (seriesTitle: string, state: boolean) => void;
20
+ compactList?: boolean;
21
+ }
22
+ declare const _default: import("react").MemoExoticComponent<import("react").ForwardRefExoticComponent<ChartSeriesDetailsProps & import("react").RefAttributes<HTMLDivElement>>>;
23
+ export default _default;
@@ -0,0 +1,45 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ // SPDX-License-Identifier: Apache-2.0
4
+ import { forwardRef, memo, useEffect, useRef } from "react";
5
+ import clsx from "clsx";
6
+ import { useMergeRefs } from "@cloudscape-design/component-toolkit/internal";
7
+ import { InternalExpandableSection } from "@cloudscape-design/components/internal/do-not-use/expandable-section";
8
+ import { getDataAttributes } from "../../base-component/get-data-attributes";
9
+ import styles from "./styles.css.js";
10
+ import testClasses from "./test-classes/styles.css.js";
11
+ export default memo(forwardRef(ChartSeriesDetails));
12
+ function ChartSeriesDetails({ details, expandedSeries, setExpandedState, compactList, ...restProps }, ref) {
13
+ const baseProps = getDataAttributes(restProps);
14
+ const className = clsx(baseProps.className, styles.root);
15
+ const detailsRef = useRef(null);
16
+ const mergedRef = useMergeRefs(ref, detailsRef);
17
+ const selectedRef = useRef(null);
18
+ const isExpanded = (seriesTitle) => !!expandedSeries && expandedSeries.has(seriesTitle);
19
+ const selectedIndex = details.findIndex((d) => d.highlighted);
20
+ useEffect(() => {
21
+ if (selectedIndex !== -1 && selectedRef.current && "scrollIntoView" in selectedRef.current) {
22
+ selectedRef.current.scrollIntoView({ behavior: "smooth", block: "center" });
23
+ }
24
+ }, [selectedIndex]);
25
+ return (_jsx("div", { ...baseProps, className: className, ref: mergedRef, children: _jsx("ul", { className: clsx(styles.list, compactList && styles.compact), children: details.map(({ key, value, marker, isDimmed, subItems, expandableId, description, highlighted }, index) => (_jsxs("li", { className: clsx({
26
+ [styles.dimmed]: isDimmed,
27
+ [styles["list-item"]]: true,
28
+ [testClasses["list-item"]]: true,
29
+ [styles["with-sub-items"]]: subItems === null || subItems === void 0 ? void 0 : subItems.length,
30
+ [styles.expandable]: !!expandableId,
31
+ }), children: [details.length > 1 && highlighted ? (_jsx("div", { ref: selectedRef, className: styles["highlight-indicator"] })) : null, (subItems === null || subItems === void 0 ? void 0 : subItems.length) && !!expandableId ? (_jsx(ExpandableSeries, { itemKey: key, value: value, marker: marker, description: description, subItems: subItems, expanded: isExpanded(expandableId), setExpandedState: (state) => setExpandedState && setExpandedState(expandableId, state) })) : (_jsx(NonExpandableSeries, { itemKey: key, value: value, marker: marker, description: description, subItems: subItems }))] }, [index, highlighted].join("-")))) }) }));
32
+ }
33
+ function SubItems({ items, expandable, expanded, }) {
34
+ return (_jsx("ul", { className: clsx(styles["sub-items"], expandable && styles.expandable), children: items.map(({ key, value }, index) => (_jsxs("li", { className: clsx(testClasses["inner-list-item"], styles["inner-list-item"], styles["key-value-pair"], (expanded || !expandable) && styles.announced), children: [_jsx("span", { className: clsx(testClasses.key, styles.key), children: key }), _jsx("span", { className: clsx(testClasses.value, styles.value), children: value })] }, index))) }));
35
+ }
36
+ function ExpandableSeries({ itemKey, value, subItems, marker, expanded, setExpandedState, description, }) {
37
+ return (_jsxs("div", { className: styles["expandable-section"], children: [marker, _jsxs("div", { className: styles["full-width"], children: [_jsx(InternalExpandableSection, { headerText: _jsx("span", { className: clsx(testClasses.key, styles.key), children: itemKey }), headerActions: _jsx("span", { className: clsx(testClasses.value, styles.value, styles.expandable), children: value }), expanded: expanded, onChange: ({ detail }) => setExpandedState(detail.expanded), variant: "compact", children: _jsx(SubItems, { items: subItems, expandable: true, expanded: expanded }) }), _jsx(Details, { children: description })] })] }));
38
+ }
39
+ function NonExpandableSeries({ itemKey, value, subItems, marker, description }) {
40
+ return (_jsxs(_Fragment, { children: [_jsxs("div", { className: clsx(styles["key-value-pair"], styles.announced), children: [_jsxs("div", { className: clsx(testClasses.key, styles.key), children: [marker, _jsx("span", { children: itemKey })] }), _jsx("span", { className: clsx(testClasses.value, styles.value), children: value })] }), subItems && _jsx(SubItems, { items: subItems }), _jsx(Details, { children: description })] }));
41
+ }
42
+ function Details({ children }) {
43
+ return children ? _jsx("div", { className: clsx(testClasses.description, styles.description), children: children }) : null;
44
+ }
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/internal/components/series-details/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\n\nimport { forwardRef, memo, ReactNode, useEffect, useRef } from \"react\";\nimport clsx from \"clsx\";\n\nimport { useMergeRefs } from \"@cloudscape-design/component-toolkit/internal\";\nimport { BaseComponentProps } from \"@cloudscape-design/components/internal/base-component\";\nimport { InternalExpandableSection } from \"@cloudscape-design/components/internal/do-not-use/expandable-section\";\n\nimport { getDataAttributes } from \"../../base-component/get-data-attributes\";\n\nimport styles from \"./styles.css.js\";\nimport testClasses from \"./test-classes/styles.css.js\";\n\ninterface ChartDetailPair {\n key: ReactNode;\n value: ReactNode;\n}\n\ninterface ListItemProps {\n itemKey: ReactNode;\n value: ReactNode;\n subItems?: ReadonlyArray<ChartDetailPair>;\n marker?: React.ReactNode;\n description?: ReactNode;\n}\n\nexport interface ChartSeriesDetailItem extends ChartDetailPair {\n highlighted?: boolean;\n marker?: React.ReactNode;\n isDimmed?: boolean;\n subItems?: ReadonlyArray<ChartDetailPair>;\n expandableId?: string;\n description?: ReactNode;\n}\nexport type ExpandedSeries = Set<string>;\n\ninterface ChartSeriesDetailsProps extends BaseComponentProps {\n details: ReadonlyArray<ChartSeriesDetailItem>;\n expandedSeries?: ExpandedSeries;\n setExpandedState?: (seriesTitle: string, state: boolean) => void;\n compactList?: boolean;\n}\n\nexport default memo(forwardRef(ChartSeriesDetails));\n\nfunction ChartSeriesDetails(\n { details, expandedSeries, setExpandedState, compactList, ...restProps }: ChartSeriesDetailsProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const baseProps = getDataAttributes(restProps);\n const className = clsx(baseProps.className, styles.root);\n const detailsRef = useRef<HTMLDivElement | null>(null);\n const mergedRef = useMergeRefs(ref, detailsRef);\n const selectedRef = useRef<HTMLDivElement>(null);\n\n const isExpanded = (seriesTitle: string) => !!expandedSeries && expandedSeries.has(seriesTitle);\n\n const selectedIndex = details.findIndex((d) => d.highlighted);\n useEffect(() => {\n if (selectedIndex !== -1 && selectedRef.current && \"scrollIntoView\" in selectedRef.current) {\n selectedRef.current.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n }\n }, [selectedIndex]);\n\n return (\n <div {...baseProps} className={className} ref={mergedRef}>\n <ul className={clsx(styles.list, compactList && styles.compact)}>\n {details.map(({ key, value, marker, isDimmed, subItems, expandableId, description, highlighted }, index) => (\n <li\n // Include 'highlighted' in the key to force React re-render when highlight state changes.\n // Without this, the highlight indicator div may not be removed when cursor moves away from data points\n // due to React's reconciliation algorithm not detecting the state change in complex data scenarios.\n // This ensures proper cleanup of visual highlight indicators.\n key={[index, highlighted].join(\"-\")}\n className={clsx({\n [styles.dimmed]: isDimmed,\n [styles[\"list-item\"]]: true,\n [testClasses[\"list-item\"]]: true,\n [styles[\"with-sub-items\"]]: subItems?.length,\n [styles.expandable]: !!expandableId,\n })}\n >\n {details.length > 1 && highlighted ? (\n <div ref={selectedRef} className={styles[\"highlight-indicator\"]}></div>\n ) : null}\n {subItems?.length && !!expandableId ? (\n <ExpandableSeries\n itemKey={key}\n value={value}\n marker={marker}\n description={description}\n subItems={subItems}\n expanded={isExpanded(expandableId)}\n setExpandedState={(state) => setExpandedState && setExpandedState(expandableId, state)}\n />\n ) : (\n <NonExpandableSeries\n itemKey={key}\n value={value}\n marker={marker}\n description={description}\n subItems={subItems}\n />\n )}\n </li>\n ))}\n </ul>\n </div>\n );\n}\n\nfunction SubItems({\n items,\n expandable,\n expanded,\n}: {\n items: ReadonlyArray<ChartDetailPair>;\n expandable?: boolean;\n expanded?: boolean;\n}) {\n return (\n <ul className={clsx(styles[\"sub-items\"], expandable && styles.expandable)}>\n {items.map(({ key, value }, index) => (\n <li\n key={index}\n className={clsx(\n testClasses[\"inner-list-item\"],\n styles[\"inner-list-item\"],\n styles[\"key-value-pair\"],\n (expanded || !expandable) && styles.announced,\n )}\n >\n <span className={clsx(testClasses.key, styles.key)}>{key}</span>\n <span className={clsx(testClasses.value, styles.value)}>{value}</span>\n </li>\n ))}\n </ul>\n );\n}\n\nfunction ExpandableSeries({\n itemKey,\n value,\n subItems,\n marker,\n expanded,\n setExpandedState,\n description,\n}: ListItemProps &\n Required<Pick<ListItemProps, \"subItems\">> & {\n expanded: boolean;\n setExpandedState: (state: boolean) => void;\n }) {\n return (\n <div className={styles[\"expandable-section\"]}>\n {marker}\n <div className={styles[\"full-width\"]}>\n <InternalExpandableSection\n headerText={<span className={clsx(testClasses.key, styles.key)}>{itemKey}</span>}\n headerActions={<span className={clsx(testClasses.value, styles.value, styles.expandable)}>{value}</span>}\n expanded={expanded}\n onChange={({ detail }) => setExpandedState(detail.expanded)}\n variant=\"compact\"\n >\n <SubItems items={subItems} expandable={true} expanded={expanded} />\n </InternalExpandableSection>\n <Details>{description}</Details>\n </div>\n </div>\n );\n}\n\nfunction NonExpandableSeries({ itemKey, value, subItems, marker, description }: ListItemProps) {\n return (\n <>\n <div className={clsx(styles[\"key-value-pair\"], styles.announced)}>\n <div className={clsx(testClasses.key, styles.key)}>\n {marker}\n <span>{itemKey}</span>\n </div>\n <span className={clsx(testClasses.value, styles.value)}>{value}</span>\n </div>\n {subItems && <SubItems items={subItems} />}\n <Details>{description}</Details>\n </>\n );\n}\n\nfunction Details({ children }: { children: ReactNode }) {\n return children ? <div className={clsx(testClasses.description, styles.description)}>{children}</div> : null;\n}\n"]}
@@ -0,0 +1,22 @@
1
+
2
+ import './styles.scoped.css';
3
+ export default {
4
+ "focus-outline": "awsui_focus-outline_1no4y_1pjth_15",
5
+ "marker": "awsui_marker_1no4y_1pjth_27",
6
+ "value": "awsui_value_1no4y_1pjth_65",
7
+ "expandable": "awsui_expandable_1no4y_1pjth_69",
8
+ "list-item": "awsui_list-item_1no4y_1pjth_73",
9
+ "inner-list-item": "awsui_inner-list-item_1no4y_1pjth_74",
10
+ "key-value-pair": "awsui_key-value-pair_1no4y_1pjth_80",
11
+ "expandable-section": "awsui_expandable-section_1no4y_1pjth_81",
12
+ "key": "awsui_key_1no4y_1pjth_80",
13
+ "sub-items": "awsui_sub-items_1no4y_1pjth_96",
14
+ "list": "awsui_list_1no4y_1pjth_73",
15
+ "dimmed": "awsui_dimmed_1no4y_1pjth_115",
16
+ "compact": "awsui_compact_1no4y_1pjth_119",
17
+ "with-sub-items": "awsui_with-sub-items_1no4y_1pjth_124",
18
+ "description": "awsui_description_1no4y_1pjth_129",
19
+ "full-width": "awsui_full-width_1no4y_1pjth_138",
20
+ "highlight-indicator": "awsui_highlight-indicator_1no4y_1pjth_142"
21
+ };
22
+
@@ -0,0 +1,150 @@
1
+ /*
2
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3
+ SPDX-License-Identifier: Apache-2.0
4
+ */
5
+ /*
6
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
7
+ SPDX-License-Identifier: Apache-2.0
8
+ */
9
+ /*
10
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
11
+ SPDX-License-Identifier: Apache-2.0
12
+ */
13
+ /* stylelint-disable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
14
+ /* stylelint-enable @cloudscape-design/no-motion-outside-of-mixin, selector-combinator-disallowed-list, selector-pseudo-class-no-unknown, selector-class-pattern */
15
+ body[data-awsui-focus-visible=true] .awsui_focus-outline_1no4y_1pjth_15:not(#\9) {
16
+ stroke: var(--color-border-item-focused-uk47pl, #006ce0);
17
+ }
18
+
19
+ /*
20
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
21
+ SPDX-License-Identifier: Apache-2.0
22
+ */
23
+ /*
24
+ Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
25
+ SPDX-License-Identifier: Apache-2.0
26
+ */
27
+ .awsui_marker_1no4y_1pjth_27:not(#\9) {
28
+ border-collapse: separate;
29
+ border-spacing: 0;
30
+ box-sizing: border-box;
31
+ caption-side: top;
32
+ cursor: auto;
33
+ direction: inherit;
34
+ empty-cells: show;
35
+ font-family: serif;
36
+ font-size: medium;
37
+ font-style: normal;
38
+ font-variant: normal;
39
+ font-weight: 400;
40
+ font-stretch: normal;
41
+ line-height: normal;
42
+ hyphens: none;
43
+ letter-spacing: normal;
44
+ list-style: disc outside none;
45
+ tab-size: 8;
46
+ text-align: start;
47
+ text-indent: 0;
48
+ text-shadow: none;
49
+ text-transform: none;
50
+ visibility: visible;
51
+ white-space: normal;
52
+ word-spacing: normal;
53
+ margin-block-start: var(--space-static-xxxs-yidks1, 2px);
54
+ margin-inline-end: var(--space-static-xxs-ns94dp, 4px);
55
+ border-start-start-radius: 2px;
56
+ border-start-end-radius: 2px;
57
+ border-end-start-radius: 2px;
58
+ border-end-end-radius: 2px;
59
+ inline-size: 16px;
60
+ block-size: 16px;
61
+ flex-shrink: 0;
62
+ cursor: inherit;
63
+ }
64
+
65
+ .awsui_value_1no4y_1pjth_65:not(#\9) {
66
+ text-align: end;
67
+ margin-inline-start: var(--space-static-xxl-ifa9j8, 32px);
68
+ }
69
+ .awsui_value_1no4y_1pjth_65.awsui_expandable_1no4y_1pjth_69:not(#\9) {
70
+ font-weight: var(--font-weight-heading-s-lcx0ai, 700);
71
+ }
72
+
73
+ .awsui_list-item_1no4y_1pjth_73:not(#\9),
74
+ .awsui_inner-list-item_1no4y_1pjth_74:not(#\9) {
75
+ list-style: none;
76
+ position: relative;
77
+ }
78
+
79
+ .awsui_inner-list-item_1no4y_1pjth_74:not(#\9),
80
+ .awsui_list-item_1no4y_1pjth_73 > .awsui_key-value-pair_1no4y_1pjth_80:not(#\9),
81
+ .awsui_list-item_1no4y_1pjth_73 > .awsui_expandable-section_1no4y_1pjth_81:not(#\9) {
82
+ display: flex;
83
+ flex-direction: row;
84
+ justify-content: space-between;
85
+ inline-size: 100%;
86
+ }
87
+ .awsui_inner-list-item_1no4y_1pjth_74 > .awsui_key_1no4y_1pjth_80:not(#\9),
88
+ .awsui_list-item_1no4y_1pjth_73 > .awsui_key-value-pair_1no4y_1pjth_80 > .awsui_key_1no4y_1pjth_80:not(#\9),
89
+ .awsui_list-item_1no4y_1pjth_73 > .awsui_expandable-section_1no4y_1pjth_81 > .awsui_key_1no4y_1pjth_80:not(#\9) {
90
+ min-inline-size: 0;
91
+ word-break: break-word;
92
+ display: inline-flex;
93
+ color: var(--color-text-group-label-a2qc05, #424650);
94
+ }
95
+
96
+ .awsui_sub-items_1no4y_1pjth_96:not(#\9):not(.awsui_expandable_1no4y_1pjth_69) {
97
+ padding-inline-start: calc(16px + var(--space-static-xxs-ns94dp, 4px));
98
+ }
99
+ .awsui_sub-items_1no4y_1pjth_96.awsui_expandable_1no4y_1pjth_69:not(#\9) {
100
+ padding-inline-start: 0;
101
+ }
102
+ .awsui_sub-items_1no4y_1pjth_96.awsui_expandable_1no4y_1pjth_69 > .awsui_inner-list-item_1no4y_1pjth_74 > .awsui_value_1no4y_1pjth_65:not(#\9) {
103
+ white-space: nowrap;
104
+ }
105
+
106
+ .awsui_list_1no4y_1pjth_73:not(#\9) {
107
+ display: flex;
108
+ margin-block: 0;
109
+ margin-inline: 0;
110
+ padding-block: 0;
111
+ padding-inline: 0;
112
+ list-style: none;
113
+ flex-direction: column;
114
+ }
115
+ .awsui_list_1no4y_1pjth_73 > .awsui_list-item_1no4y_1pjth_73.awsui_dimmed_1no4y_1pjth_115:not(#\9) {
116
+ opacity: 0.35;
117
+ }
118
+
119
+ .awsui_list_1no4y_1pjth_73:not(#\9):not(.awsui_compact_1no4y_1pjth_119) > .awsui_list-item_1no4y_1pjth_73:not(:first-child),
120
+ .awsui_inner-list-item_1no4y_1pjth_74:not(#\9) {
121
+ margin-block-start: var(--space-scaled-xxs-pfm1nx, 4px);
122
+ }
123
+
124
+ .awsui_list-item_1no4y_1pjth_73.awsui_with-sub-items_1no4y_1pjth_124:not(#\9):not(.awsui_expandable_1no4y_1pjth_69) > .awsui_key-value-pair_1no4y_1pjth_80 > .awsui_key_1no4y_1pjth_80,
125
+ .awsui_list-item_1no4y_1pjth_73.awsui_with-sub-items_1no4y_1pjth_124:not(#\9):not(.awsui_expandable_1no4y_1pjth_69) > .awsui_key-value-pair_1no4y_1pjth_80 > .awsui_value_1no4y_1pjth_65 {
126
+ font-weight: var(--font-weight-heading-s-lcx0ai, 700);
127
+ }
128
+
129
+ .awsui_list-item_1no4y_1pjth_73 .awsui_description_1no4y_1pjth_129:not(#\9) {
130
+ color: var(--color-text-body-secondary-bcbgoi, #424650);
131
+ font-size: var(--font-size-body-s-smc8cv, 12px);
132
+ }
133
+
134
+ .awsui_list-item_1no4y_1pjth_73.awsui_with-sub-items_1no4y_1pjth_124 .awsui_description_1no4y_1pjth_129:not(#\9) {
135
+ margin-top: var(--space-scaled-xxs-pfm1nx, 4px);
136
+ }
137
+
138
+ .awsui_full-width_1no4y_1pjth_138:not(#\9) {
139
+ inline-size: 100%;
140
+ }
141
+
142
+ .awsui_highlight-indicator_1no4y_1pjth_142:not(#\9) {
143
+ position: absolute;
144
+ top: 3px;
145
+ left: -6px;
146
+ inline-size: 3px;
147
+ block-size: 14px;
148
+ border-radius: 4px;
149
+ background: var(--color-text-body-secondary-bcbgoi, #424650);
150
+ }
@@ -0,0 +1,23 @@
1
+
2
+ // es-module interop with Babel and Typescript
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ module.exports.default = {
5
+ "focus-outline": "awsui_focus-outline_1no4y_1pjth_15",
6
+ "marker": "awsui_marker_1no4y_1pjth_27",
7
+ "value": "awsui_value_1no4y_1pjth_65",
8
+ "expandable": "awsui_expandable_1no4y_1pjth_69",
9
+ "list-item": "awsui_list-item_1no4y_1pjth_73",
10
+ "inner-list-item": "awsui_inner-list-item_1no4y_1pjth_74",
11
+ "key-value-pair": "awsui_key-value-pair_1no4y_1pjth_80",
12
+ "expandable-section": "awsui_expandable-section_1no4y_1pjth_81",
13
+ "key": "awsui_key_1no4y_1pjth_80",
14
+ "sub-items": "awsui_sub-items_1no4y_1pjth_96",
15
+ "list": "awsui_list_1no4y_1pjth_73",
16
+ "dimmed": "awsui_dimmed_1no4y_1pjth_115",
17
+ "compact": "awsui_compact_1no4y_1pjth_119",
18
+ "with-sub-items": "awsui_with-sub-items_1no4y_1pjth_124",
19
+ "description": "awsui_description_1no4y_1pjth_129",
20
+ "full-width": "awsui_full-width_1no4y_1pjth_138",
21
+ "highlight-indicator": "awsui_highlight-indicator_1no4y_1pjth_142"
22
+ };
23
+