@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,216 @@
1
+ # Form primitives
2
+
3
+ The shadcn `Field` family maps to this entrypoint. Use it to compose labels,
4
+ descriptions, grouped sections, separators, validation messages, and responsive
5
+ field rows around the existing `input`, `textarea`, `select`, `checkbox`,
6
+ `radio`, `switch`, and `button` primitives.
7
+
8
+ ## Import
9
+
10
+ ```ts
11
+ import {
12
+ FormContentComponent,
13
+ FormControlDirective,
14
+ FormDescriptionComponent,
15
+ FormFieldComponent,
16
+ FormFieldsetComponent,
17
+ FormGroupComponent,
18
+ FormLabelComponent,
19
+ FormLegendComponent,
20
+ FormMessageComponent,
21
+ FormSeparatorComponent,
22
+ FormTitleComponent,
23
+ defaultFormErrorMessageResolver,
24
+ type FormErrorMessageResolver,
25
+ } from '@ojiepermana/angular/component/form';
26
+ ```
27
+
28
+ ## Composition
29
+
30
+ Use the primitives in these roles:
31
+
32
+ | Upstream concept | Local Angular surface |
33
+ | ------------------ | ----------------------------------------------------------------------------------------------- |
34
+ | `Field` | `FormField` |
35
+ | `FieldSet` | `fieldset[FormFieldset]` |
36
+ | `FieldLegend` | `legend[FormLegend]` |
37
+ | `FieldGroup` | `FormGroup` |
38
+ | `FieldContent` | `FormContent` |
39
+ | `FieldLabel` | `label[FormLabel]` for native controls, `label[Label]` wrappers for checkbox/radio/switch cards |
40
+ | `FieldTitle` | `FormTitle` |
41
+ | `FieldDescription` | `p[FormDescription]` |
42
+ | `FieldSeparator` | `FormSeparator` |
43
+ | `FieldError` | `p[FormMessage]` |
44
+
45
+ ## Basic Usage
46
+
47
+ For native inputs and textareas, pair `label[FormLabel]` with
48
+ `[FormControl]` so ids and helper text stay synchronized.
49
+
50
+ ```html
51
+ <FormField>
52
+ <label FormLabel>Email</label>
53
+ <input Input FormControl type="email" placeholder="you@example.com" />
54
+ <p FormDescription>We'll only use this address for account updates.</p>
55
+ <p FormMessage>Enter a valid email address.</p>
56
+ </FormField>
57
+ ```
58
+
59
+ ## Common Patterns
60
+
61
+ ### Grouped sections
62
+
63
+ Use semantic fieldsets and legends when several controls belong to the same
64
+ question or form section.
65
+
66
+ ```html
67
+ <fieldset FormFieldset>
68
+ <legend FormLegend>Address information</legend>
69
+ <p FormDescription>We need your address to deliver your order.</p>
70
+
71
+ <FormGroup>
72
+ <FormField>
73
+ <label FormLabel>Street address</label>
74
+ <input Input FormControl placeholder="123 Main St" />
75
+ </FormField>
76
+
77
+ <div class="grid gap-4 sm:grid-cols-2">
78
+ <FormField>
79
+ <label FormLabel>City</label>
80
+ <input Input FormControl placeholder="New York" />
81
+ </FormField>
82
+
83
+ <FormField>
84
+ <label FormLabel>Postal code</label>
85
+ <input Input FormControl placeholder="10001" />
86
+ </FormField>
87
+ </div>
88
+ </FormGroup>
89
+ </fieldset>
90
+ ```
91
+
92
+ ### Horizontal checkbox, radio, and switch rows
93
+
94
+ For grouped controls, wrap the row in `label[Label]` so the entire card can
95
+ toggle the control, then use `FormContent` for the title and helper copy.
96
+
97
+ ```html
98
+ <label Label class="block rounded-xl border border-border p-4">
99
+ <FormField orientation="horizontal" class="gap-4">
100
+ <Checkbox [(ngModel)]="syncDesktop" aria-label="Sync Desktop and Documents folders" />
101
+ <FormContent>
102
+ <FormTitle>Sync Desktop & Documents folders</FormTitle>
103
+ <p FormDescription>Your Desktop & Documents folders are being synced with iCloud Drive.</p>
104
+ </FormContent>
105
+ </FormField>
106
+ </label>
107
+ ```
108
+
109
+ ### Select rows
110
+
111
+ Select keeps its own trigger and listbox behavior. Use `FormTitle` and
112
+ `p[FormDescription]` around it instead of relying on a generated `for`
113
+ relationship.
114
+
115
+ ```html
116
+ <FormField>
117
+ <FormTitle>Department</FormTitle>
118
+ <SelectField aria-label="Department" class="block w-full" placeholder="Choose department">
119
+ <SelectItem value="engineering">Engineering</SelectItem>
120
+ <SelectItem value="design">Design</SelectItem>
121
+ <SelectItem value="marketing">Marketing</SelectItem>
122
+ </SelectField>
123
+ <p FormDescription>Select your department or area of work.</p>
124
+ </FormField>
125
+ ```
126
+
127
+ ### Responsive layout
128
+
129
+ Set `orientation="responsive"` on `FormField` when the label and content
130
+ should stack on narrow widths and move into columns on wider screens.
131
+
132
+ ```html
133
+ <FormField orientation="responsive">
134
+ <FormContent>
135
+ <label FormLabel>Display name</label>
136
+ <p FormDescription>Provide the public name shown in comments and invoices.</p>
137
+ </FormContent>
138
+ <input Input FormControl placeholder="Evil Rabbit" />
139
+ </FormField>
140
+ ```
141
+
142
+ ### Validation and errors
143
+
144
+ `[FormControl]` will reflect Angular form state automatically. For external
145
+ validation flows or static examples, use the `invalid` input on
146
+ `FormField`.
147
+
148
+ Without projected text, `FormMessage` converts Angular's built-in validator
149
+ keys into human-readable copy. Bind `[errorMessageResolver]` when a product
150
+ needs custom wording while retaining the field's ARIA wiring.
151
+
152
+ ```html
153
+ <FormField invalid>
154
+ <label FormLabel>Email</label>
155
+ <input Input FormControl type="email" aria-invalid="true" placeholder="name@example.com" />
156
+ <p FormMessage>Enter a valid email address.</p>
157
+ </FormField>
158
+ ```
159
+
160
+ ## API Reference
161
+
162
+ | Primitive | Selector | Inputs | Notes |
163
+ | -------------------------- | -------------------------------------- | --------------------------------- | -------------------------------------------------------------------------------------- |
164
+ | `FormFieldComponent` | `FormField` | `class`, `orientation`, `invalid` | Core field wrapper. `orientation` supports `vertical`, `horizontal`, and `responsive`. |
165
+ | `FormFieldsetComponent` | `FormFieldset, fieldset[FormFieldset]` | `class` | Semantic fieldset reset with spacing presets. |
166
+ | `FormLegendComponent` | `FormLegend, legend[FormLegend]` | `class`, `variant` | Uses either standard legend sizing or label-sized copy. |
167
+ | `FormGroupComponent` | `FormGroup` | `class` | Stacks related fields and separators. |
168
+ | `FormContentComponent` | `FormContent` | `class` | Secondary text column for horizontal fields and card layouts. |
169
+ | `FormLabelComponent` | `FormLabel, label[FormLabel]` | `class` | Visible label tied to the generated control id inside a field. |
170
+ | `FormTitleComponent` | `FormTitle` | `class` | Non-label heading for grouped controls. |
171
+ | `FormDescriptionComponent` | `FormDescription, p[FormDescription]` | `class` | Helper text inside a field or at the fieldset level. |
172
+ | `FormSeparatorComponent` | `FormSeparator` | `class` | Divider between stacked sections. |
173
+ | `FormMessageComponent` | `FormMessage, p[FormMessage]` | `class`, `errorMessageResolver` | Human-readable error text shown when the field is invalid. |
174
+ | `FormControlDirective` | `[FormControl]` | none | Auto-wires `id`, `aria-describedby`, and invalid state for native controls. |
175
+
176
+ ## Styling and Theming
177
+
178
+ - Field primitives use the same design tokens as the rest of the library:
179
+ `border-border`, `text-foreground`, `text-muted-foreground`, `ring-ring`,
180
+ and `text-destructive`.
181
+ - Pass `class` to widen or tighten the layout around a specific field.
182
+ - `FormSeparator` uses the border token rather than current text color so
183
+ dividers remain consistent across themes.
184
+
185
+ ## Accessibility
186
+
187
+ - Prefer real `fieldset` and `legend` elements for grouped questions.
188
+ - Keep native controls on `[FormControl]` when they need synchronized labels,
189
+ descriptions, and message ids.
190
+ - Use `label[Label]` wrappers when the entire checkbox, radio, or switch row
191
+ should toggle the control.
192
+ - `p[FormMessage]` emits `role="alert"` and `aria-live="polite"`.
193
+
194
+ ## Keyboard Interactions
195
+
196
+ - Input and textarea fields preserve browser-native editing behavior.
197
+ - Select, checkbox, radio, and switch rows keep the interaction model of their
198
+ own entrypoints.
199
+ - Field wrappers add structure and semantics but do not create extra tab stops.
200
+
201
+ ## Angular Notes
202
+
203
+ - `FormLabel` is best for native controls that participate in
204
+ `[FormControl]`.
205
+ - Use `FormTitle` when the primary text is descriptive rather than a direct
206
+ form label.
207
+ - The local `responsive` orientation uses breakpoint-based layout instead of the
208
+ upstream container-query API.
209
+
210
+ ## Source Parity
211
+
212
+ This package is the durable Angular-first mapping for the shadcn `Field`
213
+ documentation. It mirrors the same information architecture while staying
214
+ honest about local differences: there is no dedicated `field` entrypoint, and
215
+ grouped controls continue to use the runtime behavior of the existing input,
216
+ textarea, select, checkbox, radio, switch, and button packages.
@@ -0,0 +1,150 @@
1
+ # Hover Card
2
+
3
+ Preview additional context on hover or keyboard focus without forcing a full click-to-open interaction.
4
+
5
+ The Angular hover card follows the shadcn composition model with a root container for shared defaults, a trigger directive on the interactive host, and a template-backed content surface rendered through the CDK overlay.
6
+
7
+ ## Import
8
+
9
+ ```ts
10
+ import {
11
+ HoverCardComponent,
12
+ HoverCardContentDirective,
13
+ HoverCardTriggerDirective,
14
+ } from '@ojiepermana/angular/component/hover-card';
15
+ import { ButtonComponent } from '@ojiepermana/angular/component/button';
16
+ ```
17
+
18
+ ## Composition
19
+
20
+ ```text
21
+ HoverCard
22
+ ├── [HoverCardTrigger]
23
+ └── ng-template[HoverCardContent]
24
+ ```
25
+
26
+ ## Basic usage
27
+
28
+ ```html
29
+ <HoverCard [openDelay]="100" [closeDelay]="150">
30
+ <button Button variant="link" [HoverCardTrigger]="profileCard">@nextjs</button>
31
+
32
+ <ng-template HoverCardContent #profileCard="HoverCardContent">
33
+ <div
34
+ class="flex w-72 flex-col gap-1 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-md"
35
+ >
36
+ <div class="font-semibold">@nextjs</div>
37
+ <p class="text-sm text-muted-foreground">
38
+ The React Framework - created and maintained by @vercel.
39
+ </p>
40
+ <p class="text-xs text-muted-foreground">Joined December 2021</p>
41
+ </div>
42
+ </ng-template>
43
+ </HoverCard>
44
+ ```
45
+
46
+ ## Common patterns
47
+
48
+ ### Trigger delays
49
+
50
+ Use the root or trigger inputs to control when the preview opens and closes.
51
+
52
+ ```html
53
+ <HoverCard [openDelay]="150" [closeDelay]="200">
54
+ <a href="/profiles/vercel" [HoverCardTrigger]="card">Hover profile</a>
55
+ <ng-template HoverCardContent #card="HoverCardContent">...</ng-template>
56
+ </HoverCard>
57
+ ```
58
+
59
+ ### Positioning
60
+
61
+ Set `side`, `align`, and `sideOffset` on the root for shared defaults or override them on an individual trigger.
62
+
63
+ ```html
64
+ <HoverCard side="top" align="start" [sideOffset]="12">
65
+ <button Button variant="outline" [HoverCardTrigger]="card">Top start</button>
66
+ <ng-template HoverCardContent #card="HoverCardContent">...</ng-template>
67
+ </HoverCard>
68
+ ```
69
+
70
+ ### Interactive content
71
+
72
+ The overlay remains open while either the trigger or the rendered content is hovered or focused, so links and buttons inside the card remain usable.
73
+
74
+ ```html
75
+ <HoverCard>
76
+ <a href="/products/headphones" [HoverCardTrigger]="productCard">Wireless Headphones</a>
77
+ <ng-template HoverCardContent #productCard="HoverCardContent">
78
+ <div
79
+ class="flex w-64 flex-col gap-3 rounded-lg border border-border bg-popover p-4 text-popover-foreground shadow-md"
80
+ >
81
+ <div>
82
+ <div class="font-semibold">Wireless Headphones</div>
83
+ <p class="text-sm text-muted-foreground">Noise cancelling with 30-hour battery life.</p>
84
+ </div>
85
+ <a Button href="/products/headphones" size="sm">View product</a>
86
+ </div>
87
+ </ng-template>
88
+ </HoverCard>
89
+ ```
90
+
91
+ ## API reference
92
+
93
+ ### `HoverCardComponent`
94
+
95
+ | Input | Type | Default |
96
+ | ------------ | ---------------------------------------- | ---------- |
97
+ | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | `'bottom'` |
98
+ | `align` | `'start' \| 'center' \| 'end'` | `'center'` |
99
+ | `sideOffset` | `number` | `8` |
100
+ | `openDelay` | `number` | `100` |
101
+ | `closeDelay` | `number` | `100` |
102
+
103
+ ### `HoverCardTriggerDirective` (`[HoverCardTrigger]`)
104
+
105
+ | Input | Type | Default |
106
+ | ------------------ | ---------------------------------------- | ------------------- |
107
+ | `HoverCardTrigger` | `HoverCardContentDirective` | - |
108
+ | `side` | `'top' \| 'right' \| 'bottom' \| 'left'` | Inherited from root |
109
+ | `align` | `'start' \| 'center' \| 'end'` | Inherited from root |
110
+ | `sideOffset` | `number` | Inherited from root |
111
+ | `openDelay` | `number` | Inherited from root |
112
+ | `closeDelay` | `number` | Inherited from root |
113
+ | `disabled` | `boolean` | `false` |
114
+
115
+ Exposes `isOpen()` and `openedChange`. The host reflects `data-state` (`"open"` or `"closed"`).
116
+
117
+ ### `HoverCardContentDirective`
118
+
119
+ Use `ng-template[HoverCardContent]` with `exportAs="HoverCardContent"` to provide the overlay body.
120
+
121
+ ## Styling and theming
122
+
123
+ The hover card does not force a panel shell. Apply width, border, background, radius, and elevation classes inside the projected template so the content can match compact profile cards, product previews, or custom dashboards.
124
+
125
+ Use `border-border` for visible borders and `bg-popover text-popover-foreground` for the body shell to stay aligned with the theme tokens used across the library.
126
+
127
+ ## Accessibility
128
+
129
+ - Open the card from a real interactive host such as `<button>`, `<a>`, or another focusable control.
130
+ - The card opens on hover and keyboard focus, then remains available while the trigger or overlay content stays hovered or focused.
131
+ - Press `Escape` while the trigger or overlay is focused to dismiss the preview.
132
+ - Keep essential actions available outside the hover card as well; hover cards are best for supplemental context, not critical flows.
133
+
134
+ ## Keyboard interactions
135
+
136
+ - `Tab` moves focus to the trigger and opens the card after the configured `openDelay`.
137
+ - `Tab` continues into focusable content inside the overlay without forcing an immediate close.
138
+ - `Shift+Tab` back to the trigger keeps the preview open.
139
+ - `Escape` closes the preview.
140
+
141
+ ## Angular notes
142
+
143
+ - The root `HoverCard` provides shared defaults. Override placement or timing on an individual trigger only when one example needs different behavior.
144
+ - The content stays template-backed instead of adding a dedicated content component so the overlay body can remain fully custom.
145
+ - Because the content renders through the CDK overlay container, set `dir` on the projected body when an individual card needs RTL behavior independent of the application shell.
146
+ - If you need click-to-open behavior instead of hover and focus, use the Popover primitive instead.
147
+
148
+ ## Source parity
149
+
150
+ This implementation preserves the shadcn structure, trigger delay inputs, side and alignment controls, and interactive hover path between trigger and content, while adapting the API to Angular selectors and CDK overlay primitives.
@@ -0,0 +1,25 @@
1
+ # Icon
2
+
3
+ `@ojiepermana/angular/component/icon` menyediakan primitive icon berbasis Material Symbols untuk library UI ini.
4
+
5
+ ```ts
6
+ import { IconComponent } from '@ojiepermana/angular/component/icon';
7
+ import { provideUiTheme } from '@ojiepermana/angular/theme/styles';
8
+ ```
9
+
10
+ ```html
11
+ <Icon name="dashboard" [size]="20" class="text-primary" />
12
+ ```
13
+
14
+ ## API Notes
15
+
16
+ - `name` menerima nama glyph Material Symbols, misalnya `dashboard` atau `left_panel_close`.
17
+ - `size` mengatur `font-size` dan `line-height` host dalam pixel.
18
+ - `fill`, `weight`, `grade`, dan `opticalSize` diteruskan ke `font-variation-settings`.
19
+ - `class` menerima utilitas Tailwind tambahan pada host.
20
+
21
+ ## Font Loading
22
+
23
+ - `IconComponent` akan memastikan stylesheet Material Symbols tersedia saat icon pertama dirender.
24
+ - `provideUiTheme()` juga mem-bootstrap stylesheet yang sama lebih awal pada level aplikasi.
25
+ - Gunakan `provideUiTheme({ icons: { materialSymbols: false } })` bila consumer ingin menonaktifkan preload global.
@@ -0,0 +1,160 @@
1
+ # Input
2
+
3
+ Text input for forms and user data entry with shadcn-style visual states and Angular-friendly composition.
4
+
5
+ The input itself stays a native `<input>` element. When the current shadcn docs mention `Field`, `FieldLabel`, or
6
+ `FieldDescription`, the local Angular mapping is the existing form primitives rather than a separate runtime `Form`
7
+ component.
8
+
9
+ ## Import
10
+
11
+ For the simplest standalone field:
12
+
13
+ ```ts
14
+ import { InputComponent } from '@ojiepermana/angular/component/input';
15
+ import { LabelComponent } from '@ojiepermana/angular/component/label';
16
+ ```
17
+
18
+ For the richer field composition used throughout the shadcn Input docs:
19
+
20
+ ```ts
21
+ import {
22
+ FormControlDirective,
23
+ FormDescriptionComponent,
24
+ FormFieldComponent,
25
+ FormLabelComponent,
26
+ FormMessageComponent,
27
+ } from '@ojiepermana/angular/component/form';
28
+ import { InputComponent } from '@ojiepermana/angular/component/input';
29
+ ```
30
+
31
+ ## Usage
32
+
33
+ ### Standalone input
34
+
35
+ ```html
36
+ <label Label for="email">Email</label>
37
+ <input id="email" Input type="email" placeholder="you@example.com" />
38
+ ```
39
+
40
+ ### Field mapping
41
+
42
+ Use the local form primitives when you need the label, helper text, and invalid-state wiring shown in the upstream
43
+ shadcn examples:
44
+
45
+ ```html
46
+ <FormField>
47
+ <FormLabel>Email</FormLabel>
48
+ <input Input FormControl type="email" placeholder="you@example.com" />
49
+ <FormDescription>We'll only use this address for account updates.</FormDescription>
50
+ <FormMessage>Enter a valid email address.</FormMessage>
51
+ </FormField>
52
+ ```
53
+
54
+ ## Common Patterns
55
+
56
+ ### Reactive forms
57
+
58
+ `Input` keeps Angular's standard `DefaultValueAccessor`, so reactive forms and `formControlName` work without a
59
+ wrapper component.
60
+
61
+ ```ts
62
+ readonly profileForm = new FormGroup({
63
+ email: new FormControl('', {
64
+ nonNullable: true,
65
+ validators: [Validators.required, Validators.email],
66
+ }),
67
+ });
68
+ ```
69
+
70
+ ```html
71
+ <FormField>
72
+ <FormLabel>Email</FormLabel>
73
+ <input Input FormControl formControlName="email" type="email" placeholder="john@example.com" />
74
+ <FormDescription>We'll never share your email with anyone.</FormDescription>
75
+ <FormMessage>Enter a valid email address.</FormMessage>
76
+ </FormField>
77
+ ```
78
+
79
+ ### Invalid state without Angular forms
80
+
81
+ If the field participates in a validation flow outside Angular forms, forward `aria-invalid="true"` manually.
82
+
83
+ ```html
84
+ <input Input aria-invalid="true" placeholder="Error" />
85
+ ```
86
+
87
+ ### File input
88
+
89
+ The same directive styles file inputs while preserving the browser-native file picker.
90
+
91
+ ```html
92
+ <FormField>
93
+ <FormLabel>Picture</FormLabel>
94
+ <input Input FormControl type="file" />
95
+ <FormDescription>Select a picture to upload.</FormDescription>
96
+ </FormField>
97
+ ```
98
+
99
+ ### Inline actions
100
+
101
+ For search bars or quick actions, compose the input with `Button` instead of inventing a synthetic group API.
102
+
103
+ ```html
104
+ <div class="flex max-w-md items-center gap-2">
105
+ <input Input type="search" placeholder="Search..." class="flex-1" />
106
+ <button Button type="button">Search</button>
107
+ </div>
108
+ ```
109
+
110
+ ## API Reference
111
+
112
+ ### `InputComponent`
113
+
114
+ | Input | Type | Default |
115
+ | ------- | -------- | ------- |
116
+ | `class` | `string` | `''` |
117
+
118
+ All native `<input>` attributes such as `type`, `placeholder`, `required`, `disabled`, `autocomplete`, and `value`
119
+ continue to work as usual.
120
+
121
+ ### Field Mapping
122
+
123
+ - `Field` maps to `FormField`.
124
+ - `FieldLabel` maps to `FormLabel`.
125
+ - `FieldDescription` maps to `FormDescription`.
126
+ - Invalid and helper-text wiring come from `[FormControl]` plus `FormMessage`.
127
+
128
+ ## Styling and Theming
129
+
130
+ Theme tokens used by the input styles include `--border`, `--input`, `--foreground`, `--muted-foreground`, `--ring`,
131
+ and `--destructive`.
132
+
133
+ When `aria-invalid="true"` is present, the border and focus ring switch to the destructive treatment. Pass `class`
134
+ for layout utilities such as width, flex growth, or spacing around the native control.
135
+
136
+ ## Accessibility
137
+
138
+ - Pair every input with a visible label or another accessible name source.
139
+ - Use `FormControl` inside `FormField` when the control should auto-wire `id`, `aria-describedby`, and invalid
140
+ state.
141
+ - Keep helper text and validation messages adjacent to the field so screen readers announce the full context.
142
+ - Do not remove the focus ring; the component keeps a visible keyboard-only focus treatment.
143
+
144
+ ## Keyboard Interactions
145
+
146
+ - The component preserves the browser-native keyboard behavior of the underlying input element.
147
+ - File, search, email, password, and text variants continue to use the interactions defined by their native type.
148
+ - Any adjacent action button, such as a search trigger, remains a separate Tab stop.
149
+
150
+ ## Angular Notes
151
+
152
+ - `Input` is an attribute selector on the native `<input>` element.
153
+ - It works with both `ngModel` and reactive forms because Angular still sees the underlying native control.
154
+ - `FormControl` is optional; use it when the field participates in the local form-primitive composition.
155
+
156
+ ## Source Parity
157
+
158
+ This Angular implementation follows the current shadcn Input information architecture while translating `Field` to the
159
+ local form primitives. Upstream `Input Group` and `Button Group` examples are intentionally left to their own planned
160
+ components instead of being faked inside the input API.