@ojiepermana/angular 21.3.4 → 22.0.1

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 (290) hide show
  1. package/README.md +10 -6
  2. package/component/accordion/README.md +195 -0
  3. package/component/alert/README.md +182 -0
  4. package/component/alert-dialog/README.md +239 -0
  5. package/component/aspect-ratio/README.md +112 -0
  6. package/component/avatar/README.md +176 -0
  7. package/component/badge/README.md +133 -0
  8. package/component/breadcrumb/README.md +216 -0
  9. package/component/button/README.md +139 -0
  10. package/component/button-group/README.md +208 -0
  11. package/component/calendar/README.md +132 -0
  12. package/component/card/README.md +220 -0
  13. package/component/carousel/README.md +276 -0
  14. package/component/checkbox/README.md +149 -0
  15. package/component/collapsible/README.md +195 -0
  16. package/component/combobox/README.md +198 -0
  17. package/component/command/README.md +275 -0
  18. package/component/composer/README.md +235 -0
  19. package/component/composer/package.json +4 -0
  20. package/component/context-menu/README.md +267 -0
  21. package/component/date-picker/README.md +177 -0
  22. package/component/dialog/README.md +237 -0
  23. package/component/drawer/README.md +145 -0
  24. package/component/dropdown-menu/README.md +311 -0
  25. package/component/editor/README.md +136 -0
  26. package/component/editor/package.json +4 -0
  27. package/component/empty/README.md +183 -0
  28. package/component/empty/package.json +4 -0
  29. package/component/form/README.md +210 -0
  30. package/component/hover-card/README.md +146 -0
  31. package/component/hover-card/package.json +4 -0
  32. package/component/input/README.md +159 -0
  33. package/component/input-group/README.md +239 -0
  34. package/component/input-otp/README.md +278 -0
  35. package/component/input-otp/package.json +4 -0
  36. package/component/item/README.md +247 -0
  37. package/component/kanban/README.md +81 -0
  38. package/component/kanban/package.json +4 -0
  39. package/component/kbd/README.md +139 -0
  40. package/component/kbd/package.json +4 -0
  41. package/component/label/README.md +136 -0
  42. package/component/menubar/README.md +269 -0
  43. package/component/menubar/package.json +4 -0
  44. package/component/native-select/README.md +176 -0
  45. package/component/native-select/package.json +4 -0
  46. package/component/navigation-menu/README.md +160 -0
  47. package/component/navigation-menu/package.json +4 -0
  48. package/component/pagination/README.md +144 -0
  49. package/component/pillbox/README.md +67 -0
  50. package/component/pillbox/package.json +4 -0
  51. package/component/popover/README.md +43 -0
  52. package/component/progress/README.md +160 -0
  53. package/component/radio/README.md +209 -0
  54. package/component/resizable/README.md +168 -0
  55. package/component/resizable/package.json +4 -0
  56. package/component/scroll-area/README.md +143 -0
  57. package/component/select/README.md +174 -0
  58. package/component/separator/README.md +170 -0
  59. package/component/sheet/README.md +183 -0
  60. package/component/skeleton/README.md +158 -0
  61. package/component/slider/README.md +207 -0
  62. package/component/spinner/README.md +160 -0
  63. package/component/spinner/package.json +4 -0
  64. package/component/switch/README.md +166 -0
  65. package/component/table/README.md +291 -0
  66. package/component/tabs/README.md +219 -0
  67. package/component/textarea/README.md +154 -0
  68. package/component/timeline/README.md +94 -0
  69. package/component/timeline/package.json +4 -0
  70. package/component/toast/README.md +321 -0
  71. package/component/toggle/README.md +131 -0
  72. package/component/toggle/package.json +4 -0
  73. package/component/toggle-group/README.md +206 -0
  74. package/component/toggle-group/package.json +4 -0
  75. package/component/tooltip/README.md +211 -0
  76. package/fesm2022/ojiepermana-angular-component-accordion.mjs +45 -30
  77. package/fesm2022/ojiepermana-angular-component-accordion.mjs.map +1 -1
  78. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs +95 -61
  79. package/fesm2022/ojiepermana-angular-component-alert-dialog.mjs.map +1 -1
  80. package/fesm2022/ojiepermana-angular-component-alert.mjs +30 -21
  81. package/fesm2022/ojiepermana-angular-component-alert.mjs.map +1 -1
  82. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs +11 -7
  83. package/fesm2022/ojiepermana-angular-component-aspect-ratio.mjs.map +1 -1
  84. package/fesm2022/ojiepermana-angular-component-avatar.mjs +50 -34
  85. package/fesm2022/ojiepermana-angular-component-avatar.mjs.map +1 -1
  86. package/fesm2022/ojiepermana-angular-component-badge.mjs +9 -6
  87. package/fesm2022/ojiepermana-angular-component-badge.mjs.map +1 -1
  88. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs +49 -35
  89. package/fesm2022/ojiepermana-angular-component-breadcrumb.mjs.map +1 -1
  90. package/fesm2022/ojiepermana-angular-component-button-group.mjs +25 -17
  91. package/fesm2022/ojiepermana-angular-component-button-group.mjs.map +1 -1
  92. package/fesm2022/ojiepermana-angular-component-button.mjs +11 -7
  93. package/fesm2022/ojiepermana-angular-component-button.mjs.map +1 -1
  94. package/fesm2022/ojiepermana-angular-component-calendar.mjs +23 -13
  95. package/fesm2022/ojiepermana-angular-component-calendar.mjs.map +1 -1
  96. package/fesm2022/ojiepermana-angular-component-card.mjs +51 -36
  97. package/fesm2022/ojiepermana-angular-component-card.mjs.map +1 -1
  98. package/fesm2022/ojiepermana-angular-component-carousel.mjs +66 -42
  99. package/fesm2022/ojiepermana-angular-component-carousel.mjs.map +1 -1
  100. package/fesm2022/ojiepermana-angular-component-chart.mjs +494 -283
  101. package/fesm2022/ojiepermana-angular-component-chart.mjs.map +1 -1
  102. package/fesm2022/ojiepermana-angular-component-checkbox.mjs +23 -13
  103. package/fesm2022/ojiepermana-angular-component-checkbox.mjs.map +1 -1
  104. package/fesm2022/ojiepermana-angular-component-collapsible.mjs +28 -20
  105. package/fesm2022/ojiepermana-angular-component-collapsible.mjs.map +1 -1
  106. package/fesm2022/ojiepermana-angular-component-combobox.mjs +27 -18
  107. package/fesm2022/ojiepermana-angular-component-combobox.mjs.map +1 -1
  108. package/fesm2022/ojiepermana-angular-component-command.mjs +77 -52
  109. package/fesm2022/ojiepermana-angular-component-command.mjs.map +1 -1
  110. package/fesm2022/ojiepermana-angular-component-composer.mjs +352 -0
  111. package/fesm2022/ojiepermana-angular-component-composer.mjs.map +1 -0
  112. package/fesm2022/ojiepermana-angular-component-context-menu.mjs +9 -6
  113. package/fesm2022/ojiepermana-angular-component-context-menu.mjs.map +1 -1
  114. package/fesm2022/ojiepermana-angular-component-date-picker.mjs +34 -19
  115. package/fesm2022/ojiepermana-angular-component-date-picker.mjs.map +1 -1
  116. package/fesm2022/ojiepermana-angular-component-dialog.mjs +55 -38
  117. package/fesm2022/ojiepermana-angular-component-dialog.mjs.map +1 -1
  118. package/fesm2022/ojiepermana-angular-component-drawer.mjs.map +1 -1
  119. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs +108 -74
  120. package/fesm2022/ojiepermana-angular-component-dropdown-menu.mjs.map +1 -1
  121. package/fesm2022/ojiepermana-angular-component-editor.mjs +717 -0
  122. package/fesm2022/ojiepermana-angular-component-editor.mjs.map +1 -0
  123. package/fesm2022/ojiepermana-angular-component-empty.mjs +145 -0
  124. package/fesm2022/ojiepermana-angular-component-empty.mjs.map +1 -0
  125. package/fesm2022/ojiepermana-angular-component-form.mjs +200 -42
  126. package/fesm2022/ojiepermana-angular-component-form.mjs.map +1 -1
  127. package/fesm2022/ojiepermana-angular-component-hover-card.mjs +297 -0
  128. package/fesm2022/ojiepermana-angular-component-hover-card.mjs.map +1 -0
  129. package/fesm2022/ojiepermana-angular-component-input-group.mjs +48 -33
  130. package/fesm2022/ojiepermana-angular-component-input-group.mjs.map +1 -1
  131. package/fesm2022/ojiepermana-angular-component-input-otp.mjs +514 -0
  132. package/fesm2022/ojiepermana-angular-component-input-otp.mjs.map +1 -0
  133. package/fesm2022/ojiepermana-angular-component-input.mjs +7 -5
  134. package/fesm2022/ojiepermana-angular-component-input.mjs.map +1 -1
  135. package/fesm2022/ojiepermana-angular-component-item.mjs +76 -53
  136. package/fesm2022/ojiepermana-angular-component-item.mjs.map +1 -1
  137. package/fesm2022/ojiepermana-angular-component-kanban.mjs +314 -0
  138. package/fesm2022/ojiepermana-angular-component-kanban.mjs.map +1 -0
  139. package/fesm2022/ojiepermana-angular-component-kbd.mjs +55 -0
  140. package/fesm2022/ojiepermana-angular-component-kbd.mjs.map +1 -0
  141. package/fesm2022/ojiepermana-angular-component-label.mjs +9 -6
  142. package/fesm2022/ojiepermana-angular-component-label.mjs.map +1 -1
  143. package/fesm2022/ojiepermana-angular-component-menubar.mjs +308 -0
  144. package/fesm2022/ojiepermana-angular-component-menubar.mjs.map +1 -0
  145. package/fesm2022/ojiepermana-angular-component-native-select.mjs +67 -0
  146. package/fesm2022/ojiepermana-angular-component-native-select.mjs.map +1 -0
  147. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs +413 -0
  148. package/fesm2022/ojiepermana-angular-component-navigation-menu.mjs.map +1 -0
  149. package/fesm2022/ojiepermana-angular-component-pagination.mjs +65 -31
  150. package/fesm2022/ojiepermana-angular-component-pagination.mjs.map +1 -1
  151. package/fesm2022/ojiepermana-angular-component-pillbox.mjs +812 -0
  152. package/fesm2022/ojiepermana-angular-component-pillbox.mjs.map +1 -0
  153. package/fesm2022/ojiepermana-angular-component-popover.mjs +18 -12
  154. package/fesm2022/ojiepermana-angular-component-popover.mjs.map +1 -1
  155. package/fesm2022/ojiepermana-angular-component-progress.mjs +17 -10
  156. package/fesm2022/ojiepermana-angular-component-progress.mjs.map +1 -1
  157. package/fesm2022/ojiepermana-angular-component-radio.mjs +47 -17
  158. package/fesm2022/ojiepermana-angular-component-radio.mjs.map +1 -1
  159. package/fesm2022/ojiepermana-angular-component-resizable.mjs +481 -0
  160. package/fesm2022/ojiepermana-angular-component-resizable.mjs.map +1 -0
  161. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs +15 -9
  162. package/fesm2022/ojiepermana-angular-component-scroll-area.mjs.map +1 -1
  163. package/fesm2022/ojiepermana-angular-component-select.mjs +71 -26
  164. package/fesm2022/ojiepermana-angular-component-select.mjs.map +1 -1
  165. package/fesm2022/ojiepermana-angular-component-separator.mjs +11 -7
  166. package/fesm2022/ojiepermana-angular-component-separator.mjs.map +1 -1
  167. package/fesm2022/ojiepermana-angular-component-sheet.mjs +91 -42
  168. package/fesm2022/ojiepermana-angular-component-sheet.mjs.map +1 -1
  169. package/fesm2022/ojiepermana-angular-component-skeleton.mjs +7 -5
  170. package/fesm2022/ojiepermana-angular-component-skeleton.mjs.map +1 -1
  171. package/fesm2022/ojiepermana-angular-component-slider.mjs +401 -7
  172. package/fesm2022/ojiepermana-angular-component-slider.mjs.map +1 -1
  173. package/fesm2022/ojiepermana-angular-component-spinner.mjs +60 -0
  174. package/fesm2022/ojiepermana-angular-component-spinner.mjs.map +1 -0
  175. package/fesm2022/ojiepermana-angular-component-switch.mjs +47 -15
  176. package/fesm2022/ojiepermana-angular-component-switch.mjs.map +1 -1
  177. package/fesm2022/ojiepermana-angular-component-table.mjs +56 -40
  178. package/fesm2022/ojiepermana-angular-component-table.mjs.map +1 -1
  179. package/fesm2022/ojiepermana-angular-component-tabs.mjs +58 -38
  180. package/fesm2022/ojiepermana-angular-component-tabs.mjs.map +1 -1
  181. package/fesm2022/ojiepermana-angular-component-textarea.mjs +8 -6
  182. package/fesm2022/ojiepermana-angular-component-textarea.mjs.map +1 -1
  183. package/fesm2022/ojiepermana-angular-component-timeline.mjs +237 -0
  184. package/fesm2022/ojiepermana-angular-component-timeline.mjs.map +1 -0
  185. package/fesm2022/ojiepermana-angular-component-toast.mjs +28 -4
  186. package/fesm2022/ojiepermana-angular-component-toast.mjs.map +1 -1
  187. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs +289 -0
  188. package/fesm2022/ojiepermana-angular-component-toggle-group.mjs.map +1 -0
  189. package/fesm2022/ojiepermana-angular-component-toggle.mjs +82 -0
  190. package/fesm2022/ojiepermana-angular-component-toggle.mjs.map +1 -0
  191. package/fesm2022/ojiepermana-angular-component-tooltip.mjs +304 -6
  192. package/fesm2022/ojiepermana-angular-component-tooltip.mjs.map +1 -1
  193. package/fesm2022/ojiepermana-angular-component-utils.mjs.map +1 -1
  194. package/fesm2022/ojiepermana-angular-layout-component.mjs +45 -24
  195. package/fesm2022/ojiepermana-angular-layout-component.mjs.map +1 -1
  196. package/fesm2022/ojiepermana-angular-layout-provider.mjs.map +1 -1
  197. package/fesm2022/ojiepermana-angular-layout-services.mjs +7 -5
  198. package/fesm2022/ojiepermana-angular-layout-services.mjs.map +1 -1
  199. package/fesm2022/ojiepermana-angular-layout-shell.mjs +3 -3
  200. package/fesm2022/ojiepermana-angular-layout-shell.mjs.map +1 -1
  201. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs +9 -6
  202. package/fesm2022/ojiepermana-angular-layout-token-directive.mjs.map +1 -1
  203. package/fesm2022/ojiepermana-angular-layout-token.mjs.map +1 -1
  204. package/fesm2022/{ojiepermana-angular-layout-empty.mjs → ojiepermana-angular-layout-type-empty.mjs} +4 -4
  205. package/fesm2022/ojiepermana-angular-layout-type-empty.mjs.map +1 -0
  206. package/fesm2022/{ojiepermana-angular-layout-horizontal.mjs → ojiepermana-angular-layout-type-horizontal.mjs} +26 -17
  207. package/fesm2022/ojiepermana-angular-layout-type-horizontal.mjs.map +1 -0
  208. package/fesm2022/{ojiepermana-angular-layout-vertical.mjs → ojiepermana-angular-layout-type-vertical.mjs} +28 -18
  209. package/fesm2022/ojiepermana-angular-layout-type-vertical.mjs.map +1 -0
  210. package/fesm2022/ojiepermana-angular-layout.mjs +74 -50
  211. package/fesm2022/ojiepermana-angular-layout.mjs.map +1 -1
  212. package/fesm2022/ojiepermana-angular-navigation-demo-data.mjs.map +1 -1
  213. package/fesm2022/ojiepermana-angular-navigation-icon.mjs +11 -7
  214. package/fesm2022/ojiepermana-angular-navigation-icon.mjs.map +1 -1
  215. package/fesm2022/ojiepermana-angular-navigation-item.mjs +27 -16
  216. package/fesm2022/ojiepermana-angular-navigation-item.mjs.map +1 -1
  217. package/fesm2022/ojiepermana-angular-navigation-service.mjs +29 -20
  218. package/fesm2022/ojiepermana-angular-navigation-service.mjs.map +1 -1
  219. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs +71 -43
  220. package/fesm2022/ojiepermana-angular-navigation-sidebar.mjs.map +1 -1
  221. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs +261 -24
  222. package/fesm2022/ojiepermana-angular-navigation-topbar.mjs.map +1 -1
  223. package/fesm2022/ojiepermana-angular-theme-provider.mjs.map +1 -1
  224. package/fesm2022/ojiepermana-angular-theme-services.mjs +19 -11
  225. package/fesm2022/ojiepermana-angular-theme-services.mjs.map +1 -1
  226. package/fesm2022/ojiepermana-angular-theme-token.mjs.map +1 -1
  227. package/fesm2022/ojiepermana-angular-theme.mjs +19 -11
  228. package/fesm2022/ojiepermana-angular-theme.mjs.map +1 -1
  229. package/generator/api/bin/src/emit/client.js +4 -2
  230. package/generator/api/bin/src/writer/index.js +2 -2
  231. package/generator/guide/bin/schematics/build/index.js +3 -2
  232. package/generator/guide/bin/src/engine/component.js +2 -2
  233. package/generator/guide/bin/src/engine/index.js +3 -3
  234. package/generator/guide/bin/src/engine/render.js +10 -5
  235. package/layout/type/empty/package.json +4 -0
  236. package/layout/type/horizontal/package.json +4 -0
  237. package/layout/type/vertical/package.json +4 -0
  238. package/navigation/topbar/README.md +196 -0
  239. package/package.json +89 -25
  240. package/theme/README.md +110 -3
  241. package/theme/styles/integrations/material/autocomplete.css +178 -0
  242. package/theme/styles/integrations/material/button.css +468 -0
  243. package/theme/styles/integrations/material/dialog.css +152 -0
  244. package/theme/styles/integrations/material/select.css +175 -0
  245. package/theme/styles/integrations/material/slide-toggle.css +234 -0
  246. package/theme/styles/integrations/material/slider.css +194 -0
  247. package/theme/styles/integrations/material/tabs.css +229 -0
  248. package/theme/styles/integrations/material.css +70 -60
  249. package/types/ojiepermana-angular-component-combobox.d.ts +1 -2
  250. package/types/ojiepermana-angular-component-composer.d.ts +90 -0
  251. package/types/ojiepermana-angular-component-dropdown-menu.d.ts +2 -0
  252. package/types/ojiepermana-angular-component-editor.d.ts +123 -0
  253. package/types/ojiepermana-angular-component-empty.d.ts +50 -0
  254. package/types/ojiepermana-angular-component-form.d.ts +52 -3
  255. package/types/ojiepermana-angular-component-hover-card.d.ts +74 -0
  256. package/types/ojiepermana-angular-component-input-otp.d.ts +136 -0
  257. package/types/ojiepermana-angular-component-kanban.d.ts +70 -0
  258. package/types/ojiepermana-angular-component-kbd.d.ts +16 -0
  259. package/types/ojiepermana-angular-component-menubar.d.ts +67 -0
  260. package/types/ojiepermana-angular-component-native-select.d.ts +26 -0
  261. package/types/ojiepermana-angular-component-navigation-menu.d.ts +96 -0
  262. package/types/ojiepermana-angular-component-pagination.d.ts +10 -4
  263. package/types/ojiepermana-angular-component-pillbox.d.ts +157 -0
  264. package/types/ojiepermana-angular-component-radio.d.ts +7 -1
  265. package/types/ojiepermana-angular-component-resizable.d.ts +99 -0
  266. package/types/ojiepermana-angular-component-select.d.ts +17 -5
  267. package/types/ojiepermana-angular-component-sheet.d.ts +3 -1
  268. package/types/ojiepermana-angular-component-slider.d.ts +59 -1
  269. package/types/ojiepermana-angular-component-spinner.d.ts +13 -0
  270. package/types/ojiepermana-angular-component-switch.d.ts +13 -3
  271. package/types/ojiepermana-angular-component-timeline.d.ts +63 -0
  272. package/types/ojiepermana-angular-component-toast.d.ts +12 -3
  273. package/types/ojiepermana-angular-component-toggle-group.d.ts +89 -0
  274. package/types/ojiepermana-angular-component-toggle.d.ts +25 -0
  275. package/types/ojiepermana-angular-component-tooltip.d.ts +72 -5
  276. package/types/{ojiepermana-angular-layout-horizontal.d.ts → ojiepermana-angular-layout-type-horizontal.d.ts} +3 -3
  277. package/types/{ojiepermana-angular-layout-vertical.d.ts → ojiepermana-angular-layout-type-vertical.d.ts} +3 -3
  278. package/types/ojiepermana-angular-layout.d.ts +5 -5
  279. package/types/ojiepermana-angular-navigation-item.d.ts +1 -1
  280. package/types/ojiepermana-angular-navigation-service.d.ts +7 -7
  281. package/types/ojiepermana-angular-navigation-sidebar.d.ts +8 -8
  282. package/types/ojiepermana-angular-navigation-topbar.d.ts +24 -4
  283. package/types/ojiepermana-angular-navigation-types.d.ts +14 -8
  284. package/fesm2022/ojiepermana-angular-layout-empty.mjs.map +0 -1
  285. package/fesm2022/ojiepermana-angular-layout-horizontal.mjs.map +0 -1
  286. package/fesm2022/ojiepermana-angular-layout-vertical.mjs.map +0 -1
  287. package/layout/empty/package.json +0 -4
  288. package/layout/horizontal/package.json +0 -4
  289. package/layout/vertical/package.json +0 -4
  290. /package/types/{ojiepermana-angular-layout-empty.d.ts → ojiepermana-angular-layout-type-empty.d.ts} +0 -0
@@ -1,22 +1,46 @@
1
1
  import * as i0 from '@angular/core';
2
- import { input, output, viewChild, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
2
+ import { input, booleanAttribute, output, viewChild, signal, computed, forwardRef, ChangeDetectionStrategy, Component } from '@angular/core';
3
3
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
4
  import { MatSlideToggle } from '@angular/material/slide-toggle';
5
5
  import { cn } from '@ojiepermana/angular/component/utils';
6
6
 
7
+ let nextSwitchId = 0;
7
8
  /**
8
9
  * Switch — shadcn-styled wrapper around `mat-slide-toggle`.
9
10
  */
10
11
  class SwitchComponent {
11
- required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
12
+ id = input(`ui-switch-${nextSwitchId++}`, /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
14
+ name = input(null, /* @ts-ignore */
15
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
16
+ disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
17
+ required = input(false, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
12
18
  ariaLabel = input(null, { ...(ngDevMode ? { debugName: "ariaLabel" } : /* istanbul ignore next */ {}), alias: 'aria-label' });
19
+ ariaDescribedby = input(null, { ...(ngDevMode ? { debugName: "ariaDescribedby" } : /* istanbul ignore next */ {}), alias: 'aria-describedby' });
13
20
  ariaLabelledby = input(null, { ...(ngDevMode ? { debugName: "ariaLabelledby" } : /* istanbul ignore next */ {}), alias: 'aria-labelledby' });
14
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
21
+ ariaInvalid = input(null, { ...(ngDevMode ? { debugName: "ariaInvalid" } : /* istanbul ignore next */ {}), alias: 'aria-invalid' });
22
+ size = input('default', /* @ts-ignore */
23
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
24
+ class = input('', /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
15
26
  checkedChange = output();
16
27
  ref = viewChild.required('ref');
17
- checked = signal(false, ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
18
- disabled = signal(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
19
- classes = computed(() => cn('ui-switch', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
28
+ checked = signal(false, /* @ts-ignore */
29
+ ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
30
+ disabledState = signal(false, /* @ts-ignore */
31
+ ...(ngDevMode ? [{ debugName: "disabledState" }] : /* istanbul ignore next */ []));
32
+ ariaInvalidAttr = computed(() => {
33
+ const value = this.ariaInvalid();
34
+ if (value === false || value === 'false' || value == null) {
35
+ return null;
36
+ }
37
+ return value === true || value === '' ? 'true' : `${value}`;
38
+ }, /* @ts-ignore */
39
+ ...(ngDevMode ? [{ debugName: "ariaInvalidAttr" }] : /* istanbul ignore next */ []));
40
+ isDisabled = computed(() => this.disabled() || this.disabledState(), /* @ts-ignore */
41
+ ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
42
+ classes = computed(() => cn('ui-switch', this.size() === 'sm' ? 'ui-switch-sm' : 'ui-switch-default', this.class()), /* @ts-ignore */
43
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
20
44
  onChange = () => { };
21
45
  onTouched = () => { };
22
46
  handleChange(e) {
@@ -38,43 +62,51 @@ class SwitchComponent {
38
62
  this.onTouched = fn;
39
63
  }
40
64
  setDisabledState(d) {
41
- this.disabled.set(d);
65
+ this.disabledState.set(d);
42
66
  }
43
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
44
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.2.14", type: SwitchComponent, isStandalone: true, selector: "ui-switch", inputs: { 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: { checkedChange: "checkedChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
67
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SwitchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
68
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.0", type: SwitchComponent, isStandalone: true, selector: "ui-switch", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", 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 }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "aria-describedby", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "aria-labelledby", isSignal: true, isRequired: false, transformFunction: null }, ariaInvalid: { classPropertyName: "ariaInvalid", publicName: "aria-invalid", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], viewQueries: [{ propertyName: "ref", first: true, predicate: ["ref"], descendants: true, isSignal: true }], ngImport: i0, template: `
45
69
  <mat-slide-toggle
46
70
  #ref
47
71
  hideIcon
48
72
  disableRipple
73
+ [id]="id()"
74
+ [name]="name()"
49
75
  [class]="classes()"
50
76
  [checked]="checked()"
51
- [disabled]="disabled()"
77
+ [disabled]="isDisabled()"
52
78
  [required]="required()"
53
79
  [attr.aria-label]="ariaLabel()"
80
+ [attr.aria-describedby]="ariaDescribedby()"
54
81
  [attr.aria-labelledby]="ariaLabelledby()"
82
+ [attr.aria-invalid]="ariaInvalidAttr()"
55
83
  (change)="handleChange($event)">
56
84
  <ng-content />
57
85
  </mat-slide-toggle>
58
- `, isInline: true, styles: [":host{display:inline-flex}:host ::ng-deep .mat-mdc-slide-toggle{--mdc-switch-track-width: 2rem;--mdc-switch-track-height: 1.15rem;--mdc-switch-track-shape: 9999px;--mdc-switch-handle-shape: 9999px;--mdc-switch-handle-width: .875rem;--mdc-switch-handle-height: .875rem;--mdc-switch-state-layer-size: 0;--mdc-switch-selected-track-color: hsl(var(--primary));--mdc-switch-selected-focus-track-color: hsl(var(--primary));--mdc-switch-selected-hover-track-color: hsl(var(--primary));--mdc-switch-selected-pressed-track-color: hsl(var(--primary));--mdc-switch-unselected-track-color: hsl(var(--input));--mdc-switch-unselected-focus-track-color: hsl(var(--input));--mdc-switch-unselected-hover-track-color: hsl(var(--input));--mdc-switch-unselected-pressed-track-color: hsl(var(--input));--mdc-switch-selected-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-focus-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-hover-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-pressed-handle-color: hsl(var(--primary-foreground));--mdc-switch-unselected-handle-color: hsl(var(--background));--mdc-switch-unselected-focus-handle-color: hsl(var(--background));--mdc-switch-unselected-hover-handle-color: hsl(var(--background));--mdc-switch-unselected-pressed-handle-color: hsl(var(--background));--mdc-switch-selected-icon-color: transparent;--mdc-switch-unselected-icon-color: transparent}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-focus-indicator{display:none}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__icons{display:none}:host ::ng-deep .mat-mdc-slide-toggle .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-slide-toggle .mdc-label{padding:0;cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
86
+ `, isInline: true, styles: [":host{display:inline-flex}:host ::ng-deep .mat-mdc-slide-toggle.ui-switch{--mdc-switch-track-width: 2rem;--mdc-switch-track-height: 1.15rem;--mdc-switch-track-shape: 9999px;--mdc-switch-handle-shape: 9999px;--mdc-switch-handle-width: .875rem;--mdc-switch-handle-height: .875rem;--mdc-switch-state-layer-size: 0;--mdc-switch-selected-track-color: hsl(var(--primary));--mdc-switch-selected-focus-track-color: hsl(var(--primary));--mdc-switch-selected-hover-track-color: hsl(var(--primary));--mdc-switch-selected-pressed-track-color: hsl(var(--primary));--mdc-switch-unselected-track-color: hsl(var(--input));--mdc-switch-unselected-focus-track-color: hsl(var(--input));--mdc-switch-unselected-hover-track-color: hsl(var(--input));--mdc-switch-unselected-pressed-track-color: hsl(var(--input));--mdc-switch-selected-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-focus-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-hover-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-pressed-handle-color: hsl(var(--primary-foreground));--mdc-switch-unselected-handle-color: hsl(var(--background));--mdc-switch-unselected-focus-handle-color: hsl(var(--background));--mdc-switch-unselected-hover-handle-color: hsl(var(--background));--mdc-switch-unselected-pressed-handle-color: hsl(var(--background));--mdc-switch-selected-icon-color: transparent;--mdc-switch-unselected-icon-color: transparent}:host ::ng-deep .mat-mdc-slide-toggle.ui-switch.ui-switch-sm{--mdc-switch-track-width: 1.75rem;--mdc-switch-track-height: 1rem;--mdc-switch-handle-width: .75rem;--mdc-switch-handle-height: .75rem}:host ::ng-deep .mat-mdc-slide-toggle.ui-switch[aria-invalid=true]{--mdc-switch-selected-track-color: hsl(var(--destructive));--mdc-switch-selected-focus-track-color: hsl(var(--destructive));--mdc-switch-selected-hover-track-color: hsl(var(--destructive));--mdc-switch-selected-pressed-track-color: hsl(var(--destructive));--mdc-switch-unselected-track-color: hsl(var(--destructive) / .25);--mdc-switch-unselected-focus-track-color: hsl(var(--destructive) / .25);--mdc-switch-unselected-hover-track-color: hsl(var(--destructive) / .25);--mdc-switch-unselected-pressed-track-color: hsl(var(--destructive) / .25);--mdc-switch-selected-handle-color: hsl(var(--destructive-foreground));--mdc-switch-selected-focus-handle-color: hsl(var(--destructive-foreground));--mdc-switch-selected-hover-handle-color: hsl(var(--destructive-foreground));--mdc-switch-selected-pressed-handle-color: hsl(var(--destructive-foreground));--mdc-switch-unselected-handle-color: hsl(var(--destructive));--mdc-switch-unselected-focus-handle-color: hsl(var(--destructive));--mdc-switch-unselected-hover-handle-color: hsl(var(--destructive));--mdc-switch-unselected-pressed-handle-color: hsl(var(--destructive))}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-focus-indicator{display:none}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__icons{display:none}:host ::ng-deep .mat-mdc-slide-toggle .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-slide-toggle .mdc-label{padding:0;cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
59
87
  }
60
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: SwitchComponent, decorators: [{
88
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: SwitchComponent, decorators: [{
61
89
  type: Component,
62
90
  args: [{ selector: 'ui-switch', imports: [MatSlideToggle], changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }], template: `
63
91
  <mat-slide-toggle
64
92
  #ref
65
93
  hideIcon
66
94
  disableRipple
95
+ [id]="id()"
96
+ [name]="name()"
67
97
  [class]="classes()"
68
98
  [checked]="checked()"
69
- [disabled]="disabled()"
99
+ [disabled]="isDisabled()"
70
100
  [required]="required()"
71
101
  [attr.aria-label]="ariaLabel()"
102
+ [attr.aria-describedby]="ariaDescribedby()"
72
103
  [attr.aria-labelledby]="ariaLabelledby()"
104
+ [attr.aria-invalid]="ariaInvalidAttr()"
73
105
  (change)="handleChange($event)">
74
106
  <ng-content />
75
107
  </mat-slide-toggle>
76
- `, styles: [":host{display:inline-flex}:host ::ng-deep .mat-mdc-slide-toggle{--mdc-switch-track-width: 2rem;--mdc-switch-track-height: 1.15rem;--mdc-switch-track-shape: 9999px;--mdc-switch-handle-shape: 9999px;--mdc-switch-handle-width: .875rem;--mdc-switch-handle-height: .875rem;--mdc-switch-state-layer-size: 0;--mdc-switch-selected-track-color: hsl(var(--primary));--mdc-switch-selected-focus-track-color: hsl(var(--primary));--mdc-switch-selected-hover-track-color: hsl(var(--primary));--mdc-switch-selected-pressed-track-color: hsl(var(--primary));--mdc-switch-unselected-track-color: hsl(var(--input));--mdc-switch-unselected-focus-track-color: hsl(var(--input));--mdc-switch-unselected-hover-track-color: hsl(var(--input));--mdc-switch-unselected-pressed-track-color: hsl(var(--input));--mdc-switch-selected-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-focus-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-hover-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-pressed-handle-color: hsl(var(--primary-foreground));--mdc-switch-unselected-handle-color: hsl(var(--background));--mdc-switch-unselected-focus-handle-color: hsl(var(--background));--mdc-switch-unselected-hover-handle-color: hsl(var(--background));--mdc-switch-unselected-pressed-handle-color: hsl(var(--background));--mdc-switch-selected-icon-color: transparent;--mdc-switch-unselected-icon-color: transparent}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-focus-indicator{display:none}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__icons{display:none}:host ::ng-deep .mat-mdc-slide-toggle .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-slide-toggle .mdc-label{padding:0;cursor:pointer}\n"] }]
77
- }], propDecorators: { 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 }] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }], ref: [{ type: i0.ViewChild, args: ['ref', { isSignal: true }] }] } });
108
+ `, styles: [":host{display:inline-flex}:host ::ng-deep .mat-mdc-slide-toggle.ui-switch{--mdc-switch-track-width: 2rem;--mdc-switch-track-height: 1.15rem;--mdc-switch-track-shape: 9999px;--mdc-switch-handle-shape: 9999px;--mdc-switch-handle-width: .875rem;--mdc-switch-handle-height: .875rem;--mdc-switch-state-layer-size: 0;--mdc-switch-selected-track-color: hsl(var(--primary));--mdc-switch-selected-focus-track-color: hsl(var(--primary));--mdc-switch-selected-hover-track-color: hsl(var(--primary));--mdc-switch-selected-pressed-track-color: hsl(var(--primary));--mdc-switch-unselected-track-color: hsl(var(--input));--mdc-switch-unselected-focus-track-color: hsl(var(--input));--mdc-switch-unselected-hover-track-color: hsl(var(--input));--mdc-switch-unselected-pressed-track-color: hsl(var(--input));--mdc-switch-selected-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-focus-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-hover-handle-color: hsl(var(--primary-foreground));--mdc-switch-selected-pressed-handle-color: hsl(var(--primary-foreground));--mdc-switch-unselected-handle-color: hsl(var(--background));--mdc-switch-unselected-focus-handle-color: hsl(var(--background));--mdc-switch-unselected-hover-handle-color: hsl(var(--background));--mdc-switch-unselected-pressed-handle-color: hsl(var(--background));--mdc-switch-selected-icon-color: transparent;--mdc-switch-unselected-icon-color: transparent}:host ::ng-deep .mat-mdc-slide-toggle.ui-switch.ui-switch-sm{--mdc-switch-track-width: 1.75rem;--mdc-switch-track-height: 1rem;--mdc-switch-handle-width: .75rem;--mdc-switch-handle-height: .75rem}:host ::ng-deep .mat-mdc-slide-toggle.ui-switch[aria-invalid=true]{--mdc-switch-selected-track-color: hsl(var(--destructive));--mdc-switch-selected-focus-track-color: hsl(var(--destructive));--mdc-switch-selected-hover-track-color: hsl(var(--destructive));--mdc-switch-selected-pressed-track-color: hsl(var(--destructive));--mdc-switch-unselected-track-color: hsl(var(--destructive) / .25);--mdc-switch-unselected-focus-track-color: hsl(var(--destructive) / .25);--mdc-switch-unselected-hover-track-color: hsl(var(--destructive) / .25);--mdc-switch-unselected-pressed-track-color: hsl(var(--destructive) / .25);--mdc-switch-selected-handle-color: hsl(var(--destructive-foreground));--mdc-switch-selected-focus-handle-color: hsl(var(--destructive-foreground));--mdc-switch-selected-hover-handle-color: hsl(var(--destructive-foreground));--mdc-switch-selected-pressed-handle-color: hsl(var(--destructive-foreground));--mdc-switch-unselected-handle-color: hsl(var(--destructive));--mdc-switch-unselected-focus-handle-color: hsl(var(--destructive));--mdc-switch-unselected-hover-handle-color: hsl(var(--destructive));--mdc-switch-unselected-pressed-handle-color: hsl(var(--destructive))}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-slide-toggle-ripple,:host ::ng-deep .mat-mdc-slide-toggle .mat-mdc-focus-indicator{display:none}:host ::ng-deep .mat-mdc-slide-toggle .mdc-switch__icons{display:none}:host ::ng-deep .mat-mdc-slide-toggle .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-slide-toggle .mdc-label{padding:0;cursor:pointer}\n"] }]
109
+ }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", 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 }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-describedby", required: false }] }], ariaLabelledby: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-labelledby", required: false }] }], ariaInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "aria-invalid", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }], ref: [{ type: i0.ViewChild, args: ['ref', { isSignal: true }] }] } });
78
110
 
79
111
  /**
80
112
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"ojiepermana-angular-component-switch.mjs","sources":["../../../projects/angular/component/switch/src/lib/switch.component.ts","../../../projects/angular/component/switch/ojiepermana-angular-component-switch.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 { MatSlideToggle, MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\n/**\n * Switch — shadcn-styled wrapper around `mat-slide-toggle`.\n */\n@Component({\n selector: 'ui-switch',\n imports: [MatSlideToggle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }],\n template: `\n <mat-slide-toggle\n #ref\n hideIcon\n disableRipple\n [class]=\"classes()\"\n [checked]=\"checked()\"\n [disabled]=\"disabled()\"\n [required]=\"required()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n (change)=\"handleChange($event)\">\n <ng-content />\n </mat-slide-toggle>\n `,\n styleUrl: './switch.component.css',\n})\nexport class SwitchComponent implements ControlValueAccessor {\n readonly required = 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 readonly checkedChange = output<boolean>();\n\n private readonly ref = viewChild.required<MatSlideToggle>('ref');\n\n protected readonly checked = signal<boolean>(false);\n protected readonly disabled = signal<boolean>(false);\n protected readonly classes = computed(() => cn('ui-switch', this.class()));\n\n private onChange: (v: boolean) => void = () => {};\n private onTouched: () => void = () => {};\n\n protected handleChange(e: MatSlideToggleChange): void {\n this.checked.set(e.checked);\n this.onChange(e.checked);\n this.onTouched();\n this.checkedChange.emit(e.checked);\n }\n\n focus(): void {\n this.ref().focus();\n }\n\n writeValue(v: boolean): void {\n this.checked.set(!!v);\n }\n registerOnChange(fn: (v: boolean) => 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 * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ojiepermana-angular-component-switch.mjs","sources":["../../../projects/angular/component/switch/switch.component.ts","../../../projects/angular/component/switch/ojiepermana-angular-component-switch.ts"],"sourcesContent":["import {\n booleanAttribute,\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 { MatSlideToggle, MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\nlet nextSwitchId = 0;\n\nexport type SwitchSize = 'default' | 'sm';\n\n/**\n * Switch — shadcn-styled wrapper around `mat-slide-toggle`.\n */\n@Component({\n selector: 'ui-switch',\n imports: [MatSlideToggle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SwitchComponent), multi: true }],\n template: `\n <mat-slide-toggle\n #ref\n hideIcon\n disableRipple\n [id]=\"id()\"\n [name]=\"name()\"\n [class]=\"classes()\"\n [checked]=\"checked()\"\n [disabled]=\"isDisabled()\"\n [required]=\"required()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-describedby]=\"ariaDescribedby()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-invalid]=\"ariaInvalidAttr()\"\n (change)=\"handleChange($event)\">\n <ng-content />\n </mat-slide-toggle>\n `,\n styleUrl: './switch.component.css',\n})\nexport class SwitchComponent implements ControlValueAccessor {\n readonly id = input<string>(`ui-switch-${nextSwitchId++}`);\n readonly name = input<string | null>(null);\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly required = input(false, { transform: booleanAttribute });\n readonly ariaLabel = input<string | null>(null, { alias: 'aria-label' });\n readonly ariaDescribedby = input<string | null>(null, { alias: 'aria-describedby' });\n readonly ariaLabelledby = input<string | null>(null, { alias: 'aria-labelledby' });\n readonly ariaInvalid = input<boolean | string | null>(null, { alias: 'aria-invalid' });\n readonly size = input<SwitchSize>('default');\n readonly class = input<string>('');\n\n readonly checkedChange = output<boolean>();\n\n private readonly ref = viewChild.required<MatSlideToggle>('ref');\n\n protected readonly checked = signal<boolean>(false);\n protected readonly disabledState = signal(false);\n protected readonly ariaInvalidAttr = computed(() => {\n const value = this.ariaInvalid();\n\n if (value === false || value === 'false' || value == null) {\n return null;\n }\n\n return value === true || value === '' ? 'true' : `${value}`;\n });\n protected readonly isDisabled = computed(() => this.disabled() || this.disabledState());\n protected readonly classes = computed(() =>\n cn('ui-switch', this.size() === 'sm' ? 'ui-switch-sm' : 'ui-switch-default', this.class()),\n );\n\n private onChange: (v: boolean) => void = () => {};\n private onTouched: () => void = () => {};\n\n protected handleChange(e: MatSlideToggleChange): void {\n this.checked.set(e.checked);\n this.onChange(e.checked);\n this.onTouched();\n this.checkedChange.emit(e.checked);\n }\n\n focus(): void {\n this.ref().focus();\n }\n\n writeValue(v: boolean): void {\n this.checked.set(!!v);\n }\n registerOnChange(fn: (v: boolean) => void): void {\n this.onChange = fn;\n }\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n setDisabledState(d: boolean): void {\n this.disabledState.set(d);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,16 +3,18 @@ import { input, computed, ChangeDetectionStrategy, Component } from '@angular/co
3
3
  import { cn } from '@ojiepermana/angular/component/utils';
4
4
 
5
5
  class TableComponent {
6
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
7
- classes = computed(() => cn('w-full caption-bottom text-sm', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
8
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableComponent, isStandalone: true, selector: "ui-table", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "relative block w-full overflow-x-auto" }, ngImport: i0, template: `
6
+ class = input('', /* @ts-ignore */
7
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
8
+ classes = computed(() => cn('w-full caption-bottom text-sm', this.class()), /* @ts-ignore */
9
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
10
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
11
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableComponent, isStandalone: true, selector: "ui-table", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "relative block w-full overflow-x-auto" }, ngImport: i0, template: `
10
12
  <table [class]="classes()">
11
13
  <ng-content />
12
14
  </table>
13
15
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
14
16
  }
15
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableComponent, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableComponent, decorators: [{
16
18
  type: Component,
17
19
  args: [{
18
20
  selector: 'ui-table',
@@ -26,12 +28,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
26
28
  }]
27
29
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
28
30
  class TableHeaderComponent {
29
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
30
- classes = computed(() => cn('[&_tr]:border-b [&_tr]:border-border', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableHeaderComponent, isStandalone: true, selector: "thead[ui-table-header]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
31
+ class = input('', /* @ts-ignore */
32
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
33
+ classes = computed(() => cn('[&_tr]:border-b [&_tr]:border-border', this.class()), /* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
35
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
36
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableHeaderComponent, isStandalone: true, selector: "thead[ui-table-header]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
33
37
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableHeaderComponent, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableHeaderComponent, decorators: [{
35
39
  type: Component,
36
40
  args: [{
37
41
  selector: 'thead[ui-table-header]',
@@ -41,12 +45,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
41
45
  }]
42
46
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
43
47
  class TableBodyComponent {
44
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
45
- classes = computed(() => cn('[&_tr:last-child]:border-0', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
46
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
47
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableBodyComponent, isStandalone: true, selector: "tbody[ui-table-body]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
+ class = input('', /* @ts-ignore */
49
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
50
+ classes = computed(() => cn('[&_tr:last-child]:border-0', this.class()), /* @ts-ignore */
51
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
52
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
53
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableBodyComponent, isStandalone: true, selector: "tbody[ui-table-body]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
48
54
  }
49
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableBodyComponent, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableBodyComponent, decorators: [{
50
56
  type: Component,
51
57
  args: [{
52
58
  selector: 'tbody[ui-table-body]',
@@ -56,12 +62,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
56
62
  }]
57
63
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
58
64
  class TableFooterComponent {
59
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
60
- classes = computed(() => cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
61
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableFooterComponent, isStandalone: true, selector: "tfoot[ui-table-footer]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
65
+ class = input('', /* @ts-ignore */
66
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
67
+ classes = computed(() => cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', this.class()), /* @ts-ignore */
68
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
69
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
70
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableFooterComponent, isStandalone: true, selector: "tfoot[ui-table-footer]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
63
71
  }
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableFooterComponent, decorators: [{
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableFooterComponent, decorators: [{
65
73
  type: Component,
66
74
  args: [{
67
75
  selector: 'tfoot[ui-table-footer]',
@@ -71,12 +79,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
71
79
  }]
72
80
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
73
81
  class TableRowComponent {
74
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
75
- classes = computed(() => cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
76
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
77
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableRowComponent, isStandalone: true, selector: "tr[ui-table-row]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
82
+ class = input('', /* @ts-ignore */
83
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
84
+ classes = computed(() => cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', this.class()), /* @ts-ignore */
85
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableRowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
87
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableRowComponent, isStandalone: true, selector: "tr[ui-table-row]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
78
88
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableRowComponent, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableRowComponent, decorators: [{
80
90
  type: Component,
81
91
  args: [{
82
92
  selector: 'tr[ui-table-row]',
@@ -86,12 +96,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
86
96
  }]
87
97
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
88
98
  class TableHeadComponent {
89
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
90
- classes = computed(() => cn('h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-muted-foreground', '[&:has([role=checkbox])]:pr-0', '[&>[role=checkbox]]:translate-y-[2px]', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
92
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableHeadComponent, isStandalone: true, selector: "th[ui-table-head]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
99
+ class = input('', /* @ts-ignore */
100
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
101
+ classes = computed(() => cn('h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-muted-foreground', '[&:has([role=checkbox])]:pr-0', '[&>[role=checkbox]]:translate-y-[2px]', this.class()), /* @ts-ignore */
102
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
103
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableHeadComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
104
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableHeadComponent, isStandalone: true, selector: "th[ui-table-head]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
93
105
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableHeadComponent, decorators: [{
106
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableHeadComponent, decorators: [{
95
107
  type: Component,
96
108
  args: [{
97
109
  selector: 'th[ui-table-head]',
@@ -101,12 +113,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
101
113
  }]
102
114
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
103
115
  class TableCellComponent {
104
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
105
- classes = computed(() => cn('whitespace-nowrap p-2 align-middle', '[&:has([role=checkbox])]:pr-0', '[&>[role=checkbox]]:translate-y-[2px]', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
107
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableCellComponent, isStandalone: true, selector: "td[ui-table-cell]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
116
+ class = input('', /* @ts-ignore */
117
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
118
+ classes = computed(() => cn('whitespace-nowrap p-2 align-middle', '[&:has([role=checkbox])]:pr-0', '[&>[role=checkbox]]:translate-y-[2px]', this.class()), /* @ts-ignore */
119
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
120
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableCellComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
121
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableCellComponent, isStandalone: true, selector: "td[ui-table-cell]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
108
122
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableCellComponent, decorators: [{
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableCellComponent, decorators: [{
110
124
  type: Component,
111
125
  args: [{
112
126
  selector: 'td[ui-table-cell]',
@@ -116,12 +130,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImpo
116
130
  }]
117
131
  }], propDecorators: { class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }] } });
118
132
  class TableCaptionComponent {
119
- class = input('', ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
120
- classes = computed(() => cn('mt-4 text-sm text-muted-foreground', this.class()), ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
121
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableCaptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
122
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.14", type: TableCaptionComponent, isStandalone: true, selector: "caption[ui-table-caption]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
133
+ class = input('', /* @ts-ignore */
134
+ ...(ngDevMode ? [{ debugName: "class" }] : /* istanbul ignore next */ []));
135
+ classes = computed(() => cn('mt-4 text-sm text-muted-foreground', this.class()), /* @ts-ignore */
136
+ ...(ngDevMode ? [{ debugName: "classes" }] : /* istanbul ignore next */ []));
137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableCaptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
138
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.0.0", type: TableCaptionComponent, isStandalone: true, selector: "caption[ui-table-caption]", inputs: { class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "classes()" } }, ngImport: i0, template: `<ng-content />`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
123
139
  }
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.14", ngImport: i0, type: TableCaptionComponent, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.0", ngImport: i0, type: TableCaptionComponent, decorators: [{
125
141
  type: Component,
126
142
  args: [{
127
143
  selector: 'caption[ui-table-caption]',
@@ -1 +1 @@
1
- {"version":3,"file":"ojiepermana-angular-component-table.mjs","sources":["../../../projects/angular/component/table/src/lib/table.component.ts","../../../projects/angular/component/table/ojiepermana-angular-component-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\n@Component({\n selector: 'ui-table',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'relative block w-full overflow-x-auto' },\n template: `\n <table [class]=\"classes()\">\n <ng-content />\n </table>\n `,\n})\nexport class TableComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('w-full caption-bottom text-sm', this.class()));\n}\n\n@Component({\n selector: 'thead[ui-table-header]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableHeaderComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('[&_tr]:border-b [&_tr]:border-border', this.class()));\n}\n\n@Component({\n selector: 'tbody[ui-table-body]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableBodyComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('[&_tr:last-child]:border-0', this.class()));\n}\n\n@Component({\n selector: 'tfoot[ui-table-footer]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableFooterComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', this.class()),\n );\n}\n\n@Component({\n selector: 'tr[ui-table-row]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableRowComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', this.class()),\n );\n}\n\n@Component({\n selector: 'th[ui-table-head]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableHeadComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn(\n 'h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-muted-foreground',\n '[&:has([role=checkbox])]:pr-0',\n '[&>[role=checkbox]]:translate-y-[2px]',\n this.class(),\n ),\n );\n}\n\n@Component({\n selector: 'td[ui-table-cell]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableCellComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn(\n 'whitespace-nowrap p-2 align-middle',\n '[&:has([role=checkbox])]:pr-0',\n '[&>[role=checkbox]]:translate-y-[2px]',\n this.class(),\n ),\n );\n}\n\n@Component({\n selector: 'caption[ui-table-caption]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableCaptionComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('mt-4 text-sm text-muted-foreground', 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
+ {"version":3,"file":"ojiepermana-angular-component-table.mjs","sources":["../../../projects/angular/component/table/table.component.ts","../../../projects/angular/component/table/ojiepermana-angular-component-table.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';\nimport { cn } from '@ojiepermana/angular/component/utils';\n\n@Component({\n selector: 'ui-table',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { class: 'relative block w-full overflow-x-auto' },\n template: `\n <table [class]=\"classes()\">\n <ng-content />\n </table>\n `,\n})\nexport class TableComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('w-full caption-bottom text-sm', this.class()));\n}\n\n@Component({\n selector: 'thead[ui-table-header]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableHeaderComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('[&_tr]:border-b [&_tr]:border-border', this.class()));\n}\n\n@Component({\n selector: 'tbody[ui-table-body]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableBodyComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('[&_tr:last-child]:border-0', this.class()));\n}\n\n@Component({\n selector: 'tfoot[ui-table-footer]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableFooterComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn('border-t border-border bg-muted/50 font-medium [&>tr]:last:border-b-0', this.class()),\n );\n}\n\n@Component({\n selector: 'tr[ui-table-row]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableRowComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn('border-b border-border transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted', this.class()),\n );\n}\n\n@Component({\n selector: 'th[ui-table-head]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableHeadComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn(\n 'h-10 whitespace-nowrap px-2 text-left align-middle font-medium text-muted-foreground',\n '[&:has([role=checkbox])]:pr-0',\n '[&>[role=checkbox]]:translate-y-[2px]',\n this.class(),\n ),\n );\n}\n\n@Component({\n selector: 'td[ui-table-cell]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableCellComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() =>\n cn(\n 'whitespace-nowrap p-2 align-middle',\n '[&:has([role=checkbox])]:pr-0',\n '[&>[role=checkbox]]:translate-y-[2px]',\n this.class(),\n ),\n );\n}\n\n@Component({\n selector: 'caption[ui-table-caption]',\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { '[class]': 'classes()' },\n template: `<ng-content />`,\n})\nexport class TableCaptionComponent {\n readonly class = input<string>('');\n protected readonly classes = computed(() => cn('mt-4 text-sm text-muted-foreground', this.class()));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}