@sinequa/atomic-angular 1.16.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +23 -18
  2. package/components/navbar-tabs/i18n/de.json +4 -2
  3. package/components/navbar-tabs/i18n/en.json +4 -2
  4. package/components/navbar-tabs/i18n/fr.json +5 -3
  5. package/components/preview/i18n/de.json +12 -0
  6. package/components/preview/i18n/en.json +12 -0
  7. package/components/preview/i18n/fr.json +12 -0
  8. package/components/sort-selector/i18n/de.json +1 -0
  9. package/components/sort-selector/i18n/en.json +1 -0
  10. package/components/sort-selector/i18n/fr.json +1 -0
  11. package/components/sponsored-results/i18n/de.json +3 -0
  12. package/components/sponsored-results/i18n/en.json +3 -0
  13. package/components/sponsored-results/i18n/fr.json +3 -0
  14. package/document-workspaces/i18n/de.json +6 -2
  15. package/document-workspaces/i18n/en.json +6 -2
  16. package/document-workspaces/i18n/fr.json +6 -2
  17. package/document-workspaces/i18n/ja.json +6 -2
  18. package/features/{drawer → advanced-search}/i18n/de.json +12 -1
  19. package/features/{drawer → advanced-search}/i18n/en.json +12 -1
  20. package/features/{drawer → advanced-search}/i18n/fr.json +13 -2
  21. package/features/alerts/i18n/de.json +7 -1
  22. package/features/alerts/i18n/en.json +7 -1
  23. package/features/alerts/i18n/fr.json +7 -1
  24. package/features/auth/i18n/de.json +6 -0
  25. package/features/auth/i18n/en.json +6 -0
  26. package/features/auth/i18n/fr.json +6 -1
  27. package/features/collections/i18n/de.json +4 -1
  28. package/features/collections/i18n/en.json +4 -1
  29. package/features/collections/i18n/fr.json +4 -1
  30. package/features/dialogs/i18n/de.json +11 -1
  31. package/features/dialogs/i18n/en.json +11 -1
  32. package/features/dialogs/i18n/fr.json +11 -1
  33. package/features/export/i18n/de.json +5 -1
  34. package/features/export/i18n/en.json +5 -1
  35. package/features/export/i18n/fr.json +5 -1
  36. package/features/feedback/i18n/de.json +2 -1
  37. package/features/feedback/i18n/en.json +2 -1
  38. package/features/feedback/i18n/fr.json +2 -1
  39. package/features/filters/i18n/de.json +10 -3
  40. package/features/filters/i18n/en.json +10 -3
  41. package/features/filters/i18n/fr.json +11 -4
  42. package/features/labels/i18n/de.json +5 -1
  43. package/features/labels/i18n/en.json +5 -1
  44. package/features/labels/i18n/fr.json +5 -1
  45. package/features/list-panel/i18n/de.json +4 -0
  46. package/features/list-panel/i18n/en.json +4 -0
  47. package/features/list-panel/i18n/fr.json +4 -0
  48. package/features/searches/i18n/de.json +2 -1
  49. package/features/searches/i18n/en.json +2 -1
  50. package/features/searches/i18n/fr.json +3 -2
  51. package/features/sheet/i18n/de.json +3 -0
  52. package/features/sheet/i18n/en.json +3 -0
  53. package/features/sheet/i18n/fr.json +3 -0
  54. package/features/user-profile/i18n/de.json +22 -1
  55. package/features/user-profile/i18n/en.json +22 -1
  56. package/features/user-profile/i18n/fr.json +22 -1
  57. package/fesm2022/sinequa-atomic-angular-charts-heatmap.mjs +294 -0
  58. package/fesm2022/sinequa-atomic-angular-charts-heatmap.mjs.map +1 -0
  59. package/fesm2022/sinequa-atomic-angular-charts.mjs +969 -0
  60. package/fesm2022/sinequa-atomic-angular-charts.mjs.map +1 -0
  61. package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs +11188 -7846
  62. package/fesm2022/sinequa-atomic-angular-document-workspaces.mjs.map +1 -1
  63. package/fesm2022/sinequa-atomic-angular-workspace-elements.mjs +85 -152
  64. package/fesm2022/sinequa-atomic-angular-workspace-elements.mjs.map +1 -1
  65. package/fesm2022/sinequa-atomic-angular.mjs +30683 -17302
  66. package/fesm2022/sinequa-atomic-angular.mjs.map +1 -1
  67. package/package.json +60 -23
  68. package/styles/calendar.css +88 -0
  69. package/types/sinequa-atomic-angular-charts-heatmap.d.ts +154 -0
  70. package/types/sinequa-atomic-angular-charts.d.ts +462 -0
  71. package/types/sinequa-atomic-angular-document-workspaces.d.ts +2527 -0
  72. package/types/sinequa-atomic-angular-workspace-elements.d.ts +49 -0
  73. package/types/sinequa-atomic-angular.d.ts +19918 -0
  74. package/workspace-elements/styles/lexiq-workspaces.css +7310 -4010
  75. package/document-workspaces/index.d.ts +0 -2116
  76. package/elements/index.d.ts +0 -346
  77. package/fesm2022/sinequa-atomic-angular-elements.mjs +0 -7526
  78. package/fesm2022/sinequa-atomic-angular-elements.mjs.map +0 -1
  79. package/index.d.ts +0 -16119
  80. package/workspace-elements/index.d.ts +0 -37
package/package.json CHANGED
@@ -1,48 +1,54 @@
1
1
  {
2
2
  "name": "@sinequa/atomic-angular",
3
- "version": "1.16.0",
3
+ "version": "2.0.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
7
  "exports": {
8
8
  "./workspace-elements/styles/lexiq-workspaces.css": "./workspace-elements/styles/lexiq-workspaces.css",
9
+ "./styles/*.css": "./styles/*.css",
9
10
  "./package.json": {
10
11
  "default": "./package.json"
11
12
  },
12
13
  ".": {
13
- "types": "./index.d.ts",
14
+ "types": "./types/sinequa-atomic-angular.d.ts",
14
15
  "default": "./fesm2022/sinequa-atomic-angular.mjs"
15
16
  },
17
+ "./charts": {
18
+ "types": "./types/sinequa-atomic-angular-charts.d.ts",
19
+ "default": "./fesm2022/sinequa-atomic-angular-charts.mjs"
20
+ },
21
+ "./charts/heatmap": {
22
+ "types": "./types/sinequa-atomic-angular-charts-heatmap.d.ts",
23
+ "default": "./fesm2022/sinequa-atomic-angular-charts-heatmap.mjs"
24
+ },
16
25
  "./document-workspaces": {
17
- "types": "./document-workspaces/index.d.ts",
26
+ "types": "./types/sinequa-atomic-angular-document-workspaces.d.ts",
18
27
  "default": "./fesm2022/sinequa-atomic-angular-document-workspaces.mjs"
19
28
  },
20
- "./elements": {
21
- "types": "./elements/index.d.ts",
22
- "default": "./fesm2022/sinequa-atomic-angular-elements.mjs"
23
- },
24
29
  "./workspace-elements": {
25
- "types": "./workspace-elements/index.d.ts",
30
+ "types": "./types/sinequa-atomic-angular-workspace-elements.d.ts",
26
31
  "default": "./fesm2022/sinequa-atomic-angular-workspace-elements.mjs"
27
32
  }
28
33
  },
29
34
  "peerDependencies": {
30
- "@angular/core": "^20.0.0",
31
- "@angular/elements": "^20.0.0",
32
- "@sinequa/atomic": ">=2.7.0"
33
- },
34
- "peerDependenciesMeta": {
35
- "@angular/elements": {
36
- "optional": true
37
- }
35
+ "@angular/core": "^22.0.0",
36
+ "@angular/aria": "^22.2.0",
37
+ "@sinequa/galactik": "^2.0.0",
38
+ "@sinequa/atomic": ">=2.7.0",
39
+ "vanilla-calendar-pro": "^3.4.0",
40
+ "chart.js": "^4.4.0",
41
+ "chartjs-chart-matrix": "^3.0.0",
42
+ "markdown-it": "^14.1.1",
43
+ "@angular/elements": "^22.0.0"
38
44
  },
39
45
  "dependencies": {
40
- "@angular-architects/ngrx-toolkit": "^20.0.0",
46
+ "@angular-architects/ngrx-toolkit": "^22.0.0",
41
47
  "@floating-ui/dom": "^1.7.2",
42
- "@jsverse/transloco": "^7.6.1",
43
- "@ngrx/signals": "^20.1.0",
44
- "@ngrx/store": "^20.1.0",
45
- "@tanstack/angular-virtual": "^6.0.3",
48
+ "@jsverse/transloco": "^8.3.0",
49
+ "@ngrx/signals": "^22.0.0",
50
+ "@ngrx/store": "^22.0.0",
51
+ "@tanstack/angular-virtual": "^6.0.0",
46
52
  "class-variance-authority": "^0.7.1",
47
53
  "highlight-words": "2.0.0",
48
54
  "temporal-polyfill": "^1.0.5",
@@ -100,7 +106,7 @@
100
106
  },
101
107
  {
102
108
  "scope": "drawers",
103
- "path": "features/drawer/i18n"
109
+ "path": "features/advanced-search/i18n"
104
110
  },
105
111
  {
106
112
  "scope": "user-profile",
@@ -114,20 +120,51 @@
114
120
  "scope": "no-result",
115
121
  "path": "components/no-result/i18n"
116
122
  },
123
+ {
124
+ "scope": "sponsored-results",
125
+ "path": "components/sponsored-results/i18n"
126
+ },
117
127
  {
118
128
  "scope": "sources",
119
129
  "path": "components/source/i18n"
120
130
  },
131
+ {
132
+ "scope": "sheet-navbar",
133
+ "path": "features/sheet/i18n"
134
+ },
135
+ {
136
+ "scope": "list-panel",
137
+ "path": "features/list-panel/i18n"
138
+ },
121
139
  {
122
140
  "scope": "navbar-tabs",
123
141
  "path": "components/navbar-tabs/i18n"
124
142
  },
143
+ {
144
+ "scope": "preview",
145
+ "path": "components/preview/i18n"
146
+ },
125
147
  {
126
148
  "scope": "document-workspaces",
127
149
  "path": "document-workspaces/i18n"
128
150
  }
129
151
  ],
130
152
  "sideEffects": false,
153
+ "peerDependenciesMeta": {
154
+ "chart.js": {
155
+ "optional": true
156
+ },
157
+ "chartjs-chart-matrix": {
158
+ "optional": true
159
+ },
160
+ "markdown-it": {
161
+ "optional": true
162
+ },
163
+ "@angular/elements": {
164
+ "optional": true
165
+ }
166
+ },
131
167
  "module": "fesm2022/sinequa-atomic-angular.mjs",
132
- "typings": "index.d.ts"
168
+ "typings": "types/sinequa-atomic-angular.d.ts",
169
+ "type": "module"
133
170
  }
@@ -0,0 +1,88 @@
1
+ /*
2
+ * @sinequa/atomic-angular — styles of the date facet's calendars. GENERATED, do not edit:
3
+ * edit styles/src/calendar.theme.css, then run `npm run build:calendar-css`.
4
+ *
5
+ * @import "@sinequa/atomic-angular/styles/calendar.css";
6
+ *
7
+ * Bundles vanilla-calendar-pro 3.4.0 (layout core + months, light theme) — MIT License,
8
+ * Copyright (c) 2024 Yury Uvarov, https://github.com/uvarov-frontend/vanilla-calendar-pro
9
+ */
10
+
11
+ /*! name: vanilla-calendar-pro v3.4.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */[data-vc=calendar]{position:relative;box-sizing:border-box;display:flex;min-width:17rem;-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-direction:column;border-radius:.75rem;padding:1rem;opacity:1;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}[data-vc=calendar] [tabindex="0"]:focus-visible,[data-vc=calendar] button:focus-visible,[data-vc=calendar]:focus-visible{border-radius:.5rem;outline-style:solid;outline-width:1px;outline-offset:-1px}[data-vc=calendar][data-vc-calendar-hidden]{pointer-events:none;opacity:0}[data-vc=calendar][data-vc-calendar-hidden] *{pointer-events:none!important}[data-vc=calendar][data-vc-input]{position:absolute}[data-vc=calendar][data-vc-input][data-vc-position=bottom]{margin-top:.25rem}[data-vc=calendar][data-vc-input][data-vc-position=top]{margin-top:-.25rem}[data-vc-arrow]{pointer-events:auto;position:relative;display:block;height:1.5rem;width:1.5rem;cursor:pointer;border-width:0;background-color:transparent}[data-vc-arrow]:before{position:absolute;left:0;top:0;height:100%;width:100%;background-position:50%;background-repeat:no-repeat;--tw-content:"";content:var(--tw-content)}[data-vc-arrow=prev]:before{transform:rotate(90deg)}[data-vc-arrow=next]:before{transform:rotate(-90deg)}[data-vc=header]{position:relative;margin-bottom:.75rem;display:flex;align-items:center}[data-vc-header=content]{display:grid;flex-grow:1;grid-auto-columns:max-content;grid-auto-flow:column;align-items:center;justify-content:center;white-space:pre-wrap;padding-left:1rem;padding-right:1rem}[data-vc=month],[data-vc=year]{cursor:pointer;border-radius:.25rem;border-width:0;background-color:transparent;padding:.25rem;font-size:1rem;line-height:1.5rem;font-weight:700}[data-vc=month]:disabled,[data-vc=year]:disabled{pointer-events:none}[data-vc=content],[data-vc=wrapper]{display:flex;flex-grow:1}[data-vc=content]{flex-direction:column}[data-vc=months]{display:grid;flex-grow:1;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:auto;align-items:center;row-gap:1rem}[data-vc-months=row]{display:grid;width:100%;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center;-moz-column-gap:.25rem;column-gap:.25rem}[data-vc=years]{display:grid;flex-grow:1;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:auto;align-items:center;row-gap:1rem}[data-vc-years=row]{display:grid;width:100%;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;-moz-column-gap:.25rem;column-gap:.25rem}[data-vc-months-month],[data-vc-months=cell],[data-vc-years-year],[data-vc-years=cell]{display:flex;width:100%;align-items:center;justify-content:center}[data-vc-months-month],[data-vc-years-year]{height:2.5rem;cursor:pointer;word-break:break-all;border-radius:.5rem;border-width:0;padding:.25rem;text-align:center;font-size:.75rem;line-height:1rem;font-weight:600}[data-vc-months-month]:disabled,[data-vc-years-year]:disabled{pointer-events:none}[data-vc=week]{margin-bottom:.375rem;display:grid;grid-template-columns:repeat(7,1fr);justify-items:center}[data-vc-week-day]{margin:0;display:flex;min-height:1.5rem;width:100%;min-width:1.875rem;align-items:center;justify-content:center;border-style:none;background-color:transparent;padding:0;font-size:.75rem;line-height:1rem;font-weight:700}[data-vc=dates]{pointer-events:none;display:grid;flex-grow:1;grid-template-columns:repeat(1,minmax(0,1fr));grid-template-rows:auto;align-items:center;justify-items:center}[data-vc=dates][data-vc-dates-disabled] [data-vc-date-btn]{cursor:default}[data-vc-dates=row]{display:grid;width:100%;grid-template-columns:repeat(7,1fr);align-items:center;justify-items:center}[data-vc-date]{pointer-events:auto;position:relative;display:flex;width:100%;align-items:center;justify-content:center;padding-top:.125rem;padding-bottom:.125rem}[data-vc-date]:not(:has([data-vc-date-btn])),[data-vc-date][data-vc-date-disabled],[data-vc-date][data-vc-date-disabled] [data-vc-date-btn]{pointer-events:none}[data-vc-date][data-vc-date-hover] [data-vc-date-btn]{border-radius:0}[data-vc-date][data-vc-date-hover=first] [data-vc-date-btn]{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}[data-vc-date][data-vc-date-hover=last] [data-vc-date-btn]{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}[data-vc-date][data-vc-date-hover=first-and-last] [data-vc-date-btn]{border-radius:.5rem}[data-vc-date][data-vc-date-hover=first][data-vc-date-selected] [data-vc-date-btn]{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}[data-vc-date][data-vc-date-hover=last][data-vc-date-selected] [data-vc-date-btn]{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}[data-vc-date][data-vc-date-selected=first] [data-vc-date-btn]{border-top-right-radius:0;border-bottom-right-radius:0;border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}[data-vc-date][data-vc-date-selected=last] [data-vc-date-btn]{border-top-left-radius:0;border-bottom-left-radius:0;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}[data-vc-date][data-vc-date-selected=first-and-last] [data-vc-date-btn]{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem;border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}[data-vc-date][data-vc-date-selected=middle] [data-vc-date-btn]{border-radius:0}[data-vc-date][data-vc-date-disabled]+[data-vc-date-hover] [data-vc-date-btn],[data-vc-date][data-vc-date-disabled]+[data-vc-date-selected] [data-vc-date-btn]{border-top-left-radius:.5rem;border-bottom-left-radius:.5rem}[data-vc-date][data-vc-date-hover]:has(+[data-vc-date-disabled]) [data-vc-date-btn],[data-vc-date][data-vc-date-selected]:has(+[data-vc-date-disabled]) [data-vc-date-btn]{border-top-right-radius:.5rem;border-bottom-right-radius:.5rem}[data-vc-date-btn]{display:flex;height:100%;min-height:1.875rem;width:100%;min-width:1.875rem;cursor:pointer;align-items:center;justify-content:center;border-radius:.5rem;border-width:0;padding:0;font-size:.75rem;line-height:1rem;font-weight:400;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:75ms}[data-vc-date][data-vc-date-today] [data-vc-date-btn]{font-weight:700}
12
+
13
+ /*! name: vanilla-calendar-pro v3.4.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */[data-vc=calendar][data-vc-type=multiple] [data-vc=dates]{flex-grow:0}[data-vc=controls]{pointer-events:none;position:absolute;left:0;right:0;top:0;z-index:20;box-sizing:content-box;display:flex;align-items:center;justify-content:space-between;padding-left:1rem;padding-right:1rem;padding-top:1.25rem}[data-vc=grid]{display:flex;flex-grow:1;flex-wrap:wrap;gap:1.75rem}[data-vc=grid][data-vc-grid=hidden] [data-vc=column]{pointer-events:none;opacity:.3}[data-vc=grid][data-vc-grid=hidden] [data-vc=column][data-vc-column=month],[data-vc=grid][data-vc-grid=hidden] [data-vc=column][data-vc-column=year]{pointer-events:auto;opacity:1}[data-vc=column]{display:flex;min-width:15rem;flex-grow:1;flex-direction:column}
14
+
15
+ /*! name: vanilla-calendar-pro v3.4.0 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */[data-vc-theme=light].vc{background-color:var(--vc-bg,#fff);color:var(--vc-color,#0f172a)}[data-vc-theme=light].vc[data-vc-input]{--tw-shadow:0 9px 20px rgba(0,0,0,.1);--tw-shadow-colored:0 9px 20px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}[data-vc-theme=light].vc [tabindex="0"]:focus-visible,[data-vc-theme=light].vc button:focus-visible,[data-vc-theme=light].vc:focus-visible{outline-color:var(--vc-focus-outline-color,#fdba74)}[data-vc-theme=light] .vc-arrow{background-color:transparent}[data-vc-theme=light] .vc-arrow:before{content:var(--tw-content);background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZmlsbD0iIzBmMTcyYSIgZD0iTTEyIDE2Yy0uMyAwLS41LS4xLS43LS4zbC02LTZjLS40LS40LS40LTEgMC0xLjRzMS0uNCAxLjQgMGw1LjMgNS4zIDUuMy01LjNjLjQtLjQgMS0uNCAxLjQgMHMuNCAxIDAgMS40bC02IDZjLS4yLjItLjQuMy0uNy4zIi8+PC9zdmc+")}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-arrow:hover:before{content:var(--tw-content);opacity:.6}}[data-vc-theme=light] .vc-header__content{color:var(--vc-header-color,#0f172a)}[data-vc-theme=light] .vc-month,[data-vc-theme=light] .vc-year{color:var(--vc-title-color,#0f172a)}[data-vc-theme=light] .vc-month:disabled,[data-vc-theme=light] .vc-year:disabled{color:var(--vc-title-color-disabled,#cbd5e1)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-month:hover,[data-vc-theme=light] .vc-year:hover{color:var(--vc-title-color-hover,#64748b)}}[data-vc-theme=light] .vc-months__month,[data-vc-theme=light] .vc-years__year{background-color:var(--vc-months-years-bg,#fff);color:var(--vc-months-years-color,#64748b)}[data-vc-theme=light] .vc-months__month:disabled,[data-vc-theme=light] .vc-years__year:disabled{color:var(--vc-months-years-color-disabled,#cbd5e1)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-months__month:hover,[data-vc-theme=light] .vc-years__year:hover{background-color:var(--vc-months-years-bg-hover,#f1f5f9)}[data-vc-theme=light] .vc-months__month:hover:disabled,[data-vc-theme=light] .vc-years__year:hover:disabled{color:var(--vc-months-years-color-disabled,#cbd5e1)}}[data-vc-theme=light] .vc-months__month[data-vc-months-month-selected],[data-vc-theme=light] .vc-years__year[data-vc-years-year-selected]{background-color:var(--vc-months-years-bg-selected,#06b6d4);color:var(--vc-months-years-color-selected,#fff)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-months__month[data-vc-months-month-selected]:hover,[data-vc-theme=light] .vc-years__year[data-vc-years-year-selected]:hover{background-color:var(--vc-months-years-bg-selected,#06b6d4);color:var(--vc-months-years-color-selected,#fff)}}[data-vc-theme=light] .vc-week__day,[data-vc-theme=light] .vc-week__day-btn{color:var(--vc-week-day-color,#64748b)}[data-vc-theme=light] .vc-week__day[data-vc-week-day-off],[data-vc-theme=light] .vc-week__day[data-vc-week-day-off] .vc-week__day-btn{color:var(--vc-week-day-off-color,#f43f5e)}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-selected] .vc-date__btn{background-color:var(--vc-date-range-middle-weekend-bg,rgba(244,63,94,.7));color:var(--vc-date-range-middle-weekend-color,#fff)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-selected] .vc-date__btn:hover{background-color:var(--vc-date-range-middle-weekend-bg,rgba(244,63,94,.7));color:var(--vc-date-range-middle-weekend-color,#fff)}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn{background-color:var(--vc-date-range-middle-outside-bg,#e2e8f0);color:var(--vc-date-range-middle-outside-color,#64748b)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-holiday][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-weekend][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover{background-color:var(--vc-date-range-middle-outside-bg,#e2e8f0);color:var(--vc-date-range-middle-outside-color,#64748b)}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-selected] .vc-date__btn{background-color:var(--vc-date-range-middle-bg,rgba(6,182,212,.7));color:var(--vc-date-range-middle-color,#fff)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-selected] .vc-date__btn:hover{background-color:var(--vc-date-range-middle-bg,rgba(6,182,212,.7));color:var(--vc-date-range-middle-color,#fff)}}[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn{background-color:var(--vc-date-range-middle-outside-bg,#e2e8f0);color:var(--vc-date-range-middle-outside-color,#64748b)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=next][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected=middle][data-vc-date-month=prev][data-vc-date-selected] .vc-date__btn:hover{background-color:var(--vc-date-range-middle-outside-bg,#e2e8f0);color:var(--vc-date-range-middle-outside-color,#64748b)}}[data-vc-theme=light] .vc-date__btn{background-color:var(--vc-date-bg,#fff);color:var(--vc-date-color,#0f172a)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date__btn:hover{background-color:var(--vc-date-bg-hover,#f1f5f9)}}[data-vc-theme=light] .vc-date[data-vc-date-today] .vc-date__btn{background-color:var(--vc-date-today-bg,#f1f5f9);color:var(--vc-date-today-color,#06b6d4)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-today] .vc-date__btn:hover{color:var(--vc-date-today-color,#06b6d4)}}[data-vc-theme=light] .vc-date[data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-today][data-vc-date-month=prev] .vc-date__btn{color:var(--vc-date-today-outside-color,#64748b)}[data-vc-theme=light] .vc-date[data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-month=prev] .vc-date__btn{color:var(--vc-date-outside-color,#94a3b8)}[data-vc-theme=light] .vc-date[data-vc-date-disabled] .vc-date__btn{color:var(--vc-date-disabled-color,#cbd5e1)}[data-vc-theme=light] .vc-date[data-vc-date-hover] .vc-date__btn{background-color:var(--vc-date-hover-bg,#f1f5f9)}[data-vc-theme=light] .vc-date[data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-hover=last] .vc-date__btn{background-color:var(--vc-date-hover-edge-bg,#e2e8f0)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-hover=last] .vc-date__btn:hover{background-color:var(--vc-date-hover-edge-bg,#e2e8f0)}}[data-vc-theme=light] .vc-date[data-vc-date-holiday] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend] .vc-date__btn{color:var(--vc-date-weekend-color,#f43f5e)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend] .vc-date__btn:hover{background-color:var(--vc-date-weekend-bg-hover,#fff1f2)}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover] .vc-date__btn{background-color:var(--vc-date-weekend-hover-bg,#fff1f2)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=last] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=first] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=last] .vc-date__btn{background-color:var(--vc-date-weekend-hover-edge-bg,#ffe4e6)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover=last] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=first] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover=last] .vc-date__btn:hover{background-color:var(--vc-date-weekend-hover-edge-bg,#ffe4e6)}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-disabled] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-disabled] .vc-date__btn{color:var(--vc-date-weekend-disabled-color,#cbd5e1)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today] .vc-date__btn{color:var(--vc-date-weekend-today-color,#f43f5e)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-disabled] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-disabled] .vc-date__btn{color:var(--vc-date-weekend-today-disabled-color,#cbd5e1)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn{background-color:var(--vc-date-weekend-outside-bg,#fff);color:var(--vc-date-weekend-outside-color,#94a3b8)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-month=prev] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-month=prev] .vc-date__btn:hover{background-color:var(--vc-date-weekend-outside-bg-hover,#f1f5f9)}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-hover][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-hover][data-vc-date-month=prev] .vc-date__btn{background-color:var(--vc-date-weekend-outside-hover-bg,#f1f5f9)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-today][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-today][data-vc-date-month=prev] .vc-date__btn{color:var(--vc-date-weekend-today-outside-color,#94a3b8)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-disabled][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-disabled][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-disabled][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-disabled][data-vc-date-month=prev] .vc-date__btn{color:var(--vc-date-weekend-disabled-outside-color,#cbd5e1)}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn{background-color:var(--vc-date-weekend-selected-bg,#f43f5e);color:var(--vc-date-weekend-selected-color,#fff)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected] .vc-date__btn:hover{background-color:var(--vc-date-weekend-selected-bg,#f43f5e);color:var(--vc-date-weekend-selected-color,#fff)}}[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn{background-color:var(--vc-date-selected-outside-bg,#cbd5e1);color:var(--vc-date-selected-outside-color,#64748b)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-holiday][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-weekend][data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover{background-color:var(--vc-date-selected-outside-bg,#cbd5e1);color:var(--vc-date-selected-outside-color,#64748b)}}[data-vc-theme=light] .vc-date[data-vc-date-selected] .vc-date__btn{background-color:var(--vc-date-selected-bg,#06b6d4);color:var(--vc-date-selected-color,#fff)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected] .vc-date__btn:hover{background-color:var(--vc-date-selected-bg,#06b6d4);color:var(--vc-date-selected-color,#fff)}}[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=next] .vc-date__btn,[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn{background-color:var(--vc-date-selected-outside-bg,#cbd5e1);color:var(--vc-date-selected-outside-color,#64748b)}@media (hover:hover) and (pointer:fine){[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=next] .vc-date__btn:hover,[data-vc-theme=light] .vc-date[data-vc-date-selected][data-vc-date-month=prev] .vc-date__btn:hover{background-color:var(--vc-date-selected-outside-bg,#cbd5e1);color:var(--vc-date-selected-outside-color,#64748b)}}
16
+
17
+ /*
18
+ * Theme of the date facet's calendars — the hand-written part of `styles/calendar.css`.
19
+ *
20
+ * vanilla-calendar-pro's `light` theme reads every color from a `--vc-*` variable with a
21
+ * hard-coded fallback; they are all mapped onto galactik tokens here, so the calendar follows
22
+ * the app's light/dark mode without the library's own `dark` theme.
23
+ *
24
+ * Edit this file, then regenerate the shipped stylesheet: `npm run build:calendar-css`.
25
+ */
26
+
27
+ date-range-calendar {
28
+ display: block;
29
+
30
+ /* Surface — the same token as galactik's DialogContent, so the calendar blends into the modal. */
31
+ --vc-bg: var(--bg-neutral-white);
32
+ --vc-color: var(--font-neutral-base);
33
+ --vc-focus-outline-color: var(--stroke-focus);
34
+
35
+ /* Header: month / year switchers */
36
+ --vc-header-color: var(--font-neutral-base);
37
+ --vc-title-color: var(--font-neutral-base);
38
+ --vc-title-color-hover: var(--font-primary-base);
39
+ --vc-title-color-disabled: var(--font-neutral-disabled);
40
+
41
+ /* Month and year grids */
42
+ --vc-months-years-bg: var(--bg-neutral-white);
43
+ --vc-months-years-bg-hover: var(--bg-neutral-base);
44
+ --vc-months-years-bg-selected: var(--bg-primary-base);
45
+ --vc-months-years-color: var(--font-neutral-base);
46
+ --vc-months-years-color-selected: var(--font-neutral-white);
47
+ --vc-months-years-color-disabled: var(--font-neutral-disabled);
48
+
49
+ /* Weekday names */
50
+ --vc-week-day-color: var(--font-neutral-muted);
51
+ --vc-week-day-off-color: var(--font-neutral-muted);
52
+
53
+ /* Days */
54
+ --vc-date-bg: var(--bg-neutral-white);
55
+ --vc-date-bg-hover: var(--bg-neutral-base);
56
+ --vc-date-color: var(--font-neutral-base);
57
+ --vc-date-outside-color: var(--font-neutral-muted);
58
+ --vc-date-disabled-color: var(--font-neutral-disabled);
59
+ --vc-date-today-bg: var(--bg-primary-lighter);
60
+ --vc-date-today-color: var(--font-primary-base);
61
+ --vc-date-today-outside-color: var(--font-neutral-muted);
62
+ --vc-date-selected-bg: var(--bg-primary-base);
63
+ --vc-date-selected-color: var(--font-neutral-white);
64
+ --vc-date-selected-outside-bg: var(--bg-primary-light);
65
+ --vc-date-selected-outside-color: var(--font-neutral-white);
66
+
67
+ /* Range: both ends take the selected colors above, the days in between a lighter primary.
68
+ While picking the second end, the hover preview reuses the same light tint. */
69
+ --vc-date-range-middle-bg: var(--bg-primary-lighter);
70
+ --vc-date-range-middle-color: var(--font-primary-base);
71
+ --vc-date-range-middle-outside-bg: var(--bg-primary-lighter);
72
+ --vc-date-range-middle-outside-color: var(--font-neutral-muted);
73
+ --vc-date-hover-bg: var(--bg-primary-lighter);
74
+ --vc-date-hover-edge-bg: var(--bg-primary-light);
75
+ }
76
+
77
+ /* The theme's arrow is a base64 SVG with a fixed `#0f172a` fill — invisible in dark mode.
78
+ Redraw the same chevron as a mask, painted with galactik text tokens instead. */
79
+ date-range-calendar .vc .vc-arrow::before {
80
+ background-image: none;
81
+ background-color: var(--font-neutral-muted);
82
+ mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/%3E%3C/svg%3E")
83
+ center / contain no-repeat;
84
+ }
85
+
86
+ date-range-calendar .vc .vc-arrow:hover::before {
87
+ background-color: var(--font-neutral-base);
88
+ }
@@ -0,0 +1,154 @@
1
+ import * as i0 from "@angular/core";
2
+ import { Signal } from "@angular/core";
3
+ import { ChartConfiguration, Plugin } from "chart.js";
4
+ import { AggregationLike, HeatmapAxisSelection, HeatmapCellSelection, HeatmapEncoding } from "@sinequa/atomic-angular";
5
+ /**
6
+ * Registers the `matrix` controller and element that `<AggregationHeatmap>` draws with.
7
+ *
8
+ * Chart.js has no matrix controller of its own; `chartjs-chart-matrix` adds one. Idempotent on
9
+ * purpose: it is called from the constructor of every `<AggregationHeatmap>`, so it must be safe to
10
+ * call many times. Registering from the component rather than from application bootstrap is what
11
+ * keeps the entry point self-contained — an application that never imports
12
+ * `@sinequa/atomic-angular/charts/heatmap` never runs this, and never needs `chartjs-chart-matrix`
13
+ * installed.
14
+ *
15
+ * This import must stay a VALUE import. A `import type` would be elided at compile time, and with
16
+ * it the `declare module "chart.js"` augmentation the package ships — `"matrix"` would stop being a
17
+ * known chart type and the configuration below would no longer type-check.
18
+ */
19
+ export declare function setupMatrixChart(): void;
20
+ /**
21
+ * A two-dimensional distribution rendered as a canvas heatmap, on Chart.js.
22
+ *
23
+ * **`<Heatmap>` from the main entry point is the one to reach for first.** It renders a CSS grid,
24
+ * needs no dependency at all, is accessible and selectable, and its axis labels are real buttons.
25
+ * This component exists for the case that one cannot serve: a matrix large enough that hundreds of
26
+ * DOM nodes become the bottleneck. Canvas rendering is flat in the cell count; a DOM grid is not.
27
+ *
28
+ * What it costs, and what it does not:
29
+ *
30
+ * - **it costs a dependency** — `chartjs-chart-matrix`, which is why this is its own entry point.
31
+ * See the note in `public-api.ts`;
32
+ * - **it costs accessibility** — a canvas is opaque to screen readers and to text selection, and
33
+ * nothing brings that back. Weigh this before choosing it over `<Heatmap>`;
34
+ * - **it does NOT cost the axis click.** Clicking a label to filter a whole row or column works
35
+ * here too, through `createAxisClickPlugin()`. SBA v2's canvas heatmap had to hit-test painted
36
+ * pixels for this and this component does the same, but the hit test is written once, in the
37
+ * plugin, and `(axisSelected)` emits the same payload as `<Heatmap>`.
38
+ *
39
+ * The API is deliberately the same as `<Heatmap>`'s, so the two are interchangeable: same inputs,
40
+ * same `(cellSelected)` and `(axisSelected)` payloads. Swapping one for the other is an import
41
+ * change.
42
+ *
43
+ * **The host must have a resolved height** — see `<ChartCanvas>`.
44
+ */
45
+ export declare class AggregationHeatmapComponent {
46
+ cn: import("cn").CnFunction;
47
+ /**
48
+ * Extra classes for the host element.
49
+ * @default ""
50
+ */
51
+ readonly class: import("@angular/core").InputSignal<string>;
52
+ /**
53
+ * The two-dimensional aggregation to render.
54
+ * @default undefined
55
+ */
56
+ readonly aggregation: import("@angular/core").InputSignal<AggregationLike | undefined>;
57
+ /**
58
+ * How the two dimensions are encoded in `item.value`. Sinequa uses three different encodings
59
+ * depending on how the aggregation was configured; see `heatmap-data.ts`.
60
+ * @default { kind: "separator", separator: "$@$" }
61
+ */
62
+ readonly encoding: import("@angular/core").InputSignal<HeatmapEncoding>;
63
+ /**
64
+ * Maximum number of columns kept, ranked by total weight.
65
+ * @default 20
66
+ */
67
+ readonly maxX: import("@angular/core").InputSignal<number>;
68
+ /**
69
+ * Maximum number of rows kept, ranked by total weight.
70
+ * @default 20
71
+ */
72
+ readonly maxY: import("@angular/core").InputSignal<number>;
73
+ /**
74
+ * Text shown when there is nothing to display.
75
+ * @default "No data"
76
+ */
77
+ readonly emptyLabel: import("@angular/core").InputSignal<string>;
78
+ /**
79
+ * Makes the axis labels clickable. Turn it off when nothing is wired to `(axisSelected)`: on a
80
+ * canvas the pointer cursor is the only affordance a label can offer, and an affordance that
81
+ * filters nothing is worse than none.
82
+ * @default true
83
+ */
84
+ readonly enableAxisSelection: import("@angular/core").InputSignal<boolean>;
85
+ /** Emitted when a cell is clicked. */
86
+ readonly cellSelected: import("@angular/core").OutputEmitterRef<HeatmapCellSelection>;
87
+ /** Emitted when an axis label is clicked — filter a whole row or column. */
88
+ readonly axisSelected: import("@angular/core").OutputEmitterRef<HeatmapAxisSelection>;
89
+ /**
90
+ * Built ONCE, as a field, never inside a `computed()` — the same rule as the timeline brush. The
91
+ * plugin keeps hover state in its closure, and `<ChartCanvas>` only reads `plugins` when it builds
92
+ * the Chart.js instance; a fresh object on every recompute would be both pointless and stateless.
93
+ */
94
+ private readonly axisClick;
95
+ /**
96
+ * Base colour of the intensity ramp, resolved once the DOM exists.
97
+ *
98
+ * Read after the first render rather than in a field initialiser: `getComputedStyle` returns
99
+ * nothing useful before styles have applied, and the fallback would silently win. A *primitive*
100
+ * ramp, so the heatmap keeps its identity when the theme flips.
101
+ */
102
+ private readonly rampColor;
103
+ constructor();
104
+ protected readonly plugins: Signal<Plugin[]>;
105
+ private readonly heatmap;
106
+ protected readonly isEmpty: Signal<boolean>;
107
+ /**
108
+ * The plugin can only report what is painted — the label. The caller needs the filterable value,
109
+ * which `buildHeatmap()` indexes per axis; they differ under the "cross" encoding.
110
+ */
111
+ private selectAxis;
112
+ protected readonly config: Signal<ChartConfiguration>;
113
+ static ɵfac: i0.ɵɵFactoryDeclaration<AggregationHeatmapComponent, never>;
114
+ static ɵcmp: i0.ɵɵComponentDeclaration<AggregationHeatmapComponent, "AggregationHeatmap, aggregation-heatmap, aggregationheatmap", never, {
115
+ "class": {
116
+ "alias": "class";
117
+ "required": false;
118
+ "isSignal": true;
119
+ };
120
+ "aggregation": {
121
+ "alias": "aggregation";
122
+ "required": false;
123
+ "isSignal": true;
124
+ };
125
+ "encoding": {
126
+ "alias": "encoding";
127
+ "required": false;
128
+ "isSignal": true;
129
+ };
130
+ "maxX": {
131
+ "alias": "maxX";
132
+ "required": false;
133
+ "isSignal": true;
134
+ };
135
+ "maxY": {
136
+ "alias": "maxY";
137
+ "required": false;
138
+ "isSignal": true;
139
+ };
140
+ "emptyLabel": {
141
+ "alias": "emptyLabel";
142
+ "required": false;
143
+ "isSignal": true;
144
+ };
145
+ "enableAxisSelection": {
146
+ "alias": "enableAxisSelection";
147
+ "required": false;
148
+ "isSignal": true;
149
+ };
150
+ }, {
151
+ "cellSelected": "cellSelected";
152
+ "axisSelected": "axisSelected";
153
+ }, never, never, true, never>;
154
+ }