@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
@@ -0,0 +1,194 @@
1
+ /**
2
+ * Angular Material slider overrides.
3
+ *
4
+ * MatSlider keeps Material's range math, keyboard handling, thumb labels, and
5
+ * hidden native inputs while the visible track and thumbs follow local tokens.
6
+ */
7
+ @layer tokens {
8
+ :root,
9
+ [data-style='default'] {
10
+ --ui-mat-slider-track-radius: 9999px;
11
+ --ui-mat-slider-track-border-color: transparent;
12
+ --ui-mat-slider-inactive-track-opacity: 1;
13
+ --ui-mat-slider-handle-state-scale: 1.08;
14
+ --ui-mat-slider-disabled-opacity: 0.55;
15
+ --ui-mat-slider-value-indicator-shadow: var(--shadow-md);
16
+ --ui-mat-slider-value-indicator-border-color: hsl(var(--border));
17
+
18
+ --mat-slider-active-track-height: 0.5rem;
19
+ --mat-slider-active-track-shape: var(--ui-mat-slider-track-radius);
20
+ --mat-slider-active-track-color: hsl(var(--primary));
21
+ --mat-slider-inactive-track-height: 0.5rem;
22
+ --mat-slider-inactive-track-shape: var(--ui-mat-slider-track-radius);
23
+ --mat-slider-inactive-track-color: hsl(var(--muted));
24
+ --mat-slider-handle-width: 1rem;
25
+ --mat-slider-handle-height: 1rem;
26
+ --mat-slider-handle-shape: 9999px;
27
+ --mat-slider-handle-color: hsl(var(--primary));
28
+ --mat-slider-hover-handle-color: hsl(var(--primary));
29
+ --mat-slider-focus-handle-color: hsl(var(--primary));
30
+ --mat-slider-handle-elevation: 0 0 0 2px hsl(var(--background)), var(--shadow-sm);
31
+ --mat-slider-ripple-color: hsl(var(--primary));
32
+ --mat-slider-hover-state-layer-color: hsl(var(--primary) / 0.12);
33
+ --mat-slider-focus-state-layer-color: hsl(var(--ring) / 0.2);
34
+ --mat-slider-disabled-active-track-color: hsl(var(--muted-foreground));
35
+ --mat-slider-disabled-inactive-track-color: hsl(var(--muted));
36
+ --mat-slider-disabled-handle-color: hsl(var(--muted-foreground));
37
+ --mat-slider-with-overlap-handle-outline-color: hsl(var(--background));
38
+ --mat-slider-with-overlap-handle-outline-width: 2px;
39
+ --mat-slider-with-tick-marks-container-size: 2px;
40
+ --mat-slider-with-tick-marks-container-shape: 9999px;
41
+ --mat-slider-with-tick-marks-active-container-color: hsl(var(--primary-foreground));
42
+ --mat-slider-with-tick-marks-inactive-container-color: hsl(var(--muted-foreground));
43
+ --mat-slider-with-tick-marks-disabled-container-color: hsl(var(--muted-foreground));
44
+ --mat-slider-with-tick-marks-active-container-opacity: 0.75;
45
+ --mat-slider-with-tick-marks-inactive-container-opacity: 0.7;
46
+ --mat-slider-label-container-color: hsl(var(--popover));
47
+ --mat-slider-label-label-text-color: hsl(var(--popover-foreground));
48
+ --mat-slider-label-label-text-font: var(--font-sans);
49
+ --mat-slider-label-label-text-line-height: 1.25rem;
50
+ --mat-slider-label-label-text-size: 0.75rem;
51
+ --mat-slider-label-label-text-tracking: 0;
52
+ --mat-slider-label-label-text-weight: 600;
53
+ --mat-slider-value-indicator-border-radius: var(--radius-sm);
54
+ --mat-slider-value-indicator-caret-display: block;
55
+ --mat-slider-value-indicator-container-transform: translateX(-50%);
56
+ --mat-slider-value-indicator-height: 1.75rem;
57
+ --mat-slider-value-indicator-padding: 0 0.625rem;
58
+ --mat-slider-value-indicator-text-transform: none;
59
+ --mat-slider-value-indicator-transform-origin: bottom;
60
+ --mat-slider-value-indicator-width: auto;
61
+ --mat-slider-value-indicator-opacity: 1;
62
+ }
63
+
64
+ [data-style='sharp'] {
65
+ --ui-mat-slider-track-radius: 0;
66
+ --ui-mat-slider-handle-state-scale: 1;
67
+ --ui-mat-slider-value-indicator-shadow: none;
68
+
69
+ --mat-slider-active-track-shape: 0;
70
+ --mat-slider-inactive-track-shape: 0;
71
+ --mat-slider-handle-shape: 0;
72
+ --mat-slider-handle-elevation: none;
73
+ --mat-slider-with-tick-marks-container-shape: 0;
74
+ --mat-slider-value-indicator-border-radius: 0;
75
+ }
76
+
77
+ [data-style='brutal'] {
78
+ --ui-mat-slider-track-radius: 0;
79
+ --ui-mat-slider-track-border-color: hsl(var(--foreground));
80
+ --ui-mat-slider-handle-state-scale: 1.04;
81
+ --ui-mat-slider-value-indicator-shadow: var(--shadow-lg);
82
+ --ui-mat-slider-value-indicator-border-color: hsl(var(--foreground));
83
+
84
+ --mat-slider-active-track-color: hsl(var(--foreground));
85
+ --mat-slider-active-track-shape: 0;
86
+ --mat-slider-inactive-track-color: hsl(var(--background));
87
+ --mat-slider-inactive-track-shape: 0;
88
+ --mat-slider-handle-shape: 0;
89
+ --mat-slider-handle-color: hsl(var(--background));
90
+ --mat-slider-hover-handle-color: hsl(var(--primary));
91
+ --mat-slider-focus-handle-color: hsl(var(--primary));
92
+ --mat-slider-handle-elevation: 0 0 0 var(--border-width) hsl(var(--foreground)), var(--shadow-lg);
93
+ --mat-slider-ripple-color: hsl(var(--foreground));
94
+ --mat-slider-hover-state-layer-color: hsl(var(--primary) / 0.2);
95
+ --mat-slider-focus-state-layer-color: hsl(var(--foreground) / 0.18);
96
+ --mat-slider-with-overlap-handle-outline-color: hsl(var(--foreground));
97
+ --mat-slider-with-tick-marks-container-shape: 0;
98
+ --mat-slider-with-tick-marks-active-container-color: hsl(var(--primary-foreground));
99
+ --mat-slider-with-tick-marks-inactive-container-color: hsl(var(--foreground));
100
+ --mat-slider-label-container-color: hsl(var(--foreground));
101
+ --mat-slider-label-label-text-color: hsl(var(--background));
102
+ --mat-slider-value-indicator-border-radius: 0;
103
+ }
104
+
105
+ [data-style='soft'] {
106
+ --ui-mat-slider-inactive-track-opacity: 1;
107
+ --ui-mat-slider-handle-state-scale: 1.1;
108
+ --ui-mat-slider-value-indicator-border-color: hsl(var(--border) / 0.7);
109
+
110
+ --mat-slider-active-track-height: 0.625rem;
111
+ --mat-slider-inactive-track-height: 0.625rem;
112
+ --mat-slider-inactive-track-color: hsl(var(--accent) / 0.68);
113
+ --mat-slider-handle-width: 1.125rem;
114
+ --mat-slider-handle-height: 1.125rem;
115
+ --mat-slider-handle-elevation: 0 0 0 3px hsl(var(--background)), var(--shadow-md);
116
+ --mat-slider-hover-state-layer-color: hsl(var(--primary) / 0.16);
117
+ --mat-slider-focus-state-layer-color: hsl(var(--ring) / 0.24);
118
+ --mat-slider-label-container-color: hsl(var(--popover));
119
+ --mat-slider-value-indicator-border-radius: var(--radius-md);
120
+ }
121
+ }
122
+
123
+ @layer components {
124
+ .mat-mdc-slider {
125
+ @apply block w-full min-w-32 text-foreground;
126
+
127
+ display: block !important;
128
+ width: 100% !important;
129
+ min-width: 8rem !important;
130
+ min-height: 3rem;
131
+ margin-inline: 0;
132
+ }
133
+
134
+ .mat-mdc-slider .mdc-slider__track--active,
135
+ .mat-mdc-slider .mdc-slider__track--inactive {
136
+ @apply transition-colors;
137
+
138
+ border-radius: var(--ui-mat-slider-track-radius);
139
+ }
140
+
141
+ .mat-mdc-slider .mdc-slider__track--inactive {
142
+ opacity: var(--ui-mat-slider-inactive-track-opacity);
143
+ }
144
+
145
+ .mat-mdc-slider .mdc-slider__track--inactive::before {
146
+ border-color: var(--ui-mat-slider-track-border-color);
147
+ }
148
+
149
+ .mat-mdc-slider .mdc-slider__thumb-knob {
150
+ transition:
151
+ transform 160ms ease,
152
+ background-color 160ms ease,
153
+ border-color 160ms ease,
154
+ box-shadow 160ms ease;
155
+ }
156
+
157
+ .mat-mdc-slider .mdc-slider__thumb:hover .mdc-slider__thumb-knob,
158
+ .mat-mdc-slider .mdc-slider__thumb--focused .mdc-slider__thumb-knob {
159
+ transform: translate(-50%, -50%) scale(var(--ui-mat-slider-handle-state-scale));
160
+ }
161
+
162
+ .mat-mdc-slider .mat-focus-indicator::before {
163
+ border-radius: var(--mat-slider-handle-shape);
164
+ }
165
+
166
+ .mat-mdc-slider .mdc-slider__value-indicator {
167
+ @apply border shadow-md;
168
+
169
+ border-color: var(--ui-mat-slider-value-indicator-border-color);
170
+ box-shadow: var(--ui-mat-slider-value-indicator-shadow);
171
+ }
172
+
173
+ .mat-mdc-slider .mdc-slider__value-indicator-text {
174
+ @apply font-semibold;
175
+ }
176
+
177
+ .mat-mdc-slider .mdc-slider__value-indicator::after {
178
+ border-color: var(--ui-mat-slider-value-indicator-border-color);
179
+ }
180
+
181
+ .mat-mdc-slider.mdc-slider--disabled {
182
+ @apply pointer-events-none;
183
+
184
+ opacity: var(--ui-mat-slider-disabled-opacity);
185
+ }
186
+
187
+ .mat-mdc-slider.mdc-slider--disabled input.mdc-slider__input {
188
+ @apply cursor-not-allowed;
189
+ }
190
+
191
+ [data-style='brutal'] .mat-mdc-slider .mdc-slider__value-indicator {
192
+ @apply border-2;
193
+ }
194
+ }
@@ -0,0 +1,229 @@
1
+ /**
2
+ * Angular Material tabs overrides.
3
+ *
4
+ * MatTabGroup and MatTabNav keep their ARIA tabs behavior, keyboard handling,
5
+ * pagination, and ink bar logic while the header adopts local theme tokens.
6
+ */
7
+ @layer tokens {
8
+ :root,
9
+ [data-style='default'] {
10
+ --mat-tab-container-height: 2.25rem;
11
+ --mat-tab-divider-color: transparent;
12
+ --mat-tab-divider-height: 0;
13
+ --mat-tab-active-indicator-color: hsl(var(--primary));
14
+ --mat-tab-active-indicator-height: 0;
15
+ --mat-tab-active-indicator-shape: var(--radius-sm);
16
+ --mat-tab-active-label-text-color: hsl(var(--foreground));
17
+ --mat-tab-active-hover-label-text-color: hsl(var(--foreground));
18
+ --mat-tab-active-focus-label-text-color: hsl(var(--foreground));
19
+ --mat-tab-active-hover-indicator-color: hsl(var(--primary));
20
+ --mat-tab-active-focus-indicator-color: hsl(var(--primary));
21
+ --mat-tab-inactive-label-text-color: hsl(var(--muted-foreground));
22
+ --mat-tab-inactive-hover-label-text-color: hsl(var(--foreground));
23
+ --mat-tab-inactive-focus-label-text-color: hsl(var(--foreground));
24
+ --mat-tab-active-ripple-color: hsl(var(--foreground));
25
+ --mat-tab-inactive-ripple-color: hsl(var(--foreground));
26
+ --mat-tab-disabled-ripple-color: hsl(var(--muted-foreground));
27
+ --mat-tab-pagination-icon-color: hsl(var(--muted-foreground));
28
+ --mat-tab-label-text-font: var(--font-sans);
29
+ --mat-tab-label-text-line-height: 1.25rem;
30
+ --mat-tab-label-text-size: 0.875rem;
31
+ --mat-tab-label-text-tracking: 0;
32
+ --mat-tab-label-text-weight: 500;
33
+
34
+ --ui-mat-tabs-list-background: hsl(var(--muted));
35
+ --ui-mat-tabs-list-border-color: transparent;
36
+ --ui-mat-tabs-list-border-width: 0;
37
+ --ui-mat-tabs-list-padding: 0.25rem;
38
+ --ui-mat-tabs-list-radius: var(--radius-md);
39
+ --ui-mat-tabs-trigger-radius: var(--radius-sm);
40
+ --ui-mat-tabs-trigger-active-background: hsl(var(--background));
41
+ --ui-mat-tabs-trigger-active-shadow: var(--shadow-sm);
42
+ --ui-mat-tabs-trigger-hover-background: hsl(var(--accent) / 0.62);
43
+ --ui-mat-tabs-trigger-focus-ring-color: hsl(var(--ring));
44
+ --ui-mat-tabs-content-gap: 1rem;
45
+ --ui-mat-tabs-line-divider-color: hsl(var(--border));
46
+ }
47
+
48
+ [data-style='sharp'] {
49
+ --ui-mat-tabs-list-radius: 0;
50
+ --ui-mat-tabs-trigger-radius: 0;
51
+ --ui-mat-tabs-trigger-active-shadow: none;
52
+ --ui-mat-tabs-trigger-hover-background: hsl(var(--muted));
53
+ }
54
+
55
+ [data-style='brutal'] {
56
+ --mat-tab-active-indicator-height: 0;
57
+ --ui-mat-tabs-list-background: hsl(var(--background));
58
+ --ui-mat-tabs-list-border-color: hsl(var(--foreground));
59
+ --ui-mat-tabs-list-border-width: var(--border-width);
60
+ --ui-mat-tabs-list-radius: 0;
61
+ --ui-mat-tabs-trigger-radius: 0;
62
+ --ui-mat-tabs-trigger-active-background: hsl(var(--primary));
63
+ --ui-mat-tabs-trigger-active-shadow: var(--shadow-lg);
64
+ --ui-mat-tabs-trigger-hover-background: hsl(var(--primary) / 0.14);
65
+ --ui-mat-tabs-line-divider-color: hsl(var(--foreground));
66
+ }
67
+
68
+ [data-style='soft'] {
69
+ --ui-mat-tabs-list-background: hsl(var(--accent) / 0.48);
70
+ --ui-mat-tabs-list-radius: var(--radius-lg);
71
+ --ui-mat-tabs-trigger-radius: var(--radius-md);
72
+ --ui-mat-tabs-trigger-active-background: hsl(var(--popover));
73
+ --ui-mat-tabs-trigger-hover-background: hsl(var(--accent) / 0.72);
74
+ }
75
+ }
76
+
77
+ @layer components {
78
+ .mat-mdc-tab-group,
79
+ .mat-mdc-tab-nav-bar {
80
+ @apply text-foreground;
81
+ }
82
+
83
+ .mat-mdc-tab-header,
84
+ .mat-mdc-tab-nav-bar {
85
+ @apply border bg-muted p-1;
86
+
87
+ border-color: var(--ui-mat-tabs-list-border-color);
88
+ border-width: var(--ui-mat-tabs-list-border-width);
89
+ border-radius: var(--ui-mat-tabs-list-radius);
90
+ background-color: var(--ui-mat-tabs-list-background);
91
+ padding: var(--ui-mat-tabs-list-padding);
92
+ }
93
+
94
+ .mat-mdc-tab-header {
95
+ border-bottom-width: var(--ui-mat-tabs-list-border-width);
96
+ }
97
+
98
+ .mat-mdc-tab-label-container {
99
+ @apply border-0;
100
+ }
101
+
102
+ .mat-mdc-tab-labels {
103
+ @apply gap-1;
104
+ }
105
+
106
+ .mat-mdc-tab,
107
+ .mat-mdc-tab-link {
108
+ @apply min-w-0 px-3 text-sm font-medium transition-colors;
109
+
110
+ min-width: 0 !important;
111
+ height: var(--mat-tab-container-height);
112
+ --mat-focus-indicator-border-radius: var(--ui-mat-tabs-trigger-radius);
113
+ border-radius: var(--ui-mat-tabs-trigger-radius);
114
+ opacity: 1 !important;
115
+ }
116
+
117
+ .mat-mdc-tab .mdc-tab__ripple,
118
+ .mat-mdc-tab-link .mdc-tab__ripple,
119
+ .mat-mdc-tab .mat-mdc-tab-ripple,
120
+ .mat-mdc-tab-link .mat-mdc-tab-ripple {
121
+ @apply overflow-hidden;
122
+
123
+ border-radius: inherit;
124
+ }
125
+
126
+ .mat-mdc-tab .mdc-tab__ripple::before,
127
+ .mat-mdc-tab-link .mdc-tab__ripple::before {
128
+ border-radius: inherit;
129
+ }
130
+
131
+ .mat-mdc-tab .mdc-tab__content,
132
+ .mat-mdc-tab-link .mdc-tab__content {
133
+ @apply min-w-0 gap-2;
134
+ }
135
+
136
+ .mat-mdc-tab .mdc-tab__text-label,
137
+ .mat-mdc-tab-link .mdc-tab__text-label {
138
+ @apply min-w-0 truncate;
139
+ }
140
+
141
+ .mat-mdc-tab:not(.mdc-tab--active):not(.mat-mdc-tab-disabled):hover,
142
+ .mat-mdc-tab-link:not(.mdc-tab--active):not(.mat-mdc-tab-disabled):hover {
143
+ background-color: var(--ui-mat-tabs-trigger-hover-background) !important;
144
+ }
145
+
146
+ .mat-mdc-tab.mdc-tab--active,
147
+ .mat-mdc-tab-link.mdc-tab--active {
148
+ background-color: var(--ui-mat-tabs-trigger-active-background) !important;
149
+ box-shadow: var(--ui-mat-tabs-trigger-active-shadow);
150
+ }
151
+
152
+ [data-style='brutal'] .mat-mdc-tab.mdc-tab--active,
153
+ [data-style='brutal'] .mat-mdc-tab-link.mdc-tab--active {
154
+ --mat-tab-active-label-text-color: hsl(var(--primary-foreground));
155
+ --mat-tab-active-hover-label-text-color: hsl(var(--primary-foreground));
156
+ --mat-tab-active-focus-label-text-color: hsl(var(--primary-foreground));
157
+ }
158
+
159
+ .mat-mdc-tab:focus-visible,
160
+ .mat-mdc-tab-link:focus-visible {
161
+ outline: 2px solid var(--ui-mat-tabs-trigger-focus-ring-color);
162
+ outline-offset: 2px;
163
+ }
164
+
165
+ .mat-mdc-tab.mat-mdc-tab-disabled,
166
+ .mat-mdc-tab-link.mat-mdc-tab-disabled {
167
+ @apply pointer-events-none opacity-50;
168
+ }
169
+
170
+ .mat-mdc-tab-group:not(.ui-mat-tabs-line) .mdc-tab-indicator,
171
+ .mat-mdc-tab-nav-bar:not(.ui-mat-tabs-line) .mdc-tab-indicator {
172
+ display: none;
173
+ }
174
+
175
+ .ui-mat-tabs-line.mat-mdc-tab-group,
176
+ .ui-mat-tabs-line.mat-mdc-tab-nav-bar {
177
+ --mat-tab-container-height: 2.75rem;
178
+ --mat-tab-active-indicator-height: 2px;
179
+ --mat-tab-divider-color: var(--ui-mat-tabs-line-divider-color);
180
+ --mat-tab-divider-height: var(--border-width);
181
+ --ui-mat-tabs-list-background: transparent;
182
+ --ui-mat-tabs-list-border-color: var(--ui-mat-tabs-line-divider-color);
183
+ --ui-mat-tabs-list-border-width: 0 0 var(--border-width);
184
+ --ui-mat-tabs-list-padding: 0;
185
+ --ui-mat-tabs-list-radius: 0;
186
+ --ui-mat-tabs-trigger-active-background: transparent;
187
+ --ui-mat-tabs-trigger-active-shadow: none;
188
+ }
189
+
190
+ .ui-mat-tabs-line .mat-mdc-tab-header,
191
+ .mat-mdc-tab-nav-bar.ui-mat-tabs-line {
192
+ @apply rounded-none border-x-0 border-t-0 bg-transparent p-0;
193
+ }
194
+
195
+ .ui-mat-tabs-line .mat-mdc-tab,
196
+ .mat-mdc-tab-nav-bar.ui-mat-tabs-line .mat-mdc-tab-link {
197
+ @apply rounded-none px-4;
198
+ }
199
+
200
+ .mat-mdc-tab-body-wrapper {
201
+ margin-top: var(--ui-mat-tabs-content-gap);
202
+ }
203
+
204
+ .mat-mdc-tab-body-content {
205
+ @apply text-sm text-muted-foreground;
206
+
207
+ line-height: 1.5rem;
208
+ outline: none;
209
+ }
210
+
211
+ .mat-mdc-tab-body-content:focus-visible {
212
+ outline: 2px solid var(--ui-mat-tabs-trigger-focus-ring-color);
213
+ outline-offset: 2px;
214
+ }
215
+
216
+ .mat-mdc-tab-header-pagination {
217
+ @apply rounded-sm text-muted-foreground transition-colors;
218
+
219
+ min-width: 2rem;
220
+ }
221
+
222
+ .mat-mdc-tab-header-pagination:hover {
223
+ @apply bg-accent text-accent-foreground;
224
+ }
225
+
226
+ .mat-mdc-tab-header-pagination-disabled {
227
+ @apply opacity-40;
228
+ }
229
+ }
@@ -1,8 +1,21 @@
1
+ @import './material/autocomplete.css';
2
+ @import './material/button.css';
3
+ @import './material/dialog.css';
4
+ @import './material/select.css';
5
+ @import './material/slide-toggle.css';
6
+ @import './material/slider.css';
7
+ @import './material/tabs.css';
8
+
1
9
  /**
2
- * Maps the 3-layer theme tokens into Angular Material system and MDC tokens.
10
+ * Angular Material bridge for the 3-layer theme tokens.
11
+ *
12
+ * Keep this file as the public Material index. Component-specific overrides
13
+ * live in ./material/*.css so each Material component can be maintained in a
14
+ * small file while consumers keep importing one stylesheet.
3
15
  */
4
16
  @layer tokens {
5
17
  :root {
18
+ /* Material system colors. */
6
19
  --mat-sys-primary: hsl(var(--primary));
7
20
  --mat-sys-on-primary: hsl(var(--primary-foreground));
8
21
  --mat-sys-primary-container: hsl(var(--accent));
@@ -44,6 +57,12 @@
44
57
  --mat-sys-shadow: hsl(var(--foreground) / 0.14);
45
58
  --mat-sys-scrim: hsl(var(--foreground) / 0.5);
46
59
 
60
+ --mat-sys-hover-state-layer-opacity: 0.08;
61
+ --mat-sys-focus-state-layer-opacity: 0.12;
62
+ --mat-sys-pressed-state-layer-opacity: 0.12;
63
+ --mat-sys-dragged-state-layer-opacity: 0.16;
64
+
65
+ /* Shape and elevation inherit from the active style axis. */
47
66
  --mat-sys-corner-none: 0;
48
67
  --mat-sys-corner-extra-small: var(--radius-sm);
49
68
  --mat-sys-corner-extra-small-top: var(--radius-sm) var(--radius-sm) 0 0;
@@ -62,23 +81,7 @@
62
81
  --mat-sys-level4: var(--shadow-lg);
63
82
  --mat-sys-level5: var(--shadow-lg);
64
83
 
65
- --mdc-filled-button-container-color: hsl(var(--primary));
66
- --mdc-filled-button-label-text-color: hsl(var(--primary-foreground));
67
- --mdc-filled-button-container-shape: var(--radius-sm);
68
-
69
- --mdc-outlined-button-outline-color: hsl(var(--border));
70
- --mdc-outlined-button-label-text-color: hsl(var(--foreground));
71
- --mdc-outlined-button-container-shape: var(--radius-sm);
72
-
73
- --mdc-text-button-label-text-color: hsl(var(--foreground));
74
-
75
- --mat-text-button-hover-state-layer-opacity: 0.08;
76
- --mat-filled-button-hover-state-layer-opacity: 0.08;
77
-
78
- --mdc-fab-container-color: hsl(var(--primary));
79
- --mdc-fab-container-shape: var(--radius-md);
80
- --mat-fab-foreground-color: hsl(var(--primary-foreground));
81
-
84
+ /* Cards and dialogs. */
82
85
  --mdc-elevated-card-container-color: hsl(var(--card));
83
86
  --mdc-elevated-card-container-shape: var(--radius-md);
84
87
  --mdc-elevated-card-container-elevation: var(--shadow);
@@ -87,6 +90,12 @@
87
90
  --mdc-outlined-card-outline-color: hsl(var(--border));
88
91
  --mdc-outlined-card-container-shape: var(--radius-md);
89
92
 
93
+ --mdc-dialog-container-color: hsl(var(--popover));
94
+ --mdc-dialog-container-shape: var(--radius-lg);
95
+ --mdc-dialog-subhead-color: hsl(var(--popover-foreground));
96
+ --mdc-dialog-supporting-text-color: hsl(var(--muted-foreground));
97
+
98
+ /* Text fields and select surfaces. */
90
99
  --mdc-outlined-text-field-outline-color: hsl(var(--border));
91
100
  --mdc-outlined-text-field-focus-outline-color: hsl(var(--ring));
92
101
  --mdc-outlined-text-field-hover-outline-color: hsl(var(--foreground) / 0.3);
@@ -104,10 +113,19 @@
104
113
  --mat-select-placeholder-text-color: hsl(var(--muted-foreground));
105
114
  --mat-select-enabled-arrow-color: hsl(var(--muted-foreground));
106
115
 
116
+ /* Option rows shared by select and autocomplete. Component files may scope these further. */
107
117
  --mat-option-label-text-color: hsl(var(--foreground));
118
+ --mat-option-label-text-font: var(--font-sans);
119
+ --mat-option-label-text-line-height: 1.25rem;
120
+ --mat-option-label-text-size: 0.875rem;
121
+ --mat-option-label-text-tracking: 0;
122
+ --mat-option-label-text-weight: 400;
108
123
  --mat-option-selected-state-label-text-color: hsl(var(--primary));
109
124
  --mat-option-hover-state-layer-color: hsl(var(--accent));
125
+ --mat-option-focus-state-layer-color: hsl(var(--accent));
126
+ --mat-option-selected-state-layer-color: hsl(var(--accent));
110
127
 
128
+ /* Selection controls. */
111
129
  --mdc-checkbox-selected-icon-color: hsl(var(--primary));
112
130
  --mdc-checkbox-selected-hover-icon-color: hsl(var(--primary));
113
131
  --mdc-checkbox-selected-focus-icon-color: hsl(var(--primary));
@@ -118,29 +136,11 @@
118
136
  --mdc-radio-selected-hover-icon-color: hsl(var(--primary));
119
137
  --mdc-radio-unselected-icon-color: hsl(var(--muted-foreground));
120
138
 
121
- --mdc-switch-selected-track-color: hsl(var(--primary));
122
- --mdc-switch-selected-handle-color: hsl(var(--primary-foreground));
123
- --mdc-switch-unselected-track-color: hsl(var(--muted));
124
- --mdc-switch-unselected-handle-color: hsl(var(--background));
125
-
126
- --mdc-slider-active-track-color: hsl(var(--primary));
127
- --mdc-slider-inactive-track-color: hsl(var(--muted));
128
- --mdc-slider-handle-color: hsl(var(--primary));
129
-
130
139
  --mdc-chip-elevated-container-color: hsl(var(--secondary));
131
140
  --mdc-chip-label-text-color: hsl(var(--secondary-foreground));
132
141
  --mdc-chip-container-shape-radius: var(--radius-sm);
133
142
 
134
- --mdc-dialog-container-color: hsl(var(--popover));
135
- --mdc-dialog-container-shape: var(--radius-lg);
136
- --mdc-dialog-subhead-color: hsl(var(--popover-foreground));
137
- --mdc-dialog-supporting-text-color: hsl(var(--muted-foreground));
138
-
139
- --mdc-tab-indicator-active-indicator-color: hsl(var(--primary));
140
- --mat-tab-header-active-label-text-color: hsl(var(--foreground));
141
- --mat-tab-header-inactive-label-text-color: hsl(var(--muted-foreground));
142
- --mat-tab-header-active-ripple-color: hsl(var(--primary) / 0.1);
143
-
143
+ /* Navigation and overlays. */
144
144
  --mdc-snackbar-container-color: hsl(var(--foreground));
145
145
  --mdc-snackbar-supporting-text-color: hsl(var(--background));
146
146
  --mdc-snackbar-container-shape: var(--radius-md);
@@ -164,6 +164,7 @@
164
164
  --mdc-plain-tooltip-container-color: hsl(var(--foreground));
165
165
  --mdc-plain-tooltip-supporting-text-color: hsl(var(--background));
166
166
 
167
+ /* Data display and progress. */
167
168
  --mdc-linear-progress-active-indicator-color: hsl(var(--primary));
168
169
  --mdc-linear-progress-track-color: hsl(var(--muted));
169
170
  --mdc-circular-progress-active-indicator-color: hsl(var(--primary));
@@ -203,47 +204,56 @@
203
204
  }
204
205
 
205
206
  @layer components {
206
- [data-style='brutal'] .mat-mdc-raised-button,
207
- [data-style='brutal'] .mat-mdc-unelevated-button,
208
- [data-style='brutal'] .mat-mdc-outlined-button,
209
- [data-style='brutal'] .mat-mdc-fab,
210
- [data-style='brutal'] .mat-mdc-mini-fab {
211
- box-shadow: var(--shadow) !important;
212
- border: var(--border-width) solid hsl(var(--foreground));
207
+ .mat-mdc-snack-bar-container.ui-toast-panel {
208
+ --mdc-snackbar-container-color: hsl(var(--background));
209
+ --mdc-snackbar-supporting-text-color: hsl(var(--foreground));
210
+ --mat-snack-bar-button-color: hsl(var(--foreground));
213
211
  }
214
212
 
215
- [data-style='brutal'] .mat-mdc-raised-button:hover,
216
- [data-style='brutal'] .mat-mdc-unelevated-button:hover,
217
- [data-style='brutal'] .mat-mdc-outlined-button:hover,
218
- [data-style='brutal'] .mat-mdc-fab:hover,
219
- [data-style='brutal'] .mat-mdc-mini-fab:hover {
220
- box-shadow: var(--shadow-md) !important;
213
+ .mat-mdc-snack-bar-container.ui-toast-panel .mdc-snackbar__surface {
214
+ @apply border border-border;
221
215
  }
222
216
 
223
- [data-style='brutal'] .mat-mdc-raised-button:active,
224
- [data-style='brutal'] .mat-mdc-unelevated-button:active,
225
- [data-style='brutal'] .mat-mdc-outlined-button:active,
226
- [data-style='brutal'] .mat-mdc-fab:active,
227
- [data-style='brutal'] .mat-mdc-mini-fab:active {
228
- transform: translate(2px, 2px);
229
- box-shadow: none !important;
217
+ .mat-mdc-snack-bar-container.ui-toast-panel .mdc-snackbar__label {
218
+ white-space: pre-line;
219
+ }
220
+
221
+ .mat-mdc-snack-bar-container.ui-toast-success {
222
+ --mdc-snackbar-container-color: hsl(var(--primary));
223
+ --mdc-snackbar-supporting-text-color: hsl(var(--primary-foreground));
224
+ --mat-snack-bar-button-color: hsl(var(--primary-foreground));
225
+ }
226
+
227
+ .mat-mdc-snack-bar-container.ui-toast-destructive {
228
+ --mdc-snackbar-container-color: hsl(var(--destructive));
229
+ --mdc-snackbar-supporting-text-color: hsl(var(--destructive-foreground));
230
+ --mat-snack-bar-button-color: hsl(var(--destructive-foreground));
231
+ }
232
+
233
+ .mat-mdc-snack-bar-container.ui-toast-info {
234
+ --mdc-snackbar-container-color: hsl(var(--info));
235
+ --mdc-snackbar-supporting-text-color: hsl(var(--info-foreground));
236
+ --mat-snack-bar-button-color: hsl(var(--info-foreground));
237
+ }
238
+
239
+ .mat-mdc-snack-bar-container.ui-toast-warning {
240
+ --mdc-snackbar-container-color: hsl(var(--warning));
241
+ --mdc-snackbar-supporting-text-color: hsl(var(--warning-foreground));
242
+ --mat-snack-bar-button-color: hsl(var(--warning-foreground));
230
243
  }
231
244
 
232
245
  [data-style='brutal'] .mat-mdc-card,
233
- [data-style='brutal'] .mat-mdc-dialog-container .mdc-dialog__surface,
234
246
  [data-style='brutal'] .mat-mdc-snack-bar-container .mdc-snackbar__surface {
235
247
  box-shadow: var(--shadow-lg) !important;
236
248
  border: var(--border-width) solid hsl(var(--foreground));
237
249
  }
238
250
 
239
251
  [data-style='soft'] .mat-mdc-card,
240
- [data-style='soft'] .mat-mdc-dialog-container .mdc-dialog__surface,
241
252
  [data-style='soft'] .mat-mdc-snack-bar-container .mdc-snackbar__surface {
242
253
  box-shadow: var(--shadow-lg) !important;
243
254
  }
244
255
 
245
256
  [data-style='sharp'] .mat-mdc-card,
246
- [data-style='sharp'] .mat-mdc-dialog-container .mdc-dialog__surface,
247
257
  [data-style='sharp'] .mat-mdc-raised-button,
248
258
  [data-style='sharp'] .mat-mdc-unelevated-button,
249
259
  [data-style='sharp'] .mat-mdc-fab,
@@ -22,7 +22,6 @@ declare class ComboboxComponent<T = unknown> implements ControlValueAccessor {
22
22
  readonly emptyText: _angular_core.InputSignal<string>;
23
23
  readonly disabled: _angular_core.ModelSignal<boolean>;
24
24
  readonly class: _angular_core.InputSignal<string>;
25
- readonly valueChange: _angular_core.OutputEmitterRef<T | null>;
26
25
  private readonly trigger;
27
26
  private readonly panel;
28
27
  private overlayRef;
@@ -44,7 +43,7 @@ declare class ComboboxComponent<T = unknown> implements ControlValueAccessor {
44
43
  registerOnTouched(fn: () => void): void;
45
44
  setDisabledState(state: boolean): void;
46
45
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<ComboboxComponent<any>, never>;
47
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComboboxComponent<any>, "ui-combobox", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; "valueChange": "valueChange"; }, never, never, true, never>;
46
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ComboboxComponent<any>, "ui-combobox", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "searchPlaceholder": { "alias": "searchPlaceholder"; "required": false; "isSignal": true; }; "emptyText": { "alias": "emptyText"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; }, { "value": "valueChange"; "disabled": "disabledChange"; }, never, never, true, never>;
48
47
  }
49
48
 
50
49
  export { ComboboxComponent };