@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
@@ -0,0 +1,230 @@
1
+ # Tooltip
2
+
3
+ Displays a small, supplemental text label when a focusable element receives hover or keyboard focus.
4
+
5
+ This Angular implementation now supports a composition-based tooltip surface with `Tooltip`, `[TooltipTrigger]`, and `ng-template[TooltipContent]`, while keeping the older `[Tooltip]` string directive as a lightweight shortcut for one-line hints.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import {
11
+ TooltipComponent,
12
+ TooltipContentDirective,
13
+ TooltipDirective,
14
+ TooltipTriggerDirective,
15
+ } from '@ojiepermana/angular/component/tooltip';
16
+ ```
17
+
18
+ ## Composition
19
+
20
+ ```text
21
+ Tooltip
22
+ ├── focusable host[TooltipTrigger]
23
+ └── ng-template[TooltipContent]
24
+
25
+ Optional convenience shortcut:
26
+ button[Tooltip]
27
+ ```
28
+
29
+ ## Basic usage
30
+
31
+ Use the composed surface when you want shadcn-style trigger and content structure or richer overlay content.
32
+
33
+ ```html
34
+ <Tooltip [openDelay]="0">
35
+ <ng-template TooltipContent #tooltipContent="TooltipContent">
36
+ <span>Add to library</span>
37
+ </ng-template>
38
+
39
+ <button Button type="button" variant="outline" [TooltipTrigger]="tooltipContent">Hover</button>
40
+ </Tooltip>
41
+ ```
42
+
43
+ ## Common patterns
44
+
45
+ ### Side and alignment
46
+
47
+ Use `side="top|right|bottom|left"` and `align="start|center|end"` on `[TooltipTrigger]` to control placement.
48
+
49
+ ```html
50
+ <Tooltip side="top" [openDelay]="0">
51
+ <ng-template TooltipContent #startContent="TooltipContent">
52
+ <span>Start aligned tooltip</span>
53
+ </ng-template>
54
+
55
+ <button Button type="button" variant="outline" [TooltipTrigger]="startContent" align="start">
56
+ Start
57
+ </button>
58
+ </Tooltip>
59
+ ```
60
+
61
+ ### Rich content
62
+
63
+ The overlay template can include small layout fragments, emphasized text, or keyboard shortcut chips.
64
+
65
+ ```html
66
+ <Tooltip [openDelay]="0">
67
+ <ng-template TooltipContent #shortcutContent="TooltipContent">
68
+ <span class="inline-flex items-center gap-1.5">
69
+ Save changes
70
+ <kbd
71
+ class="border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground shadow-none"
72
+ >
73
+ Cmd
74
+ </kbd>
75
+ <kbd
76
+ class="border-primary-foreground/30 bg-primary-foreground/10 text-primary-foreground shadow-none"
77
+ >
78
+ S
79
+ </kbd>
80
+ </span>
81
+ </ng-template>
82
+
83
+ <button Button type="button" variant="outline" [TooltipTrigger]="shortcutContent">Save</button>
84
+ </Tooltip>
85
+ ```
86
+
87
+ ### Disabled buttons
88
+
89
+ Disabled native buttons do not emit hover or focus events. Wrap them with a focusable element and attach `[TooltipTrigger]` to the wrapper.
90
+
91
+ ```html
92
+ <Tooltip [openDelay]="0">
93
+ <ng-template TooltipContent #disabledContent="TooltipContent">
94
+ <span>This feature is currently unavailable</span>
95
+ </ng-template>
96
+
97
+ <span
98
+ class="inline-block rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
99
+ tabindex="0"
100
+ [TooltipTrigger]="disabledContent"
101
+ >
102
+ <button Button type="button" variant="outline" disabled>Disabled</button>
103
+ </span>
104
+ </Tooltip>
105
+ ```
106
+
107
+ ### Quick string API
108
+
109
+ For simple one-line hints, the original directive remains available.
110
+
111
+ ```html
112
+ <button
113
+ Button
114
+ type="button"
115
+ variant="outline"
116
+ [Tooltip]="'Quick text hint'"
117
+ TooltipPosition="above"
118
+ >
119
+ String directive
120
+ </button>
121
+ ```
122
+
123
+ ### Programmatic control
124
+
125
+ Export the trigger as `TooltipTrigger` when a flow needs to open or close the composed tooltip imperatively.
126
+
127
+ ```html
128
+ <Tooltip [openDelay]="0">
129
+ <ng-template TooltipContent #saveContent="TooltipContent">
130
+ <span>Saved</span>
131
+ </ng-template>
132
+
133
+ <button
134
+ Button
135
+ type="button"
136
+ variant="outline"
137
+ #saveTrigger="TooltipTrigger"
138
+ [TooltipTrigger]="saveContent"
139
+ (click)="saveTrigger.open()"
140
+ >
141
+ Save
142
+ </button>
143
+ </Tooltip>
144
+ ```
145
+
146
+ ## API reference
147
+
148
+ ### `TooltipComponent`
149
+
150
+ | Input | Type | Default |
151
+ | ------------ | ---------------------------------------- | ---------- |
152
+ | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | `'top'` |
153
+ | `align` | `'start' \| 'center' \| 'end'` | `'center'` |
154
+ | `sideOffset` | `number` | `4` |
155
+ | `openDelay` | `number` | `150` |
156
+ | `closeDelay` | `number` | `0` |
157
+
158
+ ### `TooltipTriggerDirective`
159
+
160
+ | Input | Type | Notes |
161
+ | ---------------- | ---------------------------------------- | --------------------------------------------------- |
162
+ | `TooltipTrigger` | `TooltipContentDirective` | Required content template ref for the overlay body. |
163
+ | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | Overrides the root side for this trigger. |
164
+ | `align` | `'start' \| 'center' \| 'end'` | Overrides the root alignment for this trigger. |
165
+ | `sideOffset` | `number` | Overrides the root offset for this trigger. |
166
+ | `openDelay` | `number` | Overrides the root open delay for this trigger. |
167
+ | `closeDelay` | `number` | Overrides the root close delay for this trigger. |
168
+ | `disabled` | `boolean` | Suppresses tooltip opening for the trigger. |
169
+
170
+ ### `TooltipTriggerDirective` outputs
171
+
172
+ | Output | Type | Notes |
173
+ | -------------- | --------- | ------------------------------------------------------ |
174
+ | `openedChange` | `boolean` | Emits `true` when the tooltip opens, `false` on close. |
175
+
176
+ ### `TooltipTriggerDirective` methods
177
+
178
+ - `open()`: opens the composed tooltip.
179
+ - `close()`: closes the composed tooltip.
180
+
181
+ ### `TooltipContentDirective`
182
+
183
+ - Applied as `ng-template[TooltipContent]`.
184
+ - Supplies the portal content rendered inside the tooltip overlay.
185
+
186
+ ### `TooltipDirective`
187
+
188
+ | Input | Type | Notes |
189
+ | ------------------ | ----------------- | -------------------------------------------------------- |
190
+ | `Tooltip` | `string` | Message rendered inside the tooltip overlay. |
191
+ | `TooltipPosition` | `TooltipPosition` | `left`, `right`, `above`, `below`, `before`, or `after`. |
192
+ | `TooltipDisabled` | `boolean` | Temporarily suppresses tooltip display. |
193
+ | `TooltipShowDelay` | `number` | Delay in milliseconds before the tooltip opens. |
194
+ | `TooltipHideDelay` | `number` | Delay in milliseconds before the tooltip closes. |
195
+
196
+ For the original primitive contract, see the Radix Tooltip API: <https://www.radix-ui.com/primitives/docs/components/tooltip#api-reference>.
197
+
198
+ ## Styling and theming
199
+
200
+ The composed tooltip applies its visual shell directly on the overlay pane and keeps the stable `tooltip-panel` class hook.
201
+
202
+ Projected content inherits the library theme tokens, so small layout helpers such as `inline-flex`, gap utilities, and subtle emphasis classes can be used without rebuilding the panel wrapper.
203
+
204
+ The string directive continues to force the `tooltip-panel` class on the Material tooltip overlay for backward-compatible styling.
205
+
206
+ ## Accessibility
207
+
208
+ - The composed overlay pane uses `role="tooltip"`.
209
+ - Trigger hosts receive `aria-describedby` while the tooltip is open.
210
+ - Tooltip content should stay supplemental and should not be the only place that important instructions live.
211
+ - Use focusable hosts so keyboard users can reveal the tooltip without relying on hover.
212
+ - Disabled controls still need a focusable wrapper if you expect keyboard users to reach the explanation.
213
+
214
+ ## Keyboard interactions
215
+
216
+ - Focusing the trigger opens the tooltip after the configured delay.
217
+ - Moving focus away closes it again.
218
+ - Pressing Escape closes the currently open composed tooltip.
219
+ - Native hosts keep their default Enter and Space behavior.
220
+
221
+ ## Angular notes
222
+
223
+ - Prefer the composition-based surface when you need richer content or closer shadcn parity.
224
+ - Keep the string directive for quick one-line hints or for existing code that already relies on `MatTooltip` semantics.
225
+ - The composed trigger is exported as `TooltipTrigger`, so template refs can call `open()` and `close()` directly.
226
+ - For interactive overlay content, use Popover or Hover Card instead of Tooltip.
227
+
228
+ ## Source parity
229
+
230
+ This Angular version now mirrors the shadcn runtime more closely with an explicit root, trigger, and content surface while preserving a compact Angular convenience directive for minimal text hints.
@@ -1,7 +1,293 @@
1
- export * from '@ojiepermana/angular-chart/area';
1
+ import * as i0 from '@angular/core';
2
+ import { inject, input, output, computed, Component } from '@angular/core';
3
+ import { ChartContext, CartesianContext, CategoricalViewportContext, resolveChartStyle, ChartThemeSpace, resolveChartMargin, DEFAULT_CARTESIAN_MARGIN_UNITS, setupCartesianChart, provideCartesianFromLineLayout, computeAreaLayout, ChartRovingFocus, ChartMarkFocus, ChartDataTable } from '@ojiepermana/angular/chart/core';
4
+ import { ChartPointerTracker } from '@ojiepermana/angular/chart/primitives';
2
5
 
3
- // Generated by scripts/gen-umbrella-entrypoints.mjs — do not edit by hand.
6
+ /**
7
+ * Area chart — composable within `<Chart>`.
8
+ *
9
+ * - `stacked=true` stacks series along the value axis.
10
+ * - `gradient=true` fills each area with a vertical linear-gradient from
11
+ * the series color (top) to transparent (bottom). The gradient is
12
+ * emitted as `<defs><linearGradient>` per series, unique per chart id.
13
+ */
14
+ class AreaChart {
15
+ root = inject(ChartContext);
16
+ cart = inject(CartesianContext);
17
+ viewport = inject(CategoricalViewportContext);
18
+ data = input.required(/* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "data" }] : /* istanbul ignore next */ []));
20
+ xKey = input.required(/* @ts-ignore */
21
+ ...(ngDevMode ? [{ debugName: "xKey" }] : /* istanbul ignore next */ []));
22
+ orientation = input('vertical', /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
24
+ /**
25
+ * Presentational style of the chart.
26
+ *
27
+ * Replaces `styles`, which read like a CSS styles bag rather than a single
28
+ * variant. Named `styleVariant` and not `variant` because `ChartBar` already
29
+ * publishes a `variant` input for its grouped versus stacked axis, and one
30
+ * name cannot mean two things across the family.
31
+ */
32
+ styleVariant = input(undefined, /* @ts-ignore */
33
+ ...(ngDevMode ? [{ debugName: "styleVariant" }] : /* istanbul ignore next */ []));
34
+ /**
35
+ * @deprecated Use `styleVariant`. Still fully supported; when both are bound,
36
+ * `styleVariant` wins. Due for removal in the next major.
37
+ */
38
+ styles = input('base', /* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "styles" }] : /* istanbul ignore next */ []));
40
+ /** The style actually in effect. Bind this, never `styles()`. */
41
+ chartStyle = resolveChartStyle(this.styleVariant, this.styles);
42
+ stacked = input(false, /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "stacked" }] : /* istanbul ignore next */ []));
44
+ expanded = input(false, /* @ts-ignore */
45
+ ...(ngDevMode ? [{ debugName: "expanded" }] : /* istanbul ignore next */ []));
46
+ gradient = input(true, /* @ts-ignore */
47
+ ...(ngDevMode ? [{ debugName: "gradient" }] : /* istanbul ignore next */ []));
48
+ curve = input('monotone', /* @ts-ignore */
49
+ ...(ngDevMode ? [{ debugName: "curve" }] : /* istanbul ignore next */ []));
50
+ themeSpace = inject(ChartThemeSpace);
51
+ /**
52
+ * Plot gutters. Leave it unset and they follow the theme-space density
53
+ * axis; set it and your numbers win, unchanged, whatever the axis says.
54
+ */
55
+ margin = input(null, /* @ts-ignore */
56
+ ...(ngDevMode ? [{ debugName: "margin" }] : /* istanbul ignore next */ []));
57
+ /** The margin actually in effect. Bind this, never `margin()`. */
58
+ plotMargin = resolveChartMargin(this.margin, DEFAULT_CARTESIAN_MARGIN_UNITS, this.themeSpace);
59
+ strokeWidth = input(2, /* @ts-ignore */
60
+ ...(ngDevMode ? [{ debugName: "strokeWidth" }] : /* istanbul ignore next */ []));
61
+ showDots = input(false, /* @ts-ignore */
62
+ ...(ngDevMode ? [{ debugName: "showDots" }] : /* istanbul ignore next */ []));
63
+ dotRadius = input(3, /* @ts-ignore */
64
+ ...(ngDevMode ? [{ debugName: "dotRadius" }] : /* istanbul ignore next */ []));
65
+ pointClick = output();
66
+ /**
67
+ * The shared cartesian scaffolding: geometry, the index window, the layout
68
+ * effect, and the click plus active-point plus aria-label handlers.
69
+ *
70
+ * Declared before `layout` because the layout computed reads its geometry.
71
+ */
72
+ cx = setupCartesianChart({
73
+ data: () => this.data(),
74
+ margin: () => this.plotMargin(),
75
+ cartesian: { context: this.cart, orientation: () => this.orientation() },
76
+ viewport: this.viewport,
77
+ publishLayout: (inner) => provideCartesianFromLineLayout(this.cart, this.layout(), this.orientation(), inner.width, inner.height),
78
+ click: {
79
+ emit: (event) => this.pointClick.emit(event),
80
+ payload: (point, datumIndex, datum) => ({
81
+ seriesKey: point.seriesKey,
82
+ datumIndex,
83
+ category: point.category,
84
+ value: point.value,
85
+ datum,
86
+ }),
87
+ },
88
+ ariaLabel: (point, label) => `${label} at ${point.category}: ${point.value}`,
89
+ });
90
+ layout = computed(() => computeAreaLayout({
91
+ data: this.cx.visibleData(),
92
+ xKey: this.xKey(),
93
+ seriesKeys: this.root.visibleSeriesKeys(),
94
+ orientation: this.orientation(),
95
+ innerWidth: this.cx.innerWidth(),
96
+ innerHeight: this.cx.innerHeight(),
97
+ curve: this.curve(),
98
+ stacked: this.stacked(),
99
+ expanded: this.expanded(),
100
+ }), /* @ts-ignore */
101
+ ...(ngDevMode ? [{ debugName: "layout" }] : /* istanbul ignore next */ []));
102
+ series = computed(() => this.layout().series, /* @ts-ignore */
103
+ ...(ngDevMode ? [{ debugName: "series" }] : /* istanbul ignore next */ []));
104
+ ariaSummary = computed(() => {
105
+ const keys = this.root.visibleSeriesKeys();
106
+ return `Area chart, ${this.cx.visibleData().length} points, ${keys.length} series: ${keys.join(', ')}.`;
107
+ }, /* @ts-ignore */
108
+ ...(ngDevMode ? [{ debugName: "ariaSummary" }] : /* istanbul ignore next */ []));
109
+ dataColumns = computed(() => [this.xKey(), ...this.root.visibleSeriesKeys()], /* @ts-ignore */
110
+ ...(ngDevMode ? [{ debugName: "dataColumns" }] : /* istanbul ignore next */ []));
111
+ gradientId(seriesKey) {
112
+ return `${this.root.id()}-grad-${seriesKey.replace(/[^a-zA-Z0-9_-]/g, '_')}`;
113
+ }
114
+ areaFill(seriesKey, color) {
115
+ return this.gradient() ? `url(#${this.gradientId(seriesKey)})` : color;
116
+ }
117
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AreaChart, deps: [], target: i0.ɵɵFactoryTarget.Component });
118
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.4", type: AreaChart, isStandalone: true, selector: "ChartArea", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, xKey: { classPropertyName: "xKey", publicName: "xKey", isSignal: true, isRequired: true, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, styleVariant: { classPropertyName: "styleVariant", publicName: "styleVariant", isSignal: true, isRequired: false, transformFunction: null }, styles: { classPropertyName: "styles", publicName: "styles", isSignal: true, isRequired: false, transformFunction: null }, stacked: { classPropertyName: "stacked", publicName: "stacked", isSignal: true, isRequired: false, transformFunction: null }, expanded: { classPropertyName: "expanded", publicName: "expanded", isSignal: true, isRequired: false, transformFunction: null }, gradient: { classPropertyName: "gradient", publicName: "gradient", isSignal: true, isRequired: false, transformFunction: null }, curve: { classPropertyName: "curve", publicName: "curve", isSignal: true, isRequired: false, transformFunction: null }, margin: { classPropertyName: "margin", publicName: "margin", isSignal: true, isRequired: false, transformFunction: null }, strokeWidth: { classPropertyName: "strokeWidth", publicName: "strokeWidth", isSignal: true, isRequired: false, transformFunction: null }, showDots: { classPropertyName: "showDots", publicName: "showDots", isSignal: true, isRequired: false, transformFunction: null }, dotRadius: { classPropertyName: "dotRadius", publicName: "dotRadius", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { pointClick: "pointClick" }, host: { properties: { "attr.data-style": "chartStyle()" }, classAttribute: "relative block h-full w-full" }, providers: [CartesianContext, CategoricalViewportContext], ngImport: i0, template: `
119
+ <svg:svg
120
+ ChartPointerTracker
121
+ ChartRovingFocus
122
+ class="block h-full w-full overflow-visible"
123
+ [attr.viewBox]="cx.viewBox()"
124
+ preserveAspectRatio="none"
125
+ role="img"
126
+ [attr.aria-label]="ariaSummary()"
127
+ >
128
+ @if (gradient()) {
129
+ <svg:defs>
130
+ @for (s of series(); track s.seriesKey) {
131
+ <svg:linearGradient [attr.id]="gradientId(s.seriesKey)" x1="0" y1="0" x2="0" y2="1">
132
+ <svg:stop offset="0%" [attr.stop-color]="s.color" stop-opacity="0.4" />
133
+ <svg:stop offset="100%" [attr.stop-color]="s.color" stop-opacity="0" />
134
+ </svg:linearGradient>
135
+ }
136
+ </svg:defs>
137
+ }
138
+ <svg:g [attr.transform]="cx.innerTransform()">
139
+ <!-- The brush hitbox is slotted first so it sits UNDER the marks: it is
140
+ a hit-testable rect, and on top it swallowed every click, hover and
141
+ cursor affordance the dots publish. -->
142
+ <ng-content select="svg:g[ChartBrush]" />
143
+ <ng-content select="svg\\:g[ChartGrid]" />
144
+ <svg:g class="chart-areas">
145
+ @for (s of series(); track s.seriesKey) {
146
+ <svg:path
147
+ class="chart-area"
148
+ [attr.d]="s.areaPath"
149
+ [attr.fill]="areaFill(s.seriesKey, s.color)"
150
+ stroke="none"
151
+ />
152
+ <svg:path
153
+ class="chart-area-stroke"
154
+ [attr.d]="s.linePath"
155
+ [attr.stroke]="s.color"
156
+ [attr.stroke-width]="strokeWidth()"
157
+ fill="none"
158
+ stroke-linecap="round"
159
+ stroke-linejoin="round"
160
+ />
161
+ @if (showDots()) {
162
+ @for (p of s.points; track p.datumIndex) {
163
+ <svg:circle
164
+ ChartMarkFocus
165
+ class="chart-dot cursor-pointer"
166
+ [attr.cx]="p.x"
167
+ [attr.cy]="p.y"
168
+ [attr.r]="dotRadius()"
169
+ [attr.fill]="s.color"
170
+ [attr.aria-label]="cx.pointAriaLabel(p)"
171
+ role="img"
172
+ tabindex="0"
173
+ (focus)="cx.setActivePoint($event, p)"
174
+ (blur)="cx.clearActivePoint()"
175
+ (click)="cx.emitClick(p)"
176
+ (keydown.enter)="cx.emitClick(p)"
177
+ (keydown.space)="cx.emitClick(p); $event.preventDefault()"
178
+ />
179
+ }
180
+ }
181
+ }
182
+ </svg:g>
183
+ <ng-content select="svg\\:g[ChartAxisX]" />
184
+ <ng-content select="svg\\:g[ChartAxisY]" />
185
+ <ng-content select="svg\\:g[ChartCrosshair]" />
186
+ </svg:g>
187
+ </svg:svg>
188
+ <ng-content select="ChartTooltip" />
189
+ <ng-content select="ChartLegend" />
190
+ <ng-content select="ChartZoomControls" />
191
+ <ChartDataTable
192
+ [data]="cx.visibleData()"
193
+ [columns]="dataColumns()"
194
+ [rowHeaderKey]="xKey()"
195
+ [label]="ariaSummary()"
196
+ />
197
+ `, isInline: true, dependencies: [{ kind: "directive", type: ChartPointerTracker, selector: "svg:svg[ChartPointerTracker]" }, { kind: "directive", type: ChartRovingFocus, selector: "svg[ChartRovingFocus]" }, { kind: "directive", type: ChartMarkFocus, selector: "[ChartMarkFocus]" }, { kind: "component", type: ChartDataTable, selector: "ChartDataTable", inputs: ["data", "columns", "label", "rowHeaderKey"] }] });
198
+ }
199
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.4", ngImport: i0, type: AreaChart, decorators: [{
200
+ type: Component,
201
+ args: [{
202
+ selector: 'ChartArea',
203
+ providers: [CartesianContext, CategoricalViewportContext],
204
+ imports: [ChartPointerTracker, ChartRovingFocus, ChartMarkFocus, ChartDataTable],
205
+ host: { class: 'relative block h-full w-full', '[attr.data-style]': 'chartStyle()' },
206
+ template: `
207
+ <svg:svg
208
+ ChartPointerTracker
209
+ ChartRovingFocus
210
+ class="block h-full w-full overflow-visible"
211
+ [attr.viewBox]="cx.viewBox()"
212
+ preserveAspectRatio="none"
213
+ role="img"
214
+ [attr.aria-label]="ariaSummary()"
215
+ >
216
+ @if (gradient()) {
217
+ <svg:defs>
218
+ @for (s of series(); track s.seriesKey) {
219
+ <svg:linearGradient [attr.id]="gradientId(s.seriesKey)" x1="0" y1="0" x2="0" y2="1">
220
+ <svg:stop offset="0%" [attr.stop-color]="s.color" stop-opacity="0.4" />
221
+ <svg:stop offset="100%" [attr.stop-color]="s.color" stop-opacity="0" />
222
+ </svg:linearGradient>
223
+ }
224
+ </svg:defs>
225
+ }
226
+ <svg:g [attr.transform]="cx.innerTransform()">
227
+ <!-- The brush hitbox is slotted first so it sits UNDER the marks: it is
228
+ a hit-testable rect, and on top it swallowed every click, hover and
229
+ cursor affordance the dots publish. -->
230
+ <ng-content select="svg:g[ChartBrush]" />
231
+ <ng-content select="svg\\:g[ChartGrid]" />
232
+ <svg:g class="chart-areas">
233
+ @for (s of series(); track s.seriesKey) {
234
+ <svg:path
235
+ class="chart-area"
236
+ [attr.d]="s.areaPath"
237
+ [attr.fill]="areaFill(s.seriesKey, s.color)"
238
+ stroke="none"
239
+ />
240
+ <svg:path
241
+ class="chart-area-stroke"
242
+ [attr.d]="s.linePath"
243
+ [attr.stroke]="s.color"
244
+ [attr.stroke-width]="strokeWidth()"
245
+ fill="none"
246
+ stroke-linecap="round"
247
+ stroke-linejoin="round"
248
+ />
249
+ @if (showDots()) {
250
+ @for (p of s.points; track p.datumIndex) {
251
+ <svg:circle
252
+ ChartMarkFocus
253
+ class="chart-dot cursor-pointer"
254
+ [attr.cx]="p.x"
255
+ [attr.cy]="p.y"
256
+ [attr.r]="dotRadius()"
257
+ [attr.fill]="s.color"
258
+ [attr.aria-label]="cx.pointAriaLabel(p)"
259
+ role="img"
260
+ tabindex="0"
261
+ (focus)="cx.setActivePoint($event, p)"
262
+ (blur)="cx.clearActivePoint()"
263
+ (click)="cx.emitClick(p)"
264
+ (keydown.enter)="cx.emitClick(p)"
265
+ (keydown.space)="cx.emitClick(p); $event.preventDefault()"
266
+ />
267
+ }
268
+ }
269
+ }
270
+ </svg:g>
271
+ <ng-content select="svg\\:g[ChartAxisX]" />
272
+ <ng-content select="svg\\:g[ChartAxisY]" />
273
+ <ng-content select="svg\\:g[ChartCrosshair]" />
274
+ </svg:g>
275
+ </svg:svg>
276
+ <ng-content select="ChartTooltip" />
277
+ <ng-content select="ChartLegend" />
278
+ <ng-content select="ChartZoomControls" />
279
+ <ChartDataTable
280
+ [data]="cx.visibleData()"
281
+ [columns]="dataColumns()"
282
+ [rowHeaderKey]="xKey()"
283
+ [label]="ariaSummary()"
284
+ />
285
+ `,
286
+ }]
287
+ }], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: true }] }], xKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "xKey", required: true }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], styleVariant: [{ type: i0.Input, args: [{ isSignal: true, alias: "styleVariant", required: false }] }], styles: [{ type: i0.Input, args: [{ isSignal: true, alias: "styles", required: false }] }], stacked: [{ type: i0.Input, args: [{ isSignal: true, alias: "stacked", required: false }] }], expanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "expanded", required: false }] }], gradient: [{ type: i0.Input, args: [{ isSignal: true, alias: "gradient", required: false }] }], curve: [{ type: i0.Input, args: [{ isSignal: true, alias: "curve", required: false }] }], margin: [{ type: i0.Input, args: [{ isSignal: true, alias: "margin", required: false }] }], strokeWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "strokeWidth", required: false }] }], showDots: [{ type: i0.Input, args: [{ isSignal: true, alias: "showDots", required: false }] }], dotRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "dotRadius", required: false }] }], pointClick: [{ type: i0.Output, args: ["pointClick"] }] } });
4
288
 
5
289
  /**
6
290
  * Generated bundle index. Do not edit.
7
- */
291
+ */
292
+
293
+ export { AreaChart };