@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,248 @@
1
- export * from '@ojiepermana/angular-component/dropdown-menu';
1
+ import * as _angular_core from '@angular/core';
2
+ import { InjectionToken, TemplateRef, AfterContentInit } from '@angular/core';
3
+ import * as i1 from '@ojiepermana/angular/component/utils/scale';
4
+ import { ComponentScaleDirective } from '@ojiepermana/angular/component/utils/scale';
5
+ import { OverlayAlign, OverlaySide } from '@ojiepermana/angular/component/utils/overlay';
6
+
7
+ type MenuItemVariant = 'default' | 'destructive';
8
+ declare abstract class MenuFocusableItem {
9
+ private readonly el;
10
+ /** Present whenever the item is rendered inside a `MenuTrigger` overlay. */
11
+ private readonly overlay;
12
+ /** True when this same element also opens a submenu. */
13
+ private readonly opensSubmenu;
14
+ readonly disabledInput: _angular_core.InputSignal<boolean>;
15
+ readonly inset: _angular_core.InputSignal<boolean>;
16
+ readonly class: _angular_core.InputSignal<string>;
17
+ readonly variant: _angular_core.InputSignal<MenuItemVariant>;
18
+ readonly selected: _angular_core.OutputEmitterRef<MouseEvent | KeyboardEvent>;
19
+ get disabled(): boolean;
20
+ focus(): void;
21
+ getLabel(): string;
22
+ protected buildItemClasses(extraClass?: string): string;
23
+ /**
24
+ * Consume the keystroke that activated the item.
25
+ *
26
+ * Items render on `button` hosts, and a button turns Enter and Space into an
27
+ * activation click of its own. With `(click)` and `(keydown.enter|space)` both
28
+ * wired to the same handler that click runs the handler a SECOND time: a
29
+ * checkbox toggled on keydown flipped straight back, so `aria-checked` never
30
+ * moved, and a plain item emitted `selected` twice whenever the menu was told
31
+ * not to close. Preventing the default suppresses the synthesised click, which
32
+ * leaves exactly one activation per keystroke on native and non-native hosts
33
+ * alike. It also stops Space from scrolling the page behind the menu.
34
+ */
35
+ protected emitSelection(event: MouseEvent | KeyboardEvent): boolean;
36
+ /**
37
+ * Close the menu and return focus to the trigger, which is the menu pattern.
38
+ *
39
+ * Call this AFTER the item has updated its own state: closing tears down the
40
+ * overlay view, and a checkbox or radio that wrote its model afterwards would
41
+ * never propagate the change. A consumer that already closes the menu by hand
42
+ * is fine, closing twice is a no-op.
43
+ */
44
+ protected finishSelection(): void;
45
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuFocusableItem, never>;
46
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuFocusableItem, never, never, { "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, { "selected": "selected"; }, never, never, true, never>;
47
+ }
48
+ declare class MenuGroupComponent {
49
+ readonly class: _angular_core.InputSignal<string>;
50
+ protected readonly classes: _angular_core.Signal<string>;
51
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuGroupComponent, never>;
52
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuGroupComponent, "MenuGroup", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
53
+ }
54
+ declare abstract class MenuRadioGroupBase {
55
+ abstract isChecked(value: string): boolean;
56
+ abstract select(value: string): void;
57
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioGroupBase, never>;
58
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuRadioGroupBase, never, never, {}, {}, never, never, true, never>;
59
+ }
60
+ declare class MenuRadioGroupComponent extends MenuRadioGroupBase {
61
+ readonly value: _angular_core.ModelSignal<string | null>;
62
+ readonly class: _angular_core.InputSignal<string>;
63
+ protected readonly classes: _angular_core.Signal<string>;
64
+ isChecked(value: string): boolean;
65
+ select(value: string): void;
66
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioGroupComponent, never>;
67
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioGroupComponent, "MenuRadioGroup", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; }, never, ["*"], true, never>;
68
+ }
69
+ declare class MenuItemComponent extends MenuFocusableItem {
70
+ protected readonly classes: _angular_core.Signal<string>;
71
+ protected handleClick(e: MouseEvent | KeyboardEvent): void;
72
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuItemComponent, never>;
73
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuItemComponent, "MenuItem, button[MenuItem]", never, {}, {}, never, ["*"], true, never>;
74
+ }
75
+ declare class MenuCheckboxItemComponent extends MenuFocusableItem {
76
+ readonly checked: _angular_core.ModelSignal<boolean>;
77
+ protected readonly classes: _angular_core.Signal<string>;
78
+ protected toggle(event: MouseEvent | KeyboardEvent): void;
79
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuCheckboxItemComponent, never>;
80
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuCheckboxItemComponent, "MenuCheckboxItem, button[MenuCheckboxItem]", never, { "checked": { "alias": "checked"; "required": false; "isSignal": true; }; }, { "checked": "checkedChange"; }, never, ["*"], true, never>;
81
+ }
82
+ declare class MenuRadioItemComponent extends MenuFocusableItem {
83
+ private readonly group;
84
+ readonly value: _angular_core.InputSignal<string>;
85
+ protected readonly checked: _angular_core.Signal<boolean>;
86
+ protected readonly classes: _angular_core.Signal<string>;
87
+ protected select(event: MouseEvent | KeyboardEvent): void;
88
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuRadioItemComponent, never>;
89
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuRadioItemComponent, "MenuRadioItem, button[MenuRadioItem]", never, { "value": { "alias": "value"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
90
+ }
91
+ declare class MenuSeparatorComponent {
92
+ readonly class: _angular_core.InputSignal<string>;
93
+ protected readonly classes: _angular_core.Signal<string>;
94
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSeparatorComponent, never>;
95
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuSeparatorComponent, "MenuSeparator", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
96
+ }
97
+ declare class MenuLabelComponent {
98
+ readonly inset: _angular_core.InputSignal<boolean>;
99
+ readonly class: _angular_core.InputSignal<string>;
100
+ protected readonly classes: _angular_core.Signal<string>;
101
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuLabelComponent, never>;
102
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuLabelComponent, "MenuLabel", never, { "inset": { "alias": "inset"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
103
+ }
104
+ declare class MenuShortcutComponent {
105
+ readonly class: _angular_core.InputSignal<string>;
106
+ protected readonly classes: _angular_core.Signal<string>;
107
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuShortcutComponent, never>;
108
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuShortcutComponent, "MenuShortcut, span[MenuShortcut]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
109
+ }
110
+
111
+ /**
112
+ * Internal bridge from a menu surface (and its items) back to the trigger that
113
+ * opened it.
114
+ *
115
+ * The surface lives in a CDK overlay, rendered from an `<ng-template MenuContent>`
116
+ * that is declared in the consumer's template. Its own injector chain therefore
117
+ * leads to the consumer component, not to the trigger. The trigger closes that
118
+ * gap by handing this controller to the template portal's injector, so the
119
+ * surface can close itself, restore focus, and label itself without the consumer
120
+ * wiring anything up.
121
+ *
122
+ * Published only so another entry point can render the same surface and honour
123
+ * the same contract: `Menubar` reuses `MenuSurface` and `MenuItem`, so without
124
+ * this its menus would not close on select and would carry no `aria-labelledby`.
125
+ * It is a coordination token between library entry points, not something a
126
+ * consumer needs to provide or inject.
127
+ */
128
+ interface MenuOverlayController {
129
+ /** Id given to the surface element, so the trigger can point `aria-controls` at it. */
130
+ readonly surfaceId: string;
131
+ /** Id of the trigger element, so the surface can point `aria-labelledby` back. */
132
+ readonly triggerId: string;
133
+ /**
134
+ * True when this menu was opened from an item of another menu.
135
+ *
136
+ * It is what tells the surface whether ArrowLeft is its own key. A submenu
137
+ * closes on ArrowLeft and hands focus back to the item that opened it; a root
138
+ * menu must let the key through, because the row of menus above it (a
139
+ * `Menubar`) uses left and right to walk between menus.
140
+ */
141
+ readonly isSubmenu: boolean;
142
+ /** Close the overlay and hand focus back to the trigger. Safe to call twice. */
143
+ close(): void;
144
+ /** Close after an item was chosen, unless this menu opted out with `closeOnSelect`. */
145
+ closeAfterSelect(): void;
146
+ }
147
+ declare const MENU_OVERLAY: InjectionToken<MenuOverlayController>;
148
+ /**
149
+ * Marker every `MenuTrigger` provides on its own element.
150
+ *
151
+ * A submenu is a menu item that also opens a menu. Choosing it must open the
152
+ * submenu, not close the menu it lives in, so an item that finds this marker on
153
+ * itself skips the close-after-select step.
154
+ */
155
+ declare const MENU_SUBMENU_TRIGGER: InjectionToken<boolean>;
156
+
157
+ /**
158
+ * Surface rendered inside the overlay. Hosts keyboard navigation for its items.
159
+ */
160
+ declare class MenuSurfaceComponent implements AfterContentInit {
161
+ readonly class: _angular_core.InputSignal<string>;
162
+ private readonly items;
163
+ /** Present whenever the surface is rendered by a `MenuTrigger`. */
164
+ private readonly overlay;
165
+ /**
166
+ * Emitted when the surface asks to be closed (today: on Tab). The trigger now
167
+ * closes itself, so consumers no longer have to wire this up; it stays for
168
+ * anyone who already listens to it.
169
+ */
170
+ readonly closeRequested: _angular_core.OutputEmitterRef<void>;
171
+ /** Tied to the trigger's `aria-controls`, so the pair references each other. */
172
+ readonly surfaceId: string;
173
+ /** Names the menu after the control that opened it. */
174
+ readonly labelledBy: string | null;
175
+ private keyManager;
176
+ protected readonly classes: _angular_core.Signal<string>;
177
+ ngAfterContentInit(): void;
178
+ protected onArrow(e: KeyboardEvent, delta: number): void;
179
+ protected onArrowLeft(e: KeyboardEvent): void;
180
+ protected onHome(e: KeyboardEvent): void;
181
+ protected onEnd(e: KeyboardEvent): void;
182
+ protected onTypeAhead(e: KeyboardEvent): void;
183
+ protected onTab(e: KeyboardEvent): void;
184
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuSurfaceComponent, never>;
185
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MenuSurfaceComponent, "MenuSurface", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "closeRequested": "closeRequested"; }, ["items"], ["*"], true, [{ directive: typeof i1.ComponentScaleDirective; inputs: { "radius": "radius"; "density": "density"; }; outputs: {}; }]>;
186
+ }
187
+ /**
188
+ * Wraps an `<ng-template>` that holds `<MenuSurface>` + items.
189
+ */
190
+ declare class MenuContentDirective {
191
+ protected readonly componentScale: ComponentScaleDirective;
192
+ readonly radius: _angular_core.InputSignal<"inherit" | "none" | "xs" | "sm" | "md" | "xl" | "full">;
193
+ readonly density: _angular_core.InputSignal<"inherit" | "compact" | "normal" | "relaxed" | "spacious">;
194
+ readonly template: TemplateRef<unknown>;
195
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuContentDirective, never>;
196
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuContentDirective, "ng-template[MenuContent]", ["MenuContent"], {}, {}, never, never, true, [{ directive: typeof i1.ComponentScaleDirective; inputs: { "radius": "radius"; "density": "density"; }; outputs: {}; }]>;
197
+ }
198
+
199
+ type MenuSide = OverlaySide;
200
+ type MenuAlign = OverlayAlign;
201
+ /**
202
+ * Opens an `<ng-template MenuContent>` anchored to the trigger element.
203
+ */
204
+ declare class MenuTriggerDirective {
205
+ private readonly overlay;
206
+ private readonly vcr;
207
+ private readonly el;
208
+ private readonly destroyRef;
209
+ private readonly injector;
210
+ /**
211
+ * The controller of the menu this trigger lives in, if any. Present only when
212
+ * the trigger is itself an item of another menu, which is exactly what makes
213
+ * the menu it opens a submenu.
214
+ */
215
+ private readonly parentMenu;
216
+ readonly MenuTrigger: _angular_core.InputSignal<MenuContentDirective>;
217
+ readonly side: _angular_core.InputSignal<OverlaySide>;
218
+ readonly align: _angular_core.InputSignal<OverlayAlign>;
219
+ readonly disabled: _angular_core.InputSignal<boolean>;
220
+ /**
221
+ * Close the menu when an item is chosen, which is the WAI ARIA menu pattern
222
+ * and the default here. Set it to `false` for a menu that stays open, for
223
+ * example a list of checkbox items the user toggles several of in a row.
224
+ */
225
+ readonly closeOnSelect: _angular_core.InputSignal<boolean>;
226
+ /**
227
+ * Id used for `aria-controls` and for the surface's `aria-labelledby`. A
228
+ * consumer's own `id` on the trigger element always wins.
229
+ */
230
+ readonly triggerId: string;
231
+ readonly surfaceId: string;
232
+ readonly openedChange: _angular_core.OutputEmitterRef<boolean>;
233
+ private overlayRef;
234
+ readonly isOpen: _angular_core.WritableSignal<boolean>;
235
+ constructor();
236
+ toggle(): void;
237
+ protected openAndFocus(e: KeyboardEvent): void;
238
+ protected openForSide(e: KeyboardEvent, side: MenuSide): void;
239
+ open(): void;
240
+ close(options?: {
241
+ restoreFocus?: boolean;
242
+ }): void;
243
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MenuTriggerDirective, never>;
244
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MenuTriggerDirective, "[MenuTrigger]", ["MenuTrigger"], { "MenuTrigger": { "alias": "MenuTrigger"; "required": true; "isSignal": true; }; "side": { "alias": "side"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; }, { "openedChange": "openedChange"; }, never, never, true, never>;
245
+ }
246
+
247
+ export { MENU_OVERLAY, MENU_SUBMENU_TRIGGER, MenuCheckboxItemComponent, MenuContentDirective, MenuFocusableItem, MenuGroupComponent, MenuItemComponent, MenuLabelComponent, MenuRadioGroupBase, MenuRadioGroupComponent, MenuRadioItemComponent, MenuSeparatorComponent, MenuShortcutComponent, MenuSurfaceComponent, MenuTriggerDirective };
248
+ export type { MenuAlign, MenuItemVariant, MenuOverlayController, MenuSide };
@@ -1 +1,135 @@
1
- export * from '@ojiepermana/angular-component/editor';
1
+ import * as _angular_core from '@angular/core';
2
+ import { AfterViewInit, OnDestroy, InjectionToken } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+
5
+ type EditorCommand = 'paragraph' | 'heading-1' | 'heading-2' | 'heading-3' | 'bold' | 'italic' | 'underline' | 'strike' | 'bullet' | 'ordered' | 'blockquote' | 'subscript' | 'superscript' | 'highlight' | 'link' | 'code' | 'align-left' | 'align-center' | 'align-right' | 'undo' | 'redo';
6
+ type EditorCommandSource = 'api' | 'toolbar' | 'shortcut';
7
+ interface EditorCommandEvent {
8
+ readonly command: EditorCommand;
9
+ readonly source: EditorCommandSource;
10
+ readonly originalEvent?: Event;
11
+ }
12
+ type EditorToolbarPart = {
13
+ readonly type: 'button';
14
+ readonly command: EditorCommand;
15
+ readonly label: string;
16
+ readonly ariaLabel: string;
17
+ } | {
18
+ readonly type: 'heading';
19
+ readonly track: string;
20
+ } | {
21
+ readonly type: 'align';
22
+ readonly track: string;
23
+ } | {
24
+ readonly type: 'separator';
25
+ readonly track: string;
26
+ } | {
27
+ readonly type: 'spacer';
28
+ readonly track: string;
29
+ };
30
+ declare class EditorComponent {
31
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
32
+ readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
33
+ readonly class: _angular_core.InputSignal<string>;
34
+ readonly commandSelected: _angular_core.OutputEmitterRef<EditorCommandEvent>;
35
+ private content;
36
+ protected readonly classes: _angular_core.Signal<string>;
37
+ protected readonly shellClasses: _angular_core.Signal<string>;
38
+ execute(command: EditorCommand, source?: EditorCommandSource, originalEvent?: Event): void;
39
+ registerContent(content: EditorContentComponent): void;
40
+ unregisterContent(content: EditorContentComponent): void;
41
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorComponent, never>;
42
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorComponent, "Editor", never, { "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "commandSelected": "commandSelected"; }, never, ["EditorToolbar", "EditorContent"], true, never>;
43
+ }
44
+ declare class EditorToolbarComponent {
45
+ private readonly editor;
46
+ readonly items: _angular_core.InputSignal<string>;
47
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
48
+ readonly ariaLabel: _angular_core.InputSignal<string>;
49
+ readonly class: _angular_core.InputSignal<string>;
50
+ protected readonly buttonClasses: string;
51
+ protected readonly selectClasses: string;
52
+ protected readonly disabled: _angular_core.Signal<boolean>;
53
+ protected readonly parts: _angular_core.Signal<EditorToolbarPart[]>;
54
+ protected readonly classes: _angular_core.Signal<string>;
55
+ protected execute(command: EditorCommand, event: MouseEvent): void;
56
+ protected handleSelect(event: Event): void;
57
+ protected readonly preserveSelection: (event: MouseEvent) => void;
58
+ protected trackPart(part: EditorToolbarPart, index: number): string;
59
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorToolbarComponent, never>;
60
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorToolbarComponent, "EditorToolbar", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
61
+ }
62
+ declare class EditorButtonComponent {
63
+ private readonly editor;
64
+ readonly command: _angular_core.InputSignal<EditorCommand | null>;
65
+ readonly pressed: _angular_core.InputSignal<boolean | null>;
66
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
67
+ readonly tooltip: _angular_core.InputSignal<string>;
68
+ readonly class: _angular_core.InputSignal<string>;
69
+ protected readonly disabled: _angular_core.Signal<boolean>;
70
+ protected readonly classes: _angular_core.Signal<string>;
71
+ protected handleClick(event: MouseEvent): void;
72
+ protected readonly preserveSelection: (event: MouseEvent) => void;
73
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorButtonComponent, never>;
74
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorButtonComponent, "button[EditorButton]", never, { "command": { "alias": "command"; "required": false; "isSignal": true; }; "pressed": { "alias": "pressed"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
75
+ }
76
+ declare class EditorSeparatorComponent {
77
+ readonly class: _angular_core.InputSignal<string>;
78
+ protected readonly classes: _angular_core.Signal<string>;
79
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorSeparatorComponent, never>;
80
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorSeparatorComponent, "EditorSeparator", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
81
+ }
82
+ declare class EditorSpacerComponent {
83
+ readonly class: _angular_core.InputSignal<string>;
84
+ protected readonly classes: _angular_core.Signal<string>;
85
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorSpacerComponent, never>;
86
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorSpacerComponent, "EditorSpacer", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
87
+ }
88
+ declare class EditorContentComponent implements AfterViewInit, OnDestroy, ControlValueAccessor {
89
+ private readonly el;
90
+ private readonly editor;
91
+ private readonly document;
92
+ private readonly sanitizeHtml;
93
+ readonly placeholder: _angular_core.InputSignal<string>;
94
+ readonly ariaLabel: _angular_core.InputSignal<string>;
95
+ readonly disabledInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
96
+ readonly invalidInput: _angular_core.InputSignalWithTransform<boolean, unknown>;
97
+ readonly class: _angular_core.InputSignal<string>;
98
+ private readonly disabledState;
99
+ protected readonly empty: _angular_core.WritableSignal<boolean>;
100
+ protected readonly disabled: _angular_core.Signal<boolean>;
101
+ protected readonly invalid: _angular_core.Signal<boolean>;
102
+ protected readonly classes: _angular_core.Signal<string>;
103
+ private lastKnownValue;
104
+ private onChange;
105
+ private onTouched;
106
+ ngAfterViewInit(): void;
107
+ ngOnDestroy(): void;
108
+ writeValue(value: string | null): void;
109
+ registerOnChange(fn: (value: string) => void): void;
110
+ registerOnTouched(fn: () => void): void;
111
+ setDisabledState(isDisabled: boolean): void;
112
+ execute(command: EditorCommand): void;
113
+ focus(): void;
114
+ protected handleInput(): void;
115
+ private setSanitizedValue;
116
+ protected handleBlur(): void;
117
+ protected handleKeydown(event: KeyboardEvent): void;
118
+ private exec;
119
+ private highlightColor;
120
+ private syncEmptyState;
121
+ private shortcutCommand;
122
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EditorContentComponent, never>;
123
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EditorContentComponent, "EditorContent", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "aria-label"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "invalidInput": { "alias": "aria-invalid"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
124
+ }
125
+
126
+ /** Sanitizes HTML before it enters or leaves an editable editor surface. */
127
+ type EditorHtmlSanitizer = (html: string) => string;
128
+ /**
129
+ * Override this token when an application needs a stricter allow-list than
130
+ * Angular's platform HTML sanitizer.
131
+ */
132
+ declare const EDITOR_HTML_SANITIZER: InjectionToken<EditorHtmlSanitizer>;
133
+
134
+ export { EDITOR_HTML_SANITIZER, EditorButtonComponent, EditorComponent, EditorContentComponent, EditorSeparatorComponent, EditorSpacerComponent, EditorToolbarComponent };
135
+ export type { EditorCommand, EditorCommandEvent, EditorCommandSource, EditorHtmlSanitizer };
@@ -1 +1,50 @@
1
- export * from '@ojiepermana/angular-component/empty';
1
+ import * as _angular_core from '@angular/core';
2
+ import * as class_variance_authority_types from 'class-variance-authority/types';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const emptyVariants: (props?: class_variance_authority_types.ClassProp | undefined) => string;
6
+ declare const emptyMediaVariants: (props?: ({
7
+ variant?: "default" | "icon" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ type EmptyMediaVariant = NonNullable<VariantProps<typeof emptyMediaVariants>['variant']>;
10
+
11
+ declare class EmptyComponent {
12
+ readonly class: _angular_core.InputSignal<string>;
13
+ protected readonly classes: _angular_core.Signal<string>;
14
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyComponent, never>;
15
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyComponent, "Empty", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
16
+ }
17
+ declare class EmptyHeaderComponent {
18
+ readonly class: _angular_core.InputSignal<string>;
19
+ protected readonly classes: _angular_core.Signal<string>;
20
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyHeaderComponent, never>;
21
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyHeaderComponent, "EmptyHeader", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
22
+ }
23
+ declare class EmptyMediaComponent {
24
+ readonly variant: _angular_core.InputSignal<EmptyMediaVariant>;
25
+ readonly class: _angular_core.InputSignal<string>;
26
+ protected readonly classes: _angular_core.Signal<string>;
27
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyMediaComponent, never>;
28
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyMediaComponent, "EmptyMedia", never, { "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
29
+ }
30
+ declare class EmptyTitleComponent {
31
+ readonly class: _angular_core.InputSignal<string>;
32
+ protected readonly classes: _angular_core.Signal<string>;
33
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyTitleComponent, never>;
34
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyTitleComponent, "EmptyTitle", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
35
+ }
36
+ declare class EmptyDescriptionComponent {
37
+ readonly class: _angular_core.InputSignal<string>;
38
+ protected readonly classes: _angular_core.Signal<string>;
39
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyDescriptionComponent, never>;
40
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyDescriptionComponent, "EmptyDescription", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
41
+ }
42
+ declare class EmptyContentComponent {
43
+ readonly class: _angular_core.InputSignal<string>;
44
+ protected readonly classes: _angular_core.Signal<string>;
45
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<EmptyContentComponent, never>;
46
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EmptyContentComponent, "EmptyContent", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
47
+ }
48
+
49
+ export { EmptyComponent, EmptyContentComponent, EmptyDescriptionComponent, EmptyHeaderComponent, EmptyMediaComponent, EmptyTitleComponent, emptyMediaVariants, emptyVariants };
50
+ export type { EmptyMediaVariant };
@@ -1 +1,159 @@
1
- export * from '@ojiepermana/angular-component/form';
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnInit, OnDestroy, AfterViewInit } from '@angular/core';
3
+ import { AbstractControl } from '@angular/forms';
4
+
5
+ /**
6
+ * Backing store for a single `<FormField>`. Provided on the component
7
+ * so descendant parts (label, description, message, control) can inject it.
8
+ */
9
+ declare class FormFieldContext {
10
+ readonly controlId: string;
11
+ readonly labelId: string;
12
+ readonly descriptionId: string;
13
+ readonly messageId: string;
14
+ readonly control: _angular_core.WritableSignal<AbstractControl<any, any, any> | null>;
15
+ readonly manualInvalid: _angular_core.WritableSignal<boolean>;
16
+ readonly hasLabel: _angular_core.WritableSignal<boolean>;
17
+ readonly hasDescription: _angular_core.WritableSignal<boolean>;
18
+ readonly hasMessage: _angular_core.WritableSignal<boolean>;
19
+ /**
20
+ * `aria-labelledby` for the control. `<FormLabel>` renders as a custom element,
21
+ * so the native `for`/`id` pairing does not associate it — point the control at
22
+ * the label's id explicitly so it has an accessible name (axe `select-name`/`label`).
23
+ */
24
+ readonly labelledBy: _angular_core.Signal<string | null>;
25
+ private readonly statusTick;
26
+ readonly invalid: _angular_core.Signal<boolean>;
27
+ readonly firstError: _angular_core.Signal<string | null>;
28
+ readonly describedBy: _angular_core.Signal<string | null>;
29
+ constructor();
30
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormFieldContext, never>;
31
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<FormFieldContext>;
32
+ }
33
+
34
+ /**
35
+ * Groups a label, control, description, and validation message.
36
+ * Provides ids + invalid state to descendants via {@link FormFieldContext}.
37
+ */
38
+ declare class FormFieldComponent {
39
+ protected readonly ctx: FormFieldContext;
40
+ readonly class: _angular_core.InputSignal<string>;
41
+ readonly orientation: _angular_core.InputSignal<"vertical" | "horizontal" | "responsive">;
42
+ readonly invalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
43
+ protected readonly classes: _angular_core.Signal<string>;
44
+ constructor();
45
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormFieldComponent, never>;
46
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldComponent, "FormField", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "orientation": { "alias": "orientation"; "required": false; "isSignal": true; }; "invalid": { "alias": "invalid"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
47
+ }
48
+
49
+ declare class FormFieldsetComponent {
50
+ readonly class: _angular_core.InputSignal<string>;
51
+ protected readonly classes: _angular_core.Signal<string>;
52
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormFieldsetComponent, never>;
53
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormFieldsetComponent, "FormFieldset, fieldset[FormFieldset]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
54
+ }
55
+
56
+ declare class FormLegendComponent {
57
+ readonly class: _angular_core.InputSignal<string>;
58
+ readonly variant: _angular_core.InputSignal<"legend" | "label">;
59
+ protected readonly classes: _angular_core.Signal<string>;
60
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormLegendComponent, never>;
61
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormLegendComponent, "FormLegend, legend[FormLegend]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
62
+ }
63
+
64
+ declare class FormGroupComponent {
65
+ readonly class: _angular_core.InputSignal<string>;
66
+ protected readonly classes: _angular_core.Signal<string>;
67
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormGroupComponent, never>;
68
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormGroupComponent, "FormGroup", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
69
+ }
70
+
71
+ declare class FormSeparatorComponent {
72
+ readonly class: _angular_core.InputSignal<string>;
73
+ protected readonly classes: _angular_core.Signal<string>;
74
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormSeparatorComponent, never>;
75
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormSeparatorComponent, "FormSeparator", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
76
+ }
77
+
78
+ declare class FormContentComponent {
79
+ readonly class: _angular_core.InputSignal<string>;
80
+ protected readonly classes: _angular_core.Signal<string>;
81
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormContentComponent, never>;
82
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormContentComponent, "FormContent", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
83
+ }
84
+
85
+ declare class FormTitleComponent {
86
+ readonly class: _angular_core.InputSignal<string>;
87
+ protected readonly classes: _angular_core.Signal<string>;
88
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormTitleComponent, never>;
89
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormTitleComponent, "FormTitle", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
90
+ }
91
+
92
+ declare class FormLabelComponent implements OnInit, OnDestroy {
93
+ protected readonly ctx: FormFieldContext;
94
+ readonly class: _angular_core.InputSignal<string>;
95
+ protected readonly classes: _angular_core.Signal<string>;
96
+ ngOnInit(): void;
97
+ ngOnDestroy(): void;
98
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormLabelComponent, never>;
99
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormLabelComponent, "FormLabel, label[FormLabel]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
100
+ }
101
+
102
+ declare class FormDescriptionComponent implements OnInit, OnDestroy {
103
+ protected readonly ctx: FormFieldContext | null;
104
+ readonly class: _angular_core.InputSignal<string>;
105
+ protected readonly classes: _angular_core.Signal<string>;
106
+ protected readonly descriptionId: _angular_core.Signal<string | null>;
107
+ ngOnInit(): void;
108
+ ngOnDestroy(): void;
109
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormDescriptionComponent, never>;
110
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormDescriptionComponent, "FormDescription, p[FormDescription]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
111
+ }
112
+
113
+ type FormErrorMessageResolver = (errorKey: string, errorValue: unknown, control: AbstractControl | null) => string;
114
+ /** Default human-readable messages for Angular's built-in validators. */
115
+ declare const defaultFormErrorMessageResolver: FormErrorMessageResolver;
116
+
117
+ /**
118
+ * Renders validation errors for the field's control.
119
+ * By default, surfaces the first error key. Provide custom content to override.
120
+ */
121
+ declare class FormMessageComponent implements OnInit, OnDestroy {
122
+ protected readonly ctx: FormFieldContext;
123
+ readonly class: _angular_core.InputSignal<string>;
124
+ readonly errorMessageResolver: _angular_core.InputSignal<FormErrorMessageResolver>;
125
+ protected readonly show: _angular_core.Signal<boolean>;
126
+ protected readonly message: _angular_core.Signal<string>;
127
+ protected readonly classes: _angular_core.Signal<string>;
128
+ ngOnInit(): void;
129
+ ngOnDestroy(): void;
130
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormMessageComponent, never>;
131
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<FormMessageComponent, "FormMessage, p[FormMessage]", never, { "class": { "alias": "class"; "required": false; "isSignal": true; }; "errorMessageResolver": { "alias": "errorMessageResolver"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
132
+ }
133
+
134
+ /**
135
+ * Attach to the native form control inside a `<FormField>` to auto-wire:
136
+ * - `id` ↔ `<FormLabel for>`
137
+ * - `aria-describedby` ↔ description + error message
138
+ * - `aria-invalid` ↔ control validity (after touch/dirty)
139
+ *
140
+ * @example
141
+ * <FormField>
142
+ * <FormLabel>Email</FormLabel>
143
+ * <input Input FormControl [formControl]="email" />
144
+ * <FormDescription>We'll never share it.</FormDescription>
145
+ * <FormMessage />
146
+ * </FormField>
147
+ */
148
+ declare class FormControlDirective implements OnInit, AfterViewInit {
149
+ protected readonly ctx: FormFieldContext;
150
+ private readonly ngControl;
151
+ ngOnInit(): void;
152
+ ngAfterViewInit(): void;
153
+ private publishControl;
154
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<FormControlDirective, never>;
155
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FormControlDirective, "[FormControl]", never, {}, {}, never, never, true, never>;
156
+ }
157
+
158
+ export { FormContentComponent, FormControlDirective, FormDescriptionComponent, FormFieldComponent, FormFieldContext, FormFieldsetComponent, FormGroupComponent, FormLabelComponent, FormLegendComponent, FormMessageComponent, FormSeparatorComponent, FormTitleComponent, defaultFormErrorMessageResolver };
159
+ export type { FormErrorMessageResolver };