@ojiepermana/angular 21.3.4 → 22.0.27

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 (387) hide show
  1. package/README.md +16 -298
  2. package/fesm2022/ojiepermana-angular-chart.mjs +11 -0
  3. package/fesm2022/ojiepermana-angular-chart.mjs.map +1 -0
  4. package/fesm2022/ojiepermana-angular-component.mjs +11 -0
  5. package/fesm2022/ojiepermana-angular-component.mjs.map +1 -0
  6. package/fesm2022/ojiepermana-angular-navigation.mjs +11 -0
  7. package/fesm2022/ojiepermana-angular-navigation.mjs.map +1 -0
  8. package/fesm2022/ojiepermana-angular-sdk.mjs +11 -0
  9. package/fesm2022/ojiepermana-angular-sdk.mjs.map +1 -0
  10. package/fesm2022/ojiepermana-angular-theme.mjs +3 -374
  11. package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
  12. package/fesm2022/ojiepermana-angular.mjs +14 -14
  13. package/fesm2022/ojiepermana-angular.mjs.map +1 -1
  14. package/package.json +25 -361
  15. package/types/ojiepermana-angular-chart.d.ts +1 -0
  16. package/types/ojiepermana-angular-component.d.ts +1 -0
  17. package/types/ojiepermana-angular-navigation.d.ts +1 -0
  18. package/types/ojiepermana-angular-sdk.d.ts +1 -0
  19. package/types/ojiepermana-angular-theme.d.ts +1 -116
  20. package/types/ojiepermana-angular.d.ts +5 -3
  21. package/.npmignore +0 -2
  22. package/collection.json +0 -30
  23. package/component/accordion/package.json +0 -4
  24. package/component/alert/package.json +0 -4
  25. package/component/alert-dialog/package.json +0 -4
  26. package/component/aspect-ratio/package.json +0 -4
  27. package/component/avatar/package.json +0 -4
  28. package/component/badge/package.json +0 -4
  29. package/component/breadcrumb/package.json +0 -4
  30. package/component/button/package.json +0 -4
  31. package/component/button-group/package.json +0 -4
  32. package/component/calendar/package.json +0 -4
  33. package/component/card/package.json +0 -4
  34. package/component/carousel/package.json +0 -4
  35. package/component/chart/README.md +0 -249
  36. package/component/chart/area/package.json +0 -4
  37. package/component/chart/bar/package.json +0 -4
  38. package/component/chart/line/package.json +0 -4
  39. package/component/chart/package.json +0 -4
  40. package/component/chart/pie/package.json +0 -4
  41. package/component/chart/radar/package.json +0 -4
  42. package/component/chart/radial/package.json +0 -4
  43. package/component/chart/scatter/package.json +0 -4
  44. package/component/checkbox/package.json +0 -4
  45. package/component/collapsible/package.json +0 -4
  46. package/component/combobox/package.json +0 -4
  47. package/component/command/package.json +0 -4
  48. package/component/context-menu/package.json +0 -4
  49. package/component/date-picker/package.json +0 -4
  50. package/component/dialog/package.json +0 -4
  51. package/component/drawer/package.json +0 -4
  52. package/component/dropdown-menu/package.json +0 -4
  53. package/component/form/package.json +0 -4
  54. package/component/input/package.json +0 -4
  55. package/component/input-group/package.json +0 -4
  56. package/component/item/package.json +0 -4
  57. package/component/label/package.json +0 -4
  58. package/component/pagination/package.json +0 -4
  59. package/component/popover/package.json +0 -4
  60. package/component/progress/package.json +0 -4
  61. package/component/radio/package.json +0 -4
  62. package/component/scroll-area/package.json +0 -4
  63. package/component/select/package.json +0 -4
  64. package/component/separator/package.json +0 -4
  65. package/component/sheet/package.json +0 -4
  66. package/component/skeleton/package.json +0 -4
  67. package/component/slider/package.json +0 -4
  68. package/component/switch/package.json +0 -4
  69. package/component/table/package.json +0 -4
  70. package/component/tabs/package.json +0 -4
  71. package/component/textarea/package.json +0 -4
  72. package/component/toast/package.json +0 -4
  73. package/component/tooltip/package.json +0 -4
  74. package/component/utils/package.json +0 -4
  75. package/fesm2022/ojiepermana-angular-component-accordion.mjs +0 -174
  76. package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +0 -1
  77. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +0 -242
  78. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +0 -1
  79. package/fesm2022/ojiepermana-angular-component-alert.mjs +0 -90
  80. package/fesm2022/ojiepermana-angular-component-alert.mjs.map +0 -1
  81. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +0 -33
  82. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +0 -1
  83. package/fesm2022/ojiepermana-angular-component-avatar.mjs +0 -123
  84. package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +0 -1
  85. package/fesm2022/ojiepermana-angular-component-badge.mjs +0 -47
  86. package/fesm2022/ojiepermana-angular-component-badge.mjs.map +0 -1
  87. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +0 -186
  88. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +0 -1
  89. package/fesm2022/ojiepermana-angular-component-button-group.mjs +0 -95
  90. package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +0 -1
  91. package/fesm2022/ojiepermana-angular-component-button.mjs +0 -64
  92. package/fesm2022/ojiepermana-angular-component-button.mjs.map +0 -1
  93. package/fesm2022/ojiepermana-angular-component-calendar.mjs +0 -78
  94. package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +0 -1
  95. package/fesm2022/ojiepermana-angular-component-card.mjs +0 -137
  96. package/fesm2022/ojiepermana-angular-component-card.mjs.map +0 -1
  97. package/fesm2022/ojiepermana-angular-component-carousel.mjs +0 -310
  98. package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +0 -1
  99. package/fesm2022/ojiepermana-angular-component-chart-area.mjs +0 -6
  100. package/fesm2022/ojiepermana-angular-component-chart-area.mjs.map +0 -1
  101. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs +0 -6
  102. package/fesm2022/ojiepermana-angular-component-chart-bar.mjs.map +0 -1
  103. package/fesm2022/ojiepermana-angular-component-chart-line.mjs +0 -6
  104. package/fesm2022/ojiepermana-angular-component-chart-line.mjs.map +0 -1
  105. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs +0 -6
  106. package/fesm2022/ojiepermana-angular-component-chart-pie.mjs.map +0 -1
  107. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs +0 -6
  108. package/fesm2022/ojiepermana-angular-component-chart-radar.mjs.map +0 -1
  109. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs +0 -6
  110. package/fesm2022/ojiepermana-angular-component-chart-radial.mjs.map +0 -1
  111. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs +0 -6
  112. package/fesm2022/ojiepermana-angular-component-chart-scatter.mjs.map +0 -1
  113. package/fesm2022/ojiepermana-angular-component-chart.mjs +0 -3714
  114. package/fesm2022/ojiepermana-angular-component-chart.mjs.map +0 -1
  115. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +0 -104
  116. package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +0 -1
  117. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +0 -116
  118. package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +0 -1
  119. package/fesm2022/ojiepermana-angular-component-combobox.mjs +0 -263
  120. package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +0 -1
  121. package/fesm2022/ojiepermana-angular-component-command.mjs +0 -268
  122. package/fesm2022/ojiepermana-angular-component-command.mjs.map +0 -1
  123. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +0 -100
  124. package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +0 -1
  125. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +0 -155
  126. package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +0 -1
  127. package/fesm2022/ojiepermana-angular-component-dialog.mjs +0 -262
  128. package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +0 -1
  129. package/fesm2022/ojiepermana-angular-component-drawer.mjs +0 -6
  130. package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +0 -1
  131. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +0 -458
  132. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +0 -1
  133. package/fesm2022/ojiepermana-angular-component-form.mjs +0 -208
  134. package/fesm2022/ojiepermana-angular-component-form.mjs.map +0 -1
  135. package/fesm2022/ojiepermana-angular-component-input-group.mjs +0 -164
  136. package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +0 -1
  137. package/fesm2022/ojiepermana-angular-component-input.mjs +0 -43
  138. package/fesm2022/ojiepermana-angular-component-input.mjs.map +0 -1
  139. package/fesm2022/ojiepermana-angular-component-item.mjs +0 -241
  140. package/fesm2022/ojiepermana-angular-component-item.mjs.map +0 -1
  141. package/fesm2022/ojiepermana-angular-component-label.mjs +0 -30
  142. package/fesm2022/ojiepermana-angular-component-label.mjs.map +0 -1
  143. package/fesm2022/ojiepermana-angular-component-pagination.mjs +0 -192
  144. package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +0 -1
  145. package/fesm2022/ojiepermana-angular-component-popover.mjs +0 -163
  146. package/fesm2022/ojiepermana-angular-component-popover.mjs.map +0 -1
  147. package/fesm2022/ojiepermana-angular-component-progress.mjs +0 -53
  148. package/fesm2022/ojiepermana-angular-component-progress.mjs.map +0 -1
  149. package/fesm2022/ojiepermana-angular-component-radio.mjs +0 -92
  150. package/fesm2022/ojiepermana-angular-component-radio.mjs.map +0 -1
  151. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +0 -48
  152. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +0 -1
  153. package/fesm2022/ojiepermana-angular-component-select.mjs +0 -131
  154. package/fesm2022/ojiepermana-angular-component-select.mjs.map +0 -1
  155. package/fesm2022/ojiepermana-angular-component-separator.mjs +0 -33
  156. package/fesm2022/ojiepermana-angular-component-separator.mjs.map +0 -1
  157. package/fesm2022/ojiepermana-angular-component-sheet.mjs +0 -235
  158. package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +0 -1
  159. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +0 -29
  160. package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +0 -1
  161. package/fesm2022/ojiepermana-angular-component-slider.mjs +0 -29
  162. package/fesm2022/ojiepermana-angular-component-slider.mjs.map +0 -1
  163. package/fesm2022/ojiepermana-angular-component-switch.mjs +0 -84
  164. package/fesm2022/ojiepermana-angular-component-switch.mjs.map +0 -1
  165. package/fesm2022/ojiepermana-angular-component-table.mjs +0 -139
  166. package/fesm2022/ojiepermana-angular-component-table.mjs.map +0 -1
  167. package/fesm2022/ojiepermana-angular-component-tabs.mjs +0 -252
  168. package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +0 -1
  169. package/fesm2022/ojiepermana-angular-component-textarea.mjs +0 -37
  170. package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +0 -1
  171. package/fesm2022/ojiepermana-angular-component-toast.mjs +0 -47
  172. package/fesm2022/ojiepermana-angular-component-toast.mjs.map +0 -1
  173. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +0 -56
  174. package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +0 -1
  175. package/fesm2022/ojiepermana-angular-component-utils.mjs +0 -13
  176. package/fesm2022/ojiepermana-angular-component-utils.mjs.map +0 -1
  177. package/fesm2022/ojiepermana-angular-generator-api.mjs +0 -68
  178. package/fesm2022/ojiepermana-angular-generator-api.mjs.map +0 -1
  179. package/fesm2022/ojiepermana-angular-layout-component.mjs +0 -581
  180. package/fesm2022/ojiepermana-angular-layout-component.mjs.map +0 -1
  181. package/fesm2022/ojiepermana-angular-layout-empty.mjs +0 -49
  182. package/fesm2022/ojiepermana-angular-layout-empty.mjs.map +0 -1
  183. package/fesm2022/ojiepermana-angular-layout-horizontal.mjs +0 -119
  184. package/fesm2022/ojiepermana-angular-layout-horizontal.mjs.map +0 -1
  185. package/fesm2022/ojiepermana-angular-layout-provider.mjs +0 -21
  186. package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +0 -1
  187. package/fesm2022/ojiepermana-angular-layout-services.mjs +0 -114
  188. package/fesm2022/ojiepermana-angular-layout-services.mjs.map +0 -1
  189. package/fesm2022/ojiepermana-angular-layout-shell.mjs +0 -48
  190. package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +0 -1
  191. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +0 -27
  192. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +0 -1
  193. package/fesm2022/ojiepermana-angular-layout-token.mjs +0 -33
  194. package/fesm2022/ojiepermana-angular-layout-token.mjs.map +0 -1
  195. package/fesm2022/ojiepermana-angular-layout-vertical.mjs +0 -113
  196. package/fesm2022/ojiepermana-angular-layout-vertical.mjs.map +0 -1
  197. package/fesm2022/ojiepermana-angular-layout.mjs +0 -461
  198. package/fesm2022/ojiepermana-angular-layout.mjs.map +0 -1
  199. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs +0 -334
  200. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +0 -1
  201. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +0 -59
  202. package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +0 -1
  203. package/fesm2022/ojiepermana-angular-navigation-item.mjs +0 -548
  204. package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +0 -1
  205. package/fesm2022/ojiepermana-angular-navigation-service.mjs +0 -204
  206. package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +0 -1
  207. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +0 -373
  208. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +0 -1
  209. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +0 -433
  210. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +0 -1
  211. package/fesm2022/ojiepermana-angular-navigation-types.mjs +0 -4
  212. package/fesm2022/ojiepermana-angular-navigation-types.mjs.map +0 -1
  213. package/fesm2022/ojiepermana-angular-theme-provider.mjs +0 -35
  214. package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +0 -1
  215. package/fesm2022/ojiepermana-angular-theme-services.mjs +0 -286
  216. package/fesm2022/ojiepermana-angular-theme-services.mjs.map +0 -1
  217. package/fesm2022/ojiepermana-angular-theme-token.mjs +0 -56
  218. package/fesm2022/ojiepermana-angular-theme-token.mjs.map +0 -1
  219. package/generator/api/README.md +0 -252
  220. package/generator/api/bin/package.json +0 -3
  221. package/generator/api/bin/schematics/init/index.js +0 -90
  222. package/generator/api/bin/schematics/ng-add/index.js +0 -131
  223. package/generator/api/bin/schematics/sdk/index.js +0 -76
  224. package/generator/api/bin/src/config/loader.js +0 -41
  225. package/generator/api/bin/src/config/schema.js +0 -57
  226. package/generator/api/bin/src/emit/client.js +0 -246
  227. package/generator/api/bin/src/emit/metadata.js +0 -295
  228. package/generator/api/bin/src/emit/models.js +0 -106
  229. package/generator/api/bin/src/emit/navigation.js +0 -56
  230. package/generator/api/bin/src/emit/operations.js +0 -122
  231. package/generator/api/bin/src/emit/public-api.js +0 -54
  232. package/generator/api/bin/src/emit/services.js +0 -87
  233. package/generator/api/bin/src/engine.js +0 -65
  234. package/generator/api/bin/src/layout/per-domain.js +0 -359
  235. package/generator/api/bin/src/parser/bundle.js +0 -25
  236. package/generator/api/bin/src/parser/ir.js +0 -320
  237. package/generator/api/bin/src/parser/types.js +0 -7
  238. package/generator/api/bin/src/render/template.js +0 -58
  239. package/generator/api/bin/src/writer/index.js +0 -278
  240. package/generator/api/package.json +0 -4
  241. package/generator/api/schematics/init/schema.json +0 -19
  242. package/generator/api/schematics/ng-add/schema.json +0 -14
  243. package/generator/api/schematics/sdk/schema.json +0 -19
  244. package/generator/api/sdk.config.example.json +0 -24
  245. package/generator/guide/README.md +0 -84
  246. package/generator/guide/bin/package.json +0 -3
  247. package/generator/guide/bin/schematics/build/index.js +0 -35
  248. package/generator/guide/bin/schematics/init/index.js +0 -70
  249. package/generator/guide/bin/src/config/loader.js +0 -50
  250. package/generator/guide/bin/src/config/schema.js +0 -12
  251. package/generator/guide/bin/src/engine/component.js +0 -74
  252. package/generator/guide/bin/src/engine/frontmatter.js +0 -42
  253. package/generator/guide/bin/src/engine/index.js +0 -42
  254. package/generator/guide/bin/src/engine/naming.js +0 -39
  255. package/generator/guide/bin/src/engine/render.js +0 -31
  256. package/generator/guide/bin/src/engine/routes.js +0 -106
  257. package/generator/guide/bin/src/engine/walk.js +0 -35
  258. package/generator/guide/guide.config.example.json +0 -9
  259. package/generator/guide/schematics/build/schema.json +0 -14
  260. package/generator/guide/schematics/init/schema.json +0 -19
  261. package/layout/component/package.json +0 -4
  262. package/layout/empty/package.json +0 -4
  263. package/layout/horizontal/package.json +0 -4
  264. package/layout/package.json +0 -4
  265. package/layout/provider/package.json +0 -4
  266. package/layout/services/package.json +0 -4
  267. package/layout/shell/package.json +0 -4
  268. package/layout/token/directive/package.json +0 -4
  269. package/layout/token/package.json +0 -4
  270. package/layout/vertical/package.json +0 -4
  271. package/navigation/demo-data/package.json +0 -4
  272. package/navigation/icon/package.json +0 -4
  273. package/navigation/item/package.json +0 -4
  274. package/navigation/service/package.json +0 -4
  275. package/navigation/sidebar/package.json +0 -4
  276. package/navigation/topbar/package.json +0 -4
  277. package/navigation/types/package.json +0 -4
  278. package/theme/README.md +0 -67
  279. package/theme/package.json +0 -4
  280. package/theme/provider/package.json +0 -4
  281. package/theme/services/package.json +0 -4
  282. package/theme/styles/foundation/components.css +0 -81
  283. package/theme/styles/foundation/layers.css +0 -15
  284. package/theme/styles/foundation/tokens.css +0 -55
  285. package/theme/styles/index.css +0 -37
  286. package/theme/styles/integrations/material.css +0 -254
  287. package/theme/styles/integrations/tailwind.css +0 -114
  288. package/theme/styles/variants/color/amber.css +0 -31
  289. package/theme/styles/variants/color/base.css +0 -36
  290. package/theme/styles/variants/color/blue.css +0 -31
  291. package/theme/styles/variants/color/cyan.css +0 -31
  292. package/theme/styles/variants/color/emerald.css +0 -31
  293. package/theme/styles/variants/color/fuchsia.css +0 -31
  294. package/theme/styles/variants/color/green.css +0 -31
  295. package/theme/styles/variants/color/index.css +0 -22
  296. package/theme/styles/variants/color/indigo.css +0 -31
  297. package/theme/styles/variants/color/lime.css +0 -31
  298. package/theme/styles/variants/color/orange.css +0 -31
  299. package/theme/styles/variants/color/pink.css +0 -31
  300. package/theme/styles/variants/color/purple.css +0 -31
  301. package/theme/styles/variants/color/red.css +0 -31
  302. package/theme/styles/variants/color/rose.css +0 -31
  303. package/theme/styles/variants/color/sky.css +0 -31
  304. package/theme/styles/variants/color/teal.css +0 -31
  305. package/theme/styles/variants/color/violet.css +0 -31
  306. package/theme/styles/variants/color/yellow.css +0 -31
  307. package/theme/styles/variants/mode/dark.css +0 -20
  308. package/theme/styles/variants/mode/index.css +0 -6
  309. package/theme/styles/variants/mode/light.css +0 -24
  310. package/theme/styles/variants/style/brutal.css +0 -50
  311. package/theme/styles/variants/style/default.css +0 -54
  312. package/theme/styles/variants/style/index.css +0 -8
  313. package/theme/styles/variants/style/sharp.css +0 -50
  314. package/theme/styles/variants/style/soft.css +0 -50
  315. package/theme/token/package.json +0 -4
  316. package/types/ojiepermana-angular-component-accordion.d.ts +0 -51
  317. package/types/ojiepermana-angular-component-alert-dialog.d.ts +0 -93
  318. package/types/ojiepermana-angular-component-alert.d.ts +0 -37
  319. package/types/ojiepermana-angular-component-aspect-ratio.d.ts +0 -12
  320. package/types/ojiepermana-angular-component-avatar.d.ts +0 -51
  321. package/types/ojiepermana-angular-component-badge.d.ts +0 -19
  322. package/types/ojiepermana-angular-component-breadcrumb.d.ts +0 -46
  323. package/types/ojiepermana-angular-component-button-group.d.ts +0 -26
  324. package/types/ojiepermana-angular-component-button.d.ts +0 -22
  325. package/types/ojiepermana-angular-component-calendar.d.ts +0 -33
  326. package/types/ojiepermana-angular-component-card.d.ts +0 -60
  327. package/types/ojiepermana-angular-component-carousel.d.ts +0 -86
  328. package/types/ojiepermana-angular-component-chart-area.d.ts +0 -1
  329. package/types/ojiepermana-angular-component-chart-bar.d.ts +0 -1
  330. package/types/ojiepermana-angular-component-chart-line.d.ts +0 -1
  331. package/types/ojiepermana-angular-component-chart-pie.d.ts +0 -1
  332. package/types/ojiepermana-angular-component-chart-radar.d.ts +0 -1
  333. package/types/ojiepermana-angular-component-chart-radial.d.ts +0 -1
  334. package/types/ojiepermana-angular-component-chart-scatter.d.ts +0 -1
  335. package/types/ojiepermana-angular-component-chart.d.ts +0 -1094
  336. package/types/ojiepermana-angular-component-checkbox.d.ts +0 -35
  337. package/types/ojiepermana-angular-component-collapsible.d.ts +0 -42
  338. package/types/ojiepermana-angular-component-combobox.d.ts +0 -51
  339. package/types/ojiepermana-angular-component-command.d.ts +0 -99
  340. package/types/ojiepermana-angular-component-context-menu.d.ts +0 -35
  341. package/types/ojiepermana-angular-component-date-picker.d.ts +0 -41
  342. package/types/ojiepermana-angular-component-dialog.d.ts +0 -87
  343. package/types/ojiepermana-angular-component-drawer.d.ts +0 -1
  344. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +0 -135
  345. package/types/ojiepermana-angular-component-form.d.ts +0 -92
  346. package/types/ojiepermana-angular-component-input-group.d.ts +0 -51
  347. package/types/ojiepermana-angular-component-input.d.ts +0 -16
  348. package/types/ojiepermana-angular-component-item.d.ts +0 -88
  349. package/types/ojiepermana-angular-component-label.d.ts +0 -11
  350. package/types/ojiepermana-angular-component-pagination.d.ts +0 -27
  351. package/types/ojiepermana-angular-component-popover.d.ts +0 -43
  352. package/types/ojiepermana-angular-component-progress.d.ts +0 -17
  353. package/types/ojiepermana-angular-component-radio.d.ts +0 -34
  354. package/types/ojiepermana-angular-component-scroll-area.d.ts +0 -19
  355. package/types/ojiepermana-angular-component-select.d.ts +0 -45
  356. package/types/ojiepermana-angular-component-separator.d.ts +0 -14
  357. package/types/ojiepermana-angular-component-sheet.d.ts +0 -74
  358. package/types/ojiepermana-angular-component-skeleton.d.ts +0 -10
  359. package/types/ojiepermana-angular-component-slider.d.ts +0 -16
  360. package/types/ojiepermana-angular-component-switch.d.ts +0 -30
  361. package/types/ojiepermana-angular-component-table.d.ts +0 -52
  362. package/types/ojiepermana-angular-component-tabs.d.ts +0 -92
  363. package/types/ojiepermana-angular-component-textarea.d.ts +0 -12
  364. package/types/ojiepermana-angular-component-toast.d.ts +0 -29
  365. package/types/ojiepermana-angular-component-tooltip.d.ts +0 -22
  366. package/types/ojiepermana-angular-component-utils.d.ts +0 -5
  367. package/types/ojiepermana-angular-generator-api.d.ts +0 -86
  368. package/types/ojiepermana-angular-layout-component.d.ts +0 -205
  369. package/types/ojiepermana-angular-layout-empty.d.ts +0 -22
  370. package/types/ojiepermana-angular-layout-horizontal.d.ts +0 -36
  371. package/types/ojiepermana-angular-layout-provider.d.ts +0 -6
  372. package/types/ojiepermana-angular-layout-services.d.ts +0 -25
  373. package/types/ojiepermana-angular-layout-shell.d.ts +0 -8
  374. package/types/ojiepermana-angular-layout-token-directive.d.ts +0 -13
  375. package/types/ojiepermana-angular-layout-token.d.ts +0 -36
  376. package/types/ojiepermana-angular-layout-vertical.d.ts +0 -38
  377. package/types/ojiepermana-angular-layout.d.ts +0 -164
  378. package/types/ojiepermana-angular-navigation-demo-data.d.ts +0 -5
  379. package/types/ojiepermana-angular-navigation-icon.d.ts +0 -17
  380. package/types/ojiepermana-angular-navigation-item.d.ts +0 -54
  381. package/types/ojiepermana-angular-navigation-service.d.ts +0 -77
  382. package/types/ojiepermana-angular-navigation-sidebar.d.ts +0 -75
  383. package/types/ojiepermana-angular-navigation-topbar.d.ts +0 -54
  384. package/types/ojiepermana-angular-navigation-types.d.ts +0 -129
  385. package/types/ojiepermana-angular-theme-provider.d.ts +0 -11
  386. package/types/ojiepermana-angular-theme-services.d.ts +0 -55
  387. package/types/ojiepermana-angular-theme-token.d.ts +0 -57
@@ -1,163 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { inject, TemplateRef, Directive, InjectionToken, ViewContainerRef, ElementRef, DestroyRef, input, output, signal } from '@angular/core';
3
- import { Overlay } from '@angular/cdk/overlay';
4
- import { TemplatePortal } from '@angular/cdk/portal';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import { merge } from 'rxjs';
7
- import { filter } from 'rxjs/operators';
8
-
9
- class PopoverContentDirective {
10
- template = inject(TemplateRef);
11
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PopoverContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
12
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.14", type: PopoverContentDirective, isStandalone: true, selector: "ng-template[uiPopoverContent]", exportAs: ["uiPopoverContent"], ngImport: i0 });
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PopoverContentDirective, decorators: [{
15
- type: Directive,
16
- args: [{
17
- selector: 'ng-template[uiPopoverContent]',
18
- exportAs: 'uiPopoverContent',
19
- }]
20
- }] });
21
-
22
- const POPOVER_TRIGGER_DEFAULTS = new InjectionToken('POPOVER_TRIGGER_DEFAULTS');
23
- const POSITION_ANCHORS = {
24
- top: (align) => ({
25
- originX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',
26
- originY: 'top',
27
- overlayX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',
28
- overlayY: 'bottom',
29
- }),
30
- bottom: (align) => ({
31
- originX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',
32
- originY: 'bottom',
33
- overlayX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',
34
- overlayY: 'top',
35
- }),
36
- left: (align) => ({
37
- originX: 'start',
38
- originY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',
39
- overlayX: 'end',
40
- overlayY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',
41
- }),
42
- right: (align) => ({
43
- originX: 'end',
44
- originY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',
45
- overlayX: 'start',
46
- overlayY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',
47
- }),
48
- };
49
- function positionFor(side, align, sideOffset) {
50
- const anchor = POSITION_ANCHORS[side](align);
51
- if (side === 'top') {
52
- return { ...anchor, offsetY: -sideOffset };
53
- }
54
- if (side === 'bottom') {
55
- return { ...anchor, offsetY: sideOffset };
56
- }
57
- if (side === 'left') {
58
- return { ...anchor, offsetX: -sideOffset };
59
- }
60
- return { ...anchor, offsetX: sideOffset };
61
- }
62
- class PopoverTriggerDirective {
63
- overlay = inject(Overlay);
64
- vcr = inject(ViewContainerRef);
65
- el = inject(ElementRef);
66
- destroyRef = inject(DestroyRef);
67
- defaults = inject(POPOVER_TRIGGER_DEFAULTS, { optional: true });
68
- uiPopoverTrigger = input.required(...(ngDevMode ? [{ debugName: "uiPopoverTrigger" }] : /* istanbul ignore next */ []));
69
- side = input(undefined, ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
70
- align = input(undefined, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
71
- sideOffset = input(undefined, ...(ngDevMode ? [{ debugName: "sideOffset" }] : /* istanbul ignore next */ []));
72
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
73
- openedChange = output();
74
- overlayRef = null;
75
- isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
76
- toggle() {
77
- if (this.disabled())
78
- return;
79
- this.isOpen() ? this.close() : this.open();
80
- }
81
- onKeyboardToggle(event) {
82
- if (this.disabled() || this.usesNativeKeyboardActivation()) {
83
- return;
84
- }
85
- event.preventDefault();
86
- this.toggle();
87
- }
88
- open() {
89
- if (this.isOpen() || this.disabled())
90
- return;
91
- const side = this.side() ?? this.defaults?.side?.() ?? 'bottom';
92
- const align = this.align() ?? this.defaults?.align?.() ?? 'center';
93
- const sideOffset = this.sideOffset() ?? this.defaults?.sideOffset?.() ?? 8;
94
- const primary = positionFor(side, align, sideOffset);
95
- const fallback = positionFor(this.oppositeSide(side), align, sideOffset);
96
- const positionStrategy = this.overlay
97
- .position()
98
- .flexibleConnectedTo(this.el)
99
- .withPositions([primary, fallback])
100
- .withPush(false)
101
- .withFlexibleDimensions(false);
102
- this.overlayRef = this.overlay.create({
103
- positionStrategy,
104
- scrollStrategy: this.overlay.scrollStrategies.reposition(),
105
- hasBackdrop: false,
106
- panelClass: 'ui-popover-panel',
107
- });
108
- const portal = new TemplatePortal(this.uiPopoverTrigger().template, this.vcr);
109
- this.overlayRef.attach(portal);
110
- merge(this.overlayRef
111
- .outsidePointerEvents()
112
- .pipe(filter((event) => !this.el.nativeElement.contains(event.target))), this.overlayRef.keydownEvents().pipe(filter((event) => event.key === 'Escape')), this.overlayRef.detachments())
113
- .pipe(takeUntilDestroyed(this.destroyRef))
114
- .subscribe(() => this.close());
115
- this.isOpen.set(true);
116
- this.openedChange.emit(true);
117
- }
118
- close() {
119
- if (!this.isOpen())
120
- return;
121
- this.overlayRef?.dispose();
122
- this.overlayRef = null;
123
- this.isOpen.set(false);
124
- this.openedChange.emit(false);
125
- }
126
- oppositeSide(side) {
127
- return side === 'top' ? 'bottom' : side === 'bottom' ? 'top' : side === 'left' ? 'right' : 'left';
128
- }
129
- usesNativeKeyboardActivation() {
130
- const host = this.el.nativeElement;
131
- const tagName = host.tagName;
132
- return (tagName === 'BUTTON' ||
133
- tagName === 'INPUT' ||
134
- tagName === 'SELECT' ||
135
- tagName === 'TEXTAREA' ||
136
- tagName === 'SUMMARY' ||
137
- (tagName === 'A' && host.hasAttribute('href')));
138
- }
139
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PopoverTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
140
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.14", type: PopoverTriggerDirective, isStandalone: true, selector: "[uiPopoverTrigger]", inputs: { uiPopoverTrigger: { classPropertyName: "uiPopoverTrigger", publicName: "uiPopoverTrigger", isSignal: true, isRequired: true, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { openedChange: "openedChange" }, host: { listeners: { "click": "toggle()", "keydown.enter": "onKeyboardToggle($event)", "keydown.space": "onKeyboardToggle($event)", "keydown.escape": "close()" }, properties: { "attr.aria-expanded": "isOpen()", "attr.aria-haspopup": "\"dialog\"" } }, exportAs: ["uiPopoverTrigger"], ngImport: i0 });
141
- }
142
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: PopoverTriggerDirective, decorators: [{
143
- type: Directive,
144
- args: [{
145
- selector: '[uiPopoverTrigger]',
146
- exportAs: 'uiPopoverTrigger',
147
- host: {
148
- '[attr.aria-expanded]': 'isOpen()',
149
- '[attr.aria-haspopup]': '"dialog"',
150
- '(click)': 'toggle()',
151
- '(keydown.enter)': 'onKeyboardToggle($event)',
152
- '(keydown.space)': 'onKeyboardToggle($event)',
153
- '(keydown.escape)': 'close()',
154
- },
155
- }]
156
- }], propDecorators: { uiPopoverTrigger: [{ type: i0.Input, args: [{ isSignal: true, alias: "uiPopoverTrigger", required: true }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], sideOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "sideOffset", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }] } });
157
-
158
- /**
159
- * Generated bundle index. Do not edit.
160
- */
161
-
162
- export { POPOVER_TRIGGER_DEFAULTS, PopoverContentDirective, PopoverTriggerDirective };
163
- //# sourceMappingURL=ojiepermana-angular-component-popover.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ojiepermana-angular-component-popover.mjs","sources":["../../../projects/angular/component/popover/src/lib/popover-content.directive.ts","../../../projects/angular/component/popover/src/lib/popover-trigger.directive.ts","../../../projects/angular/component/popover/ojiepermana-angular-component-popover.ts"],"sourcesContent":["import { Directive, TemplateRef, inject } from '@angular/core';\n\n@Directive({\n selector: 'ng-template[uiPopoverContent]',\n exportAs: 'uiPopoverContent',\n})\nexport class PopoverContentDirective {\n readonly template = inject<TemplateRef<unknown>>(TemplateRef);\n}\n","import { Overlay, OverlayRef, ConnectedPosition } from '@angular/cdk/overlay';\nimport { TemplatePortal } from '@angular/cdk/portal';\nimport {\n DestroyRef,\n Directive,\n ElementRef,\n InjectionToken,\n ViewContainerRef,\n inject,\n input,\n output,\n signal,\n type Signal,\n} from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { merge } from 'rxjs';\nimport { filter } from 'rxjs/operators';\nimport type { PopoverContentDirective } from './popover-content.directive';\n\nexport type PopoverSide = 'top' | 'right' | 'bottom' | 'left';\nexport type PopoverAlign = 'start' | 'center' | 'end';\n\nexport interface PopoverTriggerDefaults {\n readonly side?: Signal<PopoverSide>;\n readonly align?: Signal<PopoverAlign>;\n readonly sideOffset?: Signal<number>;\n}\n\nexport const POPOVER_TRIGGER_DEFAULTS = new InjectionToken<PopoverTriggerDefaults>('POPOVER_TRIGGER_DEFAULTS');\n\nconst POSITION_ANCHORS: Record<PopoverSide, (align: PopoverAlign) => ConnectedPosition> = {\n top: (align) => ({\n originX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',\n originY: 'top',\n overlayX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',\n overlayY: 'bottom',\n }),\n bottom: (align) => ({\n originX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',\n originY: 'bottom',\n overlayX: align === 'start' ? 'start' : align === 'end' ? 'end' : 'center',\n overlayY: 'top',\n }),\n left: (align) => ({\n originX: 'start',\n originY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',\n overlayX: 'end',\n overlayY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',\n }),\n right: (align) => ({\n originX: 'end',\n originY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',\n overlayX: 'start',\n overlayY: align === 'start' ? 'top' : align === 'end' ? 'bottom' : 'center',\n }),\n};\n\nfunction positionFor(side: PopoverSide, align: PopoverAlign, sideOffset: number): ConnectedPosition {\n const anchor = POSITION_ANCHORS[side](align);\n\n if (side === 'top') {\n return { ...anchor, offsetY: -sideOffset };\n }\n\n if (side === 'bottom') {\n return { ...anchor, offsetY: sideOffset };\n }\n\n if (side === 'left') {\n return { ...anchor, offsetX: -sideOffset };\n }\n\n return { ...anchor, offsetX: sideOffset };\n}\n\n@Directive({\n selector: '[uiPopoverTrigger]',\n exportAs: 'uiPopoverTrigger',\n host: {\n '[attr.aria-expanded]': 'isOpen()',\n '[attr.aria-haspopup]': '\"dialog\"',\n '(click)': 'toggle()',\n '(keydown.enter)': 'onKeyboardToggle($event)',\n '(keydown.space)': 'onKeyboardToggle($event)',\n '(keydown.escape)': 'close()',\n },\n})\nexport class PopoverTriggerDirective {\n private readonly overlay = inject(Overlay);\n private readonly vcr = inject(ViewContainerRef);\n private readonly el = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly destroyRef = inject(DestroyRef);\n private readonly defaults = inject(POPOVER_TRIGGER_DEFAULTS, { optional: true });\n\n readonly uiPopoverTrigger = input.required<PopoverContentDirective>();\n readonly side = input<PopoverSide | undefined>(undefined);\n readonly align = input<PopoverAlign | undefined>(undefined);\n readonly sideOffset = input<number | undefined>(undefined);\n readonly disabled = input<boolean>(false);\n\n readonly openedChange = output<boolean>();\n\n private overlayRef: OverlayRef | null = null;\n readonly isOpen = signal(false);\n\n toggle(): void {\n if (this.disabled()) return;\n this.isOpen() ? this.close() : this.open();\n }\n\n onKeyboardToggle(event: Event): void {\n if (this.disabled() || this.usesNativeKeyboardActivation()) {\n return;\n }\n\n event.preventDefault();\n this.toggle();\n }\n\n open(): void {\n if (this.isOpen() || this.disabled()) return;\n\n const side = this.side() ?? this.defaults?.side?.() ?? 'bottom';\n const align = this.align() ?? this.defaults?.align?.() ?? 'center';\n const sideOffset = this.sideOffset() ?? this.defaults?.sideOffset?.() ?? 8;\n\n const primary = positionFor(side, align, sideOffset);\n const fallback = positionFor(this.oppositeSide(side), align, sideOffset);\n\n const positionStrategy = this.overlay\n .position()\n .flexibleConnectedTo(this.el)\n .withPositions([primary, fallback])\n .withPush(false)\n .withFlexibleDimensions(false);\n\n this.overlayRef = this.overlay.create({\n positionStrategy,\n scrollStrategy: this.overlay.scrollStrategies.reposition(),\n hasBackdrop: false,\n panelClass: 'ui-popover-panel',\n });\n\n const portal = new TemplatePortal(this.uiPopoverTrigger().template, this.vcr);\n this.overlayRef.attach(portal);\n\n merge(\n this.overlayRef\n .outsidePointerEvents()\n .pipe(filter((event) => !this.el.nativeElement.contains(event.target as Node))),\n this.overlayRef.keydownEvents().pipe(filter((event) => event.key === 'Escape')),\n this.overlayRef.detachments(),\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe(() => this.close());\n\n this.isOpen.set(true);\n this.openedChange.emit(true);\n }\n\n close(): void {\n if (!this.isOpen()) return;\n this.overlayRef?.dispose();\n this.overlayRef = null;\n this.isOpen.set(false);\n this.openedChange.emit(false);\n }\n\n private oppositeSide(side: PopoverSide): PopoverSide {\n return side === 'top' ? 'bottom' : side === 'bottom' ? 'top' : side === 'left' ? 'right' : 'left';\n }\n\n private usesNativeKeyboardActivation(): boolean {\n const host = this.el.nativeElement;\n const tagName = host.tagName;\n\n return (\n tagName === 'BUTTON' ||\n tagName === 'INPUT' ||\n tagName === 'SELECT' ||\n tagName === 'TEXTAREA' ||\n tagName === 'SUMMARY' ||\n (tagName === 'A' && host.hasAttribute('href'))\n );\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,53 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { cn } from '@ojiepermana/angular/component/utils';
4
-
5
- class ProgressComponent {
6
- value = input(0, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
7
- max = input(100, ...(ngDevMode ? [{ debugName: "max" }] : /* istanbul ignore next */ []));
8
- indeterminate = input(false, ...(ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []));
9
- ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
10
- ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
11
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
12
- clamped = computed(() => {
13
- const v = this.value() ?? 0;
14
- return Math.max(0, Math.min(this.max(), v));
15
- }, ...(ngDevMode ? [{ debugName: "clamped" }] : /* istanbul ignore next */ []));
16
- indicatorTransform = computed(() => {
17
- if (this.indeterminate())
18
- return 'translateX(-100%)';
19
- const pct = (this.clamped() / this.max()) * 100;
20
- return `translateX(-${100 - pct}%)`;
21
- }, ...(ngDevMode ? [{ debugName: "indicatorTransform" }] : /* istanbul ignore next */ []));
22
- classes = computed(() => cn('relative h-2 w-full overflow-hidden rounded-full bg-secondary', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
23
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ProgressComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
24
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: ProgressComponent, isStandalone: true, selector: "ui-progress", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()", "attr.role": "\"progressbar\"", "attr.aria-valuemin": "0", "attr.aria-valuemax": "max()", "attr.aria-valuenow": "indeterminate() ? null : clamped()", "attr.aria-label": "ariaLabel()", "attr.aria-labelledby": "ariaLabelledby()", "attr.data-state": "indeterminate() ? \"indeterminate\" : \"determinate\"" } }, ngImport: i0, template: `
25
- <div
26
- class="ui-progress-indicator h-full w-full flex-1 bg-primary transition-transform"
27
- [style.transform]="indicatorTransform()"></div>
28
- `, isInline: true, styles: [":host{display:block}:host[data-state=indeterminate] .ui-progress-indicator{animation:ui-progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}@keyframes ui-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){:host[data-state=indeterminate] .ui-progress-indicator{animation:none}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
29
- }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ProgressComponent, decorators: [{
31
- type: Component,
32
- args: [{ selector: 'ui-progress', changeDetection: ChangeDetectionStrategy.OnPush, host: {
33
- '[class]': 'classes()',
34
- '[attr.role]': '"progressbar"',
35
- '[attr.aria-valuemin]': '0',
36
- '[attr.aria-valuemax]': 'max()',
37
- '[attr.aria-valuenow]': 'indeterminate() ? null : clamped()',
38
- '[attr.aria-label]': 'ariaLabel()',
39
- '[attr.aria-labelledby]': 'ariaLabelledby()',
40
- '[attr.data-state]': 'indeterminate() ? "indeterminate" : "determinate"',
41
- }, template: `
42
- <div
43
- class="ui-progress-indicator h-full w-full flex-1 bg-primary transition-transform"
44
- [style.transform]="indicatorTransform()"></div>
45
- `, styles: [":host{display:block}:host[data-state=indeterminate] .ui-progress-indicator{animation:ui-progress-indeterminate 1.5s cubic-bezier(.65,.815,.735,.395) infinite}@keyframes ui-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){:host[data-state=indeterminate] .ui-progress-indicator{animation:none}}\n"] }]
46
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
47
-
48
- /**
49
- * Generated bundle index. Do not edit.
50
- */
51
-
52
- export { ProgressComponent };
53
- //# sourceMappingURL=ojiepermana-angular-component-progress.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ojiepermana-angular-component-progress.mjs","sources":["../../../projects/angular/component/progress/src/lib/progress.component.ts","../../../projects/angular/component/progress/ojiepermana-angular-component-progress.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\n@Component({\n selector: 'ui-progress',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n '[attr.role]': '\"progressbar\"',\n '[attr.aria-valuemin]': '0',\n '[attr.aria-valuemax]': 'max()',\n '[attr.aria-valuenow]': 'indeterminate() ? null : clamped()',\n '[attr.aria-label]': 'ariaLabel()',\n '[attr.aria-labelledby]': 'ariaLabelledby()',\n '[attr.data-state]': 'indeterminate() ? \"indeterminate\" : \"determinate\"',\n },\n template: `\n <div\n class=\"ui-progress-indicator h-full w-full flex-1 bg-primary transition-transform\"\n [style.transform]=\"indicatorTransform()\"></div>\n `,\n styles: [\n `\n :host {\n display: block;\n }\n :host[data-state='indeterminate'] .ui-progress-indicator {\n animation: ui-progress-indeterminate 1.5s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n }\n @keyframes ui-progress-indeterminate {\n 0% {\n transform: translateX(-100%);\n }\n 100% {\n transform: translateX(100%);\n }\n }\n @media (prefers-reduced-motion: reduce) {\n :host[data-state='indeterminate'] .ui-progress-indicator {\n animation: none;\n }\n }\n `,\n ],\n})\nexport class ProgressComponent {\n readonly value = input<number | null>(0);\n readonly max = input<number>(100);\n readonly indeterminate = input<boolean>(false);\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n readonly class = input<string>('');\n\n protected readonly clamped = computed(() => {\n const v = this.value() ?? 0;\n return Math.max(0, Math.min(this.max(), v));\n });\n\n protected readonly indicatorTransform = computed(() => {\n if (this.indeterminate()) return 'translateX(-100%)';\n const pct = (this.clamped() / this.max()) * 100;\n return `translateX(-${100 - pct}%)`;\n });\n\n protected readonly classes = computed(() =>\n cn('relative h-2 w-full overflow-hidden rounded-full bg-secondary', this.class()),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,92 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, output, viewChild, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { MatRadioGroup, MatRadioButton } from '@angular/material/radio';
5
- import { cn } from '@ojiepermana/angular/component/utils';
6
-
7
- class RadioGroupComponent {
8
- name = input('', ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
9
- orientation = input('vertical', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
10
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
11
- valueChange = output();
12
- ref = viewChild.required('ref');
13
- value = signal(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
14
- disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
15
- classes = computed(() => cn('ui-radio-group grid gap-2', this.orientation() === 'horizontal' ? 'grid-flow-col auto-cols-max' : '', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
16
- onChange = () => { };
17
- onTouched = () => { };
18
- handleChange(e) {
19
- this.value.set(e.value);
20
- this.onChange(e.value);
21
- this.onTouched();
22
- this.valueChange.emit(e.value);
23
- }
24
- focus() {
25
- this.ref()._radios?.first?.focus();
26
- }
27
- writeValue(v) {
28
- this.value.set(v ?? null);
29
- }
30
- registerOnChange(fn) {
31
- this.onChange = fn;
32
- }
33
- registerOnTouched(fn) {
34
- this.onTouched = fn;
35
- }
36
- setDisabledState(d) {
37
- this.disabled.set(d);
38
- }
39
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
40
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.14", type: RadioGroupComponent, isStandalone: true, selector: "ui-radio-group", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RadioGroupComponent), multi: true }], viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
41
- <mat-radio-group
42
- #ref
43
- [class]="classes()"
44
- [value]="value()"
45
- [disabled]="disabled()"
46
- [name]="name()"
47
- (change)="handleChange($event)">
48
- <ng-content />
49
- </mat-radio-group>
50
- `, isInline: true, styles: [":host{display:block}:host ::ng-deep .mat-mdc-radio-button{--mdc-radio-state-layer-size: 1rem;--mdc-radio-selected-icon-color: hsl(var(--primary));--mdc-radio-selected-focus-icon-color: hsl(var(--primary));--mdc-radio-selected-hover-icon-color: hsl(var(--primary));--mdc-radio-selected-pressed-icon-color: hsl(var(--primary));--mdc-radio-unselected-icon-color: hsl(var(--input));--mdc-radio-unselected-focus-icon-color: hsl(var(--input));--mdc-radio-unselected-hover-icon-color: hsl(var(--input));--mdc-radio-unselected-pressed-icon-color: hsl(var(--input));--mat-radio-ripple-color: transparent;--mat-radio-checked-ripple-color: transparent}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background:before,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-ripple,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-focus-indicator,:host ::ng-deep .mat-mdc-radio-button .mat-ripple{display:none}:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-touch-target{display:none}:host ::ng-deep .mat-mdc-radio-button .mdc-radio{padding:0;margin:0;flex:0 0 1rem;width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__native-control{width:1rem;height:1rem;top:0;left:0}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background{width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-form-field{gap:.5rem;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height)}:host ::ng-deep .mat-mdc-radio-button .mdc-label{padding:0;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
51
- }
52
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RadioGroupComponent, decorators: [{
53
- type: Component,
54
- args: [{ selector: 'ui-radio-group', imports: [MatRadioGroup], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RadioGroupComponent), multi: true }], template: `
55
- <mat-radio-group
56
- #ref
57
- [class]="classes()"
58
- [value]="value()"
59
- [disabled]="disabled()"
60
- [name]="name()"
61
- (change)="handleChange($event)">
62
- <ng-content />
63
- </mat-radio-group>
64
- `, styles: [":host{display:block}:host ::ng-deep .mat-mdc-radio-button{--mdc-radio-state-layer-size: 1rem;--mdc-radio-selected-icon-color: hsl(var(--primary));--mdc-radio-selected-focus-icon-color: hsl(var(--primary));--mdc-radio-selected-hover-icon-color: hsl(var(--primary));--mdc-radio-selected-pressed-icon-color: hsl(var(--primary));--mdc-radio-unselected-icon-color: hsl(var(--input));--mdc-radio-unselected-focus-icon-color: hsl(var(--input));--mdc-radio-unselected-hover-icon-color: hsl(var(--input));--mdc-radio-unselected-pressed-icon-color: hsl(var(--input));--mat-radio-ripple-color: transparent;--mat-radio-checked-ripple-color: transparent}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background:before,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-ripple,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-focus-indicator,:host ::ng-deep .mat-mdc-radio-button .mat-ripple{display:none}:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-touch-target{display:none}:host ::ng-deep .mat-mdc-radio-button .mdc-radio{padding:0;margin:0;flex:0 0 1rem;width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__native-control{width:1rem;height:1rem;top:0;left:0}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background{width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-form-field{gap:.5rem;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height)}:host ::ng-deep .mat-mdc-radio-button .mdc-label{padding:0;cursor:pointer}\n"] }]
65
- }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], ref: [{ type: i0.ViewChild, args: ['ref', { isSignal: true }] }] } });
66
- class RadioComponent {
67
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
68
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
69
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
70
- classes = computed(() => cn('ui-radio', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
71
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
72
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: RadioComponent, isStandalone: true, selector: "ui-radio", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
73
- <mat-radio-button disableRipple [class]="classes()" [value]="value()" [disabled]="disabled()">
74
- <ng-content />
75
- </mat-radio-button>
76
- `, isInline: true, styles: [":host{display:block}:host ::ng-deep .mat-mdc-radio-button{--mdc-radio-state-layer-size: 1rem;--mdc-radio-selected-icon-color: hsl(var(--primary));--mdc-radio-selected-focus-icon-color: hsl(var(--primary));--mdc-radio-selected-hover-icon-color: hsl(var(--primary));--mdc-radio-selected-pressed-icon-color: hsl(var(--primary));--mdc-radio-unselected-icon-color: hsl(var(--input));--mdc-radio-unselected-focus-icon-color: hsl(var(--input));--mdc-radio-unselected-hover-icon-color: hsl(var(--input));--mdc-radio-unselected-pressed-icon-color: hsl(var(--input));--mat-radio-ripple-color: transparent;--mat-radio-checked-ripple-color: transparent}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background:before,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-ripple,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-focus-indicator,:host ::ng-deep .mat-mdc-radio-button .mat-ripple{display:none}:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-touch-target{display:none}:host ::ng-deep .mat-mdc-radio-button .mdc-radio{padding:0;margin:0;flex:0 0 1rem;width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__native-control{width:1rem;height:1rem;top:0;left:0}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background{width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-form-field{gap:.5rem;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height)}:host ::ng-deep .mat-mdc-radio-button .mdc-label{padding:0;cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
77
- }
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: RadioComponent, decorators: [{
79
- type: Component,
80
- args: [{ selector: 'ui-radio', imports: [MatRadioButton], changeDetection: ChangeDetectionStrategy.OnPush, template: `
81
- <mat-radio-button disableRipple [class]="classes()" [value]="value()" [disabled]="disabled()">
82
- <ng-content />
83
- </mat-radio-button>
84
- `, styles: [":host{display:block}:host ::ng-deep .mat-mdc-radio-button{--mdc-radio-state-layer-size: 1rem;--mdc-radio-selected-icon-color: hsl(var(--primary));--mdc-radio-selected-focus-icon-color: hsl(var(--primary));--mdc-radio-selected-hover-icon-color: hsl(var(--primary));--mdc-radio-selected-pressed-icon-color: hsl(var(--primary));--mdc-radio-unselected-icon-color: hsl(var(--input));--mdc-radio-unselected-focus-icon-color: hsl(var(--input));--mdc-radio-unselected-hover-icon-color: hsl(var(--input));--mdc-radio-unselected-pressed-icon-color: hsl(var(--input));--mat-radio-ripple-color: transparent;--mat-radio-checked-ripple-color: transparent}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background:before,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-ripple,:host ::ng-deep .mat-mdc-radio-button .mat-mdc-focus-indicator,:host ::ng-deep .mat-mdc-radio-button .mat-ripple{display:none}:host ::ng-deep .mat-mdc-radio-button .mat-mdc-radio-touch-target{display:none}:host ::ng-deep .mat-mdc-radio-button .mdc-radio{padding:0;margin:0;flex:0 0 1rem;width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__native-control{width:1rem;height:1rem;top:0;left:0}:host ::ng-deep .mat-mdc-radio-button .mdc-radio__background{width:1rem;height:1rem}:host ::ng-deep .mat-mdc-radio-button .mdc-form-field{gap:.5rem;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height)}:host ::ng-deep .mat-mdc-radio-button .mdc-label{padding:0;cursor:pointer}\n"] }]
85
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
86
-
87
- /**
88
- * Generated bundle index. Do not edit.
89
- */
90
-
91
- export { RadioComponent, RadioGroupComponent };
92
- //# sourceMappingURL=ojiepermana-angular-component-radio.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ojiepermana-angular-component-radio.mjs","sources":["../../../projects/angular/component/radio/src/lib/radio.component.ts","../../../projects/angular/component/radio/ojiepermana-angular-component-radio.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n input,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { MatRadioButton, MatRadioChange, MatRadioGroup } from '@angular/material/radio';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\n@Component({\n selector: 'ui-radio-group',\n imports: [MatRadioGroup],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => RadioGroupComponent), multi: true }],\n template: `\n <mat-radio-group\n #ref\n [class]=\"classes()\"\n [value]=\"value()\"\n [disabled]=\"disabled()\"\n [name]=\"name()\"\n (change)=\"handleChange($event)\">\n <ng-content />\n </mat-radio-group>\n `,\n styleUrl: './radio.component.css',\n})\nexport class RadioGroupComponent implements ControlValueAccessor {\n readonly name = input<string>('');\n readonly orientation = input<'horizontal' | 'vertical'>('vertical');\n readonly class = input<string>('');\n\n readonly valueChange = output<string>();\n\n private readonly ref = viewChild.required<MatRadioGroup>('ref');\n\n protected readonly value = signal<string | null>(null);\n protected readonly disabled = signal<boolean>(false);\n protected readonly classes = computed(() =>\n cn(\n 'ui-radio-group grid gap-2',\n this.orientation() === 'horizontal' ? 'grid-flow-col auto-cols-max' : '',\n this.class(),\n ),\n );\n\n private onChange: (v: string | null) => void = () => {};\n private onTouched: () => void = () => {};\n\n protected handleChange(e: MatRadioChange): void {\n this.value.set(e.value);\n this.onChange(e.value);\n this.onTouched();\n this.valueChange.emit(e.value);\n }\n\n focus(): void {\n this.ref()._radios?.first?.focus();\n }\n\n writeValue(v: string | null): void {\n this.value.set(v ?? null);\n }\n registerOnChange(fn: (v: string | null) => void): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(d: boolean): void {\n this.disabled.set(d);\n }\n}\n\n@Component({\n selector: 'ui-radio',\n imports: [MatRadioButton],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <mat-radio-button disableRipple [class]=\"classes()\" [value]=\"value()\" [disabled]=\"disabled()\">\n <ng-content />\n </mat-radio-button>\n `,\n styleUrl: './radio.component.css',\n})\nexport class RadioComponent {\n readonly value = input.required<string>();\n readonly disabled = input<boolean>(false);\n readonly class = input<string>('');\n\n protected readonly classes = computed(() => cn('ui-radio', this.class()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,48 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, numberAttribute, computed, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { cn } from '@ojiepermana/angular/component/utils';
4
-
5
- /**
6
- * Lightweight scroll area using native scrollbars styled via CSS.
7
- * Fully accessible — real scrolling, keyboard, wheel, momentum.
8
- */
9
- class ScrollAreaComponent {
10
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
11
- viewportClass = input('', ...(ngDevMode ? [{ debugName: "viewportClass" }] : /* istanbul ignore next */ []));
12
- viewportAriaLabel = input(null, ...(ngDevMode ? [{ debugName: "viewportAriaLabel" }] : /* istanbul ignore next */ []));
13
- viewportTabIndex = input(0, { ...(ngDevMode ? { debugName: "viewportTabIndex" } : /* istanbul ignore next */ {}), transform: numberAttribute });
14
- classes = computed(() => cn('relative overflow-hidden', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
15
- viewportRole = computed(() => (this.viewportAriaLabel() ? 'region' : null), ...(ngDevMode ? [{ debugName: "viewportRole" }] : /* istanbul ignore next */ []));
16
- viewportClasses = computed(() => cn('ui-scroll-area-viewport h-full w-full rounded-[inherit]', 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring', this.viewportClass()), ...(ngDevMode ? [{ debugName: "viewportClasses" }] : /* istanbul ignore next */ []));
17
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ScrollAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
18
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: ScrollAreaComponent, isStandalone: true, selector: "ui-scroll-area", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null }, viewportClass: { classPropertyName: "viewportClass", publicName: "viewportClass", isSignal: true, isRequired: false, transformFunction: null }, viewportAriaLabel: { classPropertyName: "viewportAriaLabel", publicName: "viewportAriaLabel", isSignal: true, isRequired: false, transformFunction: null }, viewportTabIndex: { classPropertyName: "viewportTabIndex", publicName: "viewportTabIndex", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `
19
- <div
20
- [class]="viewportClasses()"
21
- [attr.aria-label]="viewportAriaLabel()"
22
- [attr.role]="viewportRole()"
23
- [attr.tabindex]="viewportTabIndex()">
24
- <ng-content />
25
- </div>
26
- `, isInline: true, styles: [":host{display:block;overflow:hidden;position:relative}.ui-scroll-area-viewport{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--tw-scrollbar-thumb, hsl(var(--border))) var(--tw-scrollbar-track, transparent)}.ui-scroll-area-viewport::-webkit-scrollbar{width:10px;height:10px}.ui-scroll-area-viewport::-webkit-scrollbar-track{background:var(--tw-scrollbar-track, transparent)}.ui-scroll-area-viewport::-webkit-scrollbar-thumb{background:var(--tw-scrollbar-thumb, hsl(var(--border)));border:var(--border-width) solid transparent;background-clip:padding-box;border-radius:var(--radius-lg)}.ui-scroll-area-viewport::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-thumb-hover, var(--tw-scrollbar-thumb, hsl(var(--muted-foreground))));background-clip:padding-box}@media(forced-colors:active){.ui-scroll-area-viewport{scrollbar-width:auto;scrollbar-color:auto}.ui-scroll-area-viewport::-webkit-scrollbar-thumb{background:CanvasText;border-color:transparent}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
27
- }
28
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: ScrollAreaComponent, decorators: [{
29
- type: Component,
30
- args: [{ selector: 'ui-scroll-area', changeDetection: ChangeDetectionStrategy.OnPush, host: {
31
- '[class]': 'classes()',
32
- }, template: `
33
- <div
34
- [class]="viewportClasses()"
35
- [attr.aria-label]="viewportAriaLabel()"
36
- [attr.role]="viewportRole()"
37
- [attr.tabindex]="viewportTabIndex()">
38
- <ng-content />
39
- </div>
40
- `, styles: [":host{display:block;overflow:hidden;position:relative}.ui-scroll-area-viewport{overflow:auto;scrollbar-width:thin;scrollbar-color:var(--tw-scrollbar-thumb, hsl(var(--border))) var(--tw-scrollbar-track, transparent)}.ui-scroll-area-viewport::-webkit-scrollbar{width:10px;height:10px}.ui-scroll-area-viewport::-webkit-scrollbar-track{background:var(--tw-scrollbar-track, transparent)}.ui-scroll-area-viewport::-webkit-scrollbar-thumb{background:var(--tw-scrollbar-thumb, hsl(var(--border)));border:var(--border-width) solid transparent;background-clip:padding-box;border-radius:var(--radius-lg)}.ui-scroll-area-viewport::-webkit-scrollbar-thumb:hover{background:var(--ui-scrollbar-thumb-hover, var(--tw-scrollbar-thumb, hsl(var(--muted-foreground))));background-clip:padding-box}@media(forced-colors:active){.ui-scroll-area-viewport{scrollbar-width:auto;scrollbar-color:auto}.ui-scroll-area-viewport::-webkit-scrollbar-thumb{background:CanvasText;border-color:transparent}}\n"] }]
41
- }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], viewportClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewportClass", required: false }] }], viewportAriaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewportAriaLabel", required: false }] }], viewportTabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewportTabIndex", required: false }] }] } });
42
-
43
- /**
44
- * Generated bundle index. Do not edit.
45
- */
46
-
47
- export { ScrollAreaComponent };
48
- //# sourceMappingURL=ojiepermana-angular-component-scroll-area.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ojiepermana-angular-component-scroll-area.mjs","sources":["../../../projects/angular/component/scroll-area/src/lib/scroll-area.component.ts","../../../projects/angular/component/scroll-area/ojiepermana-angular-component-scroll-area.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input, numberAttribute } from '@angular/core';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\n/**\n * Lightweight scroll area using native scrollbars styled via CSS.\n * Fully accessible — real scrolling, keyboard, wheel, momentum.\n */\n@Component({\n selector: 'ui-scroll-area',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class]': 'classes()',\n },\n template: `\n <div\n [class]=\"viewportClasses()\"\n [attr.aria-label]=\"viewportAriaLabel()\"\n [attr.role]=\"viewportRole()\"\n [attr.tabindex]=\"viewportTabIndex()\">\n <ng-content />\n </div>\n `,\n styles: [\n `\n :host {\n display: block;\n overflow: hidden;\n position: relative;\n }\n .ui-scroll-area-viewport {\n overflow: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--tw-scrollbar-thumb, hsl(var(--border))) var(--tw-scrollbar-track, transparent);\n }\n .ui-scroll-area-viewport::-webkit-scrollbar {\n width: 10px;\n height: 10px;\n }\n .ui-scroll-area-viewport::-webkit-scrollbar-track {\n background: var(--tw-scrollbar-track, transparent);\n }\n .ui-scroll-area-viewport::-webkit-scrollbar-thumb {\n background: var(--tw-scrollbar-thumb, hsl(var(--border)));\n border: var(--border-width) solid transparent;\n background-clip: padding-box;\n border-radius: var(--radius-lg);\n }\n .ui-scroll-area-viewport::-webkit-scrollbar-thumb:hover {\n background: var(--ui-scrollbar-thumb-hover, var(--tw-scrollbar-thumb, hsl(var(--muted-foreground))));\n background-clip: padding-box;\n }\n @media (forced-colors: active) {\n .ui-scroll-area-viewport {\n scrollbar-width: auto;\n scrollbar-color: auto;\n }\n .ui-scroll-area-viewport::-webkit-scrollbar-thumb {\n background: CanvasText;\n border-color: transparent;\n }\n }\n `,\n ],\n})\nexport class ScrollAreaComponent {\n readonly class = input<string>('');\n readonly viewportClass = input<string>('');\n readonly viewportAriaLabel = input<string | null>(null);\n readonly viewportTabIndex = input(0, { transform: numberAttribute });\n protected readonly classes = computed(() => cn('relative overflow-hidden', this.class()));\n protected readonly viewportRole = computed(() => (this.viewportAriaLabel() ? 'region' : null));\n protected readonly viewportClasses = computed(() =>\n cn(\n 'ui-scroll-area-viewport h-full w-full rounded-[inherit]',\n 'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-inset focus-visible:ring-ring',\n this.viewportClass(),\n ),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAGA;;;AAGG;MA0DU,mBAAmB,CAAA;AACrB,IAAA,KAAK,GAAG,KAAK,CAAS,EAAE,4EAAC;AACzB,IAAA,aAAa,GAAG,KAAK,CAAS,EAAE,oFAAC;AACjC,IAAA,iBAAiB,GAAG,KAAK,CAAgB,IAAI,wFAAC;IAC9C,gBAAgB,GAAG,KAAK,CAAC,CAAC,wFAAI,SAAS,EAAE,eAAe,EAAA,CAAG;AACjD,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,0BAA0B,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,8EAAC;IACtE,YAAY,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,iBAAiB,EAAE,GAAG,QAAQ,GAAG,IAAI,CAAC,EAAA,IAAA,SAAA,GAAA,CAAA,EAAA,SAAA,EAAA,cAAA,EAAA,CAAA,8BAAA,EAAA,CAAA,CAAC;AAC3E,IAAA,eAAe,GAAG,QAAQ,CAAC,MAC5C,EAAE,CACA,yDAAyD,EACzD,kGAAkG,EAClG,IAAI,CAAC,aAAa,EAAE,CACrB,sFACF;wGAbU,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,gBAAA,EAAA,EAAA,iBAAA,EAAA,kBAAA,EAAA,UAAA,EAAA,kBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAnDpB;;;;;;;;AAQT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,+8BAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA;;4FA2CU,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAzD/B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,eAAA,EACT,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACJ,wBAAA,SAAS,EAAE,WAAW;qBACvB,EAAA,QAAA,EACS;;;;;;;;AAQT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,+8BAAA,CAAA,EAAA;;;ACrBH;;AAEG;;;;"}
@@ -1,131 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, output, viewChild, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
- import { MatFormField } from '@angular/material/form-field';
5
- import { MatSelect } from '@angular/material/select';
6
- import { cn } from '@ojiepermana/angular/component/utils';
7
- import { MatOption } from '@angular/material/core';
8
-
9
- class SelectComponent {
10
- placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : /* istanbul ignore next */ []));
11
- multiple = input(false, ...(ngDevMode ? [{ debugName: "multiple" }] : /* istanbul ignore next */ []));
12
- required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
13
- ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
14
- ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
15
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
16
- valueChange = output();
17
- openedChange = output();
18
- ref = viewChild.required('ref');
19
- value = signal(null, ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
20
- disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
21
- classes = computed(() => cn('ui-select-field w-full', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
22
- onChange = () => { };
23
- onTouched = () => { };
24
- handleChange(e) {
25
- this.value.set(e.value);
26
- this.onChange(e.value);
27
- this.onTouched();
28
- this.valueChange.emit(e.value);
29
- }
30
- open() {
31
- this.ref().open();
32
- }
33
- close() {
34
- this.ref().close();
35
- }
36
- focus() {
37
- this.ref().focus();
38
- }
39
- writeValue(v) {
40
- this.value.set(v);
41
- }
42
- registerOnChange(fn) {
43
- this.onChange = fn;
44
- }
45
- registerOnTouched(fn) {
46
- this.onTouched = fn;
47
- }
48
- setDisabledState(d) {
49
- this.disabled.set(d);
50
- }
51
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: SelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
52
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.14", type: SelectComponent, isStandalone: true, selector: "ui-select", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "aria-label", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", openedChange: "openedChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectComponent), multi: true }], viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
53
- <mat-form-field [class]="classes()" subscriptSizing="dynamic">
54
- <mat-select
55
- #ref
56
- disableRipple
57
- panelClass="ui-select-panel"
58
- [value]="value()"
59
- [disabled]="disabled()"
60
- [multiple]="multiple()"
61
- [placeholder]="placeholder()"
62
- [required]="required()"
63
- [attr.aria-label]="ariaLabel()"
64
- [attr.aria-labelledby]="ariaLabelledby()"
65
- (selectionChange)="handleChange($event)"
66
- (openedChange)="openedChange.emit($event)">
67
- <ng-content />
68
- </mat-select>
69
- </mat-form-field>
70
- `, isInline: true, styles: [":host{display:block;width:100%}:host ::ng-deep .mat-mdc-form-field{--mat-form-field-container-height: 2.25rem;--mat-form-field-container-vertical-padding: 0;--mat-form-field-filled-with-label-container-padding-top: 0;--mat-form-field-filled-with-label-container-padding-bottom: 0;--mdc-outlined-text-field-container-shape: calc(var(--radius) - .125rem);--mdc-outlined-text-field-outline-color: hsl(var(--input));--mdc-outlined-text-field-hover-outline-color: hsl(var(--input));--mdc-outlined-text-field-focus-outline-color: hsl(var(--ring));--mdc-outlined-text-field-input-text-color: hsl(var(--foreground));--mdc-outlined-text-field-label-text-color: hsl(var(--muted-foreground));--mdc-outlined-text-field-hover-label-text-color: hsl(var(--muted-foreground));--mdc-outlined-text-field-focus-label-text-color: hsl(var(--muted-foreground));--mdc-outlined-text-field-disabled-outline-color: hsl(var(--input) / .5);--mdc-outlined-text-field-disabled-input-text-color: hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height);width:100%}:host ::ng-deep .mat-mdc-text-field-wrapper{background:transparent;padding:0 .75rem}:host ::ng-deep .mat-mdc-form-field-infix{min-height:2.25rem;padding:.5rem 0;width:auto}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host ::ng-deep .mdc-floating-label,:host ::ng-deep .mat-mdc-floating-label,:host ::ng-deep .mdc-notched-outline__notch .mdc-floating-label{display:none}:host ::ng-deep .mdc-notched-outline__notch{padding:0;border-left:none;border-right:none}:host ::ng-deep .mat-mdc-select-value{color:hsl(var(--foreground))}:host ::ng-deep .mat-mdc-select-placeholder{color:hsl(var(--muted-foreground))}:host ::ng-deep .mat-mdc-select-arrow{color:hsl(var(--muted-foreground))}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
71
- }
72
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: SelectComponent, decorators: [{
73
- type: Component,
74
- args: [{ selector: 'ui-select', imports: [MatFormField, MatSelect], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SelectComponent), multi: true }], template: `
75
- <mat-form-field [class]="classes()" subscriptSizing="dynamic">
76
- <mat-select
77
- #ref
78
- disableRipple
79
- panelClass="ui-select-panel"
80
- [value]="value()"
81
- [disabled]="disabled()"
82
- [multiple]="multiple()"
83
- [placeholder]="placeholder()"
84
- [required]="required()"
85
- [attr.aria-label]="ariaLabel()"
86
- [attr.aria-labelledby]="ariaLabelledby()"
87
- (selectionChange)="handleChange($event)"
88
- (openedChange)="openedChange.emit($event)">
89
- <ng-content />
90
- </mat-select>
91
- </mat-form-field>
92
- `, styles: [":host{display:block;width:100%}:host ::ng-deep .mat-mdc-form-field{--mat-form-field-container-height: 2.25rem;--mat-form-field-container-vertical-padding: 0;--mat-form-field-filled-with-label-container-padding-top: 0;--mat-form-field-filled-with-label-container-padding-bottom: 0;--mdc-outlined-text-field-container-shape: calc(var(--radius) - .125rem);--mdc-outlined-text-field-outline-color: hsl(var(--input));--mdc-outlined-text-field-hover-outline-color: hsl(var(--input));--mdc-outlined-text-field-focus-outline-color: hsl(var(--ring));--mdc-outlined-text-field-input-text-color: hsl(var(--foreground));--mdc-outlined-text-field-label-text-color: hsl(var(--muted-foreground));--mdc-outlined-text-field-hover-label-text-color: hsl(var(--muted-foreground));--mdc-outlined-text-field-focus-label-text-color: hsl(var(--muted-foreground));--mdc-outlined-text-field-disabled-outline-color: hsl(var(--input) / .5);--mdc-outlined-text-field-disabled-input-text-color: hsl(var(--muted-foreground));font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--text-sm--line-height);width:100%}:host ::ng-deep .mat-mdc-text-field-wrapper{background:transparent;padding:0 .75rem}:host ::ng-deep .mat-mdc-form-field-infix{min-height:2.25rem;padding:.5rem 0;width:auto}:host ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}:host ::ng-deep .mdc-floating-label,:host ::ng-deep .mat-mdc-floating-label,:host ::ng-deep .mdc-notched-outline__notch .mdc-floating-label{display:none}:host ::ng-deep .mdc-notched-outline__notch{padding:0;border-left:none;border-right:none}:host ::ng-deep .mat-mdc-select-value{color:hsl(var(--foreground))}:host ::ng-deep .mat-mdc-select-placeholder{color:hsl(var(--muted-foreground))}:host ::ng-deep .mat-mdc-select-arrow{color:hsl(var(--muted-foreground))}\n"] }]
93
- }], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], ariaLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-label", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], openedChange: [{ type: i0.Output, args: ["openedChange"] }], ref: [{ type: i0.ViewChild, args: ['ref', { isSignal: true }] }] } });
94
-
95
- /**
96
- * Option for `<ui-select>`. Wraps `mat-option` so the underlying `mat-select`
97
- * can still discover it via `@ContentChildren(MatOption, { descendants: true })`.
98
- */
99
- class OptionComponent {
100
- value = input.required(...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
101
- disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
102
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
103
- classes = computed(() => cn('contents', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
104
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
105
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: OptionComponent, isStandalone: true, selector: "ui-option", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `
106
- <mat-option [value]="value()" [disabled]="disabled()">
107
- <ng-content />
108
- </mat-option>
109
- `, isInline: true, dependencies: [{ kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
110
- }
111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: OptionComponent, decorators: [{
112
- type: Component,
113
- args: [{
114
- selector: 'ui-option',
115
- imports: [MatOption],
116
- changeDetection: ChangeDetectionStrategy.OnPush,
117
- host: { '[class]': 'classes()' },
118
- template: `
119
- <mat-option [value]="value()" [disabled]="disabled()">
120
- <ng-content />
121
- </mat-option>
122
- `,
123
- }]
124
- }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
125
-
126
- /**
127
- * Generated bundle index. Do not edit.
128
- */
129
-
130
- export { OptionComponent, SelectComponent };
131
- //# sourceMappingURL=ojiepermana-angular-component-select.mjs.map