@ojiepermana/angular 22.1.11 → 22.1.13

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 (340) hide show
  1. package/README.md +32 -26
  2. package/chart/README.md +272 -0
  3. package/component/README.md +89 -0
  4. package/component/accordion/README.md +195 -0
  5. package/component/alert/README.md +184 -0
  6. package/component/alert-dialog/README.md +255 -0
  7. package/component/aspect-ratio/README.md +116 -0
  8. package/component/avatar/README.md +182 -0
  9. package/component/badge/README.md +143 -0
  10. package/component/breadcrumb/README.md +223 -0
  11. package/component/button/README.md +141 -0
  12. package/component/button-group/README.md +214 -0
  13. package/component/calendar/README.md +137 -0
  14. package/component/card/README.md +232 -0
  15. package/component/carousel/README.md +276 -0
  16. package/component/checkbox/README.md +153 -0
  17. package/component/collapsible/README.md +216 -0
  18. package/component/combobox/README.md +202 -0
  19. package/component/command/README.md +287 -0
  20. package/component/composer/README.md +241 -0
  21. package/component/context-menu/README.md +268 -0
  22. package/component/date-picker/README.md +202 -0
  23. package/component/dialog/README.md +276 -0
  24. package/component/drawer/README.md +147 -0
  25. package/component/dropdown-menu/README.md +336 -0
  26. package/component/editor/README.md +152 -0
  27. package/component/empty/README.md +193 -0
  28. package/component/form/README.md +216 -0
  29. package/component/hover-card/README.md +150 -0
  30. package/component/icon/README.md +25 -0
  31. package/component/input/README.md +160 -0
  32. package/component/input-group/README.md +245 -0
  33. package/component/input-otp/README.md +331 -0
  34. package/component/item/README.md +254 -0
  35. package/component/kanban/README.md +81 -0
  36. package/component/kbd/README.md +141 -0
  37. package/component/label/README.md +137 -0
  38. package/component/menubar/README.md +270 -0
  39. package/component/native-select/README.md +176 -0
  40. package/component/navigation-menu/README.md +165 -0
  41. package/component/pagination/README.md +151 -0
  42. package/component/pillbox/README.md +68 -0
  43. package/component/popover/README.md +54 -0
  44. package/component/progress/README.md +160 -0
  45. package/component/radio/README.md +212 -0
  46. package/component/resizable/README.md +178 -0
  47. package/component/scroll-area/README.md +150 -0
  48. package/component/select/README.md +228 -0
  49. package/component/separator/README.md +175 -0
  50. package/component/sheet/README.md +190 -0
  51. package/component/skeleton/README.md +158 -0
  52. package/component/slider/README.md +207 -0
  53. package/component/spinner/README.md +160 -0
  54. package/component/switch/README.md +170 -0
  55. package/component/table/README.md +292 -0
  56. package/component/tabs/README.md +220 -0
  57. package/component/textarea/README.md +169 -0
  58. package/component/timeline/README.md +94 -0
  59. package/component/toast/README.md +173 -0
  60. package/component/toggle/README.md +133 -0
  61. package/component/toggle-group/README.md +234 -0
  62. package/component/tooltip/README.md +230 -0
  63. package/fesm2022/ojiepermana-angular-chart-area.mjs +289 -3
  64. package/fesm2022/ojiepermana-angular-chart-bar.mjs +722 -3
  65. package/fesm2022/ojiepermana-angular-chart-core.mjs +1482 -3
  66. package/fesm2022/ojiepermana-angular-chart-line.mjs +294 -3
  67. package/fesm2022/ojiepermana-angular-chart-pie.mjs +291 -3
  68. package/fesm2022/ojiepermana-angular-chart-primitives.mjs +1301 -3
  69. package/fesm2022/ojiepermana-angular-chart-radar.mjs +421 -3
  70. package/fesm2022/ojiepermana-angular-chart-radial.mjs +295 -3
  71. package/fesm2022/ojiepermana-angular-chart-scatter.mjs +306 -3
  72. package/fesm2022/ojiepermana-angular-chart.mjs +12 -3
  73. package/fesm2022/ojiepermana-angular-component-accordion.mjs +267 -3
  74. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +359 -3
  75. package/fesm2022/ojiepermana-angular-component-alert.mjs +101 -3
  76. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +31 -3
  77. package/fesm2022/ojiepermana-angular-component-avatar.mjs +139 -3
  78. package/fesm2022/ojiepermana-angular-component-badge.mjs +57 -3
  79. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +192 -3
  80. package/fesm2022/ojiepermana-angular-component-button-group.mjs +95 -3
  81. package/fesm2022/ojiepermana-angular-component-button.mjs +73 -3
  82. package/fesm2022/ojiepermana-angular-component-calendar.mjs +718 -3
  83. package/fesm2022/ojiepermana-angular-component-card.mjs +167 -3
  84. package/fesm2022/ojiepermana-angular-component-carousel.mjs +326 -3
  85. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +190 -3
  86. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +117 -3
  87. package/fesm2022/ojiepermana-angular-component-combobox.mjs +327 -3
  88. package/fesm2022/ojiepermana-angular-component-command.mjs +351 -3
  89. package/fesm2022/ojiepermana-angular-component-composer.mjs +359 -3
  90. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +158 -3
  91. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +482 -3
  92. package/fesm2022/ojiepermana-angular-component-dialog.mjs +400 -3
  93. package/fesm2022/ojiepermana-angular-component-drawer.mjs +1 -3
  94. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +689 -3
  95. package/fesm2022/ojiepermana-angular-component-editor.mjs +511 -3
  96. package/fesm2022/ojiepermana-angular-component-empty.mjs +134 -3
  97. package/fesm2022/ojiepermana-angular-component-form.mjs +438 -3
  98. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +273 -3
  99. package/fesm2022/ojiepermana-angular-component-icon.mjs +139 -3
  100. package/fesm2022/ojiepermana-angular-component-input-group.mjs +176 -3
  101. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +550 -3
  102. package/fesm2022/ojiepermana-angular-component-input.mjs +52 -3
  103. package/fesm2022/ojiepermana-angular-component-item.mjs +264 -3
  104. package/fesm2022/ojiepermana-angular-component-kanban.mjs +310 -3
  105. package/fesm2022/ojiepermana-angular-component-kbd.mjs +48 -3
  106. package/fesm2022/ojiepermana-angular-component-label.mjs +27 -3
  107. package/fesm2022/ojiepermana-angular-component-menubar.mjs +327 -3
  108. package/fesm2022/ojiepermana-angular-component-native-select.mjs +62 -3
  109. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +378 -3
  110. package/fesm2022/ojiepermana-angular-component-pagination.mjs +238 -3
  111. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +999 -3
  112. package/fesm2022/ojiepermana-angular-component-popover.mjs +201 -3
  113. package/fesm2022/ojiepermana-angular-component-progress.mjs +57 -3
  114. package/fesm2022/ojiepermana-angular-component-radio.mjs +180 -3
  115. package/fesm2022/ojiepermana-angular-component-resizable.mjs +493 -3
  116. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +51 -3
  117. package/fesm2022/ojiepermana-angular-component-segmented-control.mjs +227 -3
  118. package/fesm2022/ojiepermana-angular-component-select.mjs +609 -3
  119. package/fesm2022/ojiepermana-angular-component-separator.mjs +31 -3
  120. package/fesm2022/ojiepermana-angular-component-sheet.mjs +407 -3
  121. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +25 -3
  122. package/fesm2022/ojiepermana-angular-component-slider.mjs +456 -3
  123. package/fesm2022/ojiepermana-angular-component-spinner.mjs +56 -3
  124. package/fesm2022/ojiepermana-angular-component-switch.mjs +145 -3
  125. package/fesm2022/ojiepermana-angular-component-table.mjs +155 -3
  126. package/fesm2022/ojiepermana-angular-component-tabs.mjs +315 -3
  127. package/fesm2022/ojiepermana-angular-component-textarea.mjs +46 -3
  128. package/fesm2022/ojiepermana-angular-component-timeline.mjs +237 -3
  129. package/fesm2022/ojiepermana-angular-component-toast.mjs +241 -3
  130. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +290 -3
  131. package/fesm2022/ojiepermana-angular-component-toggle.mjs +76 -3
  132. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +519 -3
  133. package/fesm2022/ojiepermana-angular-component-utils-core.mjs +310 -3
  134. package/fesm2022/ojiepermana-angular-component-utils-overlay.mjs +62 -3
  135. package/fesm2022/ojiepermana-angular-component-utils-scale.mjs +34 -3
  136. package/fesm2022/ojiepermana-angular-component-utils.mjs +3 -2
  137. package/fesm2022/ojiepermana-angular-component.mjs +4 -4
  138. package/fesm2022/ojiepermana-angular-navigation-core.mjs +21 -3
  139. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +20 -3
  140. package/fesm2022/ojiepermana-angular-navigation-navigation-badge-count.component-CDBxQ8rk.mjs +91 -0
  141. package/fesm2022/ojiepermana-angular-navigation-navigation-dockbar-menu.component-DBQHdvGa.mjs +512 -0
  142. package/fesm2022/ojiepermana-angular-navigation-navigation-entry-grid.component-Cd-jh6tg.mjs +623 -0
  143. package/fesm2022/ojiepermana-angular-navigation-navigation-flyout-menu.component-BCGvhoYj.mjs +404 -0
  144. package/fesm2022/ojiepermana-angular-navigation-navigation-horizontal.component-Dk_03e-6.mjs +466 -0
  145. package/fesm2022/ojiepermana-angular-navigation-ojiepermana-angular-navigation-DNKU6viC.mjs +2642 -0
  146. package/fesm2022/ojiepermana-angular-navigation-service.mjs +725 -3
  147. package/fesm2022/ojiepermana-angular-navigation-types.mjs +65 -4
  148. package/fesm2022/ojiepermana-angular-navigation.mjs +4 -10
  149. package/fesm2022/ojiepermana-angular-sdk.mjs +204 -4
  150. package/fesm2022/ojiepermana-angular-theme-component-settings.mjs +1387 -3
  151. package/fesm2022/ojiepermana-angular-theme-layout-services.mjs +331 -3
  152. package/fesm2022/ojiepermana-angular-theme-layout-types.mjs +45 -4
  153. package/fesm2022/ojiepermana-angular-theme-layout-wrapper.mjs +1044 -3
  154. package/fesm2022/ojiepermana-angular-theme-layout.mjs +729 -3
  155. package/fesm2022/ojiepermana-angular-theme-page-core.mjs +381 -3
  156. package/fesm2022/ojiepermana-angular-theme-page-filter.mjs +267 -3
  157. package/fesm2022/ojiepermana-angular-theme-page-root.mjs +361 -3
  158. package/fesm2022/ojiepermana-angular-theme-page-side.mjs +198 -3
  159. package/fesm2022/ojiepermana-angular-theme-page-slots.mjs +110 -3
  160. package/fesm2022/ojiepermana-angular-theme-page.mjs +7 -2
  161. package/fesm2022/ojiepermana-angular-theme-shell-services.mjs +338 -3
  162. package/fesm2022/ojiepermana-angular-theme-shell-types.mjs +160 -4
  163. package/fesm2022/ojiepermana-angular-theme-shell.mjs +811 -3
  164. package/fesm2022/ojiepermana-angular-theme-styles.mjs +783 -3
  165. package/fesm2022/ojiepermana-angular-theme.mjs +4 -4
  166. package/fesm2022/ojiepermana-angular.mjs +6 -11
  167. package/navigation/README.md +374 -0
  168. package/package.json +81 -20
  169. package/sdk/README.md +212 -0
  170. package/sdk/schematics/collection.json +20 -0
  171. package/sdk/schematics/init/index.js +83 -0
  172. package/sdk/schematics/init/schema.json +19 -0
  173. package/sdk/schematics/ng-add/index.js +147 -0
  174. package/sdk/schematics/ng-add/schema.json +14 -0
  175. package/sdk/schematics/package.json +3 -0
  176. package/sdk/schematics/sdk/index.js +175 -0
  177. package/sdk/schematics/sdk/schema.json +19 -0
  178. package/sdk/sdk.config.example.json +24 -0
  179. package/sdk/src/config/loader.js +43 -0
  180. package/sdk/src/config/schema.js +59 -0
  181. package/sdk/src/emit/client.js +251 -0
  182. package/sdk/src/emit/metadata.js +310 -0
  183. package/sdk/src/emit/models.js +104 -0
  184. package/sdk/src/emit/navigation.js +56 -0
  185. package/sdk/src/emit/operations.js +118 -0
  186. package/sdk/src/emit/public-api.js +54 -0
  187. package/sdk/src/emit/services.js +110 -0
  188. package/sdk/src/engine.js +67 -0
  189. package/sdk/src/layout/per-domain.js +360 -0
  190. package/sdk/src/package.json +3 -0
  191. package/sdk/src/parser/bundle.js +25 -0
  192. package/sdk/src/parser/ir.js +429 -0
  193. package/sdk/src/parser/types.js +7 -0
  194. package/sdk/src/render/template.js +152 -0
  195. package/sdk/src/writer/index.js +286 -0
  196. package/theme/README.md +126 -0
  197. package/theme/component/settings/README.md +135 -0
  198. package/theme/layout/README.md +539 -0
  199. package/theme/page/README.md +453 -0
  200. package/theme/shell/README.md +340 -0
  201. package/theme/styles/README.md +178 -0
  202. package/theme/styles/css/base/components.css +553 -0
  203. package/theme/styles/css/base/index.css +14 -0
  204. package/theme/styles/css/base/package.css +9 -0
  205. package/theme/styles/css/base/prefers-dark.css +86 -0
  206. package/theme/styles/css/base/print.css +62 -0
  207. package/theme/styles/css/base/status.css +38 -0
  208. package/theme/styles/css/base/tailwind.css +165 -0
  209. package/theme/styles/css/base/theme.css +374 -0
  210. package/theme/styles/css/base/tokens.css +361 -0
  211. package/theme/styles/css/color/amber.css +72 -0
  212. package/theme/styles/css/color/blue.css +72 -0
  213. package/theme/styles/css/color/brand.css +38 -0
  214. package/theme/styles/css/color/cyan.css +72 -0
  215. package/theme/styles/css/color/emerald.css +72 -0
  216. package/theme/styles/css/color/fuchsia.css +72 -0
  217. package/theme/styles/css/color/green.css +72 -0
  218. package/theme/styles/css/color/index.css +19 -0
  219. package/theme/styles/css/color/indigo.css +72 -0
  220. package/theme/styles/css/color/lime.css +72 -0
  221. package/theme/styles/css/color/orange.css +72 -0
  222. package/theme/styles/css/color/pink.css +72 -0
  223. package/theme/styles/css/color/purple.css +72 -0
  224. package/theme/styles/css/color/red.css +72 -0
  225. package/theme/styles/css/color/rose.css +72 -0
  226. package/theme/styles/css/color/sky.css +72 -0
  227. package/theme/styles/css/color/teal.css +72 -0
  228. package/theme/styles/css/color/violet.css +72 -0
  229. package/theme/styles/css/color/yellow.css +72 -0
  230. package/theme/styles/css/index.css +18 -0
  231. package/theme/styles/css/neutral/gray.css +63 -0
  232. package/theme/styles/css/neutral/index.css +11 -0
  233. package/theme/styles/css/neutral/mauve.css +63 -0
  234. package/theme/styles/css/neutral/mist.css +63 -0
  235. package/theme/styles/css/neutral/neutral.css +63 -0
  236. package/theme/styles/css/neutral/olive.css +63 -0
  237. package/theme/styles/css/neutral/slate.css +63 -0
  238. package/theme/styles/css/neutral/stone.css +63 -0
  239. package/theme/styles/css/neutral/taupe.css +63 -0
  240. package/theme/styles/css/neutral/zinc.css +63 -0
  241. package/theme/styles/css/radius/index.css +30 -0
  242. package/theme/styles/css/space/index.css +20 -0
  243. package/types/ojiepermana-angular-chart-area.d.ts +76 -1
  244. package/types/ojiepermana-angular-chart-bar.d.ts +201 -1
  245. package/types/ojiepermana-angular-chart-core.d.ts +811 -1
  246. package/types/ojiepermana-angular-chart-line.d.ts +75 -1
  247. package/types/ojiepermana-angular-chart-pie.d.ts +131 -1
  248. package/types/ojiepermana-angular-chart-primitives.d.ts +291 -1
  249. package/types/ojiepermana-angular-chart-radar.d.ts +116 -1
  250. package/types/ojiepermana-angular-chart-radial.d.ts +116 -1
  251. package/types/ojiepermana-angular-chart-scatter.d.ts +125 -1
  252. package/types/ojiepermana-angular-chart.d.ts +2 -1
  253. package/types/ojiepermana-angular-component-accordion.d.ts +85 -1
  254. package/types/ojiepermana-angular-component-alert-dialog.d.ts +140 -1
  255. package/types/ojiepermana-angular-component-alert.d.ts +42 -1
  256. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +12 -1
  257. package/types/ojiepermana-angular-component-avatar.d.ts +56 -1
  258. package/types/ojiepermana-angular-component-badge.d.ts +24 -1
  259. package/types/ojiepermana-angular-component-breadcrumb.d.ts +46 -1
  260. package/types/ojiepermana-angular-component-button-group.d.ts +26 -1
  261. package/types/ojiepermana-angular-component-button.d.ts +27 -1
  262. package/types/ojiepermana-angular-component-calendar.d.ts +111 -1
  263. package/types/ojiepermana-angular-component-card.d.ts +69 -1
  264. package/types/ojiepermana-angular-component-carousel.d.ts +86 -1
  265. package/types/ojiepermana-angular-component-checkbox.d.ts +42 -1
  266. package/types/ojiepermana-angular-component-collapsible.d.ts +42 -1
  267. package/types/ojiepermana-angular-component-combobox.d.ts +60 -1
  268. package/types/ojiepermana-angular-component-command.d.ts +130 -1
  269. package/types/ojiepermana-angular-component-composer.d.ts +90 -1
  270. package/types/ojiepermana-angular-component-context-menu.d.ts +54 -1
  271. package/types/ojiepermana-angular-component-date-picker.d.ts +109 -1
  272. package/types/ojiepermana-angular-component-dialog.d.ts +136 -1
  273. package/types/ojiepermana-angular-component-drawer.d.ts +1 -1
  274. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +248 -1
  275. package/types/ojiepermana-angular-component-editor.d.ts +135 -1
  276. package/types/ojiepermana-angular-component-empty.d.ts +50 -1
  277. package/types/ojiepermana-angular-component-form.d.ts +159 -1
  278. package/types/ojiepermana-angular-component-hover-card.d.ts +75 -1
  279. package/types/ojiepermana-angular-component-icon.d.ts +89 -1
  280. package/types/ojiepermana-angular-component-input-group.d.ts +51 -1
  281. package/types/ojiepermana-angular-component-input-otp.d.ts +155 -1
  282. package/types/ojiepermana-angular-component-input.d.ts +21 -1
  283. package/types/ojiepermana-angular-component-item.d.ts +93 -1
  284. package/types/ojiepermana-angular-component-kanban.d.ts +70 -1
  285. package/types/ojiepermana-angular-component-kbd.d.ts +16 -1
  286. package/types/ojiepermana-angular-component-label.d.ts +11 -1
  287. package/types/ojiepermana-angular-component-menubar.d.ts +93 -1
  288. package/types/ojiepermana-angular-component-native-select.d.ts +26 -1
  289. package/types/ojiepermana-angular-component-navigation-menu.d.ts +104 -1
  290. package/types/ojiepermana-angular-component-pagination.d.ts +33 -1
  291. package/types/ojiepermana-angular-component-pillbox.d.ts +222 -1
  292. package/types/ojiepermana-angular-component-popover.d.ts +66 -1
  293. package/types/ojiepermana-angular-component-progress.d.ts +17 -1
  294. package/types/ojiepermana-angular-component-radio.d.ts +60 -1
  295. package/types/ojiepermana-angular-component-resizable.d.ts +117 -1
  296. package/types/ojiepermana-angular-component-scroll-area.d.ts +19 -1
  297. package/types/ojiepermana-angular-component-segmented-control.d.ts +58 -1
  298. package/types/ojiepermana-angular-component-select.d.ts +122 -1
  299. package/types/ojiepermana-angular-component-separator.d.ts +14 -1
  300. package/types/ojiepermana-angular-component-sheet.d.ts +130 -1
  301. package/types/ojiepermana-angular-component-skeleton.d.ts +10 -1
  302. package/types/ojiepermana-angular-component-slider.d.ts +83 -1
  303. package/types/ojiepermana-angular-component-spinner.d.ts +13 -1
  304. package/types/ojiepermana-angular-component-switch.d.ts +44 -1
  305. package/types/ojiepermana-angular-component-table.d.ts +57 -1
  306. package/types/ojiepermana-angular-component-tabs.d.ts +124 -1
  307. package/types/ojiepermana-angular-component-textarea.d.ts +17 -1
  308. package/types/ojiepermana-angular-component-timeline.d.ts +64 -1
  309. package/types/ojiepermana-angular-component-toast.d.ts +64 -1
  310. package/types/ojiepermana-angular-component-toggle-group.d.ts +90 -1
  311. package/types/ojiepermana-angular-component-toggle.d.ts +25 -1
  312. package/types/ojiepermana-angular-component-tooltip.d.ts +143 -1
  313. package/types/ojiepermana-angular-component-utils-core.d.ts +184 -1
  314. package/types/ojiepermana-angular-component-utils-overlay.d.ts +21 -1
  315. package/types/ojiepermana-angular-component-utils-scale.d.ts +19 -1
  316. package/types/ojiepermana-angular-component-utils.d.ts +2 -1
  317. package/types/ojiepermana-angular-component.d.ts +2 -1
  318. package/types/ojiepermana-angular-navigation-core.d.ts +59 -1
  319. package/types/ojiepermana-angular-navigation-icon.d.ts +12 -1
  320. package/types/ojiepermana-angular-navigation-service.d.ts +116 -1
  321. package/types/ojiepermana-angular-navigation-types.d.ts +144 -1
  322. package/types/ojiepermana-angular-navigation.d.ts +507 -1
  323. package/types/ojiepermana-angular-sdk.d.ts +89 -1
  324. package/types/ojiepermana-angular-theme-component-settings.d.ts +154 -1
  325. package/types/ojiepermana-angular-theme-layout-services.d.ts +147 -1
  326. package/types/ojiepermana-angular-theme-layout-types.d.ts +40 -1
  327. package/types/ojiepermana-angular-theme-layout-wrapper.d.ts +299 -1
  328. package/types/ojiepermana-angular-theme-layout.d.ts +129 -1
  329. package/types/ojiepermana-angular-theme-page-core.d.ts +157 -1
  330. package/types/ojiepermana-angular-theme-page-filter.d.ts +77 -1
  331. package/types/ojiepermana-angular-theme-page-root.d.ts +88 -1
  332. package/types/ojiepermana-angular-theme-page-side.d.ts +50 -1
  333. package/types/ojiepermana-angular-theme-page-slots.d.ts +40 -1
  334. package/types/ojiepermana-angular-theme-page.d.ts +5 -1
  335. package/types/ojiepermana-angular-theme-shell-services.d.ts +193 -1
  336. package/types/ojiepermana-angular-theme-shell-types.d.ts +105 -1
  337. package/types/ojiepermana-angular-theme-shell.d.ts +100 -1
  338. package/types/ojiepermana-angular-theme-styles.d.ts +319 -1
  339. package/types/ojiepermana-angular-theme.d.ts +2 -1
  340. package/types/ojiepermana-angular.d.ts +5 -5
@@ -1 +1,75 @@
1
- export * from '@ojiepermana/angular-chart/line';
1
+ import * as _ojiepermana_angular_chart_core from '@ojiepermana/angular/chart/core';
2
+ import { ChartOrientation, LineCurve, ChartMargin, ChartPointClickEvent, LinePoint, LineSeriesPath } from '@ojiepermana/angular/chart/core';
3
+ export { AreaLayoutInput, AreaLayoutResult, CartesianBase, LineCurve, LineLayoutResult, LinePoint, LineSeriesPath, buildCartesianScales, cloneLinear, computeAreaLayout, computeLineLayout, pointToBandAdapter, provideCartesianFromLineLayout } from '@ojiepermana/angular/chart/core';
4
+ import * as _angular_core from '@angular/core';
5
+
6
+ /** Emitted when a data point is activated (click or keyboard). */
7
+ /**
8
+ * @deprecated Use `ChartPointClickEvent` from
9
+ * `@ojiepermana/angular/chart/core`. Kept so existing handlers keep compiling;
10
+ * the shape is identical.
11
+ */
12
+ type LinePointClickEvent = ChartPointClickEvent;
13
+ declare class LineChart {
14
+ private readonly root;
15
+ private readonly cart;
16
+ private readonly viewport;
17
+ readonly data: _angular_core.InputSignal<readonly Readonly<Record<string, unknown>>[]>;
18
+ readonly xKey: _angular_core.InputSignal<string>;
19
+ readonly orientation: _angular_core.InputSignal<ChartOrientation>;
20
+ /**
21
+ * Presentational style of the chart.
22
+ *
23
+ * Replaces `styles`, which read like a CSS styles bag rather than a single
24
+ * variant. Named `styleVariant` and not `variant` because `ChartBar` already
25
+ * publishes a `variant` input for its grouped versus stacked axis, and one
26
+ * name cannot mean two things across the family.
27
+ */
28
+ readonly styleVariant: _angular_core.InputSignal<"base" | undefined>;
29
+ /**
30
+ * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
31
+ * `styleVariant` wins. Due for removal in the next major.
32
+ */
33
+ readonly styles: _angular_core.InputSignal<"base">;
34
+ /** The style actually in effect. Bind this, never `styles()`. */
35
+ protected readonly chartStyle: _angular_core.Signal<"base">;
36
+ readonly curve: _angular_core.InputSignal<LineCurve>;
37
+ private readonly themeSpace;
38
+ /**
39
+ * Plot gutters. Leave it unset and they follow the theme-space density
40
+ * axis; set it and your numbers win, unchanged, whatever the axis says.
41
+ */
42
+ readonly margin: _angular_core.InputSignal<ChartMargin | null>;
43
+ /** The margin actually in effect. Bind this, never `margin()`. */
44
+ protected readonly plotMargin: _angular_core.Signal<ChartMargin>;
45
+ readonly strokeWidth: _angular_core.InputSignal<number>;
46
+ readonly showDots: _angular_core.InputSignal<boolean>;
47
+ readonly dotRadius: _angular_core.InputSignal<number>;
48
+ readonly dotColorKey: _angular_core.InputSignal<string | undefined>;
49
+ readonly dotStrokeColor: _angular_core.InputSignal<string | undefined>;
50
+ readonly dotStrokeWidth: _angular_core.InputSignal<number>;
51
+ readonly showValueLabels: _angular_core.InputSignal<boolean>;
52
+ readonly valueLabelFormat: _angular_core.InputSignal<(value: number) => string>;
53
+ readonly pointClick: _angular_core.OutputEmitterRef<LinePointClickEvent>;
54
+ /**
55
+ * The shared cartesian scaffolding: geometry, the index window, the layout
56
+ * effect, and the click plus active-point plus aria-label handlers.
57
+ *
58
+ * Declared before `layout` because the layout computed reads its geometry.
59
+ */
60
+ protected readonly cx: _ojiepermana_angular_chart_core.CartesianChartSetup<LinePoint>;
61
+ protected readonly layout: _angular_core.Signal<_ojiepermana_angular_chart_core.LineLayoutResult>;
62
+ protected readonly series: _angular_core.Signal<readonly LineSeriesPath[]>;
63
+ protected readonly ariaSummary: _angular_core.Signal<string>;
64
+ protected readonly dataColumns: _angular_core.Signal<string[]>;
65
+ protected dotFill(point: LinePoint, fallbackColor: string): string;
66
+ protected formatValueLabel(point: LinePoint): string;
67
+ protected labelX(point: LinePoint): number;
68
+ protected labelY(point: LinePoint): number;
69
+ protected labelAnchor(): 'middle' | 'start';
70
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LineChart, never>;
71
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LineChart, "ChartLine", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "xKey": { "alias": "xKey"; "required": true; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "styleVariant": { "alias": "styleVariant"; "required": false; "isSignal": true; }; "styles": { "alias": "styles"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "showDots": { "alias": "showDots"; "required": false; "isSignal": true; }; "dotRadius": { "alias": "dotRadius"; "required": false; "isSignal": true; }; "dotColorKey": { "alias": "dotColorKey"; "required": false; "isSignal": true; }; "dotStrokeColor": { "alias": "dotStrokeColor"; "required": false; "isSignal": true; }; "dotStrokeWidth": { "alias": "dotStrokeWidth"; "required": false; "isSignal": true; }; "showValueLabels": { "alias": "showValueLabels"; "required": false; "isSignal": true; }; "valueLabelFormat": { "alias": "valueLabelFormat"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; }, never, ["svg:g[ChartBrush]", "svg\\:g[ChartGrid]", "svg\\:g[ChartAxisX]", "svg\\:g[ChartAxisY]", "svg\\:g[ChartCrosshair]", "ChartTooltip", "ChartLegend", "ChartZoomControls"], true, never>;
72
+ }
73
+
74
+ export { LineChart };
75
+ export type { LinePointClickEvent };
@@ -1 +1,131 @@
1
- export * from '@ojiepermana/angular-chart/pie';
1
+ import * as _ojiepermana_angular_chart_core from '@ojiepermana/angular/chart/core';
2
+ import { ChartDatum, ChartMargin, ChartPointClickEvent } from '@ojiepermana/angular/chart/core';
3
+ import * as _ojiepermana_angular_chart_pie from '@ojiepermana/angular/chart/pie';
4
+ import * as _angular_core from '@angular/core';
5
+
6
+ interface PieLayoutInput {
7
+ readonly data: readonly ChartDatum[];
8
+ /** Field on each datum whose value is the slice's numeric magnitude. */
9
+ readonly valueKey: string;
10
+ /** Field on each datum whose value is the slice's categorical label. */
11
+ readonly nameKey: string;
12
+ /**
13
+ * Ordered series keys used to resolve color (`var(--color-<key>)`).
14
+ * Must have the same length as `data`. If omitted, falls back to
15
+ * `nameKey` values.
16
+ */
17
+ readonly seriesKeys?: readonly string[];
18
+ /**
19
+ * Series keys the legend has toggled off. Their slices are dropped and the
20
+ * remainder re-totals, because a pie's angles are relative by construction.
21
+ */
22
+ readonly hiddenSeriesKeys?: ReadonlySet<string>;
23
+ readonly innerWidth: number;
24
+ readonly innerHeight: number;
25
+ /** Inner radius for donut-style charts (0 = full pie). */
26
+ readonly innerRadius: number;
27
+ /** Gap between slices, in radians. */
28
+ readonly padAngle: number;
29
+ /** Corner radius for slices (px). */
30
+ readonly cornerRadius: number;
31
+ /** Starting angle in radians (default −π/2 = 12 o'clock). */
32
+ readonly startAngle: number;
33
+ /** Ending angle in radians (default 3π/2). */
34
+ readonly endAngle: number;
35
+ readonly activeIndex?: number;
36
+ readonly activeOffset?: number;
37
+ }
38
+ interface PieSliceRect {
39
+ readonly seriesKey: string;
40
+ readonly name: string;
41
+ readonly value: number;
42
+ readonly datumIndex: number;
43
+ readonly color: string;
44
+ readonly arcPath: string;
45
+ readonly centroid: readonly [number, number];
46
+ readonly startAngle: number;
47
+ readonly endAngle: number;
48
+ readonly translateX: number;
49
+ readonly translateY: number;
50
+ }
51
+ interface PieLayout {
52
+ readonly slices: readonly PieSliceRect[];
53
+ readonly centerX: number;
54
+ readonly centerY: number;
55
+ readonly outerRadius: number;
56
+ }
57
+ declare function computePieLayout(input: PieLayoutInput): PieLayout;
58
+
59
+ /**
60
+ * @deprecated Use `ChartPointClickEvent` from
61
+ * `@ojiepermana/angular/chart/core`. `name` is superseded by `category`, which
62
+ * carries the same value; `name` is still emitted so existing handlers keep
63
+ * working.
64
+ */
65
+ type PieSliceClickEvent = ChartPointClickEvent & {
66
+ /** @deprecated Use `category`. */
67
+ readonly name: string;
68
+ };
69
+ declare class PieChart {
70
+ private readonly root;
71
+ readonly data: _angular_core.InputSignal<readonly Readonly<Record<string, unknown>>[]>;
72
+ readonly valueKey: _angular_core.InputSignal<string>;
73
+ readonly nameKey: _angular_core.InputSignal<string>;
74
+ readonly seriesKeys: _angular_core.InputSignal<readonly string[] | undefined>;
75
+ /**
76
+ * Presentational style of the chart.
77
+ *
78
+ * Replaces `styles`, which read like a CSS styles bag rather than a single
79
+ * variant. Named `styleVariant` and not `variant` because `ChartBar` already
80
+ * publishes a `variant` input for its grouped versus stacked axis, and one
81
+ * name cannot mean two things across the family.
82
+ */
83
+ readonly styleVariant: _angular_core.InputSignal<"base" | undefined>;
84
+ /**
85
+ * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
86
+ * `styleVariant` wins. Due for removal in the next major.
87
+ */
88
+ readonly styles: _angular_core.InputSignal<"base">;
89
+ /** The style actually in effect. Bind this, never `styles()`. */
90
+ protected readonly chartStyle: _angular_core.Signal<"base">;
91
+ private readonly themeRadius;
92
+ private readonly themeSpace;
93
+ /**
94
+ * Plot gutters. Leave it unset and they follow the theme-space density
95
+ * axis; set it and your numbers win, unchanged, whatever the axis says.
96
+ */
97
+ readonly margin: _angular_core.InputSignal<ChartMargin | null>;
98
+ /** The margin actually in effect. Bind this, never `margin()`. */
99
+ protected readonly plotMargin: _angular_core.Signal<ChartMargin>;
100
+ readonly innerRadius: _angular_core.InputSignal<number>;
101
+ readonly padAngle: _angular_core.InputSignal<number>;
102
+ /**
103
+ * Slice corner radius. Unset now means "follow the theme-radius axis", the
104
+ * same contract `ChartBar` already offers, so a pie picks up the app's shape
105
+ * language instead of being the one chart that stays sharp.
106
+ *
107
+ * Zero is still available, and still means square corners: it is a real value,
108
+ * not the absence of one, which is why the default moved to `null`.
109
+ */
110
+ readonly cornerRadius: _angular_core.InputSignal<number | null>;
111
+ /** The slice corner radius actually in effect. */
112
+ protected readonly sliceCornerRadius: _angular_core.Signal<number>;
113
+ readonly startAngle: _angular_core.InputSignal<number>;
114
+ readonly endAngle: _angular_core.InputSignal<number>;
115
+ readonly showLabels: _angular_core.InputSignal<boolean>;
116
+ readonly activeIndex: _angular_core.InputSignal<number | undefined>;
117
+ readonly activeOffset: _angular_core.InputSignal<number>;
118
+ readonly sliceClick: _angular_core.OutputEmitterRef<PieSliceClickEvent>;
119
+ protected readonly polar: _ojiepermana_angular_chart_core.PolarChartSetup;
120
+ protected readonly layout: _angular_core.Signal<_ojiepermana_angular_chart_pie.PieLayout>;
121
+ protected readonly ariaSummary: _angular_core.Signal<string>;
122
+ protected readonly dataColumns: _angular_core.Signal<string[]>;
123
+ protected sliceAriaLabel(s: PieSliceRect): string;
124
+ protected sliceTransform(s: PieSliceRect): string | null;
125
+ protected emitClick(s: PieSliceRect): void;
126
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PieChart, never>;
127
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PieChart, "ChartPie", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "valueKey": { "alias": "valueKey"; "required": true; "isSignal": true; }; "nameKey": { "alias": "nameKey"; "required": true; "isSignal": true; }; "seriesKeys": { "alias": "seriesKeys"; "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; }; "innerRadius": { "alias": "innerRadius"; "required": false; "isSignal": true; }; "padAngle": { "alias": "padAngle"; "required": false; "isSignal": true; }; "cornerRadius": { "alias": "cornerRadius"; "required": false; "isSignal": true; }; "startAngle": { "alias": "startAngle"; "required": false; "isSignal": true; }; "endAngle": { "alias": "endAngle"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "activeIndex": { "alias": "activeIndex"; "required": false; "isSignal": true; }; "activeOffset": { "alias": "activeOffset"; "required": false; "isSignal": true; }; }, { "sliceClick": "sliceClick"; }, never, ["ChartPieCenter", "ChartTooltip", "ChartLegend"], true, never>;
128
+ }
129
+
130
+ export { PieChart, computePieLayout };
131
+ export type { PieLayout, PieLayoutInput, PieSliceClickEvent, PieSliceRect };
@@ -1 +1,291 @@
1
- export * from '@ojiepermana/angular-chart/primitives';
1
+ import * as _angular_core from '@angular/core';
2
+ import { Type, TemplateRef } from '@angular/core';
3
+ import * as _ojiepermana_angular_chart_core from '@ojiepermana/angular/chart/core';
4
+ import { ChartTick, ChartDatum } from '@ojiepermana/angular/chart/core';
5
+
6
+ /**
7
+ * X axis for a cartesian chart. Reads scales from `CartesianContext`.
8
+ *
9
+ * Renders as `<svg:g>` — must be placed inside the owning chart's SVG.
10
+ */
11
+ declare class ChartAxisX {
12
+ private readonly ctx;
13
+ /** Approximate tick count for linear (value) scales. */
14
+ readonly tickCount: _angular_core.InputSignal<number>;
15
+ /** Show 6-px tick marks between the axis line and the labels. */
16
+ readonly tickLine: _angular_core.InputSignal<boolean>;
17
+ /** Formatter for numeric tick labels. */
18
+ readonly tickFormat: _angular_core.InputSignal<(value: number) => string>;
19
+ protected readonly innerWidth: _angular_core.WritableSignal<number>;
20
+ protected readonly transform: _angular_core.Signal<string>;
21
+ protected readonly ticks: _angular_core.Signal<ChartTick[]>;
22
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartAxisX, never>;
23
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartAxisX, "svg:g[ChartAxisX]", never, { "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; "tickLine": { "alias": "tickLine"; "required": false; "isSignal": true; }; "tickFormat": { "alias": "tickFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
24
+ }
25
+
26
+ /**
27
+ * Y axis for a cartesian chart. Reads scales from `CartesianContext`.
28
+ *
29
+ * Renders as `<svg:g>` — must be placed inside the owning chart's SVG.
30
+ */
31
+ declare class ChartAxisY {
32
+ private readonly ctx;
33
+ readonly tickCount: _angular_core.InputSignal<number>;
34
+ readonly tickLine: _angular_core.InputSignal<boolean>;
35
+ readonly tickFormat: _angular_core.InputSignal<(value: number) => string>;
36
+ protected readonly innerHeight: _angular_core.WritableSignal<number>;
37
+ protected readonly ticks: _angular_core.Signal<ChartTick[]>;
38
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartAxisY, never>;
39
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartAxisY, "svg:g[ChartAxisY]", never, { "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; "tickLine": { "alias": "tickLine"; "required": false; "isSignal": true; }; "tickFormat": { "alias": "tickFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
40
+ }
41
+
42
+ /**
43
+ * Horizontal / vertical grid lines for the cartesian plotting area.
44
+ *
45
+ * Reads tick positions from `CartesianContext.valueScale`. Direction of the
46
+ * grid lines follows `orientation`:
47
+ * - vertical → horizontal grid lines (one per y-tick)
48
+ * - horizontal → vertical grid lines (one per x-tick)
49
+ */
50
+ declare class ChartGrid {
51
+ private readonly ctx;
52
+ readonly tickCount: _angular_core.InputSignal<number>;
53
+ protected readonly ticks: _angular_core.Signal<_ojiepermana_angular_chart_core.ChartTick[]>;
54
+ protected readonly line: (offset: number) => {
55
+ x1: number;
56
+ x2: number;
57
+ y1: number;
58
+ y2: number;
59
+ };
60
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartGrid, never>;
61
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartGrid, "svg:g[ChartGrid]", never, { "tickCount": { "alias": "tickCount"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
62
+ }
63
+
64
+ /**
65
+ * Crosshair primitive — a line drawn through the currently active data point
66
+ * perpendicular to the categorical axis. Reads `activePoint` from
67
+ * `ChartContext` and the scales from `CartesianContext`.
68
+ *
69
+ * Place inside a cartesian chart's SVG inner group.
70
+ */
71
+ declare class ChartCrosshair {
72
+ private readonly root;
73
+ private readonly cart;
74
+ protected readonly line: _angular_core.Signal<{
75
+ x1: number;
76
+ x2: number;
77
+ y1: number;
78
+ y2: number;
79
+ } | null>;
80
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartCrosshair, never>;
81
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartCrosshair, "svg:g[ChartCrosshair]", never, {}, {}, never, never, true, never>;
82
+ }
83
+
84
+ declare class ChartBrush {
85
+ private readonly hitbox;
86
+ private readonly cart;
87
+ private readonly categorical;
88
+ private readonly scatter;
89
+ private readonly document;
90
+ /**
91
+ * Torn down the moment a drag ends. Permanent `window:` bindings marked the
92
+ * view dirty for every pointer move anywhere on the page, brush or no brush.
93
+ */
94
+ private detachDragListeners;
95
+ constructor();
96
+ private readonly mode;
97
+ private readonly activePointerId;
98
+ private readonly categoryStartIndex;
99
+ private readonly categoryPanStart;
100
+ private readonly scatterBrush;
101
+ private readonly scatterPan;
102
+ protected readonly width: _angular_core.Signal<number>;
103
+ protected readonly height: _angular_core.Signal<number>;
104
+ protected readonly categoryPreview: _angular_core.Signal<{
105
+ x: number;
106
+ y: number;
107
+ width: number;
108
+ height: number;
109
+ } | null>;
110
+ protected readonly scatterPreviewRect: _angular_core.Signal<{
111
+ x: number;
112
+ y: number;
113
+ width: number;
114
+ height: number;
115
+ } | null>;
116
+ protected onPointerDown(event: PointerEvent): void;
117
+ protected onPointerMove(event: PointerEvent): void;
118
+ protected onPointerUp(event?: PointerEvent): void;
119
+ protected onPointerCancel(event: PointerEvent): void;
120
+ protected onWheel(event: WheelEvent): void;
121
+ protected resetZoom(): void;
122
+ private beginDrag;
123
+ private endDrag;
124
+ private onScatterPointerDown;
125
+ private localPoint;
126
+ private pointerAxis;
127
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartBrush, never>;
128
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartBrush, "svg:g[ChartBrush]", never, {}, {}, never, never, true, never>;
129
+ }
130
+
131
+ /**
132
+ * Attach to a chart's `<svg:svg>` to publish pointer-driven active-point
133
+ * state into the surrounding `ChartContext`.
134
+ *
135
+ * Computes the local (x, y) of the pointer relative to the inner plotting
136
+ * area, resolves the nearest category, and updates
137
+ * `ChartContext.activePoint`. Clears it on `pointerleave`.
138
+ */
139
+ declare class ChartPointerTracker {
140
+ private readonly root;
141
+ private readonly cart;
142
+ private readonly viewport;
143
+ protected onMove(event: PointerEvent): void;
144
+ protected onLeave(): void;
145
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartPointerTracker, never>;
146
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<ChartPointerTracker, "svg:svg[ChartPointerTracker]", never, {}, {}, never, never, true, never>;
147
+ }
148
+
149
+ /** Row of data fed to tooltip templates. */
150
+ interface ChartTooltipRow {
151
+ readonly seriesKey: string;
152
+ readonly label: string;
153
+ readonly value: unknown;
154
+ readonly color: string;
155
+ readonly icon?: Type<unknown>;
156
+ }
157
+ /** Payload available to a user-supplied tooltip template. */
158
+ interface ChartTooltipPayload {
159
+ readonly category: string;
160
+ readonly datum: ChartDatum;
161
+ readonly rows: readonly ChartTooltipRow[];
162
+ }
163
+ /** Indicator rendered beside each tooltip row. */
164
+ type ChartTooltipIndicator = 'dot' | 'line' | 'dashed' | 'none';
165
+ /** Signature for the per-row value formatter (string output). */
166
+ type ChartTooltipValueFormatter = (value: unknown, row: ChartTooltipRow, payload: ChartTooltipPayload) => string;
167
+ /** Signature for the tooltip header (label) formatter. */
168
+ type ChartTooltipLabelFormatter = (label: string, payload: ChartTooltipPayload) => string;
169
+ /**
170
+ * Tooltip overlay — renders the default tooltip card (or a user-supplied
171
+ * template) anchored to the currently active data point.
172
+ *
173
+ * Shadcn-compatible knobs:
174
+ * - `indicator="line"` / `"none"` / `"dashed"` — swap the row glyph
175
+ * - `hideLabel` — drop the header row
176
+ * - `label="Activities"` — override the header text
177
+ * - `labelKey="activities"` — resolve the header from `config[labelKey].label`
178
+ * - `labelFormatter` — transform the header (e.g. ISO date → long date)
179
+ * - `formatter` — format per-row values (e.g. `"380 kcal"`)
180
+ * - `valueKey` — for pie/radial/radar, read row value from a single field
181
+ * - Icons are picked up automatically from `config[key].icon`.
182
+ */
183
+ declare class ChartTooltip {
184
+ private readonly root;
185
+ private readonly host;
186
+ private readonly zone;
187
+ private readonly platformId;
188
+ private readonly destroyRef;
189
+ /**
190
+ * The two measurements `position` needs, taken outside it.
191
+ *
192
+ * `position` used to call `getBoundingClientRect` and read `offsetWidth`
193
+ * while the template evaluated it, which forced layout on every tick and left
194
+ * the tooltip stale after a resize — a computed only re-runs for the signals
195
+ * it reads, and a DOM box is not one.
196
+ */
197
+ private readonly containerBox;
198
+ private readonly tooltipBox;
199
+ constructor();
200
+ /** Data key on each datum whose value is the category label (x-axis). */
201
+ readonly xKey: _angular_core.InputSignal<string | null>;
202
+ /** Data source (optional — if omitted tooltip reads from chart data via activePoint.datumIndex). */
203
+ readonly data: _angular_core.InputSignal<readonly Readonly<Record<string, unknown>>[] | null>;
204
+ /**
205
+ * Optional key for per-datum value lookup (pie / radial / radar datasets
206
+ * store values on a single field like `visitors` instead of one field per
207
+ * series). When set and `activePoint.seriesKey` is active, the tooltip row
208
+ * reads `datum[valueKey]` for its value.
209
+ */
210
+ readonly valueKey: _angular_core.InputSignal<string | null>;
211
+ /** Indicator variant next to each row. Default `'dot'`. */
212
+ readonly indicator: _angular_core.InputSignal<ChartTooltipIndicator>;
213
+ /** Hide the header label entirely. */
214
+ readonly hideLabel: _angular_core.InputSignal<boolean>;
215
+ /** Override the header label with a fixed string. Takes precedence over `labelKey`. */
216
+ readonly label: _angular_core.InputSignal<string | null>;
217
+ /**
218
+ * Resolve the header label from `config[labelKey].label`. Useful when the
219
+ * header should come from a config entry rather than the datum itself
220
+ * (shadcn's "Custom label" variant).
221
+ */
222
+ readonly labelKey: _angular_core.InputSignal<string | null>;
223
+ /** Transform the final header string (e.g. ISO date → long date). */
224
+ readonly labelFormatter: _angular_core.InputSignal<ChartTooltipLabelFormatter | null>;
225
+ /** Format each row's value (return string — HTML is not interpreted). */
226
+ readonly formatter: _angular_core.InputSignal<ChartTooltipValueFormatter | null>;
227
+ readonly customTpl: _angular_core.Signal<TemplateRef<any> | undefined>;
228
+ protected readonly visible: _angular_core.Signal<boolean>;
229
+ protected readonly payload: _angular_core.Signal<ChartTooltipPayload | null>;
230
+ /** Resolve the header string honoring `label`, `labelKey`, then `labelFormatter`. */
231
+ protected headerText(p: ChartTooltipPayload): string | null;
232
+ /** Apply per-row value formatter (or stringify). */
233
+ protected formatRow(row: ChartTooltipRow, p: ChartTooltipPayload): string;
234
+ protected readonly position: _angular_core.Signal<{
235
+ x: number;
236
+ y: number;
237
+ }>;
238
+ private observeContainer;
239
+ private measure;
240
+ private measureContainer;
241
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartTooltip, never>;
242
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartTooltip, "ChartTooltip", never, { "xKey": { "alias": "xKey"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "valueKey": { "alias": "valueKey"; "required": false; "isSignal": true; }; "indicator": { "alias": "indicator"; "required": false; "isSignal": true; }; "hideLabel": { "alias": "hideLabel"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelKey": { "alias": "labelKey"; "required": false; "isSignal": true; }; "labelFormatter": { "alias": "labelFormatter"; "required": false; "isSignal": true; }; "formatter": { "alias": "formatter"; "required": false; "isSignal": true; }; }, {}, ["customTpl"], never, true, never>;
243
+ }
244
+
245
+ /**
246
+ * Legend — renders a list of series swatches. Clicking an item toggles
247
+ * visibility via `ChartContext.toggleSeries`.
248
+ *
249
+ * Place as a child of `<Chart>`:
250
+ * ```html
251
+ * <Chart [config]="cfg">
252
+ * <ChartBar ... />
253
+ * <ChartLegend />
254
+ * </Chart>
255
+ * ```
256
+ */
257
+ declare class ChartLegend {
258
+ private readonly root;
259
+ protected readonly items: _angular_core.Signal<{
260
+ seriesKey: string;
261
+ label: string;
262
+ color: string;
263
+ hidden: boolean;
264
+ }[]>;
265
+ protected toggle(key: string): void;
266
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartLegend, never>;
267
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartLegend, "ChartLegend", never, {}, {}, never, never, true, never>;
268
+ }
269
+
270
+ declare class ChartZoomControls {
271
+ private readonly categorical;
272
+ private readonly scatter;
273
+ protected readonly status: _angular_core.Signal<string | null>;
274
+ protected readonly hint: _angular_core.Signal<"Drag to brush a region. Use the wheel to zoom and one-finger touch drag to pan while zoomed." | "Drag to select a category range. Use the wheel to zoom and one-finger touch drag to pan while zoomed.">;
275
+ protected resetZoom(): void;
276
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ChartZoomControls, never>;
277
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ChartZoomControls, "ChartZoomControls", never, {}, {}, never, never, true, never>;
278
+ }
279
+
280
+ declare class PieCenter {
281
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PieCenter, never>;
282
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PieCenter, "ChartPieCenter", never, {}, {}, never, ["*"], true, never>;
283
+ }
284
+
285
+ declare class RadialCenter {
286
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadialCenter, never>;
287
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadialCenter, "ChartRadialCenter", never, {}, {}, never, ["*"], true, never>;
288
+ }
289
+
290
+ export { ChartAxisX, ChartAxisY, ChartBrush, ChartCrosshair, ChartGrid, ChartLegend, ChartPointerTracker, ChartTooltip, ChartZoomControls, PieCenter, RadialCenter };
291
+ export type { ChartTooltipIndicator, ChartTooltipLabelFormatter, ChartTooltipPayload, ChartTooltipRow, ChartTooltipValueFormatter };
@@ -1 +1,116 @@
1
- export * from '@ojiepermana/angular-chart/radar';
1
+ import * as _ojiepermana_angular_chart_core from '@ojiepermana/angular/chart/core';
2
+ import { ChartDatum, ChartMargin, ChartPointClickEvent } from '@ojiepermana/angular/chart/core';
3
+ import * as _ojiepermana_angular_chart_radar from '@ojiepermana/angular/chart/radar';
4
+ import * as _angular_core from '@angular/core';
5
+
6
+ type RadarCurve = 'linear' | 'cardinal';
7
+ type RadarGrid = 'polygon' | 'circle' | 'none';
8
+ interface RadarLayoutInput {
9
+ readonly data: readonly ChartDatum[];
10
+ readonly axisKey: string;
11
+ readonly seriesKeys: readonly string[];
12
+ readonly innerWidth: number;
13
+ readonly innerHeight: number;
14
+ readonly maxValue?: number;
15
+ readonly levels: number;
16
+ readonly curve: RadarCurve;
17
+ readonly grid: RadarGrid;
18
+ }
19
+ interface RadarAxisInfo {
20
+ readonly name: string;
21
+ readonly angle: number;
22
+ readonly x: number;
23
+ readonly y: number;
24
+ }
25
+ interface RadarSeries {
26
+ readonly seriesKey: string;
27
+ readonly color: string;
28
+ readonly path: string;
29
+ readonly points: readonly {
30
+ readonly x: number;
31
+ readonly y: number;
32
+ readonly value: number;
33
+ readonly axis: string;
34
+ }[];
35
+ }
36
+ interface RadarLevel {
37
+ readonly value: number;
38
+ readonly radius: number;
39
+ readonly path: string;
40
+ }
41
+ interface RadarLayout {
42
+ readonly centerX: number;
43
+ readonly centerY: number;
44
+ readonly radius: number;
45
+ readonly axes: readonly RadarAxisInfo[];
46
+ readonly levels: readonly RadarLevel[];
47
+ readonly maxValue: number;
48
+ readonly series: readonly RadarSeries[];
49
+ readonly grid: RadarGrid;
50
+ }
51
+ declare function computeRadarLayout(input: RadarLayoutInput): RadarLayout;
52
+
53
+ /** One radar dot, resolved to the row and series it stands for. */
54
+ type RadarPoint = RadarSeries['points'][number];
55
+ declare class RadarChart {
56
+ private readonly root;
57
+ readonly data: _angular_core.InputSignal<readonly Readonly<Record<string, unknown>>[]>;
58
+ readonly axisKey: _angular_core.InputSignal<string>;
59
+ /**
60
+ * Presentational style of the chart.
61
+ *
62
+ * Replaces `styles`, which read like a CSS styles bag rather than a single
63
+ * variant. Named `styleVariant` and not `variant` because `ChartBar` already
64
+ * publishes a `variant` input for its grouped versus stacked axis, and one
65
+ * name cannot mean two things across the family.
66
+ */
67
+ readonly styleVariant: _angular_core.InputSignal<"base" | undefined>;
68
+ /**
69
+ * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
70
+ * `styleVariant` wins. Due for removal in the next major.
71
+ */
72
+ readonly styles: _angular_core.InputSignal<"base">;
73
+ /** The style actually in effect. Bind this, never `styles()`. */
74
+ protected readonly chartStyle: _angular_core.Signal<"base">;
75
+ private readonly themeSpace;
76
+ /**
77
+ * Plot gutters. Leave it unset and they follow the theme-space density
78
+ * axis; set it and your numbers win, unchanged, whatever the axis says.
79
+ */
80
+ readonly margin: _angular_core.InputSignal<ChartMargin | null>;
81
+ /** The margin actually in effect. Bind this, never `margin()`. */
82
+ protected readonly plotMargin: _angular_core.Signal<ChartMargin>;
83
+ readonly curve: _angular_core.InputSignal<RadarCurve>;
84
+ readonly levels: _angular_core.InputSignal<number>;
85
+ readonly maxValue: _angular_core.InputSignal<number | undefined>;
86
+ readonly strokeWidth: _angular_core.InputSignal<number>;
87
+ readonly fillOpacity: _angular_core.InputSignal<number>;
88
+ readonly showLabels: _angular_core.InputSignal<boolean>;
89
+ readonly showDots: _angular_core.InputSignal<boolean>;
90
+ readonly dotRadius: _angular_core.InputSignal<number>;
91
+ readonly grid: _angular_core.InputSignal<RadarGrid>;
92
+ readonly gridFilled: _angular_core.InputSignal<boolean>;
93
+ readonly showAxes: _angular_core.InputSignal<boolean>;
94
+ readonly linesOnly: _angular_core.InputSignal<boolean>;
95
+ /**
96
+ * Emitted when a dot is activated by pointer or keyboard. Radar was the one
97
+ * chart family a keyboard user could focus but never operate.
98
+ */
99
+ readonly pointClick: _angular_core.OutputEmitterRef<ChartPointClickEvent<Readonly<Record<string, unknown>>>>;
100
+ protected readonly polar: _ojiepermana_angular_chart_core.PolarChartSetup;
101
+ protected readonly layout: _angular_core.Signal<_ojiepermana_angular_chart_radar.RadarLayout>;
102
+ protected readonly ariaSummary: _angular_core.Signal<string>;
103
+ protected readonly dataColumns: _angular_core.Signal<string[]>;
104
+ protected gridFill(): string;
105
+ protected gridFillOpacity(levelIndex: number): number | null;
106
+ protected dotAriaLabel(seriesKey: string, p: {
107
+ axis: string;
108
+ value: number;
109
+ }): string;
110
+ protected emitClick(seriesKey: string, point: RadarPoint, datumIndex: number): void;
111
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadarChart, never>;
112
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadarChart, "ChartRadar", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "axisKey": { "alias": "axisKey"; "required": true; "isSignal": true; }; "styleVariant": { "alias": "styleVariant"; "required": false; "isSignal": true; }; "styles": { "alias": "styles"; "required": false; "isSignal": true; }; "margin": { "alias": "margin"; "required": false; "isSignal": true; }; "curve": { "alias": "curve"; "required": false; "isSignal": true; }; "levels": { "alias": "levels"; "required": false; "isSignal": true; }; "maxValue": { "alias": "maxValue"; "required": false; "isSignal": true; }; "strokeWidth": { "alias": "strokeWidth"; "required": false; "isSignal": true; }; "fillOpacity": { "alias": "fillOpacity"; "required": false; "isSignal": true; }; "showLabels": { "alias": "showLabels"; "required": false; "isSignal": true; }; "showDots": { "alias": "showDots"; "required": false; "isSignal": true; }; "dotRadius": { "alias": "dotRadius"; "required": false; "isSignal": true; }; "grid": { "alias": "grid"; "required": false; "isSignal": true; }; "gridFilled": { "alias": "gridFilled"; "required": false; "isSignal": true; }; "showAxes": { "alias": "showAxes"; "required": false; "isSignal": true; }; "linesOnly": { "alias": "linesOnly"; "required": false; "isSignal": true; }; }, { "pointClick": "pointClick"; }, never, ["*", "ChartTooltip", "ChartLegend"], true, never>;
113
+ }
114
+
115
+ export { RadarChart, computeRadarLayout };
116
+ export type { RadarAxisInfo, RadarCurve, RadarGrid, RadarLayout, RadarLayoutInput, RadarLevel, RadarSeries };