@ojiepermana/angular 22.1.14 → 22.2.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.
Files changed (252) hide show
  1. package/README.md +8 -6
  2. package/SUPPORT.md +3 -3
  3. package/chart/README.md +1 -1
  4. package/component/README.md +2 -2
  5. package/component/calendar/README.md +3 -15
  6. package/component/drawer/README.md +1 -2
  7. package/fesm2022/ojiepermana-angular-chart-area.mjs +352 -137
  8. package/fesm2022/ojiepermana-angular-chart-bar.mjs +744 -524
  9. package/fesm2022/ojiepermana-angular-chart-core.mjs +1140 -1344
  10. package/fesm2022/ojiepermana-angular-chart-line.mjs +393 -147
  11. package/fesm2022/ojiepermana-angular-chart-pie.mjs +408 -179
  12. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1262 -920
  13. package/fesm2022/ojiepermana-angular-chart-radar.mjs +473 -205
  14. package/fesm2022/ojiepermana-angular-chart-radial.mjs +425 -182
  15. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +386 -210
  16. package/fesm2022/ojiepermana-angular-chart.mjs +3 -19
  17. package/fesm2022/ojiepermana-angular-component-accordion.mjs +485 -243
  18. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +963 -325
  19. package/fesm2022/ojiepermana-angular-component-alert.mjs +266 -103
  20. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +80 -35
  21. package/fesm2022/ojiepermana-angular-component-avatar.mjs +402 -135
  22. package/fesm2022/ojiepermana-angular-component-badge.mjs +109 -59
  23. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +410 -142
  24. package/fesm2022/ojiepermana-angular-component-button-group.mjs +249 -96
  25. package/fesm2022/ojiepermana-angular-component-button.mjs +153 -75
  26. package/fesm2022/ojiepermana-angular-component-calendar.mjs +531 -418
  27. package/fesm2022/ojiepermana-angular-component-card.mjs +457 -171
  28. package/fesm2022/ojiepermana-angular-component-carousel.mjs +642 -272
  29. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +312 -108
  30. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +299 -115
  31. package/fesm2022/ojiepermana-angular-component-combobox.mjs +396 -183
  32. package/fesm2022/ojiepermana-angular-component-command.mjs +807 -347
  33. package/fesm2022/ojiepermana-angular-component-composer.mjs +807 -330
  34. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +196 -161
  35. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +650 -338
  36. package/fesm2022/ojiepermana-angular-component-dialog.mjs +710 -316
  37. package/fesm2022/ojiepermana-angular-component-drawer.mjs +1 -5
  38. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +1212 -646
  39. package/fesm2022/ojiepermana-angular-component-editor.mjs +987 -502
  40. package/fesm2022/ojiepermana-angular-component-empty.mjs +350 -137
  41. package/fesm2022/ojiepermana-angular-component-form.mjs +813 -434
  42. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +486 -277
  43. package/fesm2022/ojiepermana-angular-component-icon.mjs +241 -140
  44. package/fesm2022/ojiepermana-angular-component-input-group.mjs +449 -176
  45. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +891 -488
  46. package/fesm2022/ojiepermana-angular-component-input.mjs +86 -55
  47. package/fesm2022/ojiepermana-angular-component-item.mjs +713 -261
  48. package/fesm2022/ojiepermana-angular-component-kanban.mjs +714 -216
  49. package/fesm2022/ojiepermana-angular-component-kbd.mjs +124 -52
  50. package/fesm2022/ojiepermana-angular-component-label.mjs +82 -31
  51. package/fesm2022/ojiepermana-angular-component-menubar.mjs +479 -329
  52. package/fesm2022/ojiepermana-angular-component-native-select.mjs +167 -65
  53. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +683 -380
  54. package/fesm2022/ojiepermana-angular-component-pagination.mjs +277 -94
  55. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +1283 -607
  56. package/fesm2022/ojiepermana-angular-component-popover.mjs +291 -204
  57. package/fesm2022/ojiepermana-angular-component-progress.mjs +176 -53
  58. package/fesm2022/ojiepermana-angular-component-radio.mjs +449 -142
  59. package/fesm2022/ojiepermana-angular-component-resizable.mjs +659 -453
  60. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +117 -39
  61. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +351 -172
  62. package/fesm2022/ojiepermana-angular-component-select.mjs +475 -345
  63. package/fesm2022/ojiepermana-angular-component-separator.mjs +102 -35
  64. package/fesm2022/ojiepermana-angular-component-sheet.mjs +797 -347
  65. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +62 -29
  66. package/fesm2022/ojiepermana-angular-component-slider.mjs +592 -376
  67. package/fesm2022/ojiepermana-angular-component-spinner.mjs +135 -38
  68. package/fesm2022/ojiepermana-angular-component-switch.mjs +315 -103
  69. package/fesm2022/ojiepermana-angular-component-table.mjs +440 -153
  70. package/fesm2022/ojiepermana-angular-component-tabs.mjs +590 -317
  71. package/fesm2022/ojiepermana-angular-component-textarea.mjs +85 -50
  72. package/fesm2022/ojiepermana-angular-component-timeline.mjs +609 -231
  73. package/fesm2022/ojiepermana-angular-component-toast.mjs +229 -243
  74. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +573 -288
  75. package/fesm2022/ojiepermana-angular-component-toggle.mjs +187 -78
  76. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +798 -517
  77. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +159 -292
  78. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +46 -58
  79. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +76 -38
  80. package/fesm2022/ojiepermana-angular-component-utils.mjs +2 -8
  81. package/fesm2022/ojiepermana-angular-component.mjs +0 -10
  82. package/fesm2022/ojiepermana-angular-navigation-core.mjs +13 -23
  83. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +35 -24
  84. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-DYuysKVf.mjs +129 -0
  85. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-COiTaw34.mjs +812 -0
  86. package/fesm2022/{ojiepermana-angular-navigation-navigation-entry-grid.component-COQ-60DS.mjs → ojiepermana-angular-navigation-navigation-entry-grid.component-YIz0IsIb.mjs} +392 -207
  87. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-D2vwEwBY.mjs +650 -0
  88. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-B5D7yXfb.mjs +662 -0
  89. package/fesm2022/ojiepermana-angular-navigation-navigation-item.component-CUb68MZH.mjs +1219 -0
  90. package/fesm2022/ojiepermana-angular-navigation-navigation-list.component-CrK16trj.mjs +327 -0
  91. package/fesm2022/ojiepermana-angular-navigation-service.mjs +544 -724
  92. package/fesm2022/ojiepermana-angular-navigation-types.mjs +139 -56
  93. package/fesm2022/ojiepermana-angular-navigation.mjs +3256 -4
  94. package/fesm2022/ojiepermana-angular-sdk.mjs +91 -201
  95. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1125 -737
  96. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +245 -328
  97. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +35 -38
  98. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1928 -553
  99. package/fesm2022/ojiepermana-angular-theme-layout.mjs +847 -496
  100. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +288 -358
  101. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +362 -224
  102. package/fesm2022/ojiepermana-angular-theme-page-overview.mjs +88 -0
  103. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +576 -254
  104. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +317 -177
  105. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +256 -112
  106. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -12
  107. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +215 -326
  108. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +68 -129
  109. package/fesm2022/ojiepermana-angular-theme-shell.mjs +907 -378
  110. package/fesm2022/ojiepermana-angular-theme-styles.mjs +521 -720
  111. package/fesm2022/ojiepermana-angular-theme.mjs +0 -10
  112. package/fesm2022/ojiepermana-angular.mjs +5 -24
  113. package/navigation/README.md +69 -18
  114. package/package.json +16 -12
  115. package/sdk/README.md +1 -1
  116. package/sdk/src/writer/index.js +2 -2
  117. package/theme/README.md +1 -1
  118. package/theme/layout/README.md +2 -4
  119. package/theme/page/README.md +50 -0
  120. package/theme/styles/README.md +10 -10
  121. package/theme/styles/css/base/prefers-dark.css +1 -1
  122. package/theme/styles/css/base/status.css +1 -1
  123. package/theme/styles/css/color/amber.css +1 -1
  124. package/theme/styles/css/color/blue.css +1 -1
  125. package/theme/styles/css/color/cyan.css +1 -1
  126. package/theme/styles/css/color/emerald.css +1 -1
  127. package/theme/styles/css/color/fuchsia.css +1 -1
  128. package/theme/styles/css/color/green.css +1 -1
  129. package/theme/styles/css/color/indigo.css +1 -1
  130. package/theme/styles/css/color/lime.css +1 -1
  131. package/theme/styles/css/color/orange.css +1 -1
  132. package/theme/styles/css/color/pink.css +1 -1
  133. package/theme/styles/css/color/purple.css +1 -1
  134. package/theme/styles/css/color/red.css +1 -1
  135. package/theme/styles/css/color/rose.css +1 -1
  136. package/theme/styles/css/color/sky.css +1 -1
  137. package/theme/styles/css/color/teal.css +1 -1
  138. package/theme/styles/css/color/violet.css +1 -1
  139. package/theme/styles/css/color/yellow.css +1 -1
  140. package/theme/styles/css/neutral/gray.css +1 -1
  141. package/theme/styles/css/neutral/mauve.css +1 -1
  142. package/theme/styles/css/neutral/mist.css +1 -1
  143. package/theme/styles/css/neutral/neutral.css +1 -1
  144. package/theme/styles/css/neutral/olive.css +1 -1
  145. package/theme/styles/css/neutral/slate.css +1 -1
  146. package/theme/styles/css/neutral/stone.css +1 -1
  147. package/theme/styles/css/neutral/taupe.css +1 -1
  148. package/theme/styles/css/neutral/zinc.css +1 -1
  149. package/types/ojiepermana-angular-chart-area.d.ts +126 -63
  150. package/types/ojiepermana-angular-chart-bar.d.ts +244 -154
  151. package/types/ojiepermana-angular-chart-core.d.ts +409 -398
  152. package/types/ojiepermana-angular-chart-line.d.ts +141 -68
  153. package/types/ojiepermana-angular-chart-pie.d.ts +192 -121
  154. package/types/ojiepermana-angular-chart-primitives.d.ts +283 -214
  155. package/types/ojiepermana-angular-chart-radar.d.ts +189 -108
  156. package/types/ojiepermana-angular-chart-radial.d.ts +177 -106
  157. package/types/ojiepermana-angular-chart-scatter.d.ts +166 -110
  158. package/types/ojiepermana-angular-chart.d.ts +3 -2
  159. package/types/ojiepermana-angular-component-accordion.d.ts +135 -81
  160. package/types/ojiepermana-angular-component-alert-dialog.d.ts +271 -123
  161. package/types/ojiepermana-angular-component-alert.d.ts +69 -39
  162. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +20 -12
  163. package/types/ojiepermana-angular-component-avatar.d.ts +103 -49
  164. package/types/ojiepermana-angular-component-badge.d.ts +36 -24
  165. package/types/ojiepermana-angular-component-breadcrumb.d.ts +79 -40
  166. package/types/ojiepermana-angular-component-button-group.d.ts +48 -24
  167. package/types/ojiepermana-angular-component-button.d.ts +44 -27
  168. package/types/ojiepermana-angular-component-calendar.d.ts +145 -107
  169. package/types/ojiepermana-angular-component-card.d.ts +112 -63
  170. package/types/ojiepermana-angular-component-carousel.d.ts +150 -81
  171. package/types/ojiepermana-angular-component-checkbox.d.ts +96 -38
  172. package/types/ojiepermana-angular-component-collapsible.d.ts +65 -39
  173. package/types/ojiepermana-angular-component-combobox.d.ts +100 -55
  174. package/types/ojiepermana-angular-component-command.d.ts +206 -121
  175. package/types/ojiepermana-angular-component-composer.d.ts +184 -84
  176. package/types/ojiepermana-angular-component-context-menu.d.ts +51 -41
  177. package/types/ojiepermana-angular-component-date-picker.d.ts +199 -109
  178. package/types/ojiepermana-angular-component-dialog.d.ts +200 -105
  179. package/types/ojiepermana-angular-component-drawer.d.ts +2 -1
  180. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +324 -202
  181. package/types/ojiepermana-angular-component-editor.d.ts +215 -117
  182. package/types/ojiepermana-angular-component-empty.d.ts +80 -45
  183. package/types/ojiepermana-angular-component-form.d.ts +185 -121
  184. package/types/ojiepermana-angular-component-hover-card.d.ts +130 -72
  185. package/types/ojiepermana-angular-component-icon.d.ts +87 -57
  186. package/types/ojiepermana-angular-component-input-group.d.ts +93 -46
  187. package/types/ojiepermana-angular-component-input-otp.d.ts +243 -150
  188. package/types/ojiepermana-angular-component-input.d.ts +27 -17
  189. package/types/ojiepermana-angular-component-item.d.ts +160 -84
  190. package/types/ojiepermana-angular-component-kanban.d.ts +157 -62
  191. package/types/ojiepermana-angular-component-kbd.d.ts +24 -15
  192. package/types/ojiepermana-angular-component-label.d.ts +19 -11
  193. package/types/ojiepermana-angular-component-menubar.d.ts +120 -90
  194. package/types/ojiepermana-angular-component-native-select.d.ts +37 -24
  195. package/types/ojiepermana-angular-component-navigation-menu.d.ts +157 -98
  196. package/types/ojiepermana-angular-component-pagination.d.ts +78 -28
  197. package/types/ojiepermana-angular-component-pillbox.d.ts +361 -204
  198. package/types/ojiepermana-angular-component-popover.d.ts +94 -64
  199. package/types/ojiepermana-angular-component-progress.d.ts +45 -17
  200. package/types/ojiepermana-angular-component-radio.d.ts +129 -53
  201. package/types/ojiepermana-angular-component-resizable.d.ts +160 -112
  202. package/types/ojiepermana-angular-component-scroll-area.d.ts +33 -15
  203. package/types/ojiepermana-angular-component-segmented-control.d.ts +94 -50
  204. package/types/ojiepermana-angular-component-select.d.ts +94 -77
  205. package/types/ojiepermana-angular-component-separator.d.ts +26 -14
  206. package/types/ojiepermana-angular-component-sheet.d.ts +226 -116
  207. package/types/ojiepermana-angular-component-skeleton.d.ts +13 -10
  208. package/types/ojiepermana-angular-component-slider.d.ts +140 -75
  209. package/types/ojiepermana-angular-component-spinner.d.ts +31 -13
  210. package/types/ojiepermana-angular-component-switch.d.ts +97 -40
  211. package/types/ojiepermana-angular-component-table.d.ts +102 -50
  212. package/types/ojiepermana-angular-component-tabs.d.ts +174 -115
  213. package/types/ojiepermana-angular-component-textarea.d.ts +27 -17
  214. package/types/ojiepermana-angular-component-timeline.d.ts +141 -59
  215. package/types/ojiepermana-angular-component-toast.d.ts +51 -55
  216. package/types/ojiepermana-angular-component-toggle-group.d.ts +159 -88
  217. package/types/ojiepermana-angular-component-toggle.d.ts +47 -25
  218. package/types/ojiepermana-angular-component-tooltip.d.ts +222 -132
  219. package/types/ojiepermana-angular-component-utils-core.d.ts +81 -90
  220. package/types/ojiepermana-angular-component-utils-overlay.d.ts +7 -11
  221. package/types/ojiepermana-angular-component-utils-scale.d.ts +20 -12
  222. package/types/ojiepermana-angular-component-utils.d.ts +2 -2
  223. package/types/ojiepermana-angular-component.d.ts +1 -2
  224. package/types/ojiepermana-angular-navigation-core.d.ts +46 -50
  225. package/types/ojiepermana-angular-navigation-icon.d.ts +9 -12
  226. package/types/ojiepermana-angular-navigation-service.d.ts +112 -115
  227. package/types/ojiepermana-angular-navigation-types.d.ts +166 -125
  228. package/types/ojiepermana-angular-navigation.d.ts +708 -375
  229. package/types/ojiepermana-angular-sdk.d.ts +69 -71
  230. package/types/ojiepermana-angular-theme-component-settings.d.ts +120 -86
  231. package/types/ojiepermana-angular-theme-layout-services.d.ts +119 -124
  232. package/types/ojiepermana-angular-theme-layout-types.d.ts +27 -31
  233. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +446 -187
  234. package/types/ojiepermana-angular-theme-layout.d.ts +201 -113
  235. package/types/ojiepermana-angular-theme-page-core.d.ts +136 -142
  236. package/types/ojiepermana-angular-theme-page-filter.d.ts +112 -62
  237. package/types/ojiepermana-angular-theme-page-overview.d.ts +28 -0
  238. package/types/ojiepermana-angular-theme-page-root.d.ts +172 -88
  239. package/types/ojiepermana-angular-theme-page-side.d.ts +89 -49
  240. package/types/ojiepermana-angular-theme-page-slots.d.ts +58 -37
  241. package/types/ojiepermana-angular-theme-page.d.ts +7 -5
  242. package/types/ojiepermana-angular-theme-shell-services.d.ts +119 -125
  243. package/types/ojiepermana-angular-theme-shell-types.d.ts +38 -41
  244. package/types/ojiepermana-angular-theme-shell.d.ts +139 -61
  245. package/types/ojiepermana-angular-theme-styles.d.ts +184 -196
  246. package/types/ojiepermana-angular-theme.d.ts +1 -2
  247. package/types/ojiepermana-angular.d.ts +5 -5
  248. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-Be3IqzG4.mjs +0 -91
  249. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-Bc7DWK3R.mjs +0 -522
  250. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-DA8VPEn7.mjs +0 -404
  251. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-U2TJTzlW.mjs +0 -466
  252. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-CIUhmytH.mjs +0 -2668
@@ -1,50 +1,46 @@
1
- import * as _ojiepermana_angular_chart_bar from '@ojiepermana/angular/chart/bar';
2
- import * as _ojiepermana_angular_chart_core from '@ojiepermana/angular/chart/core';
3
- import { ChartDatum, ChartOrientation, ChartStyleVariant, ChartMargin, ChartPointClickEvent } from '@ojiepermana/angular/chart/core';
4
- import * as _angular_core from '@angular/core';
5
- import { scaleBand, scaleLinear } from 'd3-scale';
6
-
1
+ import { ChartDatum, ChartMargin, ChartOrientation, ChartPointClickEvent, ChartStyleVariant } from "@ojiepermana/angular/chart/core";
2
+ import { scaleBand, scaleLinear } from "d3-scale";
3
+ import * as i0 from "@angular/core";
7
4
  /** Bar-chart layout variant. */
8
- type BarVariant = 'grouped' | 'stacked';
5
+ export type BarVariant = 'grouped' | 'stacked';
9
6
  /** A single bar rectangle ready to render. */
10
- interface BarRect {
11
- readonly key: string;
12
- readonly seriesKey: string;
13
- readonly datumIndex: number;
14
- readonly category: string;
15
- readonly value: number;
16
- readonly x: number;
17
- readonly y: number;
18
- readonly width: number;
19
- readonly height: number;
20
- readonly color: string;
21
- readonly active: boolean;
7
+ export interface BarRect {
8
+ readonly key: string;
9
+ readonly seriesKey: string;
10
+ readonly datumIndex: number;
11
+ readonly category: string;
12
+ readonly value: number;
13
+ readonly x: number;
14
+ readonly y: number;
15
+ readonly width: number;
16
+ readonly height: number;
17
+ readonly color: string;
18
+ readonly active: boolean;
22
19
  }
23
20
  /** Inputs required to compute bar-chart geometry. */
24
- interface BarLayoutInput {
25
- readonly data: readonly ChartDatum[];
26
- readonly xKey: string;
27
- readonly seriesKeys: readonly string[];
28
- readonly variant: BarVariant;
29
- readonly orientation: ChartOrientation;
30
- readonly innerWidth: number;
31
- readonly innerHeight: number;
32
- readonly bandPadding: number;
33
- readonly groupPadding: number;
34
- readonly colorKey?: string;
35
- readonly activeKey?: string;
36
- readonly activeValue?: string | number;
21
+ export interface BarLayoutInput {
22
+ readonly data: readonly ChartDatum[];
23
+ readonly xKey: string;
24
+ readonly seriesKeys: readonly string[];
25
+ readonly variant: BarVariant;
26
+ readonly orientation: ChartOrientation;
27
+ readonly innerWidth: number;
28
+ readonly innerHeight: number;
29
+ readonly bandPadding: number;
30
+ readonly groupPadding: number;
31
+ readonly colorKey?: string;
32
+ readonly activeKey?: string;
33
+ readonly activeValue?: string | number;
37
34
  }
38
35
  /** Computed layout: bars + scales. */
39
- interface BarLayoutResult {
40
- readonly bars: readonly BarRect[];
41
- readonly categoryScale: ReturnType<typeof scaleBand<string>>;
42
- readonly valueScale: ReturnType<typeof scaleLinear<number, number>>;
43
- readonly categories: readonly string[];
36
+ export interface BarLayoutResult {
37
+ readonly bars: readonly BarRect[];
38
+ readonly categoryScale: ReturnType<typeof scaleBand<string>>;
39
+ readonly valueScale: ReturnType<typeof scaleLinear<number, number>>;
40
+ readonly categories: readonly string[];
44
41
  }
45
42
  /** Build all bar rectangles for the given config. */
46
- declare function computeBarLayout(input: BarLayoutInput): BarLayoutResult;
47
-
43
+ export declare function computeBarLayout(input: BarLayoutInput): BarLayoutResult;
48
44
  /**
49
45
  * Styles supported by the bar family.
50
46
  *
@@ -54,39 +50,39 @@ declare function computeBarLayout(input: BarLayoutInput): BarLayoutResult;
54
50
  * theme CSS variables (`--color-<key>` per series, `--muted` for the track),
55
51
  * so the style follows the active theme without touching the theme library.
56
52
  */
57
- type BarChartStyle = ChartStyleVariant | 'dot';
53
+ export type BarChartStyle = ChartStyleVariant | 'dot';
58
54
  /** A faint background cell of the dot-matrix track. */
59
- interface BarDotTrackCell {
60
- readonly key: string;
61
- readonly x: number;
62
- readonly y: number;
63
- readonly width: number;
64
- readonly height: number;
55
+ export interface BarDotTrackCell {
56
+ readonly key: string;
57
+ readonly x: number;
58
+ readonly y: number;
59
+ readonly width: number;
60
+ readonly height: number;
65
61
  }
66
62
  /** A filled (value) cell of the dot-matrix style. */
67
- interface BarDotValueCell extends BarDotTrackCell {
68
- readonly seriesKey: string;
69
- readonly datumIndex: number;
70
- readonly color: string;
71
- readonly active: boolean;
63
+ export interface BarDotValueCell extends BarDotTrackCell {
64
+ readonly seriesKey: string;
65
+ readonly datumIndex: number;
66
+ readonly color: string;
67
+ readonly active: boolean;
72
68
  }
73
69
  /** Inputs required to compute the dot-matrix cell layout. */
74
- interface BarDotLayoutInput {
75
- readonly bars: readonly BarRect[];
76
- readonly orientation: ChartOrientation;
77
- readonly innerWidth: number;
78
- readonly innerHeight: number;
79
- /** Pixel position of value 0 on the value axis (`valueScale(0)`). */
80
- readonly baseline: number;
81
- /** Cell length along the value axis. Defaults to the bar thickness (square cells). */
82
- readonly dotSize?: number;
83
- /** Gap between consecutive cells along the value axis. */
84
- readonly dotGap: number;
70
+ export interface BarDotLayoutInput {
71
+ readonly bars: readonly BarRect[];
72
+ readonly orientation: ChartOrientation;
73
+ readonly innerWidth: number;
74
+ readonly innerHeight: number;
75
+ /** Pixel position of value 0 on the value axis (`valueScale(0)`). */
76
+ readonly baseline: number;
77
+ /** Cell length along the value axis. Defaults to the bar thickness (square cells). */
78
+ readonly dotSize?: number;
79
+ /** Gap between consecutive cells along the value axis. */
80
+ readonly dotGap: number;
85
81
  }
86
82
  /** Computed dot-matrix layout: faint track cells + filled value cells. */
87
- interface BarDotLayoutResult {
88
- readonly track: readonly BarDotTrackCell[];
89
- readonly values: readonly BarDotValueCell[];
83
+ export interface BarDotLayoutResult {
84
+ readonly track: readonly BarDotTrackCell[];
85
+ readonly values: readonly BarDotValueCell[];
90
86
  }
91
87
  /**
92
88
  * Build the dot-matrix cells for the `dot` bar style.
@@ -96,15 +92,14 @@ interface BarDotLayoutResult {
96
92
  * whose center lies inside its value range; bars too short to cover a center
97
93
  * still claim the cell nearest their midpoint when it is free.
98
94
  */
99
- declare function computeBarDotCells(input: BarDotLayoutInput): BarDotLayoutResult;
100
-
95
+ export declare function computeBarDotCells(input: BarDotLayoutInput): BarDotLayoutResult;
101
96
  /** Event emitted when a user clicks a bar. */
102
97
  /**
103
98
  * @deprecated Use `ChartPointClickEvent` from
104
99
  * `@ojiepermana/angular/chart/core`. Kept so existing handlers keep compiling;
105
100
  * the shape is identical.
106
101
  */
107
- type BarClickEvent = ChartPointClickEvent;
102
+ export type BarClickEvent = ChartPointClickEvent;
108
103
  /**
109
104
  * Bar chart — composable within `<Chart>`.
110
105
  *
@@ -113,89 +108,184 @@ type BarClickEvent = ChartPointClickEvent;
113
108
  * - `variant`: `'grouped'` (default) or `'stacked'`
114
109
  * - `styles`: `'base'` (default) or `'dot'` (dot-matrix cells)
115
110
  */
116
- declare class BarChart {
117
- private readonly root;
118
- private readonly cart;
119
- private readonly themeRadius;
120
- readonly data: _angular_core.InputSignal<readonly Readonly<Record<string, unknown>>[]>;
121
- readonly xKey: _angular_core.InputSignal<string>;
122
- readonly orientation: _angular_core.InputSignal<ChartOrientation>;
123
- readonly variant: _angular_core.InputSignal<BarVariant>;
124
- /**
125
- * Presentational style of the chart.
126
- *
127
- * Replaces `styles`, which read like a CSS styles bag rather than a single
128
- * variant. Named `styleVariant` and not `variant` because `ChartBar` already
129
- * publishes a `variant` input for its grouped versus stacked axis, and one
130
- * name cannot mean two things across the family.
131
- */
132
- readonly styleVariant: _angular_core.InputSignal<BarChartStyle | undefined>;
133
- /**
134
- * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
135
- * `styleVariant` wins. Due for removal in the next major.
136
- */
137
- readonly styles: _angular_core.InputSignal<BarChartStyle>;
138
- /** The style actually in effect. Bind this, never `styles()`. */
139
- protected readonly chartStyle: _angular_core.Signal<BarChartStyle>;
140
- private readonly themeSpace;
141
- /**
142
- * Plot gutters. Leave it unset and they follow the theme-space density
143
- * axis; set it and your numbers win, unchanged, whatever the axis says.
144
- */
145
- readonly margin: _angular_core.InputSignal<ChartMargin | null>;
146
- /** The margin actually in effect. Bind this, never `margin()`. */
147
- protected readonly plotMargin: _angular_core.Signal<ChartMargin>;
148
- readonly bandPadding: _angular_core.InputSignal<number>;
149
- readonly groupPadding: _angular_core.InputSignal<number>;
150
- readonly cornerRadius: _angular_core.InputSignal<number | null>;
151
- readonly colorKey: _angular_core.InputSignal<string | undefined>;
152
- readonly activeKey: _angular_core.InputSignal<string | undefined>;
153
- readonly activeValue: _angular_core.InputSignal<string | number | undefined>;
154
- readonly showValueLabels: _angular_core.InputSignal<boolean>;
155
- readonly valueLabelFormat: _angular_core.InputSignal<(value: number) => string>;
156
- /** Cell length along the value axis for the `dot` style; defaults to the bar thickness. */
157
- readonly dotSize: _angular_core.InputSignal<number | undefined>;
158
- /** Gap between consecutive cells along the value axis for the `dot` style. */
159
- readonly dotGap: _angular_core.InputSignal<number>;
160
- /** Corner radius of each `dot` cell. */
161
- readonly dotCornerRadius: _angular_core.InputSignal<number | null>;
162
- /** Render the faint full-height cell track behind the `dot` values. */
163
- readonly showDotTrack: _angular_core.InputSignal<boolean>;
164
- readonly barClick: _angular_core.OutputEmitterRef<BarClickEvent>;
165
- /**
166
- * The shared cartesian scaffolding: geometry, the layout effect, and the click
167
- * plus active-point plus aria-label handlers. No `viewport` here, so the bar
168
- * chart always renders its whole dataset and `resolveDatumIndex` is the
169
- * identity.
170
- *
171
- * Declared before `layout` because the layout computed reads its geometry.
172
- */
173
- protected readonly cx: _ojiepermana_angular_chart_core.CartesianChartSetup<BarRect>;
174
- /** Bar corner radius; an unset input follows the live theme-radius axis. */
175
- protected readonly resolvedCornerRadius: _angular_core.Signal<number>;
176
- /** Dot-cell corner radius; an unset input follows the theme-radius axis (smaller, SVG clamps to half the cell). */
177
- protected readonly resolvedDotCornerRadius: _angular_core.Signal<number>;
178
- protected readonly layout: _angular_core.Signal<_ojiepermana_angular_chart_bar.BarLayoutResult>;
179
- protected readonly bars: _angular_core.Signal<readonly BarRect[]>;
180
- protected readonly dotLayout: _angular_core.Signal<BarDotLayoutResult | null>;
181
- protected readonly dotTrackCells: _angular_core.Signal<readonly _ojiepermana_angular_chart_bar.BarDotTrackCell[]>;
182
- protected readonly dotValueCells: _angular_core.Signal<readonly BarDotValueCell[]>;
183
- protected readonly ariaSummary: _angular_core.Signal<string>;
184
- protected readonly visibleSeriesKeys: _angular_core.Signal<readonly string[]>;
185
- protected readonly dataColumns: _angular_core.Signal<string[]>;
186
- protected barOpacity(bar: BarRect): number;
187
- protected dotCellOpacity(cell: BarDotValueCell): number;
188
- /** In `dot` style the bar rect stays as an invisible interaction target. */
189
- protected barFill(bar: BarRect): string;
190
- private emphasisOpacity;
191
- protected formatValueLabel(bar: BarRect): string;
192
- protected barLabelX(bar: BarRect): number;
193
- protected barLabelY(bar: BarRect): number;
194
- protected barLabelAnchor(bar: BarRect): 'middle' | 'start' | 'end';
195
- protected onKeydown(event: KeyboardEvent, index: number): void;
196
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<BarChart, never>;
197
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<BarChart, "ChartBar", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "xKey": { "alias": "xKey"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "styleVariant": { "alias": "styleVariant"; "required": false; "isSignal": true; }; "styles": { "alias": "styles"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "bandPadding": { "alias": "bandPadding"; "required": false; "isSignal": true; }; "groupPadding": { "alias": "groupPadding"; "required": false; "isSignal": true; }; "cornerRadius": { "alias": "cornerRadius"; "required": false; "isSignal": true; }; "colorKey": { "alias": "colorKey"; "required": false; "isSignal": true; }; "activeKey": { "alias": "activeKey"; "required": false; "isSignal": true; }; "activeValue": { "alias": "activeValue"; "required": false; "isSignal": true; }; "showValueLabels": { "alias": "showValueLabels"; "required": false; "isSignal": true; }; "valueLabelFormat": { "alias": "valueLabelFormat"; "required": false; "isSignal": true; }; "dotSize": { "alias": "dotSize"; "required": false; "isSignal": true; }; "dotGap": { "alias": "dotGap"; "required": false; "isSignal": true; }; "dotCornerRadius": { "alias": "dotCornerRadius"; "required": false; "isSignal": true; }; "showDotTrack": { "alias": "showDotTrack"; "required": false; "isSignal": true; }; }, { "barClick": "barClick"; }, never, ["svg\\:g[ChartGrid]", "svg\\:g[ChartAxisX]", "svg\\:g[ChartAxisY]", "svg\\:g[ChartCrosshair]", "*", "ChartTooltip", "ChartLegend"], true, never>;
198
- }
199
-
200
- export { BarChart, computeBarDotCells, computeBarLayout };
201
- export type { BarChartStyle, BarClickEvent, BarDotLayoutInput, BarDotLayoutResult, BarDotTrackCell, BarDotValueCell, BarLayoutInput, BarLayoutResult, BarRect, BarVariant };
111
+ export declare class BarChart {
112
+ private readonly root;
113
+ private readonly cart;
114
+ private readonly themeRadius;
115
+ readonly data: import("@angular/core").InputSignal<readonly Readonly<Record<string, unknown>>[]>;
116
+ readonly xKey: import("@angular/core").InputSignal<string>;
117
+ readonly orientation: import("@angular/core").InputSignal<ChartOrientation>;
118
+ readonly variant: import("@angular/core").InputSignal<BarVariant>;
119
+ /**
120
+ * Presentational style of the chart.
121
+ *
122
+ * Replaces `styles`, which read like a CSS styles bag rather than a single
123
+ * variant. Named `styleVariant` and not `variant` because `ChartBar` already
124
+ * publishes a `variant` input for its grouped versus stacked axis, and one
125
+ * name cannot mean two things across the family.
126
+ */
127
+ readonly styleVariant: import("@angular/core").InputSignal<BarChartStyle | undefined>;
128
+ /**
129
+ * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
130
+ * `styleVariant` wins. Due for removal in the next major.
131
+ */
132
+ readonly styles: import("@angular/core").InputSignal<BarChartStyle>;
133
+ /** The style actually in effect. Bind this, never `styles()`. */
134
+ protected readonly chartStyle: import("@angular/core").Signal<BarChartStyle>;
135
+ private readonly themeSpace;
136
+ /**
137
+ * Plot gutters. Leave it unset and they follow the theme-space density
138
+ * axis; set it and your numbers win, unchanged, whatever the axis says.
139
+ */
140
+ readonly margin: import("@angular/core").InputSignal<ChartMargin | null>;
141
+ /** The margin actually in effect. Bind this, never `margin()`. */
142
+ protected readonly plotMargin: import("@angular/core").Signal<ChartMargin>;
143
+ readonly bandPadding: import("@angular/core").InputSignal<number>;
144
+ readonly groupPadding: import("@angular/core").InputSignal<number>;
145
+ readonly cornerRadius: import("@angular/core").InputSignal<number | null>;
146
+ readonly colorKey: import("@angular/core").InputSignal<string | undefined>;
147
+ readonly activeKey: import("@angular/core").InputSignal<string | undefined>;
148
+ readonly activeValue: import("@angular/core").InputSignal<string | number | undefined>;
149
+ readonly showValueLabels: import("@angular/core").InputSignal<boolean>;
150
+ readonly valueLabelFormat: import("@angular/core").InputSignal<(value: number) => string>;
151
+ /** Cell length along the value axis for the `dot` style; defaults to the bar thickness. */
152
+ readonly dotSize: import("@angular/core").InputSignal<number | undefined>;
153
+ /** Gap between consecutive cells along the value axis for the `dot` style. */
154
+ readonly dotGap: import("@angular/core").InputSignal<number>;
155
+ /** Corner radius of each `dot` cell. */
156
+ readonly dotCornerRadius: import("@angular/core").InputSignal<number | null>;
157
+ /** Render the faint full-height cell track behind the `dot` values. */
158
+ readonly showDotTrack: import("@angular/core").InputSignal<boolean>;
159
+ readonly barClick: import("@angular/core").OutputEmitterRef<BarClickEvent>;
160
+ /**
161
+ * The shared cartesian scaffolding: geometry, the layout effect, and the click
162
+ * plus active-point plus aria-label handlers. No `viewport` here, so the bar
163
+ * chart always renders its whole dataset and `resolveDatumIndex` is the
164
+ * identity.
165
+ *
166
+ * Declared before `layout` because the layout computed reads its geometry.
167
+ */
168
+ protected readonly cx: import("@ojiepermana/angular/chart/core").CartesianChartSetup<BarRect>;
169
+ /** Bar corner radius; an unset input follows the live theme-radius axis. */
170
+ protected readonly resolvedCornerRadius: import("@angular/core").Signal<number>;
171
+ /** Dot-cell corner radius; an unset input follows the theme-radius axis (smaller, SVG clamps to half the cell). */
172
+ protected readonly resolvedDotCornerRadius: import("@angular/core").Signal<number>;
173
+ protected readonly layout: import("@angular/core").Signal<import("@ojiepermana/angular/chart/bar").BarLayoutResult>;
174
+ protected readonly bars: import("@angular/core").Signal<readonly BarRect[]>;
175
+ protected readonly dotLayout: import("@angular/core").Signal<BarDotLayoutResult | null>;
176
+ protected readonly dotTrackCells: import("@angular/core").Signal<readonly import("@ojiepermana/angular/chart/bar").BarDotTrackCell[]>;
177
+ protected readonly dotValueCells: import("@angular/core").Signal<readonly BarDotValueCell[]>;
178
+ protected readonly ariaSummary: import("@angular/core").Signal<string>;
179
+ protected readonly visibleSeriesKeys: import("@angular/core").Signal<readonly string[]>;
180
+ protected readonly dataColumns: import("@angular/core").Signal<string[]>;
181
+ protected barOpacity(bar: BarRect): number;
182
+ protected dotCellOpacity(cell: BarDotValueCell): number;
183
+ /** In `dot` style the bar rect stays as an invisible interaction target. */
184
+ protected barFill(bar: BarRect): string;
185
+ private emphasisOpacity;
186
+ protected formatValueLabel(bar: BarRect): string;
187
+ protected barLabelX(bar: BarRect): number;
188
+ protected barLabelY(bar: BarRect): number;
189
+ protected barLabelAnchor(bar: BarRect): 'middle' | 'start' | 'end';
190
+ protected onKeydown(event: KeyboardEvent, index: number): void;
191
+ static ɵfac: i0.ɵɵFactoryDeclaration<BarChart, never>;
192
+ static ɵcmp: i0.ɵɵComponentDeclaration<BarChart, "ChartBar", never, {
193
+ "data": {
194
+ "alias": "data";
195
+ "required": true;
196
+ "isSignal": true;
197
+ };
198
+ "xKey": {
199
+ "alias": "xKey";
200
+ "required": true;
201
+ "isSignal": true;
202
+ };
203
+ "orientation": {
204
+ "alias": "orientation";
205
+ "required": false;
206
+ "isSignal": true;
207
+ };
208
+ "variant": {
209
+ "alias": "variant";
210
+ "required": false;
211
+ "isSignal": true;
212
+ };
213
+ "styleVariant": {
214
+ "alias": "styleVariant";
215
+ "required": false;
216
+ "isSignal": true;
217
+ };
218
+ "styles": {
219
+ "alias": "styles";
220
+ "required": false;
221
+ "isSignal": true;
222
+ };
223
+ "margin": {
224
+ "alias": "margin";
225
+ "required": false;
226
+ "isSignal": true;
227
+ };
228
+ "bandPadding": {
229
+ "alias": "bandPadding";
230
+ "required": false;
231
+ "isSignal": true;
232
+ };
233
+ "groupPadding": {
234
+ "alias": "groupPadding";
235
+ "required": false;
236
+ "isSignal": true;
237
+ };
238
+ "cornerRadius": {
239
+ "alias": "cornerRadius";
240
+ "required": false;
241
+ "isSignal": true;
242
+ };
243
+ "colorKey": {
244
+ "alias": "colorKey";
245
+ "required": false;
246
+ "isSignal": true;
247
+ };
248
+ "activeKey": {
249
+ "alias": "activeKey";
250
+ "required": false;
251
+ "isSignal": true;
252
+ };
253
+ "activeValue": {
254
+ "alias": "activeValue";
255
+ "required": false;
256
+ "isSignal": true;
257
+ };
258
+ "showValueLabels": {
259
+ "alias": "showValueLabels";
260
+ "required": false;
261
+ "isSignal": true;
262
+ };
263
+ "valueLabelFormat": {
264
+ "alias": "valueLabelFormat";
265
+ "required": false;
266
+ "isSignal": true;
267
+ };
268
+ "dotSize": {
269
+ "alias": "dotSize";
270
+ "required": false;
271
+ "isSignal": true;
272
+ };
273
+ "dotGap": {
274
+ "alias": "dotGap";
275
+ "required": false;
276
+ "isSignal": true;
277
+ };
278
+ "dotCornerRadius": {
279
+ "alias": "dotCornerRadius";
280
+ "required": false;
281
+ "isSignal": true;
282
+ };
283
+ "showDotTrack": {
284
+ "alias": "showDotTrack";
285
+ "required": false;
286
+ "isSignal": true;
287
+ };
288
+ }, {
289
+ "barClick": "barClick";
290
+ }, never, ["svg\\:g[ChartGrid]", "svg\\:g[ChartAxisX]", "svg\\:g[ChartAxisY]", "svg\\:g[ChartCrosshair]", "*", "ChartTooltip", "ChartLegend"], true, never>;
291
+ }