@ojiepermana/angular 22.1.13 → 22.2.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 (252) hide show
  1. package/README.md +8 -6
  2. package/SUPPORT.md +3 -3
  3. package/chart/README.md +1 -1
  4. package/component/README.md +2 -2
  5. package/component/calendar/README.md +3 -15
  6. package/component/drawer/README.md +1 -2
  7. package/fesm2022/ojiepermana-angular-chart-area.mjs +352 -137
  8. package/fesm2022/ojiepermana-angular-chart-bar.mjs +744 -524
  9. package/fesm2022/ojiepermana-angular-chart-core.mjs +1140 -1344
  10. package/fesm2022/ojiepermana-angular-chart-line.mjs +393 -147
  11. package/fesm2022/ojiepermana-angular-chart-pie.mjs +408 -179
  12. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1262 -920
  13. package/fesm2022/ojiepermana-angular-chart-radar.mjs +473 -205
  14. package/fesm2022/ojiepermana-angular-chart-radial.mjs +425 -182
  15. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +386 -210
  16. package/fesm2022/ojiepermana-angular-chart.mjs +3 -19
  17. package/fesm2022/ojiepermana-angular-component-accordion.mjs +485 -243
  18. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +963 -325
  19. package/fesm2022/ojiepermana-angular-component-alert.mjs +266 -103
  20. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +80 -35
  21. package/fesm2022/ojiepermana-angular-component-avatar.mjs +402 -135
  22. package/fesm2022/ojiepermana-angular-component-badge.mjs +109 -59
  23. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +410 -142
  24. package/fesm2022/ojiepermana-angular-component-button-group.mjs +249 -96
  25. package/fesm2022/ojiepermana-angular-component-button.mjs +153 -75
  26. package/fesm2022/ojiepermana-angular-component-calendar.mjs +531 -418
  27. package/fesm2022/ojiepermana-angular-component-card.mjs +457 -171
  28. package/fesm2022/ojiepermana-angular-component-carousel.mjs +642 -272
  29. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +312 -108
  30. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +299 -115
  31. package/fesm2022/ojiepermana-angular-component-combobox.mjs +396 -183
  32. package/fesm2022/ojiepermana-angular-component-command.mjs +807 -347
  33. package/fesm2022/ojiepermana-angular-component-composer.mjs +807 -330
  34. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +196 -161
  35. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +650 -338
  36. package/fesm2022/ojiepermana-angular-component-dialog.mjs +710 -316
  37. package/fesm2022/ojiepermana-angular-component-drawer.mjs +2 -5
  38. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +1212 -646
  39. package/fesm2022/ojiepermana-angular-component-editor.mjs +987 -502
  40. package/fesm2022/ojiepermana-angular-component-empty.mjs +350 -137
  41. package/fesm2022/ojiepermana-angular-component-form.mjs +813 -434
  42. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +486 -277
  43. package/fesm2022/ojiepermana-angular-component-icon.mjs +241 -140
  44. package/fesm2022/ojiepermana-angular-component-input-group.mjs +449 -176
  45. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +891 -488
  46. package/fesm2022/ojiepermana-angular-component-input.mjs +86 -55
  47. package/fesm2022/ojiepermana-angular-component-item.mjs +713 -261
  48. package/fesm2022/ojiepermana-angular-component-kanban.mjs +714 -216
  49. package/fesm2022/ojiepermana-angular-component-kbd.mjs +124 -52
  50. package/fesm2022/ojiepermana-angular-component-label.mjs +82 -31
  51. package/fesm2022/ojiepermana-angular-component-menubar.mjs +479 -329
  52. package/fesm2022/ojiepermana-angular-component-native-select.mjs +167 -65
  53. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +683 -380
  54. package/fesm2022/ojiepermana-angular-component-pagination.mjs +277 -94
  55. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +1283 -607
  56. package/fesm2022/ojiepermana-angular-component-popover.mjs +291 -204
  57. package/fesm2022/ojiepermana-angular-component-progress.mjs +176 -53
  58. package/fesm2022/ojiepermana-angular-component-radio.mjs +449 -142
  59. package/fesm2022/ojiepermana-angular-component-resizable.mjs +659 -453
  60. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +117 -39
  61. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +351 -172
  62. package/fesm2022/ojiepermana-angular-component-select.mjs +475 -345
  63. package/fesm2022/ojiepermana-angular-component-separator.mjs +102 -35
  64. package/fesm2022/ojiepermana-angular-component-sheet.mjs +797 -347
  65. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +62 -29
  66. package/fesm2022/ojiepermana-angular-component-slider.mjs +592 -376
  67. package/fesm2022/ojiepermana-angular-component-spinner.mjs +135 -38
  68. package/fesm2022/ojiepermana-angular-component-switch.mjs +315 -103
  69. package/fesm2022/ojiepermana-angular-component-table.mjs +440 -153
  70. package/fesm2022/ojiepermana-angular-component-tabs.mjs +590 -317
  71. package/fesm2022/ojiepermana-angular-component-textarea.mjs +85 -50
  72. package/fesm2022/ojiepermana-angular-component-timeline.mjs +609 -231
  73. package/fesm2022/ojiepermana-angular-component-toast.mjs +229 -243
  74. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +573 -288
  75. package/fesm2022/ojiepermana-angular-component-toggle.mjs +187 -78
  76. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +798 -517
  77. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +159 -292
  78. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +46 -58
  79. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +76 -38
  80. package/fesm2022/ojiepermana-angular-component-utils.mjs +2 -8
  81. package/fesm2022/ojiepermana-angular-component.mjs +0 -10
  82. package/fesm2022/ojiepermana-angular-navigation-core.mjs +13 -23
  83. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +35 -24
  84. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-BKCeWzml.mjs +129 -0
  85. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DFEJK2jD.mjs +811 -0
  86. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-Cd-jh6tg.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-mpK9Ar08.mjs} +387 -183
  87. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BPgH7FJk.mjs +650 -0
  88. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-DMpYcD9t.mjs +662 -0
  89. package/fesm2022/ojiepermana-angular-navigation-navigation-item.component-Basp5SIk.mjs +1228 -0
  90. package/fesm2022/ojiepermana-angular-navigation-navigation-list.component-YUzHI9Pj.mjs +311 -0
  91. package/fesm2022/ojiepermana-angular-navigation-service.mjs +542 -724
  92. package/fesm2022/ojiepermana-angular-navigation-types.mjs +27 -56
  93. package/fesm2022/ojiepermana-angular-navigation.mjs +3052 -4
  94. package/fesm2022/ojiepermana-angular-sdk.mjs +91 -201
  95. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1115 -737
  96. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +245 -328
  97. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +35 -38
  98. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1719 -552
  99. package/fesm2022/ojiepermana-angular-theme-layout.mjs +847 -491
  100. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +288 -358
  101. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +362 -224
  102. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +88 -0
  103. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +576 -254
  104. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +317 -177
  105. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +256 -112
  106. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -12
  107. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +215 -326
  108. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +68 -129
  109. package/fesm2022/ojiepermana-angular-theme-shell.mjs +907 -378
  110. package/fesm2022/ojiepermana-angular-theme-styles.mjs +521 -720
  111. package/fesm2022/ojiepermana-angular-theme.mjs +0 -10
  112. package/fesm2022/ojiepermana-angular.mjs +5 -24
  113. package/navigation/README.md +1 -1
  114. package/package.json +16 -12
  115. package/sdk/README.md +1 -1
  116. package/sdk/src/writer/index.js +2 -2
  117. package/theme/README.md +1 -1
  118. package/theme/layout/README.md +2 -4
  119. package/theme/page/README.md +50 -0
  120. package/theme/styles/README.md +10 -10
  121. package/theme/styles/css/base/prefers-dark.css +1 -1
  122. package/theme/styles/css/base/status.css +1 -1
  123. package/theme/styles/css/color/amber.css +1 -1
  124. package/theme/styles/css/color/blue.css +1 -1
  125. package/theme/styles/css/color/cyan.css +1 -1
  126. package/theme/styles/css/color/emerald.css +1 -1
  127. package/theme/styles/css/color/fuchsia.css +1 -1
  128. package/theme/styles/css/color/green.css +1 -1
  129. package/theme/styles/css/color/indigo.css +1 -1
  130. package/theme/styles/css/color/lime.css +1 -1
  131. package/theme/styles/css/color/orange.css +1 -1
  132. package/theme/styles/css/color/pink.css +1 -1
  133. package/theme/styles/css/color/purple.css +1 -1
  134. package/theme/styles/css/color/red.css +1 -1
  135. package/theme/styles/css/color/rose.css +1 -1
  136. package/theme/styles/css/color/sky.css +1 -1
  137. package/theme/styles/css/color/teal.css +1 -1
  138. package/theme/styles/css/color/violet.css +1 -1
  139. package/theme/styles/css/color/yellow.css +1 -1
  140. package/theme/styles/css/neutral/gray.css +1 -1
  141. package/theme/styles/css/neutral/mauve.css +1 -1
  142. package/theme/styles/css/neutral/mist.css +1 -1
  143. package/theme/styles/css/neutral/neutral.css +1 -1
  144. package/theme/styles/css/neutral/olive.css +1 -1
  145. package/theme/styles/css/neutral/slate.css +1 -1
  146. package/theme/styles/css/neutral/stone.css +1 -1
  147. package/theme/styles/css/neutral/taupe.css +1 -1
  148. package/theme/styles/css/neutral/zinc.css +1 -1
  149. package/types/ojiepermana-angular-chart-area.d.ts +126 -63
  150. package/types/ojiepermana-angular-chart-bar.d.ts +244 -154
  151. package/types/ojiepermana-angular-chart-core.d.ts +409 -398
  152. package/types/ojiepermana-angular-chart-line.d.ts +141 -68
  153. package/types/ojiepermana-angular-chart-pie.d.ts +192 -121
  154. package/types/ojiepermana-angular-chart-primitives.d.ts +283 -214
  155. package/types/ojiepermana-angular-chart-radar.d.ts +189 -108
  156. package/types/ojiepermana-angular-chart-radial.d.ts +177 -106
  157. package/types/ojiepermana-angular-chart-scatter.d.ts +166 -110
  158. package/types/ojiepermana-angular-chart.d.ts +3 -2
  159. package/types/ojiepermana-angular-component-accordion.d.ts +135 -81
  160. package/types/ojiepermana-angular-component-alert-dialog.d.ts +271 -123
  161. package/types/ojiepermana-angular-component-alert.d.ts +69 -39
  162. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +20 -12
  163. package/types/ojiepermana-angular-component-avatar.d.ts +103 -49
  164. package/types/ojiepermana-angular-component-badge.d.ts +36 -24
  165. package/types/ojiepermana-angular-component-breadcrumb.d.ts +79 -40
  166. package/types/ojiepermana-angular-component-button-group.d.ts +48 -24
  167. package/types/ojiepermana-angular-component-button.d.ts +44 -27
  168. package/types/ojiepermana-angular-component-calendar.d.ts +145 -107
  169. package/types/ojiepermana-angular-component-card.d.ts +112 -63
  170. package/types/ojiepermana-angular-component-carousel.d.ts +150 -81
  171. package/types/ojiepermana-angular-component-checkbox.d.ts +96 -38
  172. package/types/ojiepermana-angular-component-collapsible.d.ts +65 -39
  173. package/types/ojiepermana-angular-component-combobox.d.ts +100 -55
  174. package/types/ojiepermana-angular-component-command.d.ts +206 -121
  175. package/types/ojiepermana-angular-component-composer.d.ts +184 -84
  176. package/types/ojiepermana-angular-component-context-menu.d.ts +51 -41
  177. package/types/ojiepermana-angular-component-date-picker.d.ts +199 -109
  178. package/types/ojiepermana-angular-component-dialog.d.ts +200 -105
  179. package/types/ojiepermana-angular-component-drawer.d.ts +2 -1
  180. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +324 -202
  181. package/types/ojiepermana-angular-component-editor.d.ts +215 -117
  182. package/types/ojiepermana-angular-component-empty.d.ts +80 -45
  183. package/types/ojiepermana-angular-component-form.d.ts +185 -121
  184. package/types/ojiepermana-angular-component-hover-card.d.ts +130 -72
  185. package/types/ojiepermana-angular-component-icon.d.ts +87 -57
  186. package/types/ojiepermana-angular-component-input-group.d.ts +93 -46
  187. package/types/ojiepermana-angular-component-input-otp.d.ts +243 -150
  188. package/types/ojiepermana-angular-component-input.d.ts +27 -17
  189. package/types/ojiepermana-angular-component-item.d.ts +160 -84
  190. package/types/ojiepermana-angular-component-kanban.d.ts +157 -62
  191. package/types/ojiepermana-angular-component-kbd.d.ts +24 -15
  192. package/types/ojiepermana-angular-component-label.d.ts +19 -11
  193. package/types/ojiepermana-angular-component-menubar.d.ts +120 -90
  194. package/types/ojiepermana-angular-component-native-select.d.ts +37 -24
  195. package/types/ojiepermana-angular-component-navigation-menu.d.ts +157 -98
  196. package/types/ojiepermana-angular-component-pagination.d.ts +78 -28
  197. package/types/ojiepermana-angular-component-pillbox.d.ts +361 -204
  198. package/types/ojiepermana-angular-component-popover.d.ts +94 -64
  199. package/types/ojiepermana-angular-component-progress.d.ts +45 -17
  200. package/types/ojiepermana-angular-component-radio.d.ts +129 -53
  201. package/types/ojiepermana-angular-component-resizable.d.ts +160 -112
  202. package/types/ojiepermana-angular-component-scroll-area.d.ts +33 -15
  203. package/types/ojiepermana-angular-component-segmented-control.d.ts +94 -50
  204. package/types/ojiepermana-angular-component-select.d.ts +94 -77
  205. package/types/ojiepermana-angular-component-separator.d.ts +26 -14
  206. package/types/ojiepermana-angular-component-sheet.d.ts +226 -116
  207. package/types/ojiepermana-angular-component-skeleton.d.ts +13 -10
  208. package/types/ojiepermana-angular-component-slider.d.ts +140 -75
  209. package/types/ojiepermana-angular-component-spinner.d.ts +31 -13
  210. package/types/ojiepermana-angular-component-switch.d.ts +97 -40
  211. package/types/ojiepermana-angular-component-table.d.ts +102 -50
  212. package/types/ojiepermana-angular-component-tabs.d.ts +174 -115
  213. package/types/ojiepermana-angular-component-textarea.d.ts +27 -17
  214. package/types/ojiepermana-angular-component-timeline.d.ts +141 -59
  215. package/types/ojiepermana-angular-component-toast.d.ts +51 -55
  216. package/types/ojiepermana-angular-component-toggle-group.d.ts +159 -88
  217. package/types/ojiepermana-angular-component-toggle.d.ts +47 -25
  218. package/types/ojiepermana-angular-component-tooltip.d.ts +222 -132
  219. package/types/ojiepermana-angular-component-utils-core.d.ts +81 -90
  220. package/types/ojiepermana-angular-component-utils-overlay.d.ts +7 -11
  221. package/types/ojiepermana-angular-component-utils-scale.d.ts +20 -12
  222. package/types/ojiepermana-angular-component-utils.d.ts +2 -2
  223. package/types/ojiepermana-angular-component.d.ts +1 -2
  224. package/types/ojiepermana-angular-navigation-core.d.ts +46 -50
  225. package/types/ojiepermana-angular-navigation-icon.d.ts +9 -12
  226. package/types/ojiepermana-angular-navigation-service.d.ts +112 -115
  227. package/types/ojiepermana-angular-navigation-types.d.ts +121 -125
  228. package/types/ojiepermana-angular-navigation.d.ts +663 -374
  229. package/types/ojiepermana-angular-sdk.d.ts +69 -71
  230. package/types/ojiepermana-angular-theme-component-settings.d.ts +115 -83
  231. package/types/ojiepermana-angular-theme-layout-services.d.ts +119 -124
  232. package/types/ojiepermana-angular-theme-layout-types.d.ts +27 -31
  233. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +399 -187
  234. package/types/ojiepermana-angular-theme-layout.d.ts +201 -112
  235. package/types/ojiepermana-angular-theme-page-core.d.ts +136 -142
  236. package/types/ojiepermana-angular-theme-page-filter.d.ts +112 -62
  237. package/types/ojiepermana-angular-theme-page-overview.d.ts +28 -0
  238. package/types/ojiepermana-angular-theme-page-root.d.ts +172 -88
  239. package/types/ojiepermana-angular-theme-page-side.d.ts +89 -49
  240. package/types/ojiepermana-angular-theme-page-slots.d.ts +58 -37
  241. package/types/ojiepermana-angular-theme-page.d.ts +7 -5
  242. package/types/ojiepermana-angular-theme-shell-services.d.ts +119 -125
  243. package/types/ojiepermana-angular-theme-shell-types.d.ts +38 -41
  244. package/types/ojiepermana-angular-theme-shell.d.ts +139 -61
  245. package/types/ojiepermana-angular-theme-styles.d.ts +184 -196
  246. package/types/ojiepermana-angular-theme.d.ts +1 -2
  247. package/types/ojiepermana-angular.d.ts +5 -5
  248. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-CDBxQ8rk.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +0 -512
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +0 -2642
@@ -1,200 +1,241 @@
1
- import { scaleLinear } from 'd3-scale';
2
- import { extent } from 'd3-array';
3
- import { readNumber, seriesColorVar, ChartContext, ScatterViewportContext, resolveChartStyle, ChartThemeSpace, resolveChartMargin, DEFAULT_CARTESIAN_MARGIN_UNITS, setupCartesianChart, ChartRovingFocus, ChartMarkFocus, ChartDataTable } from '@ojiepermana/angular/chart/core';
4
- import * as i0 from '@angular/core';
5
- import { inject, input, output, computed, Component } from '@angular/core';
6
-
1
+ import { scaleLinear } from "d3-scale";
2
+ import { extent } from "d3-array";
3
+ import { ChartContext, ChartDataTable, ChartMarkFocus, ChartRovingFocus, ChartThemeSpace, DEFAULT_CARTESIAN_MARGIN_UNITS, ScatterViewportContext, readNumber, resolveChartMargin, resolveChartStyle, seriesColorVar, setupCartesianChart } from "@ojiepermana/angular/chart/core";
4
+ import * as i0 from "@angular/core";
5
+ import { Component, computed, inject, input, output } from "@angular/core";
7
6
  function nice(extent) {
8
- const [lo, hi] = extent;
9
- if (lo === undefined || hi === undefined)
10
- return [0, 1];
11
- if (lo === hi)
12
- return [lo - 1, hi + 1];
13
- return [lo, hi];
7
+ const [lo, hi] = extent;
8
+ if (lo === void 0 || hi === void 0) return [0, 1];
9
+ if (lo === hi) return [lo - 1, hi + 1];
10
+ return [lo, hi];
14
11
  }
15
12
  function resolveScatterDomains(input) {
16
- const xValues = input.data.map((d) => readNumber(d, input.xKey));
17
- const yValues = input.data.map((d) => readNumber(d, input.yKey));
18
- return {
19
- xDomain: (input.xDomain ?? nice(extent(xValues))),
20
- yDomain: (input.yDomain ?? nice(extent(yValues))),
21
- };
13
+ const xValues = input.data.map((d) => readNumber(d, input.xKey));
14
+ const yValues = input.data.map((d) => readNumber(d, input.yKey));
15
+ return {
16
+ xDomain: input.xDomain ?? nice(extent(xValues)),
17
+ yDomain: input.yDomain ?? nice(extent(yValues))
18
+ };
22
19
  }
23
20
  function computeScatterLayout(input) {
24
- const { data, xKey, yKey, sizeKey, seriesKey, seriesKeys, innerWidth, innerHeight, minPointRadius, maxPointRadius, } = input;
25
- const xValues = data.map((d) => readNumber(d, xKey));
26
- const yValues = data.map((d) => readNumber(d, yKey));
27
- const sizeValues = sizeKey ? data.map((d) => readNumber(d, sizeKey)) : [];
28
- const { xDomain, yDomain } = resolveScatterDomains(input);
29
- const xScale = scaleLinear()
30
- .domain(xDomain)
31
- .range([0, innerWidth]);
32
- const yScale = scaleLinear()
33
- .domain(yDomain)
34
- .range([innerHeight, 0]);
35
- let sizeScale = null;
36
- if (sizeKey && sizeValues.length > 0) {
37
- const [sLo, sHi] = extent(sizeValues);
38
- sizeScale = scaleLinear()
39
- .domain([sLo ?? 0, sHi ?? 1])
40
- .range([minPointRadius, maxPointRadius]);
41
- }
42
- const fallbackKey = seriesKeys[0] ?? 'value';
43
- const points = data.flatMap((d, i) => {
44
- const key = seriesKey ? String(d[seriesKey] ?? fallbackKey) : fallbackKey;
45
- const sz = sizeKey ? readNumber(d, sizeKey) : 0;
46
- const rawX = xValues[i];
47
- const rawY = yValues[i];
48
- if (rawX < xDomain[0] || rawX > xDomain[1] || rawY < yDomain[0] || rawY > yDomain[1]) {
49
- return [];
50
- }
51
- return [
52
- {
53
- seriesKey: key,
54
- color: seriesColorVar(key),
55
- x: xScale(rawX),
56
- y: yScale(rawY),
57
- radius: sizeScale ? sizeScale(sz) : minPointRadius,
58
- datumIndex: i,
59
- rawX,
60
- rawY,
61
- rawSize: sz,
62
- },
63
- ];
64
- });
65
- return { points, xScale, yScale, xDomain, yDomain };
21
+ const { data, xKey, yKey, sizeKey, seriesKey, seriesKeys, innerWidth, innerHeight, minPointRadius, maxPointRadius } = input;
22
+ const xValues = data.map((d) => readNumber(d, xKey));
23
+ const yValues = data.map((d) => readNumber(d, yKey));
24
+ const sizeValues = sizeKey ? data.map((d) => readNumber(d, sizeKey)) : [];
25
+ const { xDomain, yDomain } = resolveScatterDomains(input);
26
+ const xScale = scaleLinear().domain(xDomain).range([0, innerWidth]);
27
+ const yScale = scaleLinear().domain(yDomain).range([innerHeight, 0]);
28
+ let sizeScale = null;
29
+ if (sizeKey && sizeValues.length > 0) {
30
+ const [sLo, sHi] = extent(sizeValues);
31
+ sizeScale = scaleLinear().domain([sLo ?? 0, sHi ?? 1]).range([minPointRadius, maxPointRadius]);
32
+ }
33
+ const fallbackKey = seriesKeys[0] ?? "value";
34
+ return {
35
+ points: data.flatMap((d, i) => {
36
+ const key = seriesKey ? String(d[seriesKey] ?? fallbackKey) : fallbackKey;
37
+ const sz = sizeKey ? readNumber(d, sizeKey) : 0;
38
+ const rawX = xValues[i];
39
+ const rawY = yValues[i];
40
+ if (rawX < xDomain[0] || rawX > xDomain[1] || rawY < yDomain[0] || rawY > yDomain[1]) return [];
41
+ return [{
42
+ seriesKey: key,
43
+ color: seriesColorVar(key),
44
+ x: xScale(rawX),
45
+ y: yScale(rawY),
46
+ radius: sizeScale ? sizeScale(sz) : minPointRadius,
47
+ datumIndex: i,
48
+ rawX,
49
+ rawY,
50
+ rawSize: sz
51
+ }];
52
+ }),
53
+ xScale,
54
+ yScale,
55
+ xDomain,
56
+ yDomain
57
+ };
66
58
  }
67
-
68
- /**
69
- * Scatter chart — one dot per datum. Both axes are linear; color can
70
- * come from a fixed series key or per-row via `seriesKey` field. Point
71
- * radius optionally scales with `sizeKey`.
72
- */
73
- class ScatterChart {
74
- root = inject(ChartContext);
75
- viewport = inject(ScatterViewportContext);
76
- data = input.required(/* @ts-ignore */
77
- ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
78
- xKey = input.required(/* @ts-ignore */
79
- ...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
80
- yKey = input.required(/* @ts-ignore */
81
- ...(ngDevMode ? [{ debugName: "yKey" }] : /* istanbul ignore next */ []));
82
- /** Optional numeric field to drive point radius. */
83
- sizeKey = input(undefined, /* @ts-ignore */
84
- ...(ngDevMode ? [{ debugName: "sizeKey" }] : /* istanbul ignore next */ []));
85
- /** Optional field on each datum used as color key. */
86
- seriesKey = input(undefined, /* @ts-ignore */
87
- ...(ngDevMode ? [{ debugName: "seriesKey" }] : /* istanbul ignore next */ []));
88
- /**
89
- * Presentational style of the chart.
90
- *
91
- * Replaces `styles`, which read like a CSS styles bag rather than a single
92
- * variant. Named `styleVariant` and not `variant` because `ChartBar` already
93
- * publishes a `variant` input for its grouped versus stacked axis, and one
94
- * name cannot mean two things across the family.
95
- */
96
- styleVariant = input(undefined, /* @ts-ignore */
97
- ...(ngDevMode ? [{ debugName: "styleVariant" }] : /* istanbul ignore next */ []));
98
- /**
99
- * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
100
- * `styleVariant` wins. Due for removal in the next major.
101
- */
102
- styles = input('base', /* @ts-ignore */
103
- ...(ngDevMode ? [{ debugName: "styles" }] : /* istanbul ignore next */ []));
104
- /** The style actually in effect. Bind this, never `styles()`. */
105
- chartStyle = resolveChartStyle(this.styleVariant, this.styles);
106
- themeSpace = inject(ChartThemeSpace);
107
- /**
108
- * Plot gutters. Leave it unset and they follow the theme-space density
109
- * axis; set it and your numbers win, unchanged, whatever the axis says.
110
- */
111
- margin = input(null, /* @ts-ignore */
112
- ...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
113
- /** The margin actually in effect. Bind this, never `margin()`. */
114
- plotMargin = resolveChartMargin(this.margin, DEFAULT_CARTESIAN_MARGIN_UNITS, this.themeSpace);
115
- minPointRadius = input(3, /* @ts-ignore */
116
- ...(ngDevMode ? [{ debugName: "minPointRadius" }] : /* istanbul ignore next */ []));
117
- maxPointRadius = input(12, /* @ts-ignore */
118
- ...(ngDevMode ? [{ debugName: "maxPointRadius" }] : /* istanbul ignore next */ []));
119
- xDomain = input(undefined, /* @ts-ignore */
120
- ...(ngDevMode ? [{ debugName: "xDomain" }] : /* istanbul ignore next */ []));
121
- yDomain = input(undefined, /* @ts-ignore */
122
- ...(ngDevMode ? [{ debugName: "yDomain" }] : /* istanbul ignore next */ []));
123
- pointClick = output();
124
- /**
125
- * The shared cartesian scaffolding. Scatter uses the geometry, the layout
126
- * effect, and the click plus active-point plus aria-label handlers; it has no
127
- * `CartesianContext` of its own (it publishes to a `ScatterViewportContext`
128
- * instead) and no index window, so it passes neither `cartesian` nor
129
- * `viewport`.
130
- *
131
- * Declared before `layout` because the layout computed reads its geometry.
132
- */
133
- cx = setupCartesianChart({
134
- data: () => this.data(),
135
- margin: () => this.plotMargin(),
136
- publishLayout: (inner) => {
137
- const domains = this.resolvedDomains();
138
- const layout = this.layout();
139
- this.viewport.innerWidth.set(inner.width);
140
- this.viewport.innerHeight.set(inner.height);
141
- this.viewport.fullXDomain.set(domains.xDomain);
142
- this.viewport.fullYDomain.set(domains.yDomain);
143
- this.viewport.xScale.set(layout.xScale);
144
- this.viewport.yScale.set(layout.yScale);
145
- },
146
- click: {
147
- emit: (event) => this.pointClick.emit(event),
148
- payload: (point, datumIndex, datum) => ({
149
- seriesKey: point.seriesKey,
150
- datumIndex,
151
- // A scatter point has no category of its own, so the shared fields carry
152
- // the pair it does have: x as the label, y as the magnitude. `x` and `y`
153
- // stay for handlers that want the raw numbers.
154
- category: String(point.rawX),
155
- value: point.rawY,
156
- x: point.rawX,
157
- y: point.rawY,
158
- datum,
159
- }),
160
- },
161
- ariaLabel: (point) => `${point.seriesKey}: x=${point.rawX}, y=${point.rawY}`,
162
- });
163
- resolvedDomains = computed(() => resolveScatterDomains({
164
- data: this.data(),
165
- xKey: this.xKey(),
166
- yKey: this.yKey(),
167
- xDomain: this.xDomain(),
168
- yDomain: this.yDomain(),
169
- }), /* @ts-ignore */
170
- ...(ngDevMode ? [{ debugName: "resolvedDomains" }] : /* istanbul ignore next */ []));
171
- currentXDomain = computed(() => this.viewport.zoomXDomain() ?? this.resolvedDomains().xDomain, /* @ts-ignore */
172
- ...(ngDevMode ? [{ debugName: "currentXDomain" }] : /* istanbul ignore next */ []));
173
- currentYDomain = computed(() => this.viewport.zoomYDomain() ?? this.resolvedDomains().yDomain, /* @ts-ignore */
174
- ...(ngDevMode ? [{ debugName: "currentYDomain" }] : /* istanbul ignore next */ []));
175
- layout = computed(() => computeScatterLayout({
176
- data: this.data(),
177
- xKey: this.xKey(),
178
- yKey: this.yKey(),
179
- sizeKey: this.sizeKey(),
180
- seriesKey: this.seriesKey(),
181
- seriesKeys: this.root.visibleSeriesKeys(),
182
- innerWidth: this.cx.innerWidth(),
183
- innerHeight: this.cx.innerHeight(),
184
- minPointRadius: this.minPointRadius(),
185
- maxPointRadius: this.maxPointRadius(),
186
- xDomain: this.currentXDomain(),
187
- yDomain: this.currentYDomain(),
188
- }), /* @ts-ignore */
189
- ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
190
- clipPathId = computed(() => `${this.root.id()}-scatter-clip`, /* @ts-ignore */
191
- ...(ngDevMode ? [{ debugName: "clipPathId" }] : /* istanbul ignore next */ []));
192
- ariaSummary = computed(() => `Scatter chart, ${this.data().length} points.`, /* @ts-ignore */
193
- ...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
194
- dataColumns = computed(() => [this.xKey(), this.yKey()], /* @ts-ignore */
195
- ...(ngDevMode ? [{ debugName: "dataColumns" }] : /* istanbul ignore next */ []));
196
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ScatterChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
197
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: ScatterChart, isStandalone: true, selector: "ChartScatter", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, xKey: { classPropertyName: "xKey", publicName: "xKey", isSignal: true, isRequired: true, transformFunction: null }, yKey: { classPropertyName: "yKey", publicName: "yKey", isSignal: true, isRequired: true, transformFunction: null }, sizeKey: { classPropertyName: "sizeKey", publicName: "sizeKey", isSignal: true, isRequired: false, transformFunction: null }, seriesKey: { classPropertyName: "seriesKey", publicName: "seriesKey", isSignal: true, isRequired: false, transformFunction: null }, styleVariant: { classPropertyName: "styleVariant", publicName: "styleVariant", isSignal: true, isRequired: false, transformFunction: null }, styles: { classPropertyName: "styles", publicName: "styles", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, minPointRadius: { classPropertyName: "minPointRadius", publicName: "minPointRadius", isSignal: true, isRequired: false, transformFunction: null }, maxPointRadius: { classPropertyName: "maxPointRadius", publicName: "maxPointRadius", isSignal: true, isRequired: false, transformFunction: null }, xDomain: { classPropertyName: "xDomain", publicName: "xDomain", isSignal: true, isRequired: false, transformFunction: null }, yDomain: { classPropertyName: "yDomain", publicName: "yDomain", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pointClick: "pointClick" }, host: { properties: { "attr.data-style": "chartStyle()" }, classAttribute: "relative block h-full w-full" }, providers: [ScatterViewportContext], ngImport: i0, template: `
59
+ var ScatterChart = class ScatterChart {
60
+ root = inject(ChartContext);
61
+ viewport = inject(ScatterViewportContext);
62
+ data = input.required(...ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []);
63
+ xKey = input.required(...ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []);
64
+ yKey = input.required(...ngDevMode ? [{ debugName: "yKey" }] : /* istanbul ignore next */ []);
65
+ sizeKey = input(void 0, ...ngDevMode ? [{ debugName: "sizeKey" }] : /* istanbul ignore next */ []);
66
+ seriesKey = input(void 0, ...ngDevMode ? [{ debugName: "seriesKey" }] : /* istanbul ignore next */ []);
67
+ styleVariant = input(void 0, ...ngDevMode ? [{ debugName: "styleVariant" }] : /* istanbul ignore next */ []);
68
+ styles = input("base", ...ngDevMode ? [{ debugName: "styles" }] : /* istanbul ignore next */ []);
69
+ chartStyle = resolveChartStyle(this.styleVariant, this.styles);
70
+ themeSpace = inject(ChartThemeSpace);
71
+ margin = input(null, ...ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []);
72
+ plotMargin = resolveChartMargin(this.margin, DEFAULT_CARTESIAN_MARGIN_UNITS, this.themeSpace);
73
+ minPointRadius = input(3, ...ngDevMode ? [{ debugName: "minPointRadius" }] : /* istanbul ignore next */ []);
74
+ maxPointRadius = input(12, ...ngDevMode ? [{ debugName: "maxPointRadius" }] : /* istanbul ignore next */ []);
75
+ xDomain = input(void 0, ...ngDevMode ? [{ debugName: "xDomain" }] : /* istanbul ignore next */ []);
76
+ yDomain = input(void 0, ...ngDevMode ? [{ debugName: "yDomain" }] : /* istanbul ignore next */ []);
77
+ pointClick = output();
78
+ cx = setupCartesianChart({
79
+ data: () => this.data(),
80
+ margin: () => this.plotMargin(),
81
+ publishLayout: (inner) => {
82
+ const domains = this.resolvedDomains();
83
+ const layout = this.layout();
84
+ this.viewport.innerWidth.set(inner.width);
85
+ this.viewport.innerHeight.set(inner.height);
86
+ this.viewport.fullXDomain.set(domains.xDomain);
87
+ this.viewport.fullYDomain.set(domains.yDomain);
88
+ this.viewport.xScale.set(layout.xScale);
89
+ this.viewport.yScale.set(layout.yScale);
90
+ },
91
+ click: {
92
+ emit: (event) => this.pointClick.emit(event),
93
+ payload: (point, datumIndex, datum) => ({
94
+ seriesKey: point.seriesKey,
95
+ datumIndex,
96
+ category: String(point.rawX),
97
+ value: point.rawY,
98
+ x: point.rawX,
99
+ y: point.rawY,
100
+ datum
101
+ })
102
+ },
103
+ ariaLabel: (point) => `${point.seriesKey}: x=${point.rawX}, y=${point.rawY}`
104
+ });
105
+ resolvedDomains = computed(() => resolveScatterDomains({
106
+ data: this.data(),
107
+ xKey: this.xKey(),
108
+ yKey: this.yKey(),
109
+ xDomain: this.xDomain(),
110
+ yDomain: this.yDomain()
111
+ }), ...ngDevMode ? [{ debugName: "resolvedDomains" }] : /* istanbul ignore next */ []);
112
+ currentXDomain = computed(() => this.viewport.zoomXDomain() ?? this.resolvedDomains().xDomain, ...ngDevMode ? [{ debugName: "currentXDomain" }] : /* istanbul ignore next */ []);
113
+ currentYDomain = computed(() => this.viewport.zoomYDomain() ?? this.resolvedDomains().yDomain, ...ngDevMode ? [{ debugName: "currentYDomain" }] : /* istanbul ignore next */ []);
114
+ layout = computed(() => computeScatterLayout({
115
+ data: this.data(),
116
+ xKey: this.xKey(),
117
+ yKey: this.yKey(),
118
+ sizeKey: this.sizeKey(),
119
+ seriesKey: this.seriesKey(),
120
+ seriesKeys: this.root.visibleSeriesKeys(),
121
+ innerWidth: this.cx.innerWidth(),
122
+ innerHeight: this.cx.innerHeight(),
123
+ minPointRadius: this.minPointRadius(),
124
+ maxPointRadius: this.maxPointRadius(),
125
+ xDomain: this.currentXDomain(),
126
+ yDomain: this.currentYDomain()
127
+ }), ...ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []);
128
+ clipPathId = computed(() => `${this.root.id()}-scatter-clip`, ...ngDevMode ? [{ debugName: "clipPathId" }] : /* istanbul ignore next */ []);
129
+ ariaSummary = computed(() => `Scatter chart, ${this.data().length} points.`, ...ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []);
130
+ dataColumns = computed(() => [this.xKey(), this.yKey()], ...ngDevMode ? [{ debugName: "dataColumns" }] : /* istanbul ignore next */ []);
131
+ static ɵfac = i0.ɵɵngDeclareFactory({
132
+ minVersion: "12.0.0",
133
+ version: "22.2.0",
134
+ ngImport: i0,
135
+ type: ScatterChart,
136
+ deps: [],
137
+ target: i0.ɵɵFactoryTarget.Component
138
+ });
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({
140
+ minVersion: "17.0.0",
141
+ version: "22.2.0",
142
+ type: ScatterChart,
143
+ isStandalone: true,
144
+ selector: "ChartScatter",
145
+ inputs: {
146
+ data: {
147
+ classPropertyName: "data",
148
+ publicName: "data",
149
+ isSignal: true,
150
+ isRequired: true,
151
+ transformFunction: null
152
+ },
153
+ xKey: {
154
+ classPropertyName: "xKey",
155
+ publicName: "xKey",
156
+ isSignal: true,
157
+ isRequired: true,
158
+ transformFunction: null
159
+ },
160
+ yKey: {
161
+ classPropertyName: "yKey",
162
+ publicName: "yKey",
163
+ isSignal: true,
164
+ isRequired: true,
165
+ transformFunction: null
166
+ },
167
+ sizeKey: {
168
+ classPropertyName: "sizeKey",
169
+ publicName: "sizeKey",
170
+ isSignal: true,
171
+ isRequired: false,
172
+ transformFunction: null
173
+ },
174
+ seriesKey: {
175
+ classPropertyName: "seriesKey",
176
+ publicName: "seriesKey",
177
+ isSignal: true,
178
+ isRequired: false,
179
+ transformFunction: null
180
+ },
181
+ styleVariant: {
182
+ classPropertyName: "styleVariant",
183
+ publicName: "styleVariant",
184
+ isSignal: true,
185
+ isRequired: false,
186
+ transformFunction: null
187
+ },
188
+ styles: {
189
+ classPropertyName: "styles",
190
+ publicName: "styles",
191
+ isSignal: true,
192
+ isRequired: false,
193
+ transformFunction: null
194
+ },
195
+ margin: {
196
+ classPropertyName: "margin",
197
+ publicName: "margin",
198
+ isSignal: true,
199
+ isRequired: false,
200
+ transformFunction: null
201
+ },
202
+ minPointRadius: {
203
+ classPropertyName: "minPointRadius",
204
+ publicName: "minPointRadius",
205
+ isSignal: true,
206
+ isRequired: false,
207
+ transformFunction: null
208
+ },
209
+ maxPointRadius: {
210
+ classPropertyName: "maxPointRadius",
211
+ publicName: "maxPointRadius",
212
+ isSignal: true,
213
+ isRequired: false,
214
+ transformFunction: null
215
+ },
216
+ xDomain: {
217
+ classPropertyName: "xDomain",
218
+ publicName: "xDomain",
219
+ isSignal: true,
220
+ isRequired: false,
221
+ transformFunction: null
222
+ },
223
+ yDomain: {
224
+ classPropertyName: "yDomain",
225
+ publicName: "yDomain",
226
+ isSignal: true,
227
+ isRequired: false,
228
+ transformFunction: null
229
+ }
230
+ },
231
+ outputs: { pointClick: "pointClick" },
232
+ host: {
233
+ properties: { "attr.data-style": "chartStyle()" },
234
+ classAttribute: "relative block h-full w-full"
235
+ },
236
+ providers: [ScatterViewportContext],
237
+ ngImport: i0,
238
+ template: `
198
239
  <svg:svg
199
240
  ChartRovingFocus
200
241
  class="block h-full w-full overflow-visible"
@@ -242,16 +283,53 @@ class ScatterChart {
242
283
  <ng-content select="ChartLegend" />
243
284
  <ng-content select="ChartZoomControls" />
244
285
  <ChartDataTable [data]="data()" [columns]="dataColumns()" [label]="ariaSummary()" />
245
- `, isInline: true, dependencies: [{ kind: "directive", type: ChartRovingFocus, selector: "svg[ChartRovingFocus]" }, { kind: "directive", type: ChartMarkFocus, selector: "[ChartMarkFocus]" }, { kind: "component", type: ChartDataTable, selector: "ChartDataTable", inputs: ["data", "columns", "label", "rowHeaderKey"] }] });
246
- }
247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: ScatterChart, decorators: [{
248
- type: Component,
249
- args: [{
250
- selector: 'ChartScatter',
251
- providers: [ScatterViewportContext],
252
- imports: [ChartRovingFocus, ChartMarkFocus, ChartDataTable],
253
- host: { class: 'relative block h-full w-full', '[attr.data-style]': 'chartStyle()' },
254
- template: `
286
+ `,
287
+ isInline: true,
288
+ dependencies: [
289
+ {
290
+ kind: "directive",
291
+ type: ChartRovingFocus,
292
+ selector: "svg[ChartRovingFocus]"
293
+ },
294
+ {
295
+ kind: "directive",
296
+ type: ChartMarkFocus,
297
+ selector: "[ChartMarkFocus]"
298
+ },
299
+ {
300
+ kind: "component",
301
+ type: ChartDataTable,
302
+ selector: "ChartDataTable",
303
+ inputs: [
304
+ "data",
305
+ "columns",
306
+ "label",
307
+ "rowHeaderKey"
308
+ ]
309
+ }
310
+ ]
311
+ });
312
+ };
313
+ i0.ɵɵngDeclareClassMetadata({
314
+ minVersion: "12.0.0",
315
+ version: "22.2.0",
316
+ ngImport: i0,
317
+ type: ScatterChart,
318
+ decorators: [{
319
+ type: Component,
320
+ args: [{
321
+ selector: "ChartScatter",
322
+ providers: [ScatterViewportContext],
323
+ imports: [
324
+ ChartRovingFocus,
325
+ ChartMarkFocus,
326
+ ChartDataTable
327
+ ],
328
+ host: {
329
+ class: "relative block h-full w-full",
330
+ "[attr.data-style]": "chartStyle()"
331
+ },
332
+ template: `
255
333
  <svg:svg
256
334
  ChartRovingFocus
257
335
  class="block h-full w-full overflow-visible"
@@ -299,12 +377,110 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImpor
299
377
  <ng-content select="ChartLegend" />
300
378
  <ng-content select="ChartZoomControls" />
301
379
  <ChartDataTable [data]="data()" [columns]="dataColumns()" [label]="ariaSummary()" />
302
- `,
303
- }]
304
- }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], xKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "xKey", required: true }] }], yKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "yKey", required: true }] }], sizeKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "sizeKey", required: false }] }], seriesKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "seriesKey", required: false }] }], styleVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleVariant", required: false }] }], styles: [{ type: i0.Input, args: [{ isSignal: true, alias: "styles", required: false }] }], margin: [{ type: i0.Input, args: [{ isSignal: true, alias: "margin", required: false }] }], minPointRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "minPointRadius", required: false }] }], maxPointRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxPointRadius", required: false }] }], xDomain: [{ type: i0.Input, args: [{ isSignal: true, alias: "xDomain", required: false }] }], yDomain: [{ type: i0.Input, args: [{ isSignal: true, alias: "yDomain", required: false }] }], pointClick: [{ type: i0.Output, args: ["pointClick"] }] } });
305
-
306
- /**
307
- * Generated bundle index. Do not edit.
308
- */
309
-
310
- export { ScatterChart, computeScatterLayout, resolveScatterDomains };
380
+ `
381
+ }]
382
+ }],
383
+ propDecorators: {
384
+ data: [{
385
+ type: i0.Input,
386
+ args: [{
387
+ isSignal: true,
388
+ alias: "data",
389
+ required: true
390
+ }]
391
+ }],
392
+ xKey: [{
393
+ type: i0.Input,
394
+ args: [{
395
+ isSignal: true,
396
+ alias: "xKey",
397
+ required: true
398
+ }]
399
+ }],
400
+ yKey: [{
401
+ type: i0.Input,
402
+ args: [{
403
+ isSignal: true,
404
+ alias: "yKey",
405
+ required: true
406
+ }]
407
+ }],
408
+ sizeKey: [{
409
+ type: i0.Input,
410
+ args: [{
411
+ isSignal: true,
412
+ alias: "sizeKey",
413
+ required: false
414
+ }]
415
+ }],
416
+ seriesKey: [{
417
+ type: i0.Input,
418
+ args: [{
419
+ isSignal: true,
420
+ alias: "seriesKey",
421
+ required: false
422
+ }]
423
+ }],
424
+ styleVariant: [{
425
+ type: i0.Input,
426
+ args: [{
427
+ isSignal: true,
428
+ alias: "styleVariant",
429
+ required: false
430
+ }]
431
+ }],
432
+ styles: [{
433
+ type: i0.Input,
434
+ args: [{
435
+ isSignal: true,
436
+ alias: "styles",
437
+ required: false
438
+ }]
439
+ }],
440
+ margin: [{
441
+ type: i0.Input,
442
+ args: [{
443
+ isSignal: true,
444
+ alias: "margin",
445
+ required: false
446
+ }]
447
+ }],
448
+ minPointRadius: [{
449
+ type: i0.Input,
450
+ args: [{
451
+ isSignal: true,
452
+ alias: "minPointRadius",
453
+ required: false
454
+ }]
455
+ }],
456
+ maxPointRadius: [{
457
+ type: i0.Input,
458
+ args: [{
459
+ isSignal: true,
460
+ alias: "maxPointRadius",
461
+ required: false
462
+ }]
463
+ }],
464
+ xDomain: [{
465
+ type: i0.Input,
466
+ args: [{
467
+ isSignal: true,
468
+ alias: "xDomain",
469
+ required: false
470
+ }]
471
+ }],
472
+ yDomain: [{
473
+ type: i0.Input,
474
+ args: [{
475
+ isSignal: true,
476
+ alias: "yDomain",
477
+ required: false
478
+ }]
479
+ }],
480
+ pointClick: [{
481
+ type: i0.Output,
482
+ args: ["pointClick"]
483
+ }]
484
+ }
485
+ });
486
+ export { ScatterChart, computeScatterLayout, resolveScatterDomains };