@ojiepermana/angular 21.3.3 → 22.0.1
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.
- package/README.md +10 -6
- package/component/accordion/README.md +195 -0
- package/component/alert/README.md +182 -0
- package/component/alert-dialog/README.md +239 -0
- package/component/aspect-ratio/README.md +112 -0
- package/component/avatar/README.md +176 -0
- package/component/badge/README.md +133 -0
- package/component/breadcrumb/README.md +216 -0
- package/component/button/README.md +139 -0
- package/component/button-group/README.md +208 -0
- package/component/calendar/README.md +132 -0
- package/component/card/README.md +220 -0
- package/component/carousel/README.md +276 -0
- package/component/checkbox/README.md +149 -0
- package/component/collapsible/README.md +195 -0
- package/component/combobox/README.md +198 -0
- package/component/command/README.md +275 -0
- package/component/composer/README.md +235 -0
- package/component/composer/package.json +4 -0
- package/component/context-menu/README.md +267 -0
- package/component/date-picker/README.md +177 -0
- package/component/dialog/README.md +237 -0
- package/component/drawer/README.md +145 -0
- package/component/dropdown-menu/README.md +311 -0
- package/component/editor/README.md +136 -0
- package/component/editor/package.json +4 -0
- package/component/empty/README.md +183 -0
- package/component/empty/package.json +4 -0
- package/component/form/README.md +210 -0
- package/component/hover-card/README.md +146 -0
- package/component/hover-card/package.json +4 -0
- package/component/input/README.md +159 -0
- package/component/input-group/README.md +239 -0
- package/component/input-otp/README.md +278 -0
- package/component/input-otp/package.json +4 -0
- package/component/item/README.md +247 -0
- package/component/kanban/README.md +81 -0
- package/component/kanban/package.json +4 -0
- package/component/kbd/README.md +139 -0
- package/component/kbd/package.json +4 -0
- package/component/label/README.md +136 -0
- package/component/menubar/README.md +269 -0
- package/component/menubar/package.json +4 -0
- package/component/native-select/README.md +176 -0
- package/component/native-select/package.json +4 -0
- package/component/navigation-menu/README.md +160 -0
- package/component/navigation-menu/package.json +4 -0
- package/component/pagination/README.md +144 -0
- package/component/pillbox/README.md +67 -0
- package/component/pillbox/package.json +4 -0
- package/component/popover/README.md +43 -0
- package/component/progress/README.md +160 -0
- package/component/radio/README.md +209 -0
- package/component/resizable/README.md +168 -0
- package/component/resizable/package.json +4 -0
- package/component/scroll-area/README.md +143 -0
- package/component/select/README.md +174 -0
- package/component/separator/README.md +170 -0
- package/component/sheet/README.md +183 -0
- package/component/skeleton/README.md +158 -0
- package/component/slider/README.md +207 -0
- package/component/spinner/README.md +160 -0
- package/component/spinner/package.json +4 -0
- package/component/switch/README.md +166 -0
- package/component/table/README.md +291 -0
- package/component/tabs/README.md +219 -0
- package/component/textarea/README.md +154 -0
- package/component/timeline/README.md +94 -0
- package/component/timeline/package.json +4 -0
- package/component/toast/README.md +321 -0
- package/component/toggle/README.md +131 -0
- package/component/toggle/package.json +4 -0
- package/component/toggle-group/README.md +206 -0
- package/component/toggle-group/package.json +4 -0
- package/component/tooltip/README.md +211 -0
- package/fesm2022/ojiepermana-angular-component-accordion.mjs +45 -30
- package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +95 -61
- package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-alert.mjs +30 -21
- package/fesm2022/ojiepermana-angular-component-alert.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +11 -7
- package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-avatar.mjs +50 -34
- package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-badge.mjs +9 -6
- package/fesm2022/ojiepermana-angular-component-badge.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +49 -35
- package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-button-group.mjs +25 -17
- package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-button.mjs +11 -7
- package/fesm2022/ojiepermana-angular-component-button.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-calendar.mjs +23 -13
- package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-card.mjs +51 -36
- package/fesm2022/ojiepermana-angular-component-card.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-carousel.mjs +66 -42
- package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-chart.mjs +494 -283
- package/fesm2022/ojiepermana-angular-component-chart.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs +23 -13
- package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs +28 -20
- package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-combobox.mjs +27 -18
- package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-command.mjs +77 -52
- package/fesm2022/ojiepermana-angular-component-command.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-composer.mjs +352 -0
- package/fesm2022/ojiepermana-angular-component-composer.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-context-menu.mjs +9 -6
- package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs +34 -19
- package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-dialog.mjs +55 -38
- package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +108 -74
- package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-editor.mjs +717 -0
- package/fesm2022/ojiepermana-angular-component-editor.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-empty.mjs +145 -0
- package/fesm2022/ojiepermana-angular-component-empty.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-form.mjs +200 -42
- package/fesm2022/ojiepermana-angular-component-form.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs +297 -0
- package/fesm2022/ojiepermana-angular-component-hover-card.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-input-group.mjs +48 -33
- package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs +514 -0
- package/fesm2022/ojiepermana-angular-component-input-otp.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-input.mjs +7 -5
- package/fesm2022/ojiepermana-angular-component-input.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-item.mjs +76 -53
- package/fesm2022/ojiepermana-angular-component-item.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-kanban.mjs +314 -0
- package/fesm2022/ojiepermana-angular-component-kanban.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-kbd.mjs +55 -0
- package/fesm2022/ojiepermana-angular-component-kbd.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-label.mjs +9 -6
- package/fesm2022/ojiepermana-angular-component-label.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-menubar.mjs +308 -0
- package/fesm2022/ojiepermana-angular-component-menubar.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-native-select.mjs +67 -0
- package/fesm2022/ojiepermana-angular-component-native-select.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +413 -0
- package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-pagination.mjs +65 -31
- package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs +812 -0
- package/fesm2022/ojiepermana-angular-component-pillbox.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-popover.mjs +18 -12
- package/fesm2022/ojiepermana-angular-component-popover.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-progress.mjs +17 -10
- package/fesm2022/ojiepermana-angular-component-progress.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-radio.mjs +47 -17
- package/fesm2022/ojiepermana-angular-component-radio.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-resizable.mjs +481 -0
- package/fesm2022/ojiepermana-angular-component-resizable.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +15 -9
- package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-select.mjs +71 -26
- package/fesm2022/ojiepermana-angular-component-select.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-separator.mjs +11 -7
- package/fesm2022/ojiepermana-angular-component-separator.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-sheet.mjs +91 -42
- package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs +7 -5
- package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-slider.mjs +401 -7
- package/fesm2022/ojiepermana-angular-component-slider.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-spinner.mjs +60 -0
- package/fesm2022/ojiepermana-angular-component-spinner.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-switch.mjs +47 -15
- package/fesm2022/ojiepermana-angular-component-switch.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-table.mjs +56 -40
- package/fesm2022/ojiepermana-angular-component-table.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-tabs.mjs +58 -38
- package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-textarea.mjs +8 -6
- package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-timeline.mjs +237 -0
- package/fesm2022/ojiepermana-angular-component-timeline.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-toast.mjs +28 -4
- package/fesm2022/ojiepermana-angular-component-toast.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +289 -0
- package/fesm2022/ojiepermana-angular-component-toggle-group.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-toggle.mjs +82 -0
- package/fesm2022/ojiepermana-angular-component-toggle.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs +304 -6
- package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-component-utils.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout-component.mjs +45 -24
- package/fesm2022/ojiepermana-angular-layout-component.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout-services.mjs +7 -5
- package/fesm2022/ojiepermana-angular-layout-services.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout-shell.mjs +3 -3
- package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +9 -6
- package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-layout-token.mjs.map +1 -1
- package/fesm2022/{ojiepermana-angular-layout-empty.mjs → ojiepermana-angular-layout-type-empty.mjs} +4 -4
- package/fesm2022/ojiepermana-angular-layout-type-empty.mjs.map +1 -0
- package/fesm2022/{ojiepermana-angular-layout-horizontal.mjs → ojiepermana-angular-layout-type-horizontal.mjs} +26 -17
- package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs.map +1 -0
- package/fesm2022/{ojiepermana-angular-layout-vertical.mjs → ojiepermana-angular-layout-type-vertical.mjs} +28 -18
- package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs.map +1 -0
- package/fesm2022/ojiepermana-angular-layout.mjs +74 -50
- package/fesm2022/ojiepermana-angular-layout.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation-icon.mjs +11 -7
- package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation-item.mjs +27 -16
- package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation-service.mjs +29 -20
- package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +71 -43
- package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +261 -24
- package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-theme-services.mjs +19 -11
- package/fesm2022/ojiepermana-angular-theme-services.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-theme-token.mjs.map +1 -1
- package/fesm2022/ojiepermana-angular-theme.mjs +19 -11
- package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
- package/generator/api/README.md +8 -5
- package/generator/api/bin/src/emit/client.js +4 -2
- package/generator/api/bin/src/writer/index.js +47 -5
- package/generator/guide/bin/schematics/build/index.js +3 -2
- package/generator/guide/bin/src/engine/component.js +2 -2
- package/generator/guide/bin/src/engine/index.js +3 -3
- package/generator/guide/bin/src/engine/render.js +10 -5
- package/layout/type/empty/package.json +4 -0
- package/layout/type/horizontal/package.json +4 -0
- package/layout/type/vertical/package.json +4 -0
- package/navigation/topbar/README.md +196 -0
- package/package.json +89 -25
- package/theme/README.md +110 -3
- package/theme/styles/integrations/material/autocomplete.css +178 -0
- package/theme/styles/integrations/material/button.css +468 -0
- package/theme/styles/integrations/material/dialog.css +152 -0
- package/theme/styles/integrations/material/select.css +175 -0
- package/theme/styles/integrations/material/slide-toggle.css +234 -0
- package/theme/styles/integrations/material/slider.css +194 -0
- package/theme/styles/integrations/material/tabs.css +229 -0
- package/theme/styles/integrations/material.css +70 -60
- package/types/ojiepermana-angular-component-combobox.d.ts +1 -2
- package/types/ojiepermana-angular-component-composer.d.ts +90 -0
- package/types/ojiepermana-angular-component-dropdown-menu.d.ts +2 -0
- package/types/ojiepermana-angular-component-editor.d.ts +123 -0
- package/types/ojiepermana-angular-component-empty.d.ts +50 -0
- package/types/ojiepermana-angular-component-form.d.ts +52 -3
- package/types/ojiepermana-angular-component-hover-card.d.ts +74 -0
- package/types/ojiepermana-angular-component-input-otp.d.ts +136 -0
- package/types/ojiepermana-angular-component-kanban.d.ts +70 -0
- package/types/ojiepermana-angular-component-kbd.d.ts +16 -0
- package/types/ojiepermana-angular-component-menubar.d.ts +67 -0
- package/types/ojiepermana-angular-component-native-select.d.ts +26 -0
- package/types/ojiepermana-angular-component-navigation-menu.d.ts +96 -0
- package/types/ojiepermana-angular-component-pagination.d.ts +10 -4
- package/types/ojiepermana-angular-component-pillbox.d.ts +157 -0
- package/types/ojiepermana-angular-component-radio.d.ts +7 -1
- package/types/ojiepermana-angular-component-resizable.d.ts +99 -0
- package/types/ojiepermana-angular-component-select.d.ts +17 -5
- package/types/ojiepermana-angular-component-sheet.d.ts +3 -1
- package/types/ojiepermana-angular-component-slider.d.ts +59 -1
- package/types/ojiepermana-angular-component-spinner.d.ts +13 -0
- package/types/ojiepermana-angular-component-switch.d.ts +13 -3
- package/types/ojiepermana-angular-component-timeline.d.ts +63 -0
- package/types/ojiepermana-angular-component-toast.d.ts +12 -3
- package/types/ojiepermana-angular-component-toggle-group.d.ts +89 -0
- package/types/ojiepermana-angular-component-toggle.d.ts +25 -0
- package/types/ojiepermana-angular-component-tooltip.d.ts +72 -5
- package/types/{ojiepermana-angular-layout-horizontal.d.ts → ojiepermana-angular-layout-type-horizontal.d.ts} +3 -3
- package/types/{ojiepermana-angular-layout-vertical.d.ts → ojiepermana-angular-layout-type-vertical.d.ts} +3 -3
- package/types/ojiepermana-angular-layout.d.ts +5 -5
- package/types/ojiepermana-angular-navigation-item.d.ts +1 -1
- package/types/ojiepermana-angular-navigation-service.d.ts +7 -7
- package/types/ojiepermana-angular-navigation-sidebar.d.ts +8 -8
- package/types/ojiepermana-angular-navigation-topbar.d.ts +24 -4
- package/types/ojiepermana-angular-navigation-types.d.ts +14 -8
- package/fesm2022/ojiepermana-angular-layout-empty.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-layout-horizontal.mjs.map +0 -1
- package/fesm2022/ojiepermana-angular-layout-vertical.mjs.map +0 -1
- package/layout/empty/package.json +0 -4
- package/layout/horizontal/package.json +0 -4
- package/layout/vertical/package.json +0 -4
- /package/types/{ojiepermana-angular-layout-empty.d.ts → ojiepermana-angular-layout-type-empty.d.ts} +0 -0
|
@@ -67,22 +67,29 @@ function seriesColorVar(seriesKey) {
|
|
|
67
67
|
*/
|
|
68
68
|
class ChartContext {
|
|
69
69
|
/** Stable instance id — used in the `data-chart` attribute and CSS scope. */
|
|
70
|
-
id = signal('',
|
|
70
|
+
id = signal('', /* @ts-ignore */
|
|
71
|
+
...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
|
|
71
72
|
/** User-provided series config. */
|
|
72
|
-
config = signal({},
|
|
73
|
+
config = signal({}, /* @ts-ignore */
|
|
74
|
+
...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
|
|
73
75
|
/** Measured render-area dimensions (ResizeObserver-driven). */
|
|
74
|
-
dimensions = signal({ width: 0, height: 0 },
|
|
76
|
+
dimensions = signal({ width: 0, height: 0 }, /* @ts-ignore */
|
|
77
|
+
...(ngDevMode ? [{ debugName: "dimensions" }] : /* istanbul ignore next */ []));
|
|
75
78
|
/** Currently highlighted data point (tooltip / crosshair). */
|
|
76
|
-
activePoint = signal(null,
|
|
79
|
+
activePoint = signal(null, /* @ts-ignore */
|
|
80
|
+
...(ngDevMode ? [{ debugName: "activePoint" }] : /* istanbul ignore next */ []));
|
|
77
81
|
/** Series keys the user has toggled off via legend. */
|
|
78
|
-
hiddenSeries = signal(new Set(),
|
|
82
|
+
hiddenSeries = signal(new Set(), /* @ts-ignore */
|
|
83
|
+
...(ngDevMode ? [{ debugName: "hiddenSeries" }] : /* istanbul ignore next */ []));
|
|
79
84
|
/** Ordered list of series keys (from `config`). */
|
|
80
|
-
seriesKeys = computed(() => Object.keys(this.config()),
|
|
85
|
+
seriesKeys = computed(() => Object.keys(this.config()), /* @ts-ignore */
|
|
86
|
+
...(ngDevMode ? [{ debugName: "seriesKeys" }] : /* istanbul ignore next */ []));
|
|
81
87
|
/** Series keys currently visible (config order minus `hiddenSeries`). */
|
|
82
88
|
visibleSeriesKeys = computed(() => {
|
|
83
89
|
const hidden = this.hiddenSeries();
|
|
84
90
|
return this.seriesKeys().filter((k) => !hidden.has(k));
|
|
85
|
-
},
|
|
91
|
+
}, /* @ts-ignore */
|
|
92
|
+
...(ngDevMode ? [{ debugName: "visibleSeriesKeys" }] : /* istanbul ignore next */ []));
|
|
86
93
|
/** Toggle visibility of a series. */
|
|
87
94
|
toggleSeries(key) {
|
|
88
95
|
this.hiddenSeries.update((set) => {
|
|
@@ -96,10 +103,10 @@ class ChartContext {
|
|
|
96
103
|
return next;
|
|
97
104
|
});
|
|
98
105
|
}
|
|
99
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
100
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
106
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
107
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartContext });
|
|
101
108
|
}
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartContext, decorators: [{
|
|
103
110
|
type: Injectable
|
|
104
111
|
}] });
|
|
105
112
|
|
|
@@ -120,7 +127,8 @@ class ChartStyle {
|
|
|
120
127
|
host = inject((ElementRef));
|
|
121
128
|
renderer = inject(Renderer2);
|
|
122
129
|
styleEl = null;
|
|
123
|
-
css = computed(() => buildChartCss(this.ctx.id(), this.ctx.config()),
|
|
130
|
+
css = computed(() => buildChartCss(this.ctx.id(), this.ctx.config()), /* @ts-ignore */
|
|
131
|
+
...(ngDevMode ? [{ debugName: "css" }] : /* istanbul ignore next */ []));
|
|
124
132
|
constructor() {
|
|
125
133
|
effect(() => {
|
|
126
134
|
const css = this.css();
|
|
@@ -131,10 +139,10 @@ class ChartStyle {
|
|
|
131
139
|
this.styleEl.textContent = css;
|
|
132
140
|
});
|
|
133
141
|
}
|
|
134
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
135
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
142
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartStyle, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
143
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: ChartStyle, isStandalone: true, selector: "ui-chart-style", ngImport: i0, template: '', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
136
144
|
}
|
|
137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartStyle, decorators: [{
|
|
138
146
|
type: Component,
|
|
139
147
|
args: [{
|
|
140
148
|
selector: 'ui-chart-style',
|
|
@@ -164,18 +172,22 @@ class ChartContainer {
|
|
|
164
172
|
platformId = inject(PLATFORM_ID);
|
|
165
173
|
destroyRef = inject(DestroyRef);
|
|
166
174
|
/** Series configuration. Required for color / label resolution. */
|
|
167
|
-
config = input.required(
|
|
175
|
+
config = input.required(/* @ts-ignore */
|
|
176
|
+
...(ngDevMode ? [{ debugName: "config" }] : /* istanbul ignore next */ []));
|
|
168
177
|
/**
|
|
169
178
|
* Tailwind aspect-ratio utility for the container. Defaults to `aspect-video`
|
|
170
179
|
* for cartesian charts; override with `aspect-square` for radial / pie layouts.
|
|
171
180
|
*/
|
|
172
|
-
aspect = input('aspect-video',
|
|
173
|
-
|
|
181
|
+
aspect = input('aspect-video', /* @ts-ignore */
|
|
182
|
+
...(ngDevMode ? [{ debugName: "aspect" }] : /* istanbul ignore next */ []));
|
|
183
|
+
hostClass = computed(() => `relative flex ${this.aspect()} justify-center text-xs`, /* @ts-ignore */
|
|
184
|
+
...(ngDevMode ? [{ debugName: "hostClass" }] : /* istanbul ignore next */ []));
|
|
174
185
|
/**
|
|
175
186
|
* Optional explicit id override. When omitted, a stable auto-id is
|
|
176
187
|
* generated (`chart-<n>`), unique across the document.
|
|
177
188
|
*/
|
|
178
|
-
chartId = input(null,
|
|
189
|
+
chartId = input(null, /* @ts-ignore */
|
|
190
|
+
...(ngDevMode ? [{ debugName: "chartId" }] : /* istanbul ignore next */ []));
|
|
179
191
|
constructor() {
|
|
180
192
|
const autoId = `chart-${++chartIdCounter}`;
|
|
181
193
|
// Sync id + config into the shared context.
|
|
@@ -207,13 +219,13 @@ class ChartContainer {
|
|
|
207
219
|
observer.observe(el);
|
|
208
220
|
this.destroyRef.onDestroy(() => observer.disconnect());
|
|
209
221
|
}
|
|
210
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
211
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "
|
|
222
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartContainer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
223
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: ChartContainer, isStandalone: true, selector: "ui-chart-container", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: true, transformFunction: null }, aspect: { classPropertyName: "aspect", publicName: "aspect", isSignal: true, isRequired: false, transformFunction: null }, chartId: { classPropertyName: "chartId", publicName: "chartId", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-chart": "ctx.id()", "class": "hostClass()" } }, providers: [ChartContext], ngImport: i0, template: `
|
|
212
224
|
<ui-chart-style />
|
|
213
225
|
<ng-content />
|
|
214
226
|
`, isInline: true, dependencies: [{ kind: "component", type: ChartStyle, selector: "ui-chart-style" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
215
227
|
}
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
228
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartContainer, decorators: [{
|
|
217
229
|
type: Component,
|
|
218
230
|
args: [{
|
|
219
231
|
selector: 'ui-chart-container',
|
|
@@ -241,23 +253,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
241
253
|
*/
|
|
242
254
|
class CartesianContext {
|
|
243
255
|
/** Inner width (outer width − margin.left − margin.right). */
|
|
244
|
-
innerWidth = signal(0,
|
|
256
|
+
innerWidth = signal(0, /* @ts-ignore */
|
|
257
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
245
258
|
/** Inner height (outer height − margin.top − margin.bottom). */
|
|
246
|
-
innerHeight = signal(0,
|
|
259
|
+
innerHeight = signal(0, /* @ts-ignore */
|
|
260
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
247
261
|
/** Margins around the plotting area. */
|
|
248
|
-
margin = signal({ top: 8, right: 8, bottom: 24, left: 40 },
|
|
262
|
+
margin = signal({ top: 8, right: 8, bottom: 24, left: 40 }, /* @ts-ignore */
|
|
263
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
249
264
|
/** Layout orientation (drives which axis holds the band scale). */
|
|
250
|
-
orientation = signal('vertical',
|
|
265
|
+
orientation = signal('vertical', /* @ts-ignore */
|
|
266
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
251
267
|
/** Band (categorical) scale. */
|
|
252
|
-
categoryScale = signal(null,
|
|
268
|
+
categoryScale = signal(null, /* @ts-ignore */
|
|
269
|
+
...(ngDevMode ? [{ debugName: "categoryScale" }] : /* istanbul ignore next */ []));
|
|
253
270
|
/** Linear (numeric) scale. */
|
|
254
|
-
valueScale = signal(null,
|
|
271
|
+
valueScale = signal(null, /* @ts-ignore */
|
|
272
|
+
...(ngDevMode ? [{ debugName: "valueScale" }] : /* istanbul ignore next */ []));
|
|
255
273
|
/** Ordered category domain (e.g. x labels for vertical, y labels for horizontal). */
|
|
256
|
-
categories = signal([],
|
|
257
|
-
|
|
258
|
-
static
|
|
274
|
+
categories = signal([], /* @ts-ignore */
|
|
275
|
+
...(ngDevMode ? [{ debugName: "categories" }] : /* istanbul ignore next */ []));
|
|
276
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CartesianContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
277
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CartesianContext });
|
|
259
278
|
}
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
279
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CartesianContext, decorators: [{
|
|
261
280
|
type: Injectable
|
|
262
281
|
}] });
|
|
263
282
|
/** Resolve the scale that maps to the X axis for a given orientation. */
|
|
@@ -382,13 +401,17 @@ function panNumericDomain(current, full, delta) {
|
|
|
382
401
|
class ChartAxisX {
|
|
383
402
|
ctx = inject(CartesianContext);
|
|
384
403
|
/** Approximate tick count for linear (value) scales. */
|
|
385
|
-
tickCount = input(5,
|
|
404
|
+
tickCount = input(5, /* @ts-ignore */
|
|
405
|
+
...(ngDevMode ? [{ debugName: "tickCount" }] : /* istanbul ignore next */ []));
|
|
386
406
|
/** Show 6-px tick marks between the axis line and the labels. */
|
|
387
|
-
tickLine = input(true,
|
|
407
|
+
tickLine = input(true, /* @ts-ignore */
|
|
408
|
+
...(ngDevMode ? [{ debugName: "tickLine" }] : /* istanbul ignore next */ []));
|
|
388
409
|
/** Formatter for numeric tick labels. */
|
|
389
|
-
tickFormat = input((v) => String(v),
|
|
410
|
+
tickFormat = input((v) => String(v), /* @ts-ignore */
|
|
411
|
+
...(ngDevMode ? [{ debugName: "tickFormat" }] : /* istanbul ignore next */ []));
|
|
390
412
|
innerWidth = this.ctx.innerWidth;
|
|
391
|
-
transform = computed(() => `translate(0,${this.ctx.innerHeight()})`,
|
|
413
|
+
transform = computed(() => `translate(0,${this.ctx.innerHeight()})`, /* @ts-ignore */
|
|
414
|
+
...(ngDevMode ? [{ debugName: "transform" }] : /* istanbul ignore next */ []));
|
|
392
415
|
ticks = computed(() => {
|
|
393
416
|
const horizontal = this.ctx.orientation() === 'horizontal';
|
|
394
417
|
if (horizontal) {
|
|
@@ -397,9 +420,10 @@ class ChartAxisX {
|
|
|
397
420
|
}
|
|
398
421
|
const scale = this.ctx.categoryScale();
|
|
399
422
|
return scale ? bandTicks(scale) : [];
|
|
400
|
-
},
|
|
401
|
-
|
|
402
|
-
static
|
|
423
|
+
}, /* @ts-ignore */
|
|
424
|
+
...(ngDevMode ? [{ debugName: "ticks" }] : /* istanbul ignore next */ []));
|
|
425
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartAxisX, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
426
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartAxisX, isStandalone: true, selector: "svg:g[ui-chart-axis-x]", inputs: { tickCount: { classPropertyName: "tickCount", publicName: "tickCount", isSignal: true, isRequired: false, transformFunction: null }, tickLine: { classPropertyName: "tickLine", publicName: "tickLine", isSignal: true, isRequired: false, transformFunction: null }, tickFormat: { classPropertyName: "tickFormat", publicName: "tickFormat", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.transform": "transform()" }, classAttribute: "chart-axis chart-axis-x text-muted-foreground" }, ngImport: i0, template: `
|
|
403
427
|
<svg:line class="stroke-border" [attr.x1]="0" [attr.x2]="innerWidth()" y1="0" y2="0" />
|
|
404
428
|
@for (t of ticks(); track t.value) {
|
|
405
429
|
<svg:g [attr.transform]="'translate(' + t.offset + ',0)'">
|
|
@@ -417,7 +441,7 @@ class ChartAxisX {
|
|
|
417
441
|
}
|
|
418
442
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
419
443
|
}
|
|
420
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
444
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartAxisX, decorators: [{
|
|
421
445
|
type: Component,
|
|
422
446
|
args: [{
|
|
423
447
|
selector: 'svg:g[ui-chart-axis-x]',
|
|
@@ -453,9 +477,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
453
477
|
*/
|
|
454
478
|
class ChartAxisY {
|
|
455
479
|
ctx = inject(CartesianContext);
|
|
456
|
-
tickCount = input(5,
|
|
457
|
-
|
|
458
|
-
|
|
480
|
+
tickCount = input(5, /* @ts-ignore */
|
|
481
|
+
...(ngDevMode ? [{ debugName: "tickCount" }] : /* istanbul ignore next */ []));
|
|
482
|
+
tickLine = input(true, /* @ts-ignore */
|
|
483
|
+
...(ngDevMode ? [{ debugName: "tickLine" }] : /* istanbul ignore next */ []));
|
|
484
|
+
tickFormat = input((v) => String(v), /* @ts-ignore */
|
|
485
|
+
...(ngDevMode ? [{ debugName: "tickFormat" }] : /* istanbul ignore next */ []));
|
|
459
486
|
innerHeight = this.ctx.innerHeight;
|
|
460
487
|
ticks = computed(() => {
|
|
461
488
|
const horizontal = this.ctx.orientation() === 'horizontal';
|
|
@@ -465,9 +492,10 @@ class ChartAxisY {
|
|
|
465
492
|
}
|
|
466
493
|
const scale = this.ctx.valueScale();
|
|
467
494
|
return scale ? linearTicks(scale, this.tickCount(), this.tickFormat()) : [];
|
|
468
|
-
},
|
|
469
|
-
|
|
470
|
-
static
|
|
495
|
+
}, /* @ts-ignore */
|
|
496
|
+
...(ngDevMode ? [{ debugName: "ticks" }] : /* istanbul ignore next */ []));
|
|
497
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartAxisY, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
498
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartAxisY, isStandalone: true, selector: "svg:g[ui-chart-axis-y]", inputs: { tickCount: { classPropertyName: "tickCount", publicName: "tickCount", isSignal: true, isRequired: false, transformFunction: null }, tickLine: { classPropertyName: "tickLine", publicName: "tickLine", isSignal: true, isRequired: false, transformFunction: null }, tickFormat: { classPropertyName: "tickFormat", publicName: "tickFormat", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "chart-axis chart-axis-y text-muted-foreground" }, ngImport: i0, template: `
|
|
471
499
|
<svg:line class="stroke-border" x1="0" x2="0" [attr.y1]="0" [attr.y2]="innerHeight()" />
|
|
472
500
|
@for (t of ticks(); track t.value) {
|
|
473
501
|
<svg:g [attr.transform]="'translate(0,' + t.offset + ')'">
|
|
@@ -486,7 +514,7 @@ class ChartAxisY {
|
|
|
486
514
|
}
|
|
487
515
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
488
516
|
}
|
|
489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
517
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartAxisY, decorators: [{
|
|
490
518
|
type: Component,
|
|
491
519
|
args: [{
|
|
492
520
|
selector: 'svg:g[ui-chart-axis-y]',
|
|
@@ -525,19 +553,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
525
553
|
*/
|
|
526
554
|
class ChartGrid {
|
|
527
555
|
ctx = inject(CartesianContext);
|
|
528
|
-
tickCount = input(5,
|
|
556
|
+
tickCount = input(5, /* @ts-ignore */
|
|
557
|
+
...(ngDevMode ? [{ debugName: "tickCount" }] : /* istanbul ignore next */ []));
|
|
529
558
|
ticks = computed(() => {
|
|
530
559
|
const scale = this.ctx.valueScale();
|
|
531
560
|
return scale ? linearTicks(scale, this.tickCount()) : [];
|
|
532
|
-
},
|
|
561
|
+
}, /* @ts-ignore */
|
|
562
|
+
...(ngDevMode ? [{ debugName: "ticks" }] : /* istanbul ignore next */ []));
|
|
533
563
|
line = (offset) => {
|
|
534
564
|
if (this.ctx.orientation() === 'vertical') {
|
|
535
565
|
return { x1: 0, x2: this.ctx.innerWidth(), y1: offset, y2: offset };
|
|
536
566
|
}
|
|
537
567
|
return { x1: offset, x2: offset, y1: 0, y2: this.ctx.innerHeight() };
|
|
538
568
|
};
|
|
539
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
540
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
569
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartGrid, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
570
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartGrid, isStandalone: true, selector: "svg:g[ui-chart-grid]", inputs: { tickCount: { classPropertyName: "tickCount", publicName: "tickCount", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "chart-grid text-border" }, ngImport: i0, template: `
|
|
541
571
|
@for (t of ticks(); track t.value) {
|
|
542
572
|
<svg:line
|
|
543
573
|
class="stroke-border"
|
|
@@ -549,7 +579,7 @@ class ChartGrid {
|
|
|
549
579
|
}
|
|
550
580
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
551
581
|
}
|
|
552
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
582
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartGrid, decorators: [{
|
|
553
583
|
type: Component,
|
|
554
584
|
args: [{
|
|
555
585
|
selector: 'svg:g[ui-chart-grid]',
|
|
@@ -594,9 +624,10 @@ class ChartCrosshair {
|
|
|
594
624
|
return { x1: pos, x2: pos, y1: 0, y2: this.cart.innerHeight() };
|
|
595
625
|
}
|
|
596
626
|
return { x1: 0, x2: this.cart.innerWidth(), y1: pos, y2: pos };
|
|
597
|
-
},
|
|
598
|
-
|
|
599
|
-
static
|
|
627
|
+
}, /* @ts-ignore */
|
|
628
|
+
...(ngDevMode ? [{ debugName: "line" }] : /* istanbul ignore next */ []));
|
|
629
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartCrosshair, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
630
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartCrosshair, isStandalone: true, selector: "svg:g[ui-chart-crosshair]", host: { classAttribute: "chart-crosshair" }, ngImport: i0, template: `
|
|
600
631
|
@if (line(); as l) {
|
|
601
632
|
<svg:line
|
|
602
633
|
class="stroke-border"
|
|
@@ -608,7 +639,7 @@ class ChartCrosshair {
|
|
|
608
639
|
}
|
|
609
640
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
610
641
|
}
|
|
611
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartCrosshair, decorators: [{
|
|
612
643
|
type: Component,
|
|
613
644
|
args: [{
|
|
614
645
|
selector: 'svg:g[ui-chart-crosshair]',
|
|
@@ -629,43 +660,56 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
629
660
|
}] });
|
|
630
661
|
|
|
631
662
|
class CategoricalViewportContext {
|
|
632
|
-
dataCount = signal(0,
|
|
633
|
-
|
|
634
|
-
|
|
663
|
+
dataCount = signal(0, /* @ts-ignore */
|
|
664
|
+
...(ngDevMode ? [{ debugName: "dataCount" }] : /* istanbul ignore next */ []));
|
|
665
|
+
brushRange = signal(null, /* @ts-ignore */
|
|
666
|
+
...(ngDevMode ? [{ debugName: "brushRange" }] : /* istanbul ignore next */ []));
|
|
667
|
+
zoomRange = signal(null, /* @ts-ignore */
|
|
668
|
+
...(ngDevMode ? [{ debugName: "zoomRange" }] : /* istanbul ignore next */ []));
|
|
635
669
|
hasZoom = computed(() => {
|
|
636
670
|
const range = this.zoomRange();
|
|
637
671
|
const count = this.dataCount();
|
|
638
672
|
return !!range && count > 0 && (range.startIndex > 0 || range.endIndex < count - 1);
|
|
639
|
-
},
|
|
673
|
+
}, /* @ts-ignore */
|
|
674
|
+
...(ngDevMode ? [{ debugName: "hasZoom" }] : /* istanbul ignore next */ []));
|
|
640
675
|
resetZoom() {
|
|
641
676
|
this.brushRange.set(null);
|
|
642
677
|
this.zoomRange.set(null);
|
|
643
678
|
}
|
|
644
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
645
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
679
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CategoricalViewportContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
680
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CategoricalViewportContext });
|
|
646
681
|
}
|
|
647
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
682
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: CategoricalViewportContext, decorators: [{
|
|
648
683
|
type: Injectable
|
|
649
684
|
}] });
|
|
650
685
|
|
|
651
686
|
class ScatterViewportContext {
|
|
652
|
-
innerWidth = signal(0,
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
687
|
+
innerWidth = signal(0, /* @ts-ignore */
|
|
688
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
689
|
+
innerHeight = signal(0, /* @ts-ignore */
|
|
690
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
691
|
+
fullXDomain = signal(null, /* @ts-ignore */
|
|
692
|
+
...(ngDevMode ? [{ debugName: "fullXDomain" }] : /* istanbul ignore next */ []));
|
|
693
|
+
fullYDomain = signal(null, /* @ts-ignore */
|
|
694
|
+
...(ngDevMode ? [{ debugName: "fullYDomain" }] : /* istanbul ignore next */ []));
|
|
695
|
+
zoomXDomain = signal(null, /* @ts-ignore */
|
|
696
|
+
...(ngDevMode ? [{ debugName: "zoomXDomain" }] : /* istanbul ignore next */ []));
|
|
697
|
+
zoomYDomain = signal(null, /* @ts-ignore */
|
|
698
|
+
...(ngDevMode ? [{ debugName: "zoomYDomain" }] : /* istanbul ignore next */ []));
|
|
699
|
+
xScale = signal(null, /* @ts-ignore */
|
|
700
|
+
...(ngDevMode ? [{ debugName: "xScale" }] : /* istanbul ignore next */ []));
|
|
701
|
+
yScale = signal(null, /* @ts-ignore */
|
|
702
|
+
...(ngDevMode ? [{ debugName: "yScale" }] : /* istanbul ignore next */ []));
|
|
703
|
+
hasZoom = computed(() => this.zoomXDomain() !== null || this.zoomYDomain() !== null, /* @ts-ignore */
|
|
704
|
+
...(ngDevMode ? [{ debugName: "hasZoom" }] : /* istanbul ignore next */ []));
|
|
661
705
|
resetZoom() {
|
|
662
706
|
this.zoomXDomain.set(null);
|
|
663
707
|
this.zoomYDomain.set(null);
|
|
664
708
|
}
|
|
665
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
666
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
709
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ScatterViewportContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
710
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ScatterViewportContext });
|
|
667
711
|
}
|
|
668
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ScatterViewportContext, decorators: [{
|
|
669
713
|
type: Injectable
|
|
670
714
|
}] });
|
|
671
715
|
|
|
@@ -726,14 +770,22 @@ class ChartBrush {
|
|
|
726
770
|
cart = inject(CartesianContext, { optional: true });
|
|
727
771
|
categorical = inject(CategoricalViewportContext, { optional: true });
|
|
728
772
|
scatter = inject(ScatterViewportContext, { optional: true });
|
|
729
|
-
mode = signal(null,
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
773
|
+
mode = signal(null, /* @ts-ignore */
|
|
774
|
+
...(ngDevMode ? [{ debugName: "mode" }] : /* istanbul ignore next */ []));
|
|
775
|
+
activePointerId = signal(null, /* @ts-ignore */
|
|
776
|
+
...(ngDevMode ? [{ debugName: "activePointerId" }] : /* istanbul ignore next */ []));
|
|
777
|
+
categoryStartIndex = signal(null, /* @ts-ignore */
|
|
778
|
+
...(ngDevMode ? [{ debugName: "categoryStartIndex" }] : /* istanbul ignore next */ []));
|
|
779
|
+
categoryPanStart = signal(null, /* @ts-ignore */
|
|
780
|
+
...(ngDevMode ? [{ debugName: "categoryPanStart" }] : /* istanbul ignore next */ []));
|
|
781
|
+
scatterBrush = signal(null, /* @ts-ignore */
|
|
782
|
+
...(ngDevMode ? [{ debugName: "scatterBrush" }] : /* istanbul ignore next */ []));
|
|
783
|
+
scatterPan = signal(null, /* @ts-ignore */
|
|
784
|
+
...(ngDevMode ? [{ debugName: "scatterPan" }] : /* istanbul ignore next */ []));
|
|
785
|
+
width = computed(() => this.scatter?.innerWidth() ?? this.cart?.innerWidth() ?? 0, /* @ts-ignore */
|
|
786
|
+
...(ngDevMode ? [{ debugName: "width" }] : /* istanbul ignore next */ []));
|
|
787
|
+
height = computed(() => this.scatter?.innerHeight() ?? this.cart?.innerHeight() ?? 0, /* @ts-ignore */
|
|
788
|
+
...(ngDevMode ? [{ debugName: "height" }] : /* istanbul ignore next */ []));
|
|
737
789
|
categoryPreview = computed(() => {
|
|
738
790
|
const cart = this.cart;
|
|
739
791
|
const viewport = this.categorical;
|
|
@@ -755,7 +807,8 @@ class ChartBrush {
|
|
|
755
807
|
return { x: Math.min(first, last), y: 0, width: Math.abs(last - first), height: cart.innerHeight() };
|
|
756
808
|
}
|
|
757
809
|
return { x: 0, y: Math.min(first, last), width: cart.innerWidth(), height: Math.abs(last - first) };
|
|
758
|
-
},
|
|
810
|
+
}, /* @ts-ignore */
|
|
811
|
+
...(ngDevMode ? [{ debugName: "categoryPreview" }] : /* istanbul ignore next */ []));
|
|
759
812
|
scatterPreviewRect = computed(() => {
|
|
760
813
|
const preview = this.scatterBrush();
|
|
761
814
|
if (!preview) {
|
|
@@ -767,7 +820,8 @@ class ChartBrush {
|
|
|
767
820
|
width: Math.abs(preview.current.x - preview.start.x),
|
|
768
821
|
height: Math.abs(preview.current.y - preview.start.y),
|
|
769
822
|
};
|
|
770
|
-
},
|
|
823
|
+
}, /* @ts-ignore */
|
|
824
|
+
...(ngDevMode ? [{ debugName: "scatterPreviewRect" }] : /* istanbul ignore next */ []));
|
|
771
825
|
onPointerDown(event) {
|
|
772
826
|
if (this.activePointerId() != null) {
|
|
773
827
|
return;
|
|
@@ -1007,8 +1061,8 @@ class ChartBrush {
|
|
|
1007
1061
|
pointerAxis(local) {
|
|
1008
1062
|
return this.cart?.orientation() === 'horizontal' ? local.y : local.x;
|
|
1009
1063
|
}
|
|
1010
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1011
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1064
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartBrush, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1065
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartBrush, isStandalone: true, selector: "svg:g[ui-chart-brush]", host: { listeners: { "window:pointermove": "onPointerMove($event)", "window:pointerup": "onPointerUp($event)", "window:pointercancel": "onPointerCancel($event)" }, classAttribute: "chart-brush" }, viewQueries: [{ propertyName: "hitbox", first: true, predicate: ["hitbox"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1012
1066
|
<svg:rect
|
|
1013
1067
|
#hitbox
|
|
1014
1068
|
class="fill-transparent touch-none"
|
|
@@ -1044,7 +1098,7 @@ class ChartBrush {
|
|
|
1044
1098
|
}
|
|
1045
1099
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1046
1100
|
}
|
|
1047
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartBrush, decorators: [{
|
|
1048
1102
|
type: Component,
|
|
1049
1103
|
args: [{
|
|
1050
1104
|
selector: 'svg:g[ui-chart-brush]',
|
|
@@ -1141,10 +1195,10 @@ class ChartPointerTracker {
|
|
|
1141
1195
|
onLeave() {
|
|
1142
1196
|
this.root.activePoint.set(null);
|
|
1143
1197
|
}
|
|
1144
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1145
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1198
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartPointerTracker, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1199
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.0", type: ChartPointerTracker, isStandalone: true, selector: "svg:svg[uiChartPointerTracker]", host: { listeners: { "pointermove": "onMove($event)", "pointerleave": "onLeave()" } }, ngImport: i0 });
|
|
1146
1200
|
}
|
|
1147
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1201
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartPointerTracker, decorators: [{
|
|
1148
1202
|
type: Directive,
|
|
1149
1203
|
args: [{
|
|
1150
1204
|
selector: 'svg:svg[uiChartPointerTracker]',
|
|
@@ -1182,34 +1236,45 @@ class ChartTooltip {
|
|
|
1182
1236
|
root = inject(ChartContext);
|
|
1183
1237
|
host = inject((ElementRef));
|
|
1184
1238
|
/** Data key on each datum whose value is the category label (x-axis). */
|
|
1185
|
-
xKey = input(null,
|
|
1239
|
+
xKey = input(null, /* @ts-ignore */
|
|
1240
|
+
...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
|
|
1186
1241
|
/** Data source (optional — if omitted tooltip reads from chart data via activePoint.datumIndex). */
|
|
1187
|
-
data = input(null,
|
|
1242
|
+
data = input(null, /* @ts-ignore */
|
|
1243
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
1188
1244
|
/**
|
|
1189
1245
|
* Optional key for per-datum value lookup (pie / radial / radar datasets
|
|
1190
1246
|
* store values on a single field like `visitors` instead of one field per
|
|
1191
1247
|
* series). When set and `activePoint.seriesKey` is active, the tooltip row
|
|
1192
1248
|
* reads `datum[valueKey]` for its value.
|
|
1193
1249
|
*/
|
|
1194
|
-
valueKey = input(null,
|
|
1250
|
+
valueKey = input(null, /* @ts-ignore */
|
|
1251
|
+
...(ngDevMode ? [{ debugName: "valueKey" }] : /* istanbul ignore next */ []));
|
|
1195
1252
|
/** Indicator variant next to each row. Default `'dot'`. */
|
|
1196
|
-
indicator = input('dot',
|
|
1253
|
+
indicator = input('dot', /* @ts-ignore */
|
|
1254
|
+
...(ngDevMode ? [{ debugName: "indicator" }] : /* istanbul ignore next */ []));
|
|
1197
1255
|
/** Hide the header label entirely. */
|
|
1198
|
-
hideLabel = input(false,
|
|
1256
|
+
hideLabel = input(false, /* @ts-ignore */
|
|
1257
|
+
...(ngDevMode ? [{ debugName: "hideLabel" }] : /* istanbul ignore next */ []));
|
|
1199
1258
|
/** Override the header label with a fixed string. Takes precedence over `labelKey`. */
|
|
1200
|
-
label = input(null,
|
|
1259
|
+
label = input(null, /* @ts-ignore */
|
|
1260
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
1201
1261
|
/**
|
|
1202
1262
|
* Resolve the header label from `config[labelKey].label`. Useful when the
|
|
1203
1263
|
* header should come from a config entry rather than the datum itself
|
|
1204
1264
|
* (shadcn's "Custom label" variant).
|
|
1205
1265
|
*/
|
|
1206
|
-
labelKey = input(null,
|
|
1266
|
+
labelKey = input(null, /* @ts-ignore */
|
|
1267
|
+
...(ngDevMode ? [{ debugName: "labelKey" }] : /* istanbul ignore next */ []));
|
|
1207
1268
|
/** Transform the final header string (e.g. ISO date → long date). */
|
|
1208
|
-
labelFormatter = input(null,
|
|
1269
|
+
labelFormatter = input(null, /* @ts-ignore */
|
|
1270
|
+
...(ngDevMode ? [{ debugName: "labelFormatter" }] : /* istanbul ignore next */ []));
|
|
1209
1271
|
/** Format each row's value (return string — HTML is not interpreted). */
|
|
1210
|
-
formatter = input(null,
|
|
1211
|
-
|
|
1212
|
-
|
|
1272
|
+
formatter = input(null, /* @ts-ignore */
|
|
1273
|
+
...(ngDevMode ? [{ debugName: "formatter" }] : /* istanbul ignore next */ []));
|
|
1274
|
+
customTpl = contentChild((TemplateRef), /* @ts-ignore */
|
|
1275
|
+
...(ngDevMode ? [{ debugName: "customTpl" }] : /* istanbul ignore next */ []));
|
|
1276
|
+
visible = computed(() => this.root.activePoint() !== null, /* @ts-ignore */
|
|
1277
|
+
...(ngDevMode ? [{ debugName: "visible" }] : /* istanbul ignore next */ []));
|
|
1213
1278
|
payload = computed(() => {
|
|
1214
1279
|
const active = this.root.activePoint();
|
|
1215
1280
|
const rows = this.data();
|
|
@@ -1241,7 +1306,8 @@ class ChartTooltip {
|
|
|
1241
1306
|
};
|
|
1242
1307
|
});
|
|
1243
1308
|
return { category, datum, rows: tooltipRows };
|
|
1244
|
-
},
|
|
1309
|
+
}, /* @ts-ignore */
|
|
1310
|
+
...(ngDevMode ? [{ debugName: "payload" }] : /* istanbul ignore next */ []));
|
|
1245
1311
|
/** Resolve the header string honoring `label`, `labelKey`, then `labelFormatter`. */
|
|
1246
1312
|
headerText(p) {
|
|
1247
1313
|
if (this.hideLabel())
|
|
@@ -1282,9 +1348,10 @@ class ChartTooltip {
|
|
|
1282
1348
|
const minY = padding + tooltipHeight;
|
|
1283
1349
|
const y = Math.max(minY, active.clientY - rect.top - padding);
|
|
1284
1350
|
return { x, y };
|
|
1285
|
-
},
|
|
1286
|
-
|
|
1287
|
-
static
|
|
1351
|
+
}, /* @ts-ignore */
|
|
1352
|
+
...(ngDevMode ? [{ debugName: "position" }] : /* istanbul ignore next */ []));
|
|
1353
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartTooltip, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1354
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartTooltip, isStandalone: true, selector: "ui-chart-tooltip", inputs: { xKey: { classPropertyName: "xKey", publicName: "xKey", isSignal: true, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, valueKey: { classPropertyName: "valueKey", publicName: "valueKey", isSignal: true, isRequired: false, transformFunction: null }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, hideLabel: { classPropertyName: "hideLabel", publicName: "hideLabel", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelKey: { classPropertyName: "labelKey", publicName: "labelKey", isSignal: true, isRequired: false, transformFunction: null }, labelFormatter: { classPropertyName: "labelFormatter", publicName: "labelFormatter", isSignal: true, isRequired: false, transformFunction: null }, formatter: { classPropertyName: "formatter", publicName: "formatter", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.aria-hidden": "!visible()" }, classAttribute: "pointer-events-none absolute inset-0 z-10" }, queries: [{ propertyName: "customTpl", first: true, predicate: (TemplateRef), descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
1288
1355
|
@if (payload(); as p) {
|
|
1289
1356
|
<div
|
|
1290
1357
|
role="tooltip"
|
|
@@ -1342,7 +1409,7 @@ class ChartTooltip {
|
|
|
1342
1409
|
</div>
|
|
1343
1410
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule"], exportAs: ["ngComponentOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1344
1411
|
}
|
|
1345
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1412
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartTooltip, decorators: [{
|
|
1346
1413
|
type: Component,
|
|
1347
1414
|
args: [{
|
|
1348
1415
|
selector: 'ui-chart-tooltip',
|
|
@@ -1435,12 +1502,13 @@ class ChartLegend {
|
|
|
1435
1502
|
color: seriesColorVar(key),
|
|
1436
1503
|
hidden: hidden.has(key),
|
|
1437
1504
|
}));
|
|
1438
|
-
},
|
|
1505
|
+
}, /* @ts-ignore */
|
|
1506
|
+
...(ngDevMode ? [{ debugName: "items" }] : /* istanbul ignore next */ []));
|
|
1439
1507
|
toggle(key) {
|
|
1440
1508
|
this.root.toggleSeries(key);
|
|
1441
1509
|
}
|
|
1442
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1443
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1510
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartLegend, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1511
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartLegend, isStandalone: true, selector: "ui-chart-legend", host: { classAttribute: "block pt-3" }, ngImport: i0, template: `
|
|
1444
1512
|
<ul class="flex flex-wrap items-center justify-center gap-3 text-xs" aria-label="Toggle chart series visibility">
|
|
1445
1513
|
@for (item of items(); track item.seriesKey) {
|
|
1446
1514
|
<li>
|
|
@@ -1459,7 +1527,7 @@ class ChartLegend {
|
|
|
1459
1527
|
</ul>
|
|
1460
1528
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1461
1529
|
}
|
|
1462
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartLegend, decorators: [{
|
|
1463
1531
|
type: Component,
|
|
1464
1532
|
args: [{
|
|
1465
1533
|
selector: 'ui-chart-legend',
|
|
@@ -1510,19 +1578,21 @@ class ChartZoomControls {
|
|
|
1510
1578
|
return `X ${formatNumber(xDomain[0])}-${formatNumber(xDomain[1])} · Y ${formatNumber(yDomain[0])}-${formatNumber(yDomain[1])}`;
|
|
1511
1579
|
}
|
|
1512
1580
|
return null;
|
|
1513
|
-
},
|
|
1581
|
+
}, /* @ts-ignore */
|
|
1582
|
+
...(ngDevMode ? [{ debugName: "status" }] : /* istanbul ignore next */ []));
|
|
1514
1583
|
hint = computed(() => {
|
|
1515
1584
|
if (this.scatter) {
|
|
1516
1585
|
return 'Drag to brush a region. Use the wheel to zoom and one-finger touch drag to pan while zoomed.';
|
|
1517
1586
|
}
|
|
1518
1587
|
return 'Drag to select a category range. Use the wheel to zoom and one-finger touch drag to pan while zoomed.';
|
|
1519
|
-
},
|
|
1588
|
+
}, /* @ts-ignore */
|
|
1589
|
+
...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
|
|
1520
1590
|
resetZoom() {
|
|
1521
1591
|
this.categorical?.resetZoom();
|
|
1522
1592
|
this.scatter?.resetZoom();
|
|
1523
1593
|
}
|
|
1524
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1525
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
1594
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartZoomControls, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1595
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ChartZoomControls, isStandalone: true, selector: "ui-chart-zoom-controls", host: { classAttribute: "mt-3 flex flex-wrap items-center justify-between gap-3 text-xs text-muted-foreground" }, ngImport: i0, template: `
|
|
1526
1596
|
<p>{{ hint() }}</p>
|
|
1527
1597
|
|
|
1528
1598
|
@if (status(); as currentStatus) {
|
|
@@ -1540,7 +1610,7 @@ class ChartZoomControls {
|
|
|
1540
1610
|
}
|
|
1541
1611
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1542
1612
|
}
|
|
1543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1613
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ChartZoomControls, decorators: [{
|
|
1544
1614
|
type: Component,
|
|
1545
1615
|
args: [{
|
|
1546
1616
|
selector: 'ui-chart-zoom-controls',
|
|
@@ -1567,10 +1637,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1567
1637
|
}] });
|
|
1568
1638
|
|
|
1569
1639
|
class PieCenter {
|
|
1570
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1571
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1640
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PieCenter, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1641
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: PieCenter, isStandalone: true, selector: "ui-pie-center", host: { classAttribute: "flex max-w-[10rem] flex-col items-center justify-center text-center" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1572
1642
|
}
|
|
1573
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1643
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PieCenter, decorators: [{
|
|
1574
1644
|
type: Component,
|
|
1575
1645
|
args: [{
|
|
1576
1646
|
selector: 'ui-pie-center',
|
|
@@ -1583,10 +1653,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
|
|
|
1583
1653
|
}] });
|
|
1584
1654
|
|
|
1585
1655
|
class RadialCenter {
|
|
1586
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1587
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1656
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RadialCenter, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1657
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.0.0", type: RadialCenter, isStandalone: true, selector: "ui-radial-center", host: { classAttribute: "flex max-w-[10rem] flex-col items-center justify-center text-center" }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1588
1658
|
}
|
|
1589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1659
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RadialCenter, decorators: [{
|
|
1590
1660
|
type: Component,
|
|
1591
1661
|
args: [{
|
|
1592
1662
|
selector: 'ui-radial-center',
|
|
@@ -1808,22 +1878,37 @@ const defaultBarValueFormatter = (value) => `${value}`;
|
|
|
1808
1878
|
class BarChart {
|
|
1809
1879
|
root = inject(ChartContext);
|
|
1810
1880
|
cart = inject(CartesianContext);
|
|
1811
|
-
data = input.required(
|
|
1812
|
-
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1881
|
+
data = input.required(/* @ts-ignore */
|
|
1882
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
1883
|
+
xKey = input.required(/* @ts-ignore */
|
|
1884
|
+
...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
|
|
1885
|
+
orientation = input('vertical', /* @ts-ignore */
|
|
1886
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
1887
|
+
variant = input('grouped', /* @ts-ignore */
|
|
1888
|
+
...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
|
|
1889
|
+
margin = input(DEFAULT_MARGIN$6, /* @ts-ignore */
|
|
1890
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
1891
|
+
bandPadding = input(0.2, /* @ts-ignore */
|
|
1892
|
+
...(ngDevMode ? [{ debugName: "bandPadding" }] : /* istanbul ignore next */ []));
|
|
1893
|
+
groupPadding = input(0.05, /* @ts-ignore */
|
|
1894
|
+
...(ngDevMode ? [{ debugName: "groupPadding" }] : /* istanbul ignore next */ []));
|
|
1895
|
+
cornerRadius = input(4, /* @ts-ignore */
|
|
1896
|
+
...(ngDevMode ? [{ debugName: "cornerRadius" }] : /* istanbul ignore next */ []));
|
|
1897
|
+
colorKey = input(undefined, /* @ts-ignore */
|
|
1898
|
+
...(ngDevMode ? [{ debugName: "colorKey" }] : /* istanbul ignore next */ []));
|
|
1899
|
+
activeKey = input(undefined, /* @ts-ignore */
|
|
1900
|
+
...(ngDevMode ? [{ debugName: "activeKey" }] : /* istanbul ignore next */ []));
|
|
1901
|
+
activeValue = input(undefined, /* @ts-ignore */
|
|
1902
|
+
...(ngDevMode ? [{ debugName: "activeValue" }] : /* istanbul ignore next */ []));
|
|
1903
|
+
showValueLabels = input(false, /* @ts-ignore */
|
|
1904
|
+
...(ngDevMode ? [{ debugName: "showValueLabels" }] : /* istanbul ignore next */ []));
|
|
1905
|
+
valueLabelFormat = input(defaultBarValueFormatter, /* @ts-ignore */
|
|
1906
|
+
...(ngDevMode ? [{ debugName: "valueLabelFormat" }] : /* istanbul ignore next */ []));
|
|
1824
1907
|
barClick = output();
|
|
1825
|
-
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right),
|
|
1826
|
-
|
|
1908
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
1909
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
1910
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
1911
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
1827
1912
|
layout = computed(() => computeBarLayout({
|
|
1828
1913
|
data: this.data(),
|
|
1829
1914
|
xKey: this.xKey(),
|
|
@@ -1837,18 +1922,23 @@ class BarChart {
|
|
|
1837
1922
|
colorKey: this.colorKey(),
|
|
1838
1923
|
activeKey: this.activeKey(),
|
|
1839
1924
|
activeValue: this.activeValue(),
|
|
1840
|
-
}),
|
|
1841
|
-
|
|
1925
|
+
}), /* @ts-ignore */
|
|
1926
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
1927
|
+
bars = computed(() => this.layout().bars, /* @ts-ignore */
|
|
1928
|
+
...(ngDevMode ? [{ debugName: "bars" }] : /* istanbul ignore next */ []));
|
|
1842
1929
|
viewBox = computed(() => {
|
|
1843
1930
|
const { width, height } = this.root.dimensions();
|
|
1844
1931
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
1845
|
-
},
|
|
1846
|
-
|
|
1932
|
+
}, /* @ts-ignore */
|
|
1933
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
1934
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
1935
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
1847
1936
|
ariaSummary = computed(() => {
|
|
1848
1937
|
const keys = this.root.visibleSeriesKeys();
|
|
1849
1938
|
const n = this.data().length;
|
|
1850
1939
|
return `Bar chart, ${n} categories, ${keys.length} series: ${keys.join(', ')}.`;
|
|
1851
|
-
},
|
|
1940
|
+
}, /* @ts-ignore */
|
|
1941
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
1852
1942
|
constructor() {
|
|
1853
1943
|
effect(() => {
|
|
1854
1944
|
const layout = this.layout();
|
|
@@ -1910,8 +2000,8 @@ class BarChart {
|
|
|
1910
2000
|
const label = this.root.config()[bar.seriesKey]?.label ?? bar.seriesKey;
|
|
1911
2001
|
return `${label} in ${bar.category}: ${bar.value}`;
|
|
1912
2002
|
}
|
|
1913
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1914
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2003
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: BarChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2004
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: BarChart, isStandalone: true, selector: "ui-bar-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, xKey: { classPropertyName: "xKey", publicName: "xKey", isSignal: true, isRequired: true, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, bandPadding: { classPropertyName: "bandPadding", publicName: "bandPadding", isSignal: true, isRequired: false, transformFunction: null }, groupPadding: { classPropertyName: "groupPadding", publicName: "groupPadding", isSignal: true, isRequired: false, transformFunction: null }, cornerRadius: { classPropertyName: "cornerRadius", publicName: "cornerRadius", isSignal: true, isRequired: false, transformFunction: null }, colorKey: { classPropertyName: "colorKey", publicName: "colorKey", isSignal: true, isRequired: false, transformFunction: null }, activeKey: { classPropertyName: "activeKey", publicName: "activeKey", isSignal: true, isRequired: false, transformFunction: null }, activeValue: { classPropertyName: "activeValue", publicName: "activeValue", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, valueLabelFormat: { classPropertyName: "valueLabelFormat", publicName: "valueLabelFormat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { barClick: "barClick" }, host: { classAttribute: "relative block h-full w-full" }, providers: [CartesianContext], ngImport: i0, template: `
|
|
1915
2005
|
<svg:svg
|
|
1916
2006
|
uiChartPointerTracker
|
|
1917
2007
|
class="block h-full w-full overflow-visible"
|
|
@@ -1964,7 +2054,7 @@ class BarChart {
|
|
|
1964
2054
|
<ng-content select="ui-chart-legend" />
|
|
1965
2055
|
`, isInline: true, dependencies: [{ kind: "directive", type: ChartPointerTracker, selector: "svg:svg[uiChartPointerTracker]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1966
2056
|
}
|
|
1967
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2057
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: BarChart, decorators: [{
|
|
1968
2058
|
type: Component,
|
|
1969
2059
|
args: [{
|
|
1970
2060
|
selector: 'ui-bar-chart',
|
|
@@ -2280,24 +2370,41 @@ class LineChart {
|
|
|
2280
2370
|
root = inject(ChartContext);
|
|
2281
2371
|
cart = inject(CartesianContext);
|
|
2282
2372
|
viewport = inject(CategoricalViewportContext);
|
|
2283
|
-
data = input.required(
|
|
2284
|
-
|
|
2285
|
-
|
|
2286
|
-
|
|
2287
|
-
|
|
2288
|
-
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2373
|
+
data = input.required(/* @ts-ignore */
|
|
2374
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
2375
|
+
xKey = input.required(/* @ts-ignore */
|
|
2376
|
+
...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
|
|
2377
|
+
orientation = input('vertical', /* @ts-ignore */
|
|
2378
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
2379
|
+
curve = input('monotone', /* @ts-ignore */
|
|
2380
|
+
...(ngDevMode ? [{ debugName: "curve" }] : /* istanbul ignore next */ []));
|
|
2381
|
+
margin = input(DEFAULT_MARGIN$5, /* @ts-ignore */
|
|
2382
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
2383
|
+
strokeWidth = input(2, /* @ts-ignore */
|
|
2384
|
+
...(ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []));
|
|
2385
|
+
showDots = input(true, /* @ts-ignore */
|
|
2386
|
+
...(ngDevMode ? [{ debugName: "showDots" }] : /* istanbul ignore next */ []));
|
|
2387
|
+
dotRadius = input(3, /* @ts-ignore */
|
|
2388
|
+
...(ngDevMode ? [{ debugName: "dotRadius" }] : /* istanbul ignore next */ []));
|
|
2389
|
+
dotColorKey = input(undefined, /* @ts-ignore */
|
|
2390
|
+
...(ngDevMode ? [{ debugName: "dotColorKey" }] : /* istanbul ignore next */ []));
|
|
2391
|
+
dotStrokeColor = input(undefined, /* @ts-ignore */
|
|
2392
|
+
...(ngDevMode ? [{ debugName: "dotStrokeColor" }] : /* istanbul ignore next */ []));
|
|
2393
|
+
dotStrokeWidth = input(0, /* @ts-ignore */
|
|
2394
|
+
...(ngDevMode ? [{ debugName: "dotStrokeWidth" }] : /* istanbul ignore next */ []));
|
|
2395
|
+
showValueLabels = input(false, /* @ts-ignore */
|
|
2396
|
+
...(ngDevMode ? [{ debugName: "showValueLabels" }] : /* istanbul ignore next */ []));
|
|
2397
|
+
valueLabelFormat = input(defaultLineValueFormatter, /* @ts-ignore */
|
|
2398
|
+
...(ngDevMode ? [{ debugName: "valueLabelFormat" }] : /* istanbul ignore next */ []));
|
|
2296
2399
|
pointClick = output();
|
|
2297
|
-
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right),
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2400
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
2401
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
2402
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
2403
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
2404
|
+
visibleStartIndex = computed(() => this.viewport.zoomRange()?.startIndex ?? 0, /* @ts-ignore */
|
|
2405
|
+
...(ngDevMode ? [{ debugName: "visibleStartIndex" }] : /* istanbul ignore next */ []));
|
|
2406
|
+
visibleData = computed(() => sliceByIndexRange(this.data(), this.viewport.zoomRange()), /* @ts-ignore */
|
|
2407
|
+
...(ngDevMode ? [{ debugName: "visibleData" }] : /* istanbul ignore next */ []));
|
|
2301
2408
|
layout = computed(() => computeLineLayout({
|
|
2302
2409
|
data: this.visibleData(),
|
|
2303
2410
|
xKey: this.xKey(),
|
|
@@ -2306,17 +2413,22 @@ class LineChart {
|
|
|
2306
2413
|
innerWidth: this.innerWidth(),
|
|
2307
2414
|
innerHeight: this.innerHeight(),
|
|
2308
2415
|
curve: this.curve(),
|
|
2309
|
-
}),
|
|
2310
|
-
|
|
2416
|
+
}), /* @ts-ignore */
|
|
2417
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
2418
|
+
series = computed(() => this.layout().series, /* @ts-ignore */
|
|
2419
|
+
...(ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []));
|
|
2311
2420
|
viewBox = computed(() => {
|
|
2312
2421
|
const { width, height } = this.root.dimensions();
|
|
2313
2422
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
2314
|
-
},
|
|
2315
|
-
|
|
2423
|
+
}, /* @ts-ignore */
|
|
2424
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
2425
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
2426
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
2316
2427
|
ariaSummary = computed(() => {
|
|
2317
2428
|
const keys = this.root.visibleSeriesKeys();
|
|
2318
2429
|
return `Line chart, ${this.visibleData().length} points, ${keys.length} series: ${keys.join(', ')}.`;
|
|
2319
|
-
},
|
|
2430
|
+
}, /* @ts-ignore */
|
|
2431
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
2320
2432
|
constructor() {
|
|
2321
2433
|
effect(() => {
|
|
2322
2434
|
const layout = this.layout();
|
|
@@ -2384,8 +2496,8 @@ class LineChart {
|
|
|
2384
2496
|
const label = this.root.config()[p.seriesKey]?.label ?? p.seriesKey;
|
|
2385
2497
|
return `${label} at ${p.category}: ${p.value}`;
|
|
2386
2498
|
}
|
|
2387
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2388
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2499
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: LineChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2500
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: LineChart, isStandalone: true, selector: "ui-line-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, xKey: { classPropertyName: "xKey", publicName: "xKey", isSignal: true, isRequired: true, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null }, dotRadius: { classPropertyName: "dotRadius", publicName: "dotRadius", isSignal: true, isRequired: false, transformFunction: null }, dotColorKey: { classPropertyName: "dotColorKey", publicName: "dotColorKey", isSignal: true, isRequired: false, transformFunction: null }, dotStrokeColor: { classPropertyName: "dotStrokeColor", publicName: "dotStrokeColor", isSignal: true, isRequired: false, transformFunction: null }, dotStrokeWidth: { classPropertyName: "dotStrokeWidth", publicName: "dotStrokeWidth", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, valueLabelFormat: { classPropertyName: "valueLabelFormat", publicName: "valueLabelFormat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pointClick: "pointClick" }, host: { classAttribute: "relative block h-full w-full" }, providers: [CartesianContext, CategoricalViewportContext], ngImport: i0, template: `
|
|
2389
2501
|
<svg:svg
|
|
2390
2502
|
uiChartPointerTracker
|
|
2391
2503
|
class="block h-full w-full overflow-visible"
|
|
@@ -2447,7 +2559,7 @@ class LineChart {
|
|
|
2447
2559
|
<ng-content select="ui-chart-zoom-controls" />
|
|
2448
2560
|
`, isInline: true, dependencies: [{ kind: "directive", type: ChartPointerTracker, selector: "svg:svg[uiChartPointerTracker]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2449
2561
|
}
|
|
2450
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: LineChart, decorators: [{
|
|
2451
2563
|
type: Component,
|
|
2452
2564
|
args: [{
|
|
2453
2565
|
selector: 'ui-line-chart',
|
|
@@ -2532,22 +2644,37 @@ class AreaChart {
|
|
|
2532
2644
|
root = inject(ChartContext);
|
|
2533
2645
|
cart = inject(CartesianContext);
|
|
2534
2646
|
viewport = inject(CategoricalViewportContext);
|
|
2535
|
-
data = input.required(
|
|
2536
|
-
|
|
2537
|
-
|
|
2538
|
-
|
|
2539
|
-
|
|
2540
|
-
|
|
2541
|
-
|
|
2542
|
-
|
|
2543
|
-
|
|
2544
|
-
|
|
2545
|
-
|
|
2647
|
+
data = input.required(/* @ts-ignore */
|
|
2648
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
2649
|
+
xKey = input.required(/* @ts-ignore */
|
|
2650
|
+
...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
|
|
2651
|
+
orientation = input('vertical', /* @ts-ignore */
|
|
2652
|
+
...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
|
|
2653
|
+
stacked = input(false, /* @ts-ignore */
|
|
2654
|
+
...(ngDevMode ? [{ debugName: "stacked" }] : /* istanbul ignore next */ []));
|
|
2655
|
+
expanded = input(false, /* @ts-ignore */
|
|
2656
|
+
...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
|
|
2657
|
+
gradient = input(true, /* @ts-ignore */
|
|
2658
|
+
...(ngDevMode ? [{ debugName: "gradient" }] : /* istanbul ignore next */ []));
|
|
2659
|
+
curve = input('monotone', /* @ts-ignore */
|
|
2660
|
+
...(ngDevMode ? [{ debugName: "curve" }] : /* istanbul ignore next */ []));
|
|
2661
|
+
margin = input(DEFAULT_MARGIN$4, /* @ts-ignore */
|
|
2662
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
2663
|
+
strokeWidth = input(2, /* @ts-ignore */
|
|
2664
|
+
...(ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []));
|
|
2665
|
+
showDots = input(false, /* @ts-ignore */
|
|
2666
|
+
...(ngDevMode ? [{ debugName: "showDots" }] : /* istanbul ignore next */ []));
|
|
2667
|
+
dotRadius = input(3, /* @ts-ignore */
|
|
2668
|
+
...(ngDevMode ? [{ debugName: "dotRadius" }] : /* istanbul ignore next */ []));
|
|
2546
2669
|
pointClick = output();
|
|
2547
|
-
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right),
|
|
2548
|
-
|
|
2549
|
-
|
|
2550
|
-
|
|
2670
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
2671
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
2672
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
2673
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
2674
|
+
visibleStartIndex = computed(() => this.viewport.zoomRange()?.startIndex ?? 0, /* @ts-ignore */
|
|
2675
|
+
...(ngDevMode ? [{ debugName: "visibleStartIndex" }] : /* istanbul ignore next */ []));
|
|
2676
|
+
visibleData = computed(() => sliceByIndexRange(this.data(), this.viewport.zoomRange()), /* @ts-ignore */
|
|
2677
|
+
...(ngDevMode ? [{ debugName: "visibleData" }] : /* istanbul ignore next */ []));
|
|
2551
2678
|
layout = computed(() => computeAreaLayout({
|
|
2552
2679
|
data: this.visibleData(),
|
|
2553
2680
|
xKey: this.xKey(),
|
|
@@ -2558,17 +2685,22 @@ class AreaChart {
|
|
|
2558
2685
|
curve: this.curve(),
|
|
2559
2686
|
stacked: this.stacked(),
|
|
2560
2687
|
expanded: this.expanded(),
|
|
2561
|
-
}),
|
|
2562
|
-
|
|
2688
|
+
}), /* @ts-ignore */
|
|
2689
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
2690
|
+
series = computed(() => this.layout().series, /* @ts-ignore */
|
|
2691
|
+
...(ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []));
|
|
2563
2692
|
viewBox = computed(() => {
|
|
2564
2693
|
const { width, height } = this.root.dimensions();
|
|
2565
2694
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
2566
|
-
},
|
|
2567
|
-
|
|
2695
|
+
}, /* @ts-ignore */
|
|
2696
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
2697
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
2698
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
2568
2699
|
ariaSummary = computed(() => {
|
|
2569
2700
|
const keys = this.root.visibleSeriesKeys();
|
|
2570
2701
|
return `Area chart, ${this.visibleData().length} points, ${keys.length} series: ${keys.join(', ')}.`;
|
|
2571
|
-
},
|
|
2702
|
+
}, /* @ts-ignore */
|
|
2703
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
2572
2704
|
constructor() {
|
|
2573
2705
|
effect(() => {
|
|
2574
2706
|
const layout = this.layout();
|
|
@@ -2611,8 +2743,8 @@ class AreaChart {
|
|
|
2611
2743
|
const label = this.root.config()[p.seriesKey]?.label ?? p.seriesKey;
|
|
2612
2744
|
return `${label} at ${p.category}: ${p.value}`;
|
|
2613
2745
|
}
|
|
2614
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2615
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
2746
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: AreaChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2747
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: AreaChart, isStandalone: true, selector: "ui-area-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, xKey: { classPropertyName: "xKey", publicName: "xKey", isSignal: true, isRequired: true, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, gradient: { classPropertyName: "gradient", publicName: "gradient", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null }, dotRadius: { classPropertyName: "dotRadius", publicName: "dotRadius", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pointClick: "pointClick" }, host: { classAttribute: "relative block h-full w-full" }, providers: [CartesianContext, CategoricalViewportContext], ngImport: i0, template: `
|
|
2616
2748
|
<svg:svg
|
|
2617
2749
|
uiChartPointerTracker
|
|
2618
2750
|
class="block h-full w-full overflow-visible"
|
|
@@ -2677,7 +2809,7 @@ class AreaChart {
|
|
|
2677
2809
|
<ng-content select="ui-chart-zoom-controls" />
|
|
2678
2810
|
`, isInline: true, dependencies: [{ kind: "directive", type: ChartPointerTracker, selector: "svg:svg[uiChartPointerTracker]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2679
2811
|
}
|
|
2680
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2812
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: AreaChart, decorators: [{
|
|
2681
2813
|
type: Component,
|
|
2682
2814
|
args: [{
|
|
2683
2815
|
selector: 'ui-area-chart',
|
|
@@ -2797,22 +2929,37 @@ function computePieLayout(input) {
|
|
|
2797
2929
|
const DEFAULT_MARGIN$3 = { top: 8, right: 8, bottom: 8, left: 8 };
|
|
2798
2930
|
class PieChart {
|
|
2799
2931
|
root = inject(ChartContext);
|
|
2800
|
-
data = input.required(
|
|
2801
|
-
|
|
2802
|
-
|
|
2803
|
-
|
|
2804
|
-
|
|
2805
|
-
|
|
2806
|
-
|
|
2807
|
-
|
|
2808
|
-
|
|
2809
|
-
|
|
2810
|
-
|
|
2811
|
-
|
|
2812
|
-
|
|
2932
|
+
data = input.required(/* @ts-ignore */
|
|
2933
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
2934
|
+
valueKey = input.required(/* @ts-ignore */
|
|
2935
|
+
...(ngDevMode ? [{ debugName: "valueKey" }] : /* istanbul ignore next */ []));
|
|
2936
|
+
nameKey = input.required(/* @ts-ignore */
|
|
2937
|
+
...(ngDevMode ? [{ debugName: "nameKey" }] : /* istanbul ignore next */ []));
|
|
2938
|
+
seriesKeys = input(undefined, /* @ts-ignore */
|
|
2939
|
+
...(ngDevMode ? [{ debugName: "seriesKeys" }] : /* istanbul ignore next */ []));
|
|
2940
|
+
margin = input(DEFAULT_MARGIN$3, /* @ts-ignore */
|
|
2941
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
2942
|
+
innerRadius = input(0, /* @ts-ignore */
|
|
2943
|
+
...(ngDevMode ? [{ debugName: "innerRadius" }] : /* istanbul ignore next */ []));
|
|
2944
|
+
padAngle = input(0.01, /* @ts-ignore */
|
|
2945
|
+
...(ngDevMode ? [{ debugName: "padAngle" }] : /* istanbul ignore next */ []));
|
|
2946
|
+
cornerRadius = input(0, /* @ts-ignore */
|
|
2947
|
+
...(ngDevMode ? [{ debugName: "cornerRadius" }] : /* istanbul ignore next */ []));
|
|
2948
|
+
startAngle = input(-Math.PI / 2, /* @ts-ignore */
|
|
2949
|
+
...(ngDevMode ? [{ debugName: "startAngle" }] : /* istanbul ignore next */ []));
|
|
2950
|
+
endAngle = input((3 * Math.PI) / 2, /* @ts-ignore */
|
|
2951
|
+
...(ngDevMode ? [{ debugName: "endAngle" }] : /* istanbul ignore next */ []));
|
|
2952
|
+
showLabels = input(false, /* @ts-ignore */
|
|
2953
|
+
...(ngDevMode ? [{ debugName: "showLabels" }] : /* istanbul ignore next */ []));
|
|
2954
|
+
activeIndex = input(undefined, /* @ts-ignore */
|
|
2955
|
+
...(ngDevMode ? [{ debugName: "activeIndex" }] : /* istanbul ignore next */ []));
|
|
2956
|
+
activeOffset = input(12, /* @ts-ignore */
|
|
2957
|
+
...(ngDevMode ? [{ debugName: "activeOffset" }] : /* istanbul ignore next */ []));
|
|
2813
2958
|
sliceClick = output();
|
|
2814
|
-
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right),
|
|
2815
|
-
|
|
2959
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
2960
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
2961
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
2962
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
2816
2963
|
layout = computed(() => computePieLayout({
|
|
2817
2964
|
data: this.data(),
|
|
2818
2965
|
valueKey: this.valueKey(),
|
|
@@ -2827,13 +2974,17 @@ class PieChart {
|
|
|
2827
2974
|
endAngle: this.endAngle(),
|
|
2828
2975
|
activeIndex: this.activeIndex(),
|
|
2829
2976
|
activeOffset: this.activeOffset(),
|
|
2830
|
-
}),
|
|
2977
|
+
}), /* @ts-ignore */
|
|
2978
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
2831
2979
|
viewBox = computed(() => {
|
|
2832
2980
|
const { width, height } = this.root.dimensions();
|
|
2833
2981
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
2834
|
-
},
|
|
2835
|
-
|
|
2836
|
-
|
|
2982
|
+
}, /* @ts-ignore */
|
|
2983
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
2984
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
2985
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
2986
|
+
ariaSummary = computed(() => `Pie chart, ${this.data().length} slices.`, /* @ts-ignore */
|
|
2987
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
2837
2988
|
sliceAriaLabel(s) {
|
|
2838
2989
|
return `${s.name}: ${s.value}`;
|
|
2839
2990
|
}
|
|
@@ -2863,8 +3014,8 @@ class PieChart {
|
|
|
2863
3014
|
clearActive() {
|
|
2864
3015
|
this.root.activePoint.set(null);
|
|
2865
3016
|
}
|
|
2866
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2867
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3017
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PieChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3018
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: PieChart, isStandalone: true, selector: "ui-pie-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, valueKey: { classPropertyName: "valueKey", publicName: "valueKey", isSignal: true, isRequired: true, transformFunction: null }, nameKey: { classPropertyName: "nameKey", publicName: "nameKey", isSignal: true, isRequired: true, transformFunction: null }, seriesKeys: { classPropertyName: "seriesKeys", publicName: "seriesKeys", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, innerRadius: { classPropertyName: "innerRadius", publicName: "innerRadius", isSignal: true, isRequired: false, transformFunction: null }, padAngle: { classPropertyName: "padAngle", publicName: "padAngle", isSignal: true, isRequired: false, transformFunction: null }, cornerRadius: { classPropertyName: "cornerRadius", publicName: "cornerRadius", isSignal: true, isRequired: false, transformFunction: null }, startAngle: { classPropertyName: "startAngle", publicName: "startAngle", isSignal: true, isRequired: false, transformFunction: null }, endAngle: { classPropertyName: "endAngle", publicName: "endAngle", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, activeIndex: { classPropertyName: "activeIndex", publicName: "activeIndex", isSignal: true, isRequired: false, transformFunction: null }, activeOffset: { classPropertyName: "activeOffset", publicName: "activeOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { sliceClick: "sliceClick" }, host: { classAttribute: "relative block h-full w-full" }, ngImport: i0, template: `
|
|
2868
3019
|
<svg:svg
|
|
2869
3020
|
class="block h-full w-full overflow-visible"
|
|
2870
3021
|
[attr.viewBox]="viewBox()"
|
|
@@ -2912,7 +3063,7 @@ class PieChart {
|
|
|
2912
3063
|
<ng-content select="ui-chart-legend" />
|
|
2913
3064
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2914
3065
|
}
|
|
2915
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3066
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: PieChart, decorators: [{
|
|
2916
3067
|
type: Component,
|
|
2917
3068
|
args: [{
|
|
2918
3069
|
selector: 'ui-pie-chart',
|
|
@@ -3037,23 +3188,40 @@ function polygonPath(points) {
|
|
|
3037
3188
|
const DEFAULT_MARGIN$2 = { top: 24, right: 24, bottom: 24, left: 24 };
|
|
3038
3189
|
class RadarChart {
|
|
3039
3190
|
root = inject(ChartContext);
|
|
3040
|
-
data = input.required(
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
3045
|
-
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3191
|
+
data = input.required(/* @ts-ignore */
|
|
3192
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
3193
|
+
axisKey = input.required(/* @ts-ignore */
|
|
3194
|
+
...(ngDevMode ? [{ debugName: "axisKey" }] : /* istanbul ignore next */ []));
|
|
3195
|
+
margin = input(DEFAULT_MARGIN$2, /* @ts-ignore */
|
|
3196
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
3197
|
+
curve = input('linear', /* @ts-ignore */
|
|
3198
|
+
...(ngDevMode ? [{ debugName: "curve" }] : /* istanbul ignore next */ []));
|
|
3199
|
+
levels = input(4, /* @ts-ignore */
|
|
3200
|
+
...(ngDevMode ? [{ debugName: "levels" }] : /* istanbul ignore next */ []));
|
|
3201
|
+
maxValue = input(undefined, /* @ts-ignore */
|
|
3202
|
+
...(ngDevMode ? [{ debugName: "maxValue" }] : /* istanbul ignore next */ []));
|
|
3203
|
+
strokeWidth = input(2, /* @ts-ignore */
|
|
3204
|
+
...(ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []));
|
|
3205
|
+
fillOpacity = input(0.2, /* @ts-ignore */
|
|
3206
|
+
...(ngDevMode ? [{ debugName: "fillOpacity" }] : /* istanbul ignore next */ []));
|
|
3207
|
+
showLabels = input(true, /* @ts-ignore */
|
|
3208
|
+
...(ngDevMode ? [{ debugName: "showLabels" }] : /* istanbul ignore next */ []));
|
|
3209
|
+
showDots = input(true, /* @ts-ignore */
|
|
3210
|
+
...(ngDevMode ? [{ debugName: "showDots" }] : /* istanbul ignore next */ []));
|
|
3211
|
+
dotRadius = input(3, /* @ts-ignore */
|
|
3212
|
+
...(ngDevMode ? [{ debugName: "dotRadius" }] : /* istanbul ignore next */ []));
|
|
3213
|
+
grid = input('circle', /* @ts-ignore */
|
|
3214
|
+
...(ngDevMode ? [{ debugName: "grid" }] : /* istanbul ignore next */ []));
|
|
3215
|
+
gridFilled = input(false, /* @ts-ignore */
|
|
3216
|
+
...(ngDevMode ? [{ debugName: "gridFilled" }] : /* istanbul ignore next */ []));
|
|
3217
|
+
showAxes = input(true, /* @ts-ignore */
|
|
3218
|
+
...(ngDevMode ? [{ debugName: "showAxes" }] : /* istanbul ignore next */ []));
|
|
3219
|
+
linesOnly = input(false, /* @ts-ignore */
|
|
3220
|
+
...(ngDevMode ? [{ debugName: "linesOnly" }] : /* istanbul ignore next */ []));
|
|
3221
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
3222
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
3223
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
3224
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
3057
3225
|
layout = computed(() => computeRadarLayout({
|
|
3058
3226
|
data: this.data(),
|
|
3059
3227
|
axisKey: this.axisKey(),
|
|
@@ -3064,16 +3232,20 @@ class RadarChart {
|
|
|
3064
3232
|
levels: this.levels(),
|
|
3065
3233
|
curve: this.curve(),
|
|
3066
3234
|
grid: this.grid(),
|
|
3067
|
-
}),
|
|
3235
|
+
}), /* @ts-ignore */
|
|
3236
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
3068
3237
|
viewBox = computed(() => {
|
|
3069
3238
|
const { width, height } = this.root.dimensions();
|
|
3070
3239
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
3071
|
-
},
|
|
3072
|
-
|
|
3240
|
+
}, /* @ts-ignore */
|
|
3241
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
3242
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
3243
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
3073
3244
|
ariaSummary = computed(() => {
|
|
3074
3245
|
const keys = this.root.visibleSeriesKeys();
|
|
3075
3246
|
return `Radar chart, ${this.data().length} axes, ${keys.length} series.`;
|
|
3076
|
-
},
|
|
3247
|
+
}, /* @ts-ignore */
|
|
3248
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
3077
3249
|
gridFill() {
|
|
3078
3250
|
return this.gridFilled() ? 'hsl(var(--muted))' : 'none';
|
|
3079
3251
|
}
|
|
@@ -3092,8 +3264,8 @@ class RadarChart {
|
|
|
3092
3264
|
clearActive() {
|
|
3093
3265
|
this.root.activePoint.set(null);
|
|
3094
3266
|
}
|
|
3095
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3096
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3267
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RadarChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3268
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: RadarChart, isStandalone: true, selector: "ui-radar-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, axisKey: { classPropertyName: "axisKey", publicName: "axisKey", isSignal: true, isRequired: true, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, levels: { classPropertyName: "levels", publicName: "levels", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null }, fillOpacity: { classPropertyName: "fillOpacity", publicName: "fillOpacity", isSignal: true, isRequired: false, transformFunction: null }, showLabels: { classPropertyName: "showLabels", publicName: "showLabels", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null }, dotRadius: { classPropertyName: "dotRadius", publicName: "dotRadius", isSignal: true, isRequired: false, transformFunction: null }, grid: { classPropertyName: "grid", publicName: "grid", isSignal: true, isRequired: false, transformFunction: null }, gridFilled: { classPropertyName: "gridFilled", publicName: "gridFilled", isSignal: true, isRequired: false, transformFunction: null }, showAxes: { classPropertyName: "showAxes", publicName: "showAxes", isSignal: true, isRequired: false, transformFunction: null }, linesOnly: { classPropertyName: "linesOnly", publicName: "linesOnly", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "relative block h-full w-full" }, ngImport: i0, template: `
|
|
3097
3269
|
<svg:svg
|
|
3098
3270
|
class="block h-full w-full overflow-visible"
|
|
3099
3271
|
[attr.viewBox]="viewBox()"
|
|
@@ -3173,7 +3345,7 @@ class RadarChart {
|
|
|
3173
3345
|
<ng-content select="ui-chart-legend" />
|
|
3174
3346
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3175
3347
|
}
|
|
3176
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3348
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RadarChart, decorators: [{
|
|
3177
3349
|
type: Component,
|
|
3178
3350
|
args: [{
|
|
3179
3351
|
selector: 'ui-radar-chart',
|
|
@@ -3302,22 +3474,37 @@ const DEFAULT_MARGIN$1 = { top: 8, right: 8, bottom: 8, left: 8 };
|
|
|
3302
3474
|
const defaultRadialValueFormatter = (value) => `${value}`;
|
|
3303
3475
|
class RadialChart {
|
|
3304
3476
|
root = inject(ChartContext);
|
|
3305
|
-
data = input.required(
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
|
|
3316
|
-
|
|
3317
|
-
|
|
3477
|
+
data = input.required(/* @ts-ignore */
|
|
3478
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
3479
|
+
nameKey = input.required(/* @ts-ignore */
|
|
3480
|
+
...(ngDevMode ? [{ debugName: "nameKey" }] : /* istanbul ignore next */ []));
|
|
3481
|
+
valueKey = input.required(/* @ts-ignore */
|
|
3482
|
+
...(ngDevMode ? [{ debugName: "valueKey" }] : /* istanbul ignore next */ []));
|
|
3483
|
+
seriesKeys = input(undefined, /* @ts-ignore */
|
|
3484
|
+
...(ngDevMode ? [{ debugName: "seriesKeys" }] : /* istanbul ignore next */ []));
|
|
3485
|
+
margin = input(DEFAULT_MARGIN$1, /* @ts-ignore */
|
|
3486
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
3487
|
+
trackPadding = input(4, /* @ts-ignore */
|
|
3488
|
+
...(ngDevMode ? [{ debugName: "trackPadding" }] : /* istanbul ignore next */ []));
|
|
3489
|
+
cornerRadius = input(8, /* @ts-ignore */
|
|
3490
|
+
...(ngDevMode ? [{ debugName: "cornerRadius" }] : /* istanbul ignore next */ []));
|
|
3491
|
+
startAngle = input(-Math.PI / 2, /* @ts-ignore */
|
|
3492
|
+
...(ngDevMode ? [{ debugName: "startAngle" }] : /* istanbul ignore next */ []));
|
|
3493
|
+
endAngle = input((3 * Math.PI) / 2, /* @ts-ignore */
|
|
3494
|
+
...(ngDevMode ? [{ debugName: "endAngle" }] : /* istanbul ignore next */ []));
|
|
3495
|
+
maxValue = input(undefined, /* @ts-ignore */
|
|
3496
|
+
...(ngDevMode ? [{ debugName: "maxValue" }] : /* istanbul ignore next */ []));
|
|
3497
|
+
showTrack = input(true, /* @ts-ignore */
|
|
3498
|
+
...(ngDevMode ? [{ debugName: "showTrack" }] : /* istanbul ignore next */ []));
|
|
3499
|
+
showValueLabels = input(false, /* @ts-ignore */
|
|
3500
|
+
...(ngDevMode ? [{ debugName: "showValueLabels" }] : /* istanbul ignore next */ []));
|
|
3501
|
+
valueLabelFormat = input(defaultRadialValueFormatter, /* @ts-ignore */
|
|
3502
|
+
...(ngDevMode ? [{ debugName: "valueLabelFormat" }] : /* istanbul ignore next */ []));
|
|
3318
3503
|
barClick = output();
|
|
3319
|
-
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right),
|
|
3320
|
-
|
|
3504
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
3505
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
3506
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
3507
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
3321
3508
|
layout = computed(() => computeRadialLayout({
|
|
3322
3509
|
data: this.data(),
|
|
3323
3510
|
nameKey: this.nameKey(),
|
|
@@ -3330,13 +3517,17 @@ class RadialChart {
|
|
|
3330
3517
|
endAngle: this.endAngle(),
|
|
3331
3518
|
cornerRadius: this.cornerRadius(),
|
|
3332
3519
|
maxValue: this.maxValue(),
|
|
3333
|
-
}),
|
|
3520
|
+
}), /* @ts-ignore */
|
|
3521
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
3334
3522
|
viewBox = computed(() => {
|
|
3335
3523
|
const { width, height } = this.root.dimensions();
|
|
3336
3524
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
3337
|
-
},
|
|
3338
|
-
|
|
3339
|
-
|
|
3525
|
+
}, /* @ts-ignore */
|
|
3526
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
3527
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
3528
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
3529
|
+
ariaSummary = computed(() => `Radial bar chart, ${this.data().length} tracks.`, /* @ts-ignore */
|
|
3530
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
3340
3531
|
barAriaLabel(b) {
|
|
3341
3532
|
return `${b.name}: ${b.value}`;
|
|
3342
3533
|
}
|
|
@@ -3377,8 +3568,8 @@ class RadialChart {
|
|
|
3377
3568
|
clearActive() {
|
|
3378
3569
|
this.root.activePoint.set(null);
|
|
3379
3570
|
}
|
|
3380
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3381
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3571
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RadialChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3572
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: RadialChart, isStandalone: true, selector: "ui-radial-chart", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, nameKey: { classPropertyName: "nameKey", publicName: "nameKey", isSignal: true, isRequired: true, transformFunction: null }, valueKey: { classPropertyName: "valueKey", publicName: "valueKey", isSignal: true, isRequired: true, transformFunction: null }, seriesKeys: { classPropertyName: "seriesKeys", publicName: "seriesKeys", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, trackPadding: { classPropertyName: "trackPadding", publicName: "trackPadding", isSignal: true, isRequired: false, transformFunction: null }, cornerRadius: { classPropertyName: "cornerRadius", publicName: "cornerRadius", isSignal: true, isRequired: false, transformFunction: null }, startAngle: { classPropertyName: "startAngle", publicName: "startAngle", isSignal: true, isRequired: false, transformFunction: null }, endAngle: { classPropertyName: "endAngle", publicName: "endAngle", isSignal: true, isRequired: false, transformFunction: null }, maxValue: { classPropertyName: "maxValue", publicName: "maxValue", isSignal: true, isRequired: false, transformFunction: null }, showTrack: { classPropertyName: "showTrack", publicName: "showTrack", isSignal: true, isRequired: false, transformFunction: null }, showValueLabels: { classPropertyName: "showValueLabels", publicName: "showValueLabels", isSignal: true, isRequired: false, transformFunction: null }, valueLabelFormat: { classPropertyName: "valueLabelFormat", publicName: "valueLabelFormat", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { barClick: "barClick" }, host: { classAttribute: "relative block h-full w-full" }, ngImport: i0, template: `
|
|
3382
3573
|
<svg:svg
|
|
3383
3574
|
class="block h-full w-full overflow-visible"
|
|
3384
3575
|
[attr.viewBox]="viewBox()"
|
|
@@ -3426,7 +3617,7 @@ class RadialChart {
|
|
|
3426
3617
|
<ng-content select="ui-chart-legend" />
|
|
3427
3618
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3428
3619
|
}
|
|
3429
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3620
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: RadialChart, decorators: [{
|
|
3430
3621
|
type: Component,
|
|
3431
3622
|
args: [{
|
|
3432
3623
|
selector: 'ui-radial-chart',
|
|
@@ -3552,30 +3743,45 @@ const DEFAULT_MARGIN = { top: 8, right: 8, bottom: 24, left: 40 };
|
|
|
3552
3743
|
class ScatterChart {
|
|
3553
3744
|
root = inject(ChartContext);
|
|
3554
3745
|
viewport = inject(ScatterViewportContext);
|
|
3555
|
-
data = input.required(
|
|
3556
|
-
|
|
3557
|
-
|
|
3746
|
+
data = input.required(/* @ts-ignore */
|
|
3747
|
+
...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
|
|
3748
|
+
xKey = input.required(/* @ts-ignore */
|
|
3749
|
+
...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
|
|
3750
|
+
yKey = input.required(/* @ts-ignore */
|
|
3751
|
+
...(ngDevMode ? [{ debugName: "yKey" }] : /* istanbul ignore next */ []));
|
|
3558
3752
|
/** Optional numeric field to drive point radius. */
|
|
3559
|
-
sizeKey = input(undefined,
|
|
3753
|
+
sizeKey = input(undefined, /* @ts-ignore */
|
|
3754
|
+
...(ngDevMode ? [{ debugName: "sizeKey" }] : /* istanbul ignore next */ []));
|
|
3560
3755
|
/** Optional field on each datum used as color key. */
|
|
3561
|
-
seriesKey = input(undefined,
|
|
3562
|
-
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3756
|
+
seriesKey = input(undefined, /* @ts-ignore */
|
|
3757
|
+
...(ngDevMode ? [{ debugName: "seriesKey" }] : /* istanbul ignore next */ []));
|
|
3758
|
+
margin = input(DEFAULT_MARGIN, /* @ts-ignore */
|
|
3759
|
+
...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
|
|
3760
|
+
minPointRadius = input(3, /* @ts-ignore */
|
|
3761
|
+
...(ngDevMode ? [{ debugName: "minPointRadius" }] : /* istanbul ignore next */ []));
|
|
3762
|
+
maxPointRadius = input(12, /* @ts-ignore */
|
|
3763
|
+
...(ngDevMode ? [{ debugName: "maxPointRadius" }] : /* istanbul ignore next */ []));
|
|
3764
|
+
xDomain = input(undefined, /* @ts-ignore */
|
|
3765
|
+
...(ngDevMode ? [{ debugName: "xDomain" }] : /* istanbul ignore next */ []));
|
|
3766
|
+
yDomain = input(undefined, /* @ts-ignore */
|
|
3767
|
+
...(ngDevMode ? [{ debugName: "yDomain" }] : /* istanbul ignore next */ []));
|
|
3567
3768
|
pointClick = output();
|
|
3568
|
-
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right),
|
|
3569
|
-
|
|
3769
|
+
innerWidth = computed(() => Math.max(0, this.root.dimensions().width - this.margin().left - this.margin().right), /* @ts-ignore */
|
|
3770
|
+
...(ngDevMode ? [{ debugName: "innerWidth" }] : /* istanbul ignore next */ []));
|
|
3771
|
+
innerHeight = computed(() => Math.max(0, this.root.dimensions().height - this.margin().top - this.margin().bottom), /* @ts-ignore */
|
|
3772
|
+
...(ngDevMode ? [{ debugName: "innerHeight" }] : /* istanbul ignore next */ []));
|
|
3570
3773
|
resolvedDomains = computed(() => resolveScatterDomains({
|
|
3571
3774
|
data: this.data(),
|
|
3572
3775
|
xKey: this.xKey(),
|
|
3573
3776
|
yKey: this.yKey(),
|
|
3574
3777
|
xDomain: this.xDomain(),
|
|
3575
3778
|
yDomain: this.yDomain(),
|
|
3576
|
-
}),
|
|
3577
|
-
|
|
3578
|
-
|
|
3779
|
+
}), /* @ts-ignore */
|
|
3780
|
+
...(ngDevMode ? [{ debugName: "resolvedDomains" }] : /* istanbul ignore next */ []));
|
|
3781
|
+
currentXDomain = computed(() => this.viewport.zoomXDomain() ?? this.resolvedDomains().xDomain, /* @ts-ignore */
|
|
3782
|
+
...(ngDevMode ? [{ debugName: "currentXDomain" }] : /* istanbul ignore next */ []));
|
|
3783
|
+
currentYDomain = computed(() => this.viewport.zoomYDomain() ?? this.resolvedDomains().yDomain, /* @ts-ignore */
|
|
3784
|
+
...(ngDevMode ? [{ debugName: "currentYDomain" }] : /* istanbul ignore next */ []));
|
|
3579
3785
|
layout = computed(() => computeScatterLayout({
|
|
3580
3786
|
data: this.data(),
|
|
3581
3787
|
xKey: this.xKey(),
|
|
@@ -3589,14 +3795,19 @@ class ScatterChart {
|
|
|
3589
3795
|
maxPointRadius: this.maxPointRadius(),
|
|
3590
3796
|
xDomain: this.currentXDomain(),
|
|
3591
3797
|
yDomain: this.currentYDomain(),
|
|
3592
|
-
}),
|
|
3798
|
+
}), /* @ts-ignore */
|
|
3799
|
+
...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
|
|
3593
3800
|
viewBox = computed(() => {
|
|
3594
3801
|
const { width, height } = this.root.dimensions();
|
|
3595
3802
|
return `0 0 ${Math.max(0, width)} ${Math.max(0, height)}`;
|
|
3596
|
-
},
|
|
3597
|
-
|
|
3598
|
-
|
|
3599
|
-
|
|
3803
|
+
}, /* @ts-ignore */
|
|
3804
|
+
...(ngDevMode ? [{ debugName: "viewBox" }] : /* istanbul ignore next */ []));
|
|
3805
|
+
innerTransform = computed(() => `translate(${this.margin().left},${this.margin().top})`, /* @ts-ignore */
|
|
3806
|
+
...(ngDevMode ? [{ debugName: "innerTransform" }] : /* istanbul ignore next */ []));
|
|
3807
|
+
clipPathId = computed(() => `${this.root.id()}-scatter-clip`, /* @ts-ignore */
|
|
3808
|
+
...(ngDevMode ? [{ debugName: "clipPathId" }] : /* istanbul ignore next */ []));
|
|
3809
|
+
ariaSummary = computed(() => `Scatter chart, ${this.data().length} points.`, /* @ts-ignore */
|
|
3810
|
+
...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
|
|
3600
3811
|
constructor() {
|
|
3601
3812
|
effect(() => {
|
|
3602
3813
|
const domains = this.resolvedDomains();
|
|
@@ -3621,8 +3832,8 @@ class ScatterChart {
|
|
|
3621
3832
|
datum: this.data()[p.datumIndex],
|
|
3622
3833
|
});
|
|
3623
3834
|
}
|
|
3624
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3625
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
3835
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ScatterChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3836
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.0", type: ScatterChart, isStandalone: true, selector: "ui-scatter-chart", 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 }, 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: { classAttribute: "relative block h-full w-full" }, providers: [ScatterViewportContext], ngImport: i0, template: `
|
|
3626
3837
|
<svg:svg
|
|
3627
3838
|
class="block h-full w-full overflow-visible"
|
|
3628
3839
|
[attr.viewBox]="viewBox()"
|
|
@@ -3657,7 +3868,7 @@ class ScatterChart {
|
|
|
3657
3868
|
<ng-content select="ui-chart-zoom-controls" />
|
|
3658
3869
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3659
3870
|
}
|
|
3660
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3871
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: ScatterChart, decorators: [{
|
|
3661
3872
|
type: Component,
|
|
3662
3873
|
args: [{
|
|
3663
3874
|
selector: 'ui-scatter-chart',
|