@aiandralves/ai-ui 1.0.0

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 (1202) hide show
  1. package/README.md +0 -0
  2. package/aiandralves-ai-ui.d.ts +5 -0
  3. package/aiandrameira-ai-ui.d.ts +5 -0
  4. package/esm2022/aiandralves-ai-ui.js +5 -0
  5. package/esm2022/aiandralves-ai-ui.js.map +1 -0
  6. package/esm2022/aiandrameira-ai-ui.js +5 -0
  7. package/esm2022/aiandrameira-ai-ui.js.map +1 -0
  8. package/esm2022/index.js +4 -0
  9. package/esm2022/index.js.map +1 -0
  10. package/esm2022/lib/components/accordion/accordion.js +83 -0
  11. package/esm2022/lib/components/accordion/accordion.js.map +1 -0
  12. package/esm2022/lib/components/accordion/accordion.service.js +29 -0
  13. package/esm2022/lib/components/accordion/accordion.service.js.map +1 -0
  14. package/esm2022/lib/components/accordion/accordion.variants.js +32 -0
  15. package/esm2022/lib/components/accordion/accordion.variants.js.map +1 -0
  16. package/esm2022/lib/components/accordion/demo/accordion.js +16 -0
  17. package/esm2022/lib/components/accordion/demo/accordion.js.map +1 -0
  18. package/esm2022/lib/components/accordion/demo/default.js +63 -0
  19. package/esm2022/lib/components/accordion/demo/default.js.map +1 -0
  20. package/esm2022/lib/components/accordion/demo/single.js +63 -0
  21. package/esm2022/lib/components/accordion/demo/single.js.map +1 -0
  22. package/esm2022/lib/components/accordion/index.js +3 -0
  23. package/esm2022/lib/components/accordion/index.js.map +1 -0
  24. package/esm2022/lib/components/alert/alert.js +25 -0
  25. package/esm2022/lib/components/alert/alert.js.map +1 -0
  26. package/esm2022/lib/components/alert/alert.variants.js +23 -0
  27. package/esm2022/lib/components/alert/alert.variants.js.map +1 -0
  28. package/esm2022/lib/components/alert/demo/accent.js +29 -0
  29. package/esm2022/lib/components/alert/demo/accent.js.map +1 -0
  30. package/esm2022/lib/components/alert/demo/alert.js +42 -0
  31. package/esm2022/lib/components/alert/demo/alert.js.map +1 -0
  32. package/esm2022/lib/components/alert/demo/destructive.js +29 -0
  33. package/esm2022/lib/components/alert/demo/destructive.js.map +1 -0
  34. package/esm2022/lib/components/alert/demo/icon.js +29 -0
  35. package/esm2022/lib/components/alert/demo/icon.js.map +1 -0
  36. package/esm2022/lib/components/alert/demo/info.js +29 -0
  37. package/esm2022/lib/components/alert/demo/info.js.map +1 -0
  38. package/esm2022/lib/components/alert/demo/primary.js +38 -0
  39. package/esm2022/lib/components/alert/demo/primary.js.map +1 -0
  40. package/esm2022/lib/components/alert/demo/success.js +29 -0
  41. package/esm2022/lib/components/alert/demo/success.js.map +1 -0
  42. package/esm2022/lib/components/alert/demo/warning.js +29 -0
  43. package/esm2022/lib/components/alert/demo/warning.js.map +1 -0
  44. package/esm2022/lib/components/alert/index.js +3 -0
  45. package/esm2022/lib/components/alert/index.js.map +1 -0
  46. package/esm2022/lib/components/alert-dialog/alert-dialog.config.js +20 -0
  47. package/esm2022/lib/components/alert-dialog/alert-dialog.config.js.map +1 -0
  48. package/esm2022/lib/components/alert-dialog/alert-dialog.js +68 -0
  49. package/esm2022/lib/components/alert-dialog/alert-dialog.js.map +1 -0
  50. package/esm2022/lib/components/alert-dialog/alert-dialog.ref.js +93 -0
  51. package/esm2022/lib/components/alert-dialog/alert-dialog.ref.js.map +1 -0
  52. package/esm2022/lib/components/alert-dialog/alert-dialog.service.js +88 -0
  53. package/esm2022/lib/components/alert-dialog/alert-dialog.service.js.map +1 -0
  54. package/esm2022/lib/components/alert-dialog/alert-dialog.variants.js +3 -0
  55. package/esm2022/lib/components/alert-dialog/alert-dialog.variants.js.map +1 -0
  56. package/esm2022/lib/components/alert-dialog/demo/alert-dialog.js +12 -0
  57. package/esm2022/lib/components/alert-dialog/demo/alert-dialog.js.map +1 -0
  58. package/esm2022/lib/components/alert-dialog/demo/default.js +34 -0
  59. package/esm2022/lib/components/alert-dialog/demo/default.js.map +1 -0
  60. package/esm2022/lib/components/alert-dialog/index.js +6 -0
  61. package/esm2022/lib/components/alert-dialog/index.js.map +1 -0
  62. package/esm2022/lib/components/avatar/avatar-group.js +25 -0
  63. package/esm2022/lib/components/avatar/avatar-group.js.map +1 -0
  64. package/esm2022/lib/components/avatar/avatar.js +52 -0
  65. package/esm2022/lib/components/avatar/avatar.js.map +1 -0
  66. package/esm2022/lib/components/avatar/avatar.variants.js +44 -0
  67. package/esm2022/lib/components/avatar/avatar.variants.js.map +1 -0
  68. package/esm2022/lib/components/avatar/demo/avatar.js +27 -0
  69. package/esm2022/lib/components/avatar/demo/avatar.js.map +1 -0
  70. package/esm2022/lib/components/avatar/demo/default.js +38 -0
  71. package/esm2022/lib/components/avatar/demo/default.js.map +1 -0
  72. package/esm2022/lib/components/avatar/demo/shape.js +25 -0
  73. package/esm2022/lib/components/avatar/demo/shape.js.map +1 -0
  74. package/esm2022/lib/components/avatar/demo/size.js +33 -0
  75. package/esm2022/lib/components/avatar/demo/size.js.map +1 -0
  76. package/esm2022/lib/components/avatar/demo/status.js +29 -0
  77. package/esm2022/lib/components/avatar/demo/status.js.map +1 -0
  78. package/esm2022/lib/components/avatar/index.js +4 -0
  79. package/esm2022/lib/components/avatar/index.js.map +1 -0
  80. package/esm2022/lib/components/badge/badge.js +57 -0
  81. package/esm2022/lib/components/badge/badge.js.map +1 -0
  82. package/esm2022/lib/components/badge/badge.variants.js +117 -0
  83. package/esm2022/lib/components/badge/badge.variants.js.map +1 -0
  84. package/esm2022/lib/components/badge/demo/badge.js +37 -0
  85. package/esm2022/lib/components/badge/demo/badge.js.map +1 -0
  86. package/esm2022/lib/components/badge/demo/close.js +28 -0
  87. package/esm2022/lib/components/badge/demo/close.js.map +1 -0
  88. package/esm2022/lib/components/badge/demo/disabled.js +23 -0
  89. package/esm2022/lib/components/badge/demo/disabled.js.map +1 -0
  90. package/esm2022/lib/components/badge/demo/fill.js +59 -0
  91. package/esm2022/lib/components/badge/demo/fill.js.map +1 -0
  92. package/esm2022/lib/components/badge/demo/icon.js +25 -0
  93. package/esm2022/lib/components/badge/demo/icon.js.map +1 -0
  94. package/esm2022/lib/components/badge/demo/shape.js +25 -0
  95. package/esm2022/lib/components/badge/demo/shape.js.map +1 -0
  96. package/esm2022/lib/components/badge/demo/variant.js +37 -0
  97. package/esm2022/lib/components/badge/demo/variant.js.map +1 -0
  98. package/esm2022/lib/components/badge/index.js +3 -0
  99. package/esm2022/lib/components/badge/index.js.map +1 -0
  100. package/esm2022/lib/components/breadcrumb/breadcrumb-content.js +30 -0
  101. package/esm2022/lib/components/breadcrumb/breadcrumb-content.js.map +1 -0
  102. package/esm2022/lib/components/breadcrumb/breadcrumb-item.js +31 -0
  103. package/esm2022/lib/components/breadcrumb/breadcrumb-item.js.map +1 -0
  104. package/esm2022/lib/components/breadcrumb/breadcrumb-link.js +33 -0
  105. package/esm2022/lib/components/breadcrumb/breadcrumb-link.js.map +1 -0
  106. package/esm2022/lib/components/breadcrumb/breadcrumb-list.js +31 -0
  107. package/esm2022/lib/components/breadcrumb/breadcrumb-list.js.map +1 -0
  108. package/esm2022/lib/components/breadcrumb/breadcrumb-page.js +30 -0
  109. package/esm2022/lib/components/breadcrumb/breadcrumb-page.js.map +1 -0
  110. package/esm2022/lib/components/breadcrumb/breadcrumb-separator.js +37 -0
  111. package/esm2022/lib/components/breadcrumb/breadcrumb-separator.js.map +1 -0
  112. package/esm2022/lib/components/breadcrumb/breadcrumb.config.js +1 -0
  113. package/esm2022/lib/components/breadcrumb/breadcrumb.config.js.map +1 -0
  114. package/esm2022/lib/components/breadcrumb/breadcrumb.directive.js +21 -0
  115. package/esm2022/lib/components/breadcrumb/breadcrumb.directive.js.map +1 -0
  116. package/esm2022/lib/components/breadcrumb/breadcrumb.imports.js +8 -0
  117. package/esm2022/lib/components/breadcrumb/breadcrumb.imports.js.map +1 -0
  118. package/esm2022/lib/components/breadcrumb/breadcrumb.js +28 -0
  119. package/esm2022/lib/components/breadcrumb/breadcrumb.js.map +1 -0
  120. package/esm2022/lib/components/breadcrumb/breadcrumb.service.js +65 -0
  121. package/esm2022/lib/components/breadcrumb/breadcrumb.service.js.map +1 -0
  122. package/esm2022/lib/components/breadcrumb/breadcrumb.variants.js +88 -0
  123. package/esm2022/lib/components/breadcrumb/breadcrumb.variants.js.map +1 -0
  124. package/esm2022/lib/components/breadcrumb/demo/breadcrumb.js +37 -0
  125. package/esm2022/lib/components/breadcrumb/demo/breadcrumb.js.map +1 -0
  126. package/esm2022/lib/components/breadcrumb/demo/content.js +53 -0
  127. package/esm2022/lib/components/breadcrumb/demo/content.js.map +1 -0
  128. package/esm2022/lib/components/breadcrumb/demo/custom-separator.js +62 -0
  129. package/esm2022/lib/components/breadcrumb/demo/custom-separator.js.map +1 -0
  130. package/esm2022/lib/components/breadcrumb/demo/default.js +60 -0
  131. package/esm2022/lib/components/breadcrumb/demo/default.js.map +1 -0
  132. package/esm2022/lib/components/breadcrumb/demo/directive.js +50 -0
  133. package/esm2022/lib/components/breadcrumb/demo/directive.js.map +1 -0
  134. package/esm2022/lib/components/breadcrumb/demo/icon.js +72 -0
  135. package/esm2022/lib/components/breadcrumb/demo/icon.js.map +1 -0
  136. package/esm2022/lib/components/breadcrumb/demo/router-link.js +53 -0
  137. package/esm2022/lib/components/breadcrumb/demo/router-link.js.map +1 -0
  138. package/esm2022/lib/components/breadcrumb/index.js +5 -0
  139. package/esm2022/lib/components/breadcrumb/index.js.map +1 -0
  140. package/esm2022/lib/components/button/button.js +64 -0
  141. package/esm2022/lib/components/button/button.js.map +1 -0
  142. package/esm2022/lib/components/button/button.variants.js +102 -0
  143. package/esm2022/lib/components/button/button.variants.js.map +1 -0
  144. package/esm2022/lib/components/button/demo/button.js +47 -0
  145. package/esm2022/lib/components/button/demo/button.js.map +1 -0
  146. package/esm2022/lib/components/button/demo/disabled.js +23 -0
  147. package/esm2022/lib/components/button/demo/disabled.js.map +1 -0
  148. package/esm2022/lib/components/button/demo/fill.js +47 -0
  149. package/esm2022/lib/components/button/demo/fill.js.map +1 -0
  150. package/esm2022/lib/components/button/demo/full.js +23 -0
  151. package/esm2022/lib/components/button/demo/full.js.map +1 -0
  152. package/esm2022/lib/components/button/demo/icon.js +23 -0
  153. package/esm2022/lib/components/button/demo/icon.js.map +1 -0
  154. package/esm2022/lib/components/button/demo/loading.js +23 -0
  155. package/esm2022/lib/components/button/demo/loading.js.map +1 -0
  156. package/esm2022/lib/components/button/demo/shape.js +25 -0
  157. package/esm2022/lib/components/button/demo/shape.js.map +1 -0
  158. package/esm2022/lib/components/button/demo/size.js +29 -0
  159. package/esm2022/lib/components/button/demo/size.js.map +1 -0
  160. package/esm2022/lib/components/button/demo/variant.js +35 -0
  161. package/esm2022/lib/components/button/demo/variant.js.map +1 -0
  162. package/esm2022/lib/components/button/index.js +3 -0
  163. package/esm2022/lib/components/button/index.js.map +1 -0
  164. package/esm2022/lib/components/button-toggle/button-toggle.js +102 -0
  165. package/esm2022/lib/components/button-toggle/button-toggle.js.map +1 -0
  166. package/esm2022/lib/components/button-toggle/button-toggle.variants.js +36 -0
  167. package/esm2022/lib/components/button-toggle/button-toggle.variants.js.map +1 -0
  168. package/esm2022/lib/components/button-toggle/demo/button-toggle.js +22 -0
  169. package/esm2022/lib/components/button-toggle/demo/button-toggle.js.map +1 -0
  170. package/esm2022/lib/components/button-toggle/demo/default.js +36 -0
  171. package/esm2022/lib/components/button-toggle/demo/default.js.map +1 -0
  172. package/esm2022/lib/components/button-toggle/demo/disabled.js +28 -0
  173. package/esm2022/lib/components/button-toggle/demo/disabled.js.map +1 -0
  174. package/esm2022/lib/components/button-toggle/demo/size.js +50 -0
  175. package/esm2022/lib/components/button-toggle/demo/size.js.map +1 -0
  176. package/esm2022/lib/components/button-toggle/index.js +3 -0
  177. package/esm2022/lib/components/button-toggle/index.js.map +1 -0
  178. package/esm2022/lib/components/card/card.js +26 -0
  179. package/esm2022/lib/components/card/card.js.map +1 -0
  180. package/esm2022/lib/components/card/card.variants.js +15 -0
  181. package/esm2022/lib/components/card/card.variants.js.map +1 -0
  182. package/esm2022/lib/components/card/demo/card.js +17 -0
  183. package/esm2022/lib/components/card/demo/card.js.map +1 -0
  184. package/esm2022/lib/components/card/demo/default.js +30 -0
  185. package/esm2022/lib/components/card/demo/default.js.map +1 -0
  186. package/esm2022/lib/components/card/demo/disabled.js +23 -0
  187. package/esm2022/lib/components/card/demo/disabled.js.map +1 -0
  188. package/esm2022/lib/components/card/index.js +3 -0
  189. package/esm2022/lib/components/card/index.js.map +1 -0
  190. package/esm2022/lib/components/carousel/carousel.js +98 -0
  191. package/esm2022/lib/components/carousel/carousel.js.map +1 -0
  192. package/esm2022/lib/components/carousel/carousel.service.js +137 -0
  193. package/esm2022/lib/components/carousel/carousel.service.js.map +1 -0
  194. package/esm2022/lib/components/carousel/carousel.variants.js +62 -0
  195. package/esm2022/lib/components/carousel/carousel.variants.js.map +1 -0
  196. package/esm2022/lib/components/carousel/demo/autoplay.js +44 -0
  197. package/esm2022/lib/components/carousel/demo/autoplay.js.map +1 -0
  198. package/esm2022/lib/components/carousel/demo/carousel.js +21 -0
  199. package/esm2022/lib/components/carousel/demo/carousel.js.map +1 -0
  200. package/esm2022/lib/components/carousel/demo/default.js +46 -0
  201. package/esm2022/lib/components/carousel/demo/default.js.map +1 -0
  202. package/esm2022/lib/components/carousel/demo/loop.js +44 -0
  203. package/esm2022/lib/components/carousel/demo/loop.js.map +1 -0
  204. package/esm2022/lib/components/carousel/index.js +3 -0
  205. package/esm2022/lib/components/carousel/index.js.map +1 -0
  206. package/esm2022/lib/components/command/command-empty.js +42 -0
  207. package/esm2022/lib/components/command/command-empty.js.map +1 -0
  208. package/esm2022/lib/components/command/command-input.js +137 -0
  209. package/esm2022/lib/components/command/command-input.js.map +1 -0
  210. package/esm2022/lib/components/command/command-item-group.js +72 -0
  211. package/esm2022/lib/components/command/command-item-group.js.map +1 -0
  212. package/esm2022/lib/components/command/command-item.js +122 -0
  213. package/esm2022/lib/components/command/command-item.js.map +1 -0
  214. package/esm2022/lib/components/command/command-list.js +29 -0
  215. package/esm2022/lib/components/command/command-list.js.map +1 -0
  216. package/esm2022/lib/components/command/command-separator.js +39 -0
  217. package/esm2022/lib/components/command/command-separator.js.map +1 -0
  218. package/esm2022/lib/components/command/command.config.js +3 -0
  219. package/esm2022/lib/components/command/command.config.js.map +1 -0
  220. package/esm2022/lib/components/command/command.imports.js +9 -0
  221. package/esm2022/lib/components/command/command.imports.js.map +1 -0
  222. package/esm2022/lib/components/command/command.js +184 -0
  223. package/esm2022/lib/components/command/command.js.map +1 -0
  224. package/esm2022/lib/components/command/command.variants.js +50 -0
  225. package/esm2022/lib/components/command/command.variants.js.map +1 -0
  226. package/esm2022/lib/components/command/demo/command.js +12 -0
  227. package/esm2022/lib/components/command/demo/command.js.map +1 -0
  228. package/esm2022/lib/components/command/demo/default.js +124 -0
  229. package/esm2022/lib/components/command/demo/default.js.map +1 -0
  230. package/esm2022/lib/components/command/index.js +10 -0
  231. package/esm2022/lib/components/command/index.js.map +1 -0
  232. package/esm2022/lib/components/date-picker/date-picker-overlay.service.js +63 -0
  233. package/esm2022/lib/components/date-picker/date-picker-overlay.service.js.map +1 -0
  234. package/esm2022/lib/components/date-picker/date-picker.js +113 -0
  235. package/esm2022/lib/components/date-picker/date-picker.js.map +1 -0
  236. package/esm2022/lib/components/date-picker/date-picker.util.js +71 -0
  237. package/esm2022/lib/components/date-picker/date-picker.util.js.map +1 -0
  238. package/esm2022/lib/components/date-picker/date-picker.variants.js +17 -0
  239. package/esm2022/lib/components/date-picker/date-picker.variants.js.map +1 -0
  240. package/esm2022/lib/components/date-picker/demo/date-picker.js +21 -0
  241. package/esm2022/lib/components/date-picker/demo/date-picker.js.map +1 -0
  242. package/esm2022/lib/components/date-picker/demo/default.js +30 -0
  243. package/esm2022/lib/components/date-picker/demo/default.js.map +1 -0
  244. package/esm2022/lib/components/date-picker/demo/disabled.js +23 -0
  245. package/esm2022/lib/components/date-picker/demo/disabled.js.map +1 -0
  246. package/esm2022/lib/components/date-picker/demo/range.js +30 -0
  247. package/esm2022/lib/components/date-picker/demo/range.js.map +1 -0
  248. package/esm2022/lib/components/date-picker/index.js +3 -0
  249. package/esm2022/lib/components/date-picker/index.js.map +1 -0
  250. package/esm2022/lib/components/dialog/demo/default.js +108 -0
  251. package/esm2022/lib/components/dialog/demo/default.js.map +1 -0
  252. package/esm2022/lib/components/dialog/demo/dialog.js +12 -0
  253. package/esm2022/lib/components/dialog/demo/dialog.js.map +1 -0
  254. package/esm2022/lib/components/dialog/dialog-ref.js +85 -0
  255. package/esm2022/lib/components/dialog/dialog-ref.js.map +1 -0
  256. package/esm2022/lib/components/dialog/dialog.config.js +22 -0
  257. package/esm2022/lib/components/dialog/dialog.config.js.map +1 -0
  258. package/esm2022/lib/components/dialog/dialog.js +51 -0
  259. package/esm2022/lib/components/dialog/dialog.js.map +1 -0
  260. package/esm2022/lib/components/dialog/dialog.module.js +20 -0
  261. package/esm2022/lib/components/dialog/dialog.module.js.map +1 -0
  262. package/esm2022/lib/components/dialog/dialog.service.js +76 -0
  263. package/esm2022/lib/components/dialog/dialog.service.js.map +1 -0
  264. package/esm2022/lib/components/dialog/dialog.variants.js +3 -0
  265. package/esm2022/lib/components/dialog/dialog.variants.js.map +1 -0
  266. package/esm2022/lib/components/dialog/index.js +6 -0
  267. package/esm2022/lib/components/dialog/index.js.map +1 -0
  268. package/esm2022/lib/components/empty/demo/advanced.js +63 -0
  269. package/esm2022/lib/components/empty/demo/advanced.js.map +1 -0
  270. package/esm2022/lib/components/empty/demo/custom-image.js +44 -0
  271. package/esm2022/lib/components/empty/demo/custom-image.js.map +1 -0
  272. package/esm2022/lib/components/empty/demo/default.js +61 -0
  273. package/esm2022/lib/components/empty/demo/default.js.map +1 -0
  274. package/esm2022/lib/components/empty/demo/empty.js +22 -0
  275. package/esm2022/lib/components/empty/demo/empty.js.map +1 -0
  276. package/esm2022/lib/components/empty/empty.js +30 -0
  277. package/esm2022/lib/components/empty/empty.js.map +1 -0
  278. package/esm2022/lib/components/empty/empty.variants.js +23 -0
  279. package/esm2022/lib/components/empty/empty.variants.js.map +1 -0
  280. package/esm2022/lib/components/empty/index.js +3 -0
  281. package/esm2022/lib/components/empty/index.js.map +1 -0
  282. package/esm2022/lib/components/float-button/demo/float-button.js +37 -0
  283. package/esm2022/lib/components/float-button/demo/float-button.js.map +1 -0
  284. package/esm2022/lib/components/float-button/demo/float-group.js +44 -0
  285. package/esm2022/lib/components/float-button/demo/float-group.js.map +1 -0
  286. package/esm2022/lib/components/float-button/demo/float-top.js +23 -0
  287. package/esm2022/lib/components/float-button/demo/float-top.js.map +1 -0
  288. package/esm2022/lib/components/float-button/demo/position.js +29 -0
  289. package/esm2022/lib/components/float-button/demo/position.js.map +1 -0
  290. package/esm2022/lib/components/float-button/demo/shape.js +25 -0
  291. package/esm2022/lib/components/float-button/demo/shape.js.map +1 -0
  292. package/esm2022/lib/components/float-button/demo/size.js +25 -0
  293. package/esm2022/lib/components/float-button/demo/size.js.map +1 -0
  294. package/esm2022/lib/components/float-button/demo/variant.js +27 -0
  295. package/esm2022/lib/components/float-button/demo/variant.js.map +1 -0
  296. package/esm2022/lib/components/float-button/float-button-group.js +99 -0
  297. package/esm2022/lib/components/float-button/float-button-group.js.map +1 -0
  298. package/esm2022/lib/components/float-button/float-button-top.js +70 -0
  299. package/esm2022/lib/components/float-button/float-button-top.js.map +1 -0
  300. package/esm2022/lib/components/float-button/float-button.js +59 -0
  301. package/esm2022/lib/components/float-button/float-button.js.map +1 -0
  302. package/esm2022/lib/components/float-button/float-button.variants.js +24 -0
  303. package/esm2022/lib/components/float-button/float-button.variants.js.map +1 -0
  304. package/esm2022/lib/components/float-button/index.js +5 -0
  305. package/esm2022/lib/components/float-button/index.js.map +1 -0
  306. package/esm2022/lib/components/form-field/autocomplete/autocomplete-config.js +36 -0
  307. package/esm2022/lib/components/form-field/autocomplete/autocomplete-config.js.map +1 -0
  308. package/esm2022/lib/components/form-field/autocomplete/autocomplete.js +234 -0
  309. package/esm2022/lib/components/form-field/autocomplete/autocomplete.js.map +1 -0
  310. package/esm2022/lib/components/form-field/autocomplete/autocomplete.variants.js +25 -0
  311. package/esm2022/lib/components/form-field/autocomplete/autocomplete.variants.js.map +1 -0
  312. package/esm2022/lib/components/form-field/autocomplete/demo/autocomplete.js +21 -0
  313. package/esm2022/lib/components/form-field/autocomplete/demo/autocomplete.js.map +1 -0
  314. package/esm2022/lib/components/form-field/autocomplete/demo/default.js +41 -0
  315. package/esm2022/lib/components/form-field/autocomplete/demo/default.js.map +1 -0
  316. package/esm2022/lib/components/form-field/autocomplete/demo/events.js +63 -0
  317. package/esm2022/lib/components/form-field/autocomplete/demo/events.js.map +1 -0
  318. package/esm2022/lib/components/form-field/autocomplete/demo/validation.js +84 -0
  319. package/esm2022/lib/components/form-field/autocomplete/demo/validation.js.map +1 -0
  320. package/esm2022/lib/components/form-field/autocomplete/index.js +4 -0
  321. package/esm2022/lib/components/form-field/autocomplete/index.js.map +1 -0
  322. package/esm2022/lib/components/form-field/autocomplete/services/autocomplete-overlay.service.js +65 -0
  323. package/esm2022/lib/components/form-field/autocomplete/services/autocomplete-overlay.service.js.map +1 -0
  324. package/esm2022/lib/components/form-field/autocomplete/services/index.js +2 -0
  325. package/esm2022/lib/components/form-field/autocomplete/services/index.js.map +1 -0
  326. package/esm2022/lib/components/form-field/checkbox/checkbox.js +59 -0
  327. package/esm2022/lib/components/form-field/checkbox/checkbox.js.map +1 -0
  328. package/esm2022/lib/components/form-field/checkbox/checkbox.variants.js +39 -0
  329. package/esm2022/lib/components/form-field/checkbox/checkbox.variants.js.map +1 -0
  330. package/esm2022/lib/components/form-field/checkbox/demo/checkbox.js +37 -0
  331. package/esm2022/lib/components/form-field/checkbox/demo/checkbox.js.map +1 -0
  332. package/esm2022/lib/components/form-field/checkbox/demo/default.js +27 -0
  333. package/esm2022/lib/components/form-field/checkbox/demo/default.js.map +1 -0
  334. package/esm2022/lib/components/form-field/checkbox/demo/destructive.js +27 -0
  335. package/esm2022/lib/components/form-field/checkbox/demo/destructive.js.map +1 -0
  336. package/esm2022/lib/components/form-field/checkbox/demo/disabled.js +28 -0
  337. package/esm2022/lib/components/form-field/checkbox/demo/disabled.js.map +1 -0
  338. package/esm2022/lib/components/form-field/checkbox/demo/shape.js +25 -0
  339. package/esm2022/lib/components/form-field/checkbox/demo/shape.js.map +1 -0
  340. package/esm2022/lib/components/form-field/checkbox/demo/size.js +25 -0
  341. package/esm2022/lib/components/form-field/checkbox/demo/size.js.map +1 -0
  342. package/esm2022/lib/components/form-field/checkbox/demo/validation.js +75 -0
  343. package/esm2022/lib/components/form-field/checkbox/demo/validation.js.map +1 -0
  344. package/esm2022/lib/components/form-field/checkbox/index.js +3 -0
  345. package/esm2022/lib/components/form-field/checkbox/index.js.map +1 -0
  346. package/esm2022/lib/components/form-field/datetime/datetime.js +59 -0
  347. package/esm2022/lib/components/form-field/datetime/datetime.js.map +1 -0
  348. package/esm2022/lib/components/form-field/datetime/datetime.variants.js +30 -0
  349. package/esm2022/lib/components/form-field/datetime/datetime.variants.js.map +1 -0
  350. package/esm2022/lib/components/form-field/datetime/demo/datetime.js +21 -0
  351. package/esm2022/lib/components/form-field/datetime/demo/datetime.js.map +1 -0
  352. package/esm2022/lib/components/form-field/datetime/demo/default.js +37 -0
  353. package/esm2022/lib/components/form-field/datetime/demo/default.js.map +1 -0
  354. package/esm2022/lib/components/form-field/datetime/demo/disabled.js +25 -0
  355. package/esm2022/lib/components/form-field/datetime/demo/disabled.js.map +1 -0
  356. package/esm2022/lib/components/form-field/datetime/demo/validation.js +69 -0
  357. package/esm2022/lib/components/form-field/datetime/demo/validation.js.map +1 -0
  358. package/esm2022/lib/components/form-field/datetime/index.js +3 -0
  359. package/esm2022/lib/components/form-field/datetime/index.js.map +1 -0
  360. package/esm2022/lib/components/form-field/index.js +10 -0
  361. package/esm2022/lib/components/form-field/index.js.map +1 -0
  362. package/esm2022/lib/components/form-field/input/currency-mask.service.js +40 -0
  363. package/esm2022/lib/components/form-field/input/currency-mask.service.js.map +1 -0
  364. package/esm2022/lib/components/form-field/input/demo/default.js +26 -0
  365. package/esm2022/lib/components/form-field/input/demo/default.js.map +1 -0
  366. package/esm2022/lib/components/form-field/input/demo/disabled.js +28 -0
  367. package/esm2022/lib/components/form-field/input/demo/disabled.js.map +1 -0
  368. package/esm2022/lib/components/form-field/input/demo/icon.js +29 -0
  369. package/esm2022/lib/components/form-field/input/demo/icon.js.map +1 -0
  370. package/esm2022/lib/components/form-field/input/demo/input.js +47 -0
  371. package/esm2022/lib/components/form-field/input/demo/input.js.map +1 -0
  372. package/esm2022/lib/components/form-field/input/demo/mask.js +48 -0
  373. package/esm2022/lib/components/form-field/input/demo/mask.js.map +1 -0
  374. package/esm2022/lib/components/form-field/input/demo/normalize.js +69 -0
  375. package/esm2022/lib/components/form-field/input/demo/normalize.js.map +1 -0
  376. package/esm2022/lib/components/form-field/input/demo/password.js +29 -0
  377. package/esm2022/lib/components/form-field/input/demo/password.js.map +1 -0
  378. package/esm2022/lib/components/form-field/input/demo/validation.js +113 -0
  379. package/esm2022/lib/components/form-field/input/demo/validation.js.map +1 -0
  380. package/esm2022/lib/components/form-field/input/demo/variant.js +34 -0
  381. package/esm2022/lib/components/form-field/input/demo/variant.js.map +1 -0
  382. package/esm2022/lib/components/form-field/input/index.js +4 -0
  383. package/esm2022/lib/components/form-field/input/index.js.map +1 -0
  384. package/esm2022/lib/components/form-field/input/input.js +102 -0
  385. package/esm2022/lib/components/form-field/input/input.js.map +1 -0
  386. package/esm2022/lib/components/form-field/input/input.variants.js +38 -0
  387. package/esm2022/lib/components/form-field/input/input.variants.js.map +1 -0
  388. package/esm2022/lib/components/form-field/input/interfaces/feedback.interface.js +26 -0
  389. package/esm2022/lib/components/form-field/input/interfaces/feedback.interface.js.map +1 -0
  390. package/esm2022/lib/components/form-field/input/interfaces/index.js +4 -0
  391. package/esm2022/lib/components/form-field/input/interfaces/index.js.map +1 -0
  392. package/esm2022/lib/components/form-field/input/interfaces/mask-config.interface.js +1 -0
  393. package/esm2022/lib/components/form-field/input/interfaces/mask-config.interface.js.map +1 -0
  394. package/esm2022/lib/components/form-field/input/interfaces/password-strength.js +39 -0
  395. package/esm2022/lib/components/form-field/input/interfaces/password-strength.js.map +1 -0
  396. package/esm2022/lib/components/form-field/radio/demo/default.js +32 -0
  397. package/esm2022/lib/components/form-field/radio/demo/default.js.map +1 -0
  398. package/esm2022/lib/components/form-field/radio/demo/disabled.js +32 -0
  399. package/esm2022/lib/components/form-field/radio/demo/disabled.js.map +1 -0
  400. package/esm2022/lib/components/form-field/radio/demo/radio.js +26 -0
  401. package/esm2022/lib/components/form-field/radio/demo/radio.js.map +1 -0
  402. package/esm2022/lib/components/form-field/radio/demo/size.js +30 -0
  403. package/esm2022/lib/components/form-field/radio/demo/size.js.map +1 -0
  404. package/esm2022/lib/components/form-field/radio/demo/validation.js +90 -0
  405. package/esm2022/lib/components/form-field/radio/demo/validation.js.map +1 -0
  406. package/esm2022/lib/components/form-field/radio/index.js +5 -0
  407. package/esm2022/lib/components/form-field/radio/index.js.map +1 -0
  408. package/esm2022/lib/components/form-field/radio/radio-group.js +52 -0
  409. package/esm2022/lib/components/form-field/radio/radio-group.js.map +1 -0
  410. package/esm2022/lib/components/form-field/radio/radio.imports.js +4 -0
  411. package/esm2022/lib/components/form-field/radio/radio.imports.js.map +1 -0
  412. package/esm2022/lib/components/form-field/radio/radio.js +83 -0
  413. package/esm2022/lib/components/form-field/radio/radio.js.map +1 -0
  414. package/esm2022/lib/components/form-field/radio/radio.variants.js +30 -0
  415. package/esm2022/lib/components/form-field/radio/radio.variants.js.map +1 -0
  416. package/esm2022/lib/components/form-field/segmented/demo/default.js +39 -0
  417. package/esm2022/lib/components/form-field/segmented/demo/default.js.map +1 -0
  418. package/esm2022/lib/components/form-field/segmented/demo/disabled.js +49 -0
  419. package/esm2022/lib/components/form-field/segmented/demo/disabled.js.map +1 -0
  420. package/esm2022/lib/components/form-field/segmented/demo/segmented.js +21 -0
  421. package/esm2022/lib/components/form-field/segmented/demo/segmented.js.map +1 -0
  422. package/esm2022/lib/components/form-field/segmented/demo/size.js +55 -0
  423. package/esm2022/lib/components/form-field/segmented/demo/size.js.map +1 -0
  424. package/esm2022/lib/components/form-field/segmented/index.js +4 -0
  425. package/esm2022/lib/components/form-field/segmented/index.js.map +1 -0
  426. package/esm2022/lib/components/form-field/segmented/segmented.interface.js +1 -0
  427. package/esm2022/lib/components/form-field/segmented/segmented.interface.js.map +1 -0
  428. package/esm2022/lib/components/form-field/segmented/segmented.js +56 -0
  429. package/esm2022/lib/components/form-field/segmented/segmented.js.map +1 -0
  430. package/esm2022/lib/components/form-field/segmented/segmented.variants.js +16 -0
  431. package/esm2022/lib/components/form-field/segmented/segmented.variants.js.map +1 -0
  432. package/esm2022/lib/components/form-field/select/demo/default.js +47 -0
  433. package/esm2022/lib/components/form-field/select/demo/default.js.map +1 -0
  434. package/esm2022/lib/components/form-field/select/demo/multiple.js +57 -0
  435. package/esm2022/lib/components/form-field/select/demo/multiple.js.map +1 -0
  436. package/esm2022/lib/components/form-field/select/demo/select.js +17 -0
  437. package/esm2022/lib/components/form-field/select/demo/select.js.map +1 -0
  438. package/esm2022/lib/components/form-field/select/index.js +5 -0
  439. package/esm2022/lib/components/form-field/select/index.js.map +1 -0
  440. package/esm2022/lib/components/form-field/select/select-item.js +78 -0
  441. package/esm2022/lib/components/form-field/select/select-item.js.map +1 -0
  442. package/esm2022/lib/components/form-field/select/select.facade.js +70 -0
  443. package/esm2022/lib/components/form-field/select/select.facade.js.map +1 -0
  444. package/esm2022/lib/components/form-field/select/select.imports.js +4 -0
  445. package/esm2022/lib/components/form-field/select/select.imports.js.map +1 -0
  446. package/esm2022/lib/components/form-field/select/select.js +315 -0
  447. package/esm2022/lib/components/form-field/select/select.js.map +1 -0
  448. package/esm2022/lib/components/form-field/select/select.variants.js +57 -0
  449. package/esm2022/lib/components/form-field/select/select.variants.js.map +1 -0
  450. package/esm2022/lib/components/form-field/select/services/index.js +6 -0
  451. package/esm2022/lib/components/form-field/select/services/index.js.map +1 -0
  452. package/esm2022/lib/components/form-field/select/services/select-dom.service.js +43 -0
  453. package/esm2022/lib/components/form-field/select/services/select-dom.service.js.map +1 -0
  454. package/esm2022/lib/components/form-field/select/services/select-keyword.service.js +54 -0
  455. package/esm2022/lib/components/form-field/select/services/select-keyword.service.js.map +1 -0
  456. package/esm2022/lib/components/form-field/select/services/select-labels.service.js +43 -0
  457. package/esm2022/lib/components/form-field/select/services/select-labels.service.js.map +1 -0
  458. package/esm2022/lib/components/form-field/select/services/select-overlay.service.js +89 -0
  459. package/esm2022/lib/components/form-field/select/services/select-overlay.service.js.map +1 -0
  460. package/esm2022/lib/components/form-field/select/services/select.store.js +30 -0
  461. package/esm2022/lib/components/form-field/select/services/select.store.js.map +1 -0
  462. package/esm2022/lib/components/form-field/switch/demo/default.js +27 -0
  463. package/esm2022/lib/components/form-field/switch/demo/default.js.map +1 -0
  464. package/esm2022/lib/components/form-field/switch/demo/disabled.js +25 -0
  465. package/esm2022/lib/components/form-field/switch/demo/disabled.js.map +1 -0
  466. package/esm2022/lib/components/form-field/switch/demo/size.js +27 -0
  467. package/esm2022/lib/components/form-field/switch/demo/size.js.map +1 -0
  468. package/esm2022/lib/components/form-field/switch/demo/switch.js +21 -0
  469. package/esm2022/lib/components/form-field/switch/demo/switch.js.map +1 -0
  470. package/esm2022/lib/components/form-field/switch/index.js +3 -0
  471. package/esm2022/lib/components/form-field/switch/index.js.map +1 -0
  472. package/esm2022/lib/components/form-field/switch/switch.js +34 -0
  473. package/esm2022/lib/components/form-field/switch/switch.js.map +1 -0
  474. package/esm2022/lib/components/form-field/switch/switch.variants.js +44 -0
  475. package/esm2022/lib/components/form-field/switch/switch.variants.js.map +1 -0
  476. package/esm2022/lib/components/form-field/textarea/demo/default.js +26 -0
  477. package/esm2022/lib/components/form-field/textarea/demo/default.js.map +1 -0
  478. package/esm2022/lib/components/form-field/textarea/demo/disabled.js +28 -0
  479. package/esm2022/lib/components/form-field/textarea/demo/disabled.js.map +1 -0
  480. package/esm2022/lib/components/form-field/textarea/demo/resize.js +34 -0
  481. package/esm2022/lib/components/form-field/textarea/demo/resize.js.map +1 -0
  482. package/esm2022/lib/components/form-field/textarea/demo/textarea.js +32 -0
  483. package/esm2022/lib/components/form-field/textarea/demo/textarea.js.map +1 -0
  484. package/esm2022/lib/components/form-field/textarea/demo/validation.js +53 -0
  485. package/esm2022/lib/components/form-field/textarea/demo/validation.js.map +1 -0
  486. package/esm2022/lib/components/form-field/textarea/demo/variant.js +34 -0
  487. package/esm2022/lib/components/form-field/textarea/demo/variant.js.map +1 -0
  488. package/esm2022/lib/components/form-field/textarea/index.js +3 -0
  489. package/esm2022/lib/components/form-field/textarea/index.js.map +1 -0
  490. package/esm2022/lib/components/form-field/textarea/textarea.js +59 -0
  491. package/esm2022/lib/components/form-field/textarea/textarea.js.map +1 -0
  492. package/esm2022/lib/components/form-field/textarea/textarea.variants.js +45 -0
  493. package/esm2022/lib/components/form-field/textarea/textarea.variants.js.map +1 -0
  494. package/esm2022/lib/components/icon/demo/icon.js +22 -0
  495. package/esm2022/lib/components/icon/demo/icon.js.map +1 -0
  496. package/esm2022/lib/components/icon/demo/searchable.js +188 -0
  497. package/esm2022/lib/components/icon/demo/searchable.js.map +1 -0
  498. package/esm2022/lib/components/icon/demo/size.js +31 -0
  499. package/esm2022/lib/components/icon/demo/size.js.map +1 -0
  500. package/esm2022/lib/components/icon/demo/type.js +27 -0
  501. package/esm2022/lib/components/icon/demo/type.js.map +1 -0
  502. package/esm2022/lib/components/icon/icon-categories.js +745 -0
  503. package/esm2022/lib/components/icon/icon-categories.js.map +1 -0
  504. package/esm2022/lib/components/icon/icon.component.js +39 -0
  505. package/esm2022/lib/components/icon/icon.component.js.map +1 -0
  506. package/esm2022/lib/components/icon/icon.variants.js +21 -0
  507. package/esm2022/lib/components/icon/icon.variants.js.map +1 -0
  508. package/esm2022/lib/components/icon/icons.js +1310 -0
  509. package/esm2022/lib/components/icon/icons.js.map +1 -0
  510. package/esm2022/lib/components/icon/index.js +4 -0
  511. package/esm2022/lib/components/icon/index.js.map +1 -0
  512. package/esm2022/lib/components/index.js +31 -0
  513. package/esm2022/lib/components/index.js.map +1 -0
  514. package/esm2022/lib/components/loader/demo/loader.js +17 -0
  515. package/esm2022/lib/components/loader/demo/loader.js.map +1 -0
  516. package/esm2022/lib/components/loader/demo/size.js +45 -0
  517. package/esm2022/lib/components/loader/demo/size.js.map +1 -0
  518. package/esm2022/lib/components/loader/demo/type.js +69 -0
  519. package/esm2022/lib/components/loader/demo/type.js.map +1 -0
  520. package/esm2022/lib/components/loader/index.js +4 -0
  521. package/esm2022/lib/components/loader/index.js.map +1 -0
  522. package/esm2022/lib/components/loader/loader-progess.js +82 -0
  523. package/esm2022/lib/components/loader/loader-progess.js.map +1 -0
  524. package/esm2022/lib/components/loader/loader.js +30 -0
  525. package/esm2022/lib/components/loader/loader.js.map +1 -0
  526. package/esm2022/lib/components/loader/loader.service.js +24 -0
  527. package/esm2022/lib/components/loader/loader.service.js.map +1 -0
  528. package/esm2022/lib/components/loader/loader.variants.js +25 -0
  529. package/esm2022/lib/components/loader/loader.variants.js.map +1 -0
  530. package/esm2022/lib/components/markdown/demo/editor.js +35 -0
  531. package/esm2022/lib/components/markdown/demo/editor.js.map +1 -0
  532. package/esm2022/lib/components/markdown/demo/markdown.js +17 -0
  533. package/esm2022/lib/components/markdown/demo/markdown.js.map +1 -0
  534. package/esm2022/lib/components/markdown/demo/viewer.js +35 -0
  535. package/esm2022/lib/components/markdown/demo/viewer.js.map +1 -0
  536. package/esm2022/lib/components/markdown/icon.helper.js +245 -0
  537. package/esm2022/lib/components/markdown/icon.helper.js.map +1 -0
  538. package/esm2022/lib/components/markdown/index.js +3 -0
  539. package/esm2022/lib/components/markdown/index.js.map +1 -0
  540. package/esm2022/lib/components/markdown/language-icons.js +11 -0
  541. package/esm2022/lib/components/markdown/language-icons.js.map +1 -0
  542. package/esm2022/lib/components/markdown/markdown.js +210 -0
  543. package/esm2022/lib/components/markdown/markdown.js.map +1 -0
  544. package/esm2022/lib/components/markdown/markdown.service.js +121 -0
  545. package/esm2022/lib/components/markdown/markdown.service.js.map +1 -0
  546. package/esm2022/lib/components/pagination/demo/custom.js +93 -0
  547. package/esm2022/lib/components/pagination/demo/custom.js.map +1 -0
  548. package/esm2022/lib/components/pagination/demo/default.js +18 -0
  549. package/esm2022/lib/components/pagination/demo/default.js.map +1 -0
  550. package/esm2022/lib/components/pagination/demo/info.js +47 -0
  551. package/esm2022/lib/components/pagination/demo/info.js.map +1 -0
  552. package/esm2022/lib/components/pagination/demo/intl.js +49 -0
  553. package/esm2022/lib/components/pagination/demo/intl.js.map +1 -0
  554. package/esm2022/lib/components/pagination/demo/pagination.js +27 -0
  555. package/esm2022/lib/components/pagination/demo/pagination.js.map +1 -0
  556. package/esm2022/lib/components/pagination/index.js +5 -0
  557. package/esm2022/lib/components/pagination/index.js.map +1 -0
  558. package/esm2022/lib/components/pagination/pagination-button.js +35 -0
  559. package/esm2022/lib/components/pagination/pagination-button.js.map +1 -0
  560. package/esm2022/lib/components/pagination/pagination-content.js +25 -0
  561. package/esm2022/lib/components/pagination/pagination-content.js.map +1 -0
  562. package/esm2022/lib/components/pagination/pagination-ellipsis.js +27 -0
  563. package/esm2022/lib/components/pagination/pagination-ellipsis.js.map +1 -0
  564. package/esm2022/lib/components/pagination/pagination-intl.js +21 -0
  565. package/esm2022/lib/components/pagination/pagination-intl.js.map +1 -0
  566. package/esm2022/lib/components/pagination/pagination-item.js +20 -0
  567. package/esm2022/lib/components/pagination/pagination-item.js.map +1 -0
  568. package/esm2022/lib/components/pagination/pagination-next.js +40 -0
  569. package/esm2022/lib/components/pagination/pagination-next.js.map +1 -0
  570. package/esm2022/lib/components/pagination/pagination-prev.js +40 -0
  571. package/esm2022/lib/components/pagination/pagination-prev.js.map +1 -0
  572. package/esm2022/lib/components/pagination/pagination.imports.js +9 -0
  573. package/esm2022/lib/components/pagination/pagination.imports.js.map +1 -0
  574. package/esm2022/lib/components/pagination/pagination.js +210 -0
  575. package/esm2022/lib/components/pagination/pagination.js.map +1 -0
  576. package/esm2022/lib/components/pagination/pagination.variants.js +7 -0
  577. package/esm2022/lib/components/pagination/pagination.variants.js.map +1 -0
  578. package/esm2022/lib/components/progress-bar/demo/indeterminate.js +25 -0
  579. package/esm2022/lib/components/progress-bar/demo/indeterminate.js.map +1 -0
  580. package/esm2022/lib/components/progress-bar/demo/progress-bar.js +15 -0
  581. package/esm2022/lib/components/progress-bar/demo/progress-bar.js.map +1 -0
  582. package/esm2022/lib/components/progress-bar/demo/shape.js +28 -0
  583. package/esm2022/lib/components/progress-bar/demo/shape.js.map +1 -0
  584. package/esm2022/lib/components/progress-bar/demo/size.js +28 -0
  585. package/esm2022/lib/components/progress-bar/demo/size.js.map +1 -0
  586. package/esm2022/lib/components/progress-bar/demo/variant.js +26 -0
  587. package/esm2022/lib/components/progress-bar/demo/variant.js.map +1 -0
  588. package/esm2022/lib/components/progress-bar/index.js +4 -0
  589. package/esm2022/lib/components/progress-bar/index.js.map +1 -0
  590. package/esm2022/lib/components/progress-bar/progress-bar.js +133 -0
  591. package/esm2022/lib/components/progress-bar/progress-bar.js.map +1 -0
  592. package/esm2022/lib/components/progress-bar/progress-bar.variants.js +42 -0
  593. package/esm2022/lib/components/progress-bar/progress-bar.variants.js.map +1 -0
  594. package/esm2022/lib/components/separator/demo/orientation.js +45 -0
  595. package/esm2022/lib/components/separator/demo/orientation.js.map +1 -0
  596. package/esm2022/lib/components/separator/demo/separator.js +12 -0
  597. package/esm2022/lib/components/separator/demo/separator.js.map +1 -0
  598. package/esm2022/lib/components/separator/index.js +3 -0
  599. package/esm2022/lib/components/separator/index.js.map +1 -0
  600. package/esm2022/lib/components/separator/separator.js +25 -0
  601. package/esm2022/lib/components/separator/separator.js.map +1 -0
  602. package/esm2022/lib/components/separator/separator.variants.js +13 -0
  603. package/esm2022/lib/components/separator/separator.variants.js.map +1 -0
  604. package/esm2022/lib/components/skeleton/demo/card.js +47 -0
  605. package/esm2022/lib/components/skeleton/demo/card.js.map +1 -0
  606. package/esm2022/lib/components/skeleton/demo/chart.js +42 -0
  607. package/esm2022/lib/components/skeleton/demo/chart.js.map +1 -0
  608. package/esm2022/lib/components/skeleton/demo/default.js +31 -0
  609. package/esm2022/lib/components/skeleton/demo/default.js.map +1 -0
  610. package/esm2022/lib/components/skeleton/demo/skeleton.js +12 -0
  611. package/esm2022/lib/components/skeleton/demo/skeleton.js.map +1 -0
  612. package/esm2022/lib/components/skeleton/index.js +3 -0
  613. package/esm2022/lib/components/skeleton/index.js.map +1 -0
  614. package/esm2022/lib/components/skeleton/skeleton.js +32 -0
  615. package/esm2022/lib/components/skeleton/skeleton.js.map +1 -0
  616. package/esm2022/lib/components/skeleton/skeleton.variants.js +6 -0
  617. package/esm2022/lib/components/skeleton/skeleton.variants.js.map +1 -0
  618. package/esm2022/lib/components/stepper/demo/default.js +86 -0
  619. package/esm2022/lib/components/stepper/demo/default.js.map +1 -0
  620. package/esm2022/lib/components/stepper/demo/orientation.js +86 -0
  621. package/esm2022/lib/components/stepper/demo/orientation.js.map +1 -0
  622. package/esm2022/lib/components/stepper/demo/stepper.js +21 -0
  623. package/esm2022/lib/components/stepper/demo/stepper.js.map +1 -0
  624. package/esm2022/lib/components/stepper/demo/validation.js +107 -0
  625. package/esm2022/lib/components/stepper/demo/validation.js.map +1 -0
  626. package/esm2022/lib/components/stepper/index.js +3 -0
  627. package/esm2022/lib/components/stepper/index.js.map +1 -0
  628. package/esm2022/lib/components/stepper/stepper.js +93 -0
  629. package/esm2022/lib/components/stepper/stepper.js.map +1 -0
  630. package/esm2022/lib/components/stepper/stepper.service.js +67 -0
  631. package/esm2022/lib/components/stepper/stepper.service.js.map +1 -0
  632. package/esm2022/lib/components/stepper/stepper.variants.js +64 -0
  633. package/esm2022/lib/components/stepper/stepper.variants.js.map +1 -0
  634. package/esm2022/lib/components/table/cell-template.directive.js +18 -0
  635. package/esm2022/lib/components/table/cell-template.directive.js.map +1 -0
  636. package/esm2022/lib/components/table/demo/border.js +30 -0
  637. package/esm2022/lib/components/table/demo/border.js.map +1 -0
  638. package/esm2022/lib/components/table/demo/default.js +48 -0
  639. package/esm2022/lib/components/table/demo/default.js.map +1 -0
  640. package/esm2022/lib/components/table/demo/pagination.js +69 -0
  641. package/esm2022/lib/components/table/demo/pagination.js.map +1 -0
  642. package/esm2022/lib/components/table/demo/selected.js +34 -0
  643. package/esm2022/lib/components/table/demo/selected.js.map +1 -0
  644. package/esm2022/lib/components/table/demo/size.js +55 -0
  645. package/esm2022/lib/components/table/demo/size.js.map +1 -0
  646. package/esm2022/lib/components/table/demo/sort.js +59 -0
  647. package/esm2022/lib/components/table/demo/sort.js.map +1 -0
  648. package/esm2022/lib/components/table/demo/table.js +37 -0
  649. package/esm2022/lib/components/table/demo/table.js.map +1 -0
  650. package/esm2022/lib/components/table/demo/user.js +25 -0
  651. package/esm2022/lib/components/table/demo/user.js.map +1 -0
  652. package/esm2022/lib/components/table/index.js +5 -0
  653. package/esm2022/lib/components/table/index.js.map +1 -0
  654. package/esm2022/lib/components/table/table.config.js +1 -0
  655. package/esm2022/lib/components/table/table.config.js.map +1 -0
  656. package/esm2022/lib/components/table/table.js +121 -0
  657. package/esm2022/lib/components/table/table.js.map +1 -0
  658. package/esm2022/lib/components/table/table.variants.js +86 -0
  659. package/esm2022/lib/components/table/table.variants.js.map +1 -0
  660. package/esm2022/lib/components/tabs/demo/align.js +55 -0
  661. package/esm2022/lib/components/tabs/demo/align.js.map +1 -0
  662. package/esm2022/lib/components/tabs/demo/arrows.js +45 -0
  663. package/esm2022/lib/components/tabs/demo/arrows.js.map +1 -0
  664. package/esm2022/lib/components/tabs/demo/default.js +27 -0
  665. package/esm2022/lib/components/tabs/demo/default.js.map +1 -0
  666. package/esm2022/lib/components/tabs/demo/position.js +65 -0
  667. package/esm2022/lib/components/tabs/demo/position.js.map +1 -0
  668. package/esm2022/lib/components/tabs/demo/tabs.js +15 -0
  669. package/esm2022/lib/components/tabs/demo/tabs.js.map +1 -0
  670. package/esm2022/lib/components/tabs/index.js +3 -0
  671. package/esm2022/lib/components/tabs/index.js.map +1 -0
  672. package/esm2022/lib/components/tabs/tabs.js +195 -0
  673. package/esm2022/lib/components/tabs/tabs.js.map +1 -0
  674. package/esm2022/lib/components/tabs/tabs.variants.js +58 -0
  675. package/esm2022/lib/components/tabs/tabs.variants.js.map +1 -0
  676. package/esm2022/lib/components/toast/demo/default.js +32 -0
  677. package/esm2022/lib/components/toast/demo/default.js.map +1 -0
  678. package/esm2022/lib/components/toast/demo/position.js +63 -0
  679. package/esm2022/lib/components/toast/demo/position.js.map +1 -0
  680. package/esm2022/lib/components/toast/demo/toast.js +22 -0
  681. package/esm2022/lib/components/toast/demo/toast.js.map +1 -0
  682. package/esm2022/lib/components/toast/demo/type.js +48 -0
  683. package/esm2022/lib/components/toast/demo/type.js.map +1 -0
  684. package/esm2022/lib/components/toast/index.js +4 -0
  685. package/esm2022/lib/components/toast/index.js.map +1 -0
  686. package/esm2022/lib/components/toast/toast-content.js +15 -0
  687. package/esm2022/lib/components/toast/toast-content.js.map +1 -0
  688. package/esm2022/lib/components/toast/toast.config.js +1 -0
  689. package/esm2022/lib/components/toast/toast.config.js.map +1 -0
  690. package/esm2022/lib/components/toast/toast.js +56 -0
  691. package/esm2022/lib/components/toast/toast.js.map +1 -0
  692. package/esm2022/lib/components/toast/toast.pipe.js +52 -0
  693. package/esm2022/lib/components/toast/toast.pipe.js.map +1 -0
  694. package/esm2022/lib/components/toast/toast.service.js +60 -0
  695. package/esm2022/lib/components/toast/toast.service.js.map +1 -0
  696. package/esm2022/lib/components/toast/toast.variants.js +17 -0
  697. package/esm2022/lib/components/toast/toast.variants.js.map +1 -0
  698. package/esm2022/lib/components/tooltip/demo/click.js +26 -0
  699. package/esm2022/lib/components/tooltip/demo/click.js.map +1 -0
  700. package/esm2022/lib/components/tooltip/demo/events.js +37 -0
  701. package/esm2022/lib/components/tooltip/demo/events.js.map +1 -0
  702. package/esm2022/lib/components/tooltip/demo/hover.js +26 -0
  703. package/esm2022/lib/components/tooltip/demo/hover.js.map +1 -0
  704. package/esm2022/lib/components/tooltip/demo/position.js +40 -0
  705. package/esm2022/lib/components/tooltip/demo/position.js.map +1 -0
  706. package/esm2022/lib/components/tooltip/demo/tooltip.js +27 -0
  707. package/esm2022/lib/components/tooltip/demo/tooltip.js.map +1 -0
  708. package/esm2022/lib/components/tooltip/index.js +5 -0
  709. package/esm2022/lib/components/tooltip/index.js.map +1 -0
  710. package/esm2022/lib/components/tooltip/tooltip.config.js +40 -0
  711. package/esm2022/lib/components/tooltip/tooltip.config.js.map +1 -0
  712. package/esm2022/lib/components/tooltip/tooltip.directive.js +163 -0
  713. package/esm2022/lib/components/tooltip/tooltip.directive.js.map +1 -0
  714. package/esm2022/lib/components/tooltip/tooltip.imports.js +20 -0
  715. package/esm2022/lib/components/tooltip/tooltip.imports.js.map +1 -0
  716. package/esm2022/lib/components/tooltip/tooltip.js +32 -0
  717. package/esm2022/lib/components/tooltip/tooltip.js.map +1 -0
  718. package/esm2022/lib/components/tooltip/tooltip.variants.js +13 -0
  719. package/esm2022/lib/components/tooltip/tooltip.variants.js.map +1 -0
  720. package/esm2022/lib/components/tree/demo/default.js +52 -0
  721. package/esm2022/lib/components/tree/demo/default.js.map +1 -0
  722. package/esm2022/lib/components/tree/demo/selection.js +56 -0
  723. package/esm2022/lib/components/tree/demo/selection.js.map +1 -0
  724. package/esm2022/lib/components/tree/demo/tree.js +10 -0
  725. package/esm2022/lib/components/tree/demo/tree.js.map +1 -0
  726. package/esm2022/lib/components/tree/index.js +4 -0
  727. package/esm2022/lib/components/tree/index.js.map +1 -0
  728. package/esm2022/lib/components/tree/tree.interface.js +1 -0
  729. package/esm2022/lib/components/tree/tree.interface.js.map +1 -0
  730. package/esm2022/lib/components/tree/tree.js +138 -0
  731. package/esm2022/lib/components/tree/tree.js.map +1 -0
  732. package/esm2022/lib/components/tree/tree.variants.js +17 -0
  733. package/esm2022/lib/components/tree/tree.variants.js.map +1 -0
  734. package/esm2022/lib/components/upload/demo/default.js +42 -0
  735. package/esm2022/lib/components/upload/demo/default.js.map +1 -0
  736. package/esm2022/lib/components/upload/demo/dropzone.js +42 -0
  737. package/esm2022/lib/components/upload/demo/dropzone.js.map +1 -0
  738. package/esm2022/lib/components/upload/demo/multiple.js +42 -0
  739. package/esm2022/lib/components/upload/demo/multiple.js.map +1 -0
  740. package/esm2022/lib/components/upload/demo/selected.js +53 -0
  741. package/esm2022/lib/components/upload/demo/selected.js.map +1 -0
  742. package/esm2022/lib/components/upload/demo/upload.js +15 -0
  743. package/esm2022/lib/components/upload/demo/upload.js.map +1 -0
  744. package/esm2022/lib/components/upload/index.js +5 -0
  745. package/esm2022/lib/components/upload/index.js.map +1 -0
  746. package/esm2022/lib/components/upload/upload.interface.js +1 -0
  747. package/esm2022/lib/components/upload/upload.interface.js.map +1 -0
  748. package/esm2022/lib/components/upload/upload.js +227 -0
  749. package/esm2022/lib/components/upload/upload.js.map +1 -0
  750. package/esm2022/lib/components/upload/upload.service.js +36 -0
  751. package/esm2022/lib/components/upload/upload.service.js.map +1 -0
  752. package/esm2022/lib/components/upload/upload.variants.js +29 -0
  753. package/esm2022/lib/components/upload/upload.variants.js.map +1 -0
  754. package/esm2022/lib/core/directives/generate-id.directive.js +29 -0
  755. package/esm2022/lib/core/directives/generate-id.directive.js.map +1 -0
  756. package/esm2022/lib/core/directives/index.js +4 -0
  757. package/esm2022/lib/core/directives/index.js.map +1 -0
  758. package/esm2022/lib/core/directives/normalize/index.js +4 -0
  759. package/esm2022/lib/core/directives/normalize/index.js.map +1 -0
  760. package/esm2022/lib/core/directives/normalize/normalize.config.js +7 -0
  761. package/esm2022/lib/core/directives/normalize/normalize.config.js.map +1 -0
  762. package/esm2022/lib/core/directives/normalize/normalize.directive.js +37 -0
  763. package/esm2022/lib/core/directives/normalize/normalize.directive.js.map +1 -0
  764. package/esm2022/lib/core/directives/normalize/strategies/alfa.strategy.js +14 -0
  765. package/esm2022/lib/core/directives/normalize/strategies/alfa.strategy.js.map +1 -0
  766. package/esm2022/lib/core/directives/normalize/strategies/alfanum.strategy.js +14 -0
  767. package/esm2022/lib/core/directives/normalize/strategies/alfanum.strategy.js.map +1 -0
  768. package/esm2022/lib/core/directives/normalize/strategies/index.js +11 -0
  769. package/esm2022/lib/core/directives/normalize/strategies/index.js.map +1 -0
  770. package/esm2022/lib/core/directives/normalize/strategies/normalize.strategy.js +1 -0
  771. package/esm2022/lib/core/directives/normalize/strategies/normalize.strategy.js.map +1 -0
  772. package/esm2022/lib/core/directives/normalize/strategies/numeric.strategy.js +6 -0
  773. package/esm2022/lib/core/directives/normalize/strategies/numeric.strategy.js.map +1 -0
  774. package/esm2022/lib/core/directives/normalize/strategies/uppercase.strategy.js +6 -0
  775. package/esm2022/lib/core/directives/normalize/strategies/uppercase.strategy.js.map +1 -0
  776. package/esm2022/lib/core/directives/string-template-ref.directive.js +69 -0
  777. package/esm2022/lib/core/directives/string-template-ref.directive.js.map +1 -0
  778. package/esm2022/lib/core/helpers/index.js +2 -0
  779. package/esm2022/lib/core/helpers/index.js.map +1 -0
  780. package/esm2022/lib/core/helpers/merge.helper.js +10 -0
  781. package/esm2022/lib/core/helpers/merge.helper.js.map +1 -0
  782. package/esm2022/lib/core/index.js +6 -0
  783. package/esm2022/lib/core/index.js.map +1 -0
  784. package/esm2022/lib/core/interfaces/control-value.interface.js +1 -0
  785. package/esm2022/lib/core/interfaces/control-value.interface.js.map +1 -0
  786. package/esm2022/lib/core/interfaces/index.js +2 -0
  787. package/esm2022/lib/core/interfaces/index.js.map +1 -0
  788. package/esm2022/lib/core/template/index.js +2 -0
  789. package/esm2022/lib/core/template/index.js.map +1 -0
  790. package/esm2022/lib/core/template/print/print.js +25 -0
  791. package/esm2022/lib/core/template/print/print.js.map +1 -0
  792. package/esm2022/lib/core/template/print/print.pipe.js +18 -0
  793. package/esm2022/lib/core/template/print/print.pipe.js.map +1 -0
  794. package/esm2022/lib/core/utils/clipboard.util.js +66 -0
  795. package/esm2022/lib/core/utils/clipboard.util.js.map +1 -0
  796. package/esm2022/lib/core/utils/index.js +2 -0
  797. package/esm2022/lib/core/utils/index.js.map +1 -0
  798. package/esm2022/lib/infra/index.js +2 -0
  799. package/esm2022/lib/infra/index.js.map +1 -0
  800. package/esm2022/lib/infra/stores/index.js +2 -0
  801. package/esm2022/lib/infra/stores/index.js.map +1 -0
  802. package/esm2022/lib/infra/stores/theme.store.js +39 -0
  803. package/esm2022/lib/infra/stores/theme.store.js.map +1 -0
  804. package/index.d.ts +3 -0
  805. package/lib/components/accordion/accordion.d.ts +31 -0
  806. package/lib/components/accordion/accordion.service.d.ts +15 -0
  807. package/lib/components/accordion/accordion.variants.d.ts +10 -0
  808. package/lib/components/accordion/demo/accordion.d.ts +8 -0
  809. package/lib/components/accordion/demo/default.d.ts +5 -0
  810. package/lib/components/accordion/demo/single.d.ts +5 -0
  811. package/lib/components/accordion/index.d.ts +2 -0
  812. package/lib/components/alert/alert.d.ts +13 -0
  813. package/lib/components/alert/alert.variants.d.ts +6 -0
  814. package/lib/components/alert/demo/accent.d.ts +7 -0
  815. package/lib/components/alert/demo/alert.d.ts +9 -0
  816. package/lib/components/alert/demo/destructive.d.ts +7 -0
  817. package/lib/components/alert/demo/icon.d.ts +7 -0
  818. package/lib/components/alert/demo/info.d.ts +7 -0
  819. package/lib/components/alert/demo/primary.d.ts +7 -0
  820. package/lib/components/alert/demo/success.d.ts +7 -0
  821. package/lib/components/alert/demo/warning.d.ts +7 -0
  822. package/lib/components/alert/index.d.ts +2 -0
  823. package/lib/components/alert-dialog/alert-dialog.config.d.ts +27 -0
  824. package/lib/components/alert-dialog/alert-dialog.d.ts +26 -0
  825. package/lib/components/alert-dialog/alert-dialog.ref.d.ts +18 -0
  826. package/lib/components/alert-dialog/alert-dialog.service.d.ts +20 -0
  827. package/lib/components/alert-dialog/alert-dialog.variants.d.ts +3 -0
  828. package/lib/components/alert-dialog/demo/alert-dialog.d.ts +9 -0
  829. package/lib/components/alert-dialog/demo/default.d.ts +7 -0
  830. package/lib/components/alert-dialog/index.d.ts +5 -0
  831. package/lib/components/avatar/avatar-group.d.ts +9 -0
  832. package/lib/components/avatar/avatar.d.ts +23 -0
  833. package/lib/components/avatar/avatar.variants.d.ts +14 -0
  834. package/lib/components/avatar/demo/avatar.d.ts +9 -0
  835. package/lib/components/avatar/demo/default.d.ts +5 -0
  836. package/lib/components/avatar/demo/shape.d.ts +5 -0
  837. package/lib/components/avatar/demo/size.d.ts +5 -0
  838. package/lib/components/avatar/demo/status.d.ts +5 -0
  839. package/lib/components/avatar/index.d.ts +3 -0
  840. package/lib/components/badge/badge.d.ts +15 -0
  841. package/lib/components/badge/badge.variants.d.ts +8 -0
  842. package/lib/components/badge/demo/badge.d.ts +9 -0
  843. package/lib/components/badge/demo/close.d.ts +8 -0
  844. package/lib/components/badge/demo/disabled.d.ts +5 -0
  845. package/lib/components/badge/demo/fill.d.ts +5 -0
  846. package/lib/components/badge/demo/icon.d.ts +5 -0
  847. package/lib/components/badge/demo/shape.d.ts +5 -0
  848. package/lib/components/badge/demo/variant.d.ts +5 -0
  849. package/lib/components/badge/index.d.ts +2 -0
  850. package/lib/components/breadcrumb/breadcrumb-content.d.ts +8 -0
  851. package/lib/components/breadcrumb/breadcrumb-item.d.ts +9 -0
  852. package/lib/components/breadcrumb/breadcrumb-link.d.ts +9 -0
  853. package/lib/components/breadcrumb/breadcrumb-list.d.ts +9 -0
  854. package/lib/components/breadcrumb/breadcrumb-page.d.ts +8 -0
  855. package/lib/components/breadcrumb/breadcrumb-separator.d.ts +10 -0
  856. package/lib/components/breadcrumb/breadcrumb.config.d.ts +6 -0
  857. package/lib/components/breadcrumb/breadcrumb.d.ts +12 -0
  858. package/lib/components/breadcrumb/breadcrumb.directive.d.ts +9 -0
  859. package/lib/components/breadcrumb/breadcrumb.imports.d.ts +7 -0
  860. package/lib/components/breadcrumb/breadcrumb.service.d.ts +17 -0
  861. package/lib/components/breadcrumb/breadcrumb.variants.d.ts +27 -0
  862. package/lib/components/breadcrumb/demo/breadcrumb.d.ts +9 -0
  863. package/lib/components/breadcrumb/demo/content.d.ts +5 -0
  864. package/lib/components/breadcrumb/demo/custom-separator.d.ts +5 -0
  865. package/lib/components/breadcrumb/demo/default.d.ts +5 -0
  866. package/lib/components/breadcrumb/demo/directive.d.ts +5 -0
  867. package/lib/components/breadcrumb/demo/icon.d.ts +5 -0
  868. package/lib/components/breadcrumb/demo/router-link.d.ts +5 -0
  869. package/lib/components/breadcrumb/index.d.ts +4 -0
  870. package/lib/components/button/button.d.ts +17 -0
  871. package/lib/components/button/button.variants.d.ts +11 -0
  872. package/lib/components/button/demo/button.d.ts +9 -0
  873. package/lib/components/button/demo/disabled.d.ts +5 -0
  874. package/lib/components/button/demo/fill.d.ts +5 -0
  875. package/lib/components/button/demo/full.d.ts +5 -0
  876. package/lib/components/button/demo/icon.d.ts +5 -0
  877. package/lib/components/button/demo/loading.d.ts +5 -0
  878. package/lib/components/button/demo/shape.d.ts +5 -0
  879. package/lib/components/button/demo/size.d.ts +5 -0
  880. package/lib/components/button/demo/variant.d.ts +5 -0
  881. package/lib/components/button/index.d.ts +2 -0
  882. package/lib/components/button-toggle/button-toggle.d.ts +36 -0
  883. package/lib/components/button-toggle/button-toggle.variants.d.ts +11 -0
  884. package/lib/components/button-toggle/demo/button-toggle.d.ts +9 -0
  885. package/lib/components/button-toggle/demo/default.d.ts +9 -0
  886. package/lib/components/button-toggle/demo/disabled.d.ts +7 -0
  887. package/lib/components/button-toggle/demo/size.d.ts +7 -0
  888. package/lib/components/button-toggle/index.d.ts +2 -0
  889. package/lib/components/card/card.d.ts +17 -0
  890. package/lib/components/card/card.variants.d.ts +9 -0
  891. package/lib/components/card/demo/card.d.ts +9 -0
  892. package/lib/components/card/demo/default.d.ts +5 -0
  893. package/lib/components/card/demo/disabled.d.ts +5 -0
  894. package/lib/components/card/index.d.ts +2 -0
  895. package/lib/components/carousel/carousel.d.ts +41 -0
  896. package/lib/components/carousel/carousel.service.d.ts +29 -0
  897. package/lib/components/carousel/carousel.variants.d.ts +18 -0
  898. package/lib/components/carousel/demo/autoplay.d.ts +11 -0
  899. package/lib/components/carousel/demo/carousel.d.ts +8 -0
  900. package/lib/components/carousel/demo/default.d.ts +9 -0
  901. package/lib/components/carousel/demo/loop.d.ts +9 -0
  902. package/lib/components/carousel/index.d.ts +2 -0
  903. package/lib/components/command/command-empty.d.ts +12 -0
  904. package/lib/components/command/command-input.d.ts +28 -0
  905. package/lib/components/command/command-item-group.d.ts +20 -0
  906. package/lib/components/command/command-item.d.ts +29 -0
  907. package/lib/components/command/command-list.d.ts +8 -0
  908. package/lib/components/command/command-separator.d.ts +10 -0
  909. package/lib/components/command/command.config.d.ts +27 -0
  910. package/lib/components/command/command.d.ts +40 -0
  911. package/lib/components/command/command.imports.d.ts +8 -0
  912. package/lib/components/command/command.variants.d.ts +15 -0
  913. package/lib/components/command/demo/command.d.ts +9 -0
  914. package/lib/components/command/demo/default.d.ts +12 -0
  915. package/lib/components/command/index.d.ts +9 -0
  916. package/lib/components/date-picker/date-picker-overlay.service.d.ts +15 -0
  917. package/lib/components/date-picker/date-picker.d.ts +37 -0
  918. package/lib/components/date-picker/date-picker.util.d.ts +18 -0
  919. package/lib/components/date-picker/date-picker.variants.d.ts +7 -0
  920. package/lib/components/date-picker/demo/date-picker.d.ts +8 -0
  921. package/lib/components/date-picker/demo/default.d.ts +6 -0
  922. package/lib/components/date-picker/demo/disabled.d.ts +5 -0
  923. package/lib/components/date-picker/demo/range.d.ts +6 -0
  924. package/lib/components/date-picker/index.d.ts +2 -0
  925. package/lib/components/dialog/demo/default.d.ts +32 -0
  926. package/lib/components/dialog/demo/dialog.d.ts +9 -0
  927. package/lib/components/dialog/dialog-ref.d.ts +16 -0
  928. package/lib/components/dialog/dialog.config.d.ts +23 -0
  929. package/lib/components/dialog/dialog.d.ts +22 -0
  930. package/lib/components/dialog/dialog.module.d.ts +10 -0
  931. package/lib/components/dialog/dialog.service.d.ts +16 -0
  932. package/lib/components/dialog/dialog.variants.d.ts +3 -0
  933. package/lib/components/dialog/index.d.ts +4 -0
  934. package/lib/components/empty/demo/advanced.d.ts +5 -0
  935. package/lib/components/empty/demo/custom-image.d.ts +5 -0
  936. package/lib/components/empty/demo/default.d.ts +5 -0
  937. package/lib/components/empty/demo/empty.d.ts +9 -0
  938. package/lib/components/empty/empty.d.ts +19 -0
  939. package/lib/components/empty/empty.variants.d.ts +7 -0
  940. package/lib/components/empty/index.d.ts +2 -0
  941. package/lib/components/float-button/demo/float-button.d.ts +9 -0
  942. package/lib/components/float-button/demo/float-group.d.ts +5 -0
  943. package/lib/components/float-button/demo/float-top.d.ts +5 -0
  944. package/lib/components/float-button/demo/position.d.ts +5 -0
  945. package/lib/components/float-button/demo/shape.d.ts +5 -0
  946. package/lib/components/float-button/demo/size.d.ts +5 -0
  947. package/lib/components/float-button/demo/variant.d.ts +5 -0
  948. package/lib/components/float-button/float-button-group.d.ts +26 -0
  949. package/lib/components/float-button/float-button-top.d.ts +22 -0
  950. package/lib/components/float-button/float-button.d.ts +17 -0
  951. package/lib/components/float-button/float-button.variants.d.ts +7 -0
  952. package/lib/components/float-button/index.d.ts +4 -0
  953. package/lib/components/form-field/autocomplete/autocomplete-config.d.ts +19 -0
  954. package/lib/components/form-field/autocomplete/autocomplete.d.ts +54 -0
  955. package/lib/components/form-field/autocomplete/autocomplete.variants.d.ts +12 -0
  956. package/lib/components/form-field/autocomplete/demo/autocomplete.d.ts +8 -0
  957. package/lib/components/form-field/autocomplete/demo/default.d.ts +19 -0
  958. package/lib/components/form-field/autocomplete/demo/events.d.ts +21 -0
  959. package/lib/components/form-field/autocomplete/demo/validation.d.ts +21 -0
  960. package/lib/components/form-field/autocomplete/index.d.ts +3 -0
  961. package/lib/components/form-field/autocomplete/services/autocomplete-overlay.service.d.ts +15 -0
  962. package/lib/components/form-field/autocomplete/services/index.d.ts +1 -0
  963. package/lib/components/form-field/checkbox/checkbox.d.ts +32 -0
  964. package/lib/components/form-field/checkbox/checkbox.variants.d.ts +12 -0
  965. package/lib/components/form-field/checkbox/demo/checkbox.d.ts +9 -0
  966. package/lib/components/form-field/checkbox/demo/default.d.ts +6 -0
  967. package/lib/components/form-field/checkbox/demo/destructive.d.ts +6 -0
  968. package/lib/components/form-field/checkbox/demo/disabled.d.ts +7 -0
  969. package/lib/components/form-field/checkbox/demo/shape.d.ts +5 -0
  970. package/lib/components/form-field/checkbox/demo/size.d.ts +5 -0
  971. package/lib/components/form-field/checkbox/demo/validation.d.ts +14 -0
  972. package/lib/components/form-field/checkbox/index.d.ts +2 -0
  973. package/lib/components/form-field/datetime/datetime.d.ts +32 -0
  974. package/lib/components/form-field/datetime/datetime.variants.d.ts +10 -0
  975. package/lib/components/form-field/datetime/demo/datetime.d.ts +8 -0
  976. package/lib/components/form-field/datetime/demo/default.d.ts +17 -0
  977. package/lib/components/form-field/datetime/demo/disabled.d.ts +5 -0
  978. package/lib/components/form-field/datetime/demo/validation.d.ts +13 -0
  979. package/lib/components/form-field/datetime/index.d.ts +2 -0
  980. package/lib/components/form-field/index.d.ts +9 -0
  981. package/lib/components/form-field/input/currency-mask.service.d.ts +8 -0
  982. package/lib/components/form-field/input/demo/default.d.ts +11 -0
  983. package/lib/components/form-field/input/demo/disabled.d.ts +11 -0
  984. package/lib/components/form-field/input/demo/icon.d.ts +12 -0
  985. package/lib/components/form-field/input/demo/input.d.ts +29 -0
  986. package/lib/components/form-field/input/demo/mask.d.ts +19 -0
  987. package/lib/components/form-field/input/demo/normalize.d.ts +15 -0
  988. package/lib/components/form-field/input/demo/password.d.ts +11 -0
  989. package/lib/components/form-field/input/demo/validation.d.ts +18 -0
  990. package/lib/components/form-field/input/demo/variant.d.ts +15 -0
  991. package/lib/components/form-field/input/index.d.ts +3 -0
  992. package/lib/components/form-field/input/input.d.ts +56 -0
  993. package/lib/components/form-field/input/input.variants.d.ts +13 -0
  994. package/lib/components/form-field/input/interfaces/feedback.interface.d.ts +21 -0
  995. package/lib/components/form-field/input/interfaces/index.d.ts +3 -0
  996. package/lib/components/form-field/input/interfaces/mask-config.interface.d.ts +10 -0
  997. package/lib/components/form-field/input/interfaces/password-strength.d.ts +16 -0
  998. package/lib/components/form-field/radio/demo/default.d.ts +11 -0
  999. package/lib/components/form-field/radio/demo/disabled.d.ts +11 -0
  1000. package/lib/components/form-field/radio/demo/radio.d.ts +12 -0
  1001. package/lib/components/form-field/radio/demo/size.d.ts +11 -0
  1002. package/lib/components/form-field/radio/demo/validation.d.ts +14 -0
  1003. package/lib/components/form-field/radio/index.d.ts +4 -0
  1004. package/lib/components/form-field/radio/radio-group.d.ts +21 -0
  1005. package/lib/components/form-field/radio/radio.d.ts +20 -0
  1006. package/lib/components/form-field/radio/radio.imports.d.ts +3 -0
  1007. package/lib/components/form-field/radio/radio.variants.d.ts +9 -0
  1008. package/lib/components/form-field/segmented/demo/default.d.ts +13 -0
  1009. package/lib/components/form-field/segmented/demo/disabled.d.ts +8 -0
  1010. package/lib/components/form-field/segmented/demo/segmented.d.ts +8 -0
  1011. package/lib/components/form-field/segmented/demo/size.d.ts +7 -0
  1012. package/lib/components/form-field/segmented/index.d.ts +3 -0
  1013. package/lib/components/form-field/segmented/segmented.d.ts +27 -0
  1014. package/lib/components/form-field/segmented/segmented.interface.d.ts +7 -0
  1015. package/lib/components/form-field/segmented/segmented.variants.d.ts +6 -0
  1016. package/lib/components/form-field/select/demo/default.d.ts +6 -0
  1017. package/lib/components/form-field/select/demo/multiple.d.ts +6 -0
  1018. package/lib/components/form-field/select/demo/select.d.ts +13 -0
  1019. package/lib/components/form-field/select/index.d.ts +4 -0
  1020. package/lib/components/form-field/select/select-item.d.ts +29 -0
  1021. package/lib/components/form-field/select/select.d.ts +62 -0
  1022. package/lib/components/form-field/select/select.facade.d.ts +25 -0
  1023. package/lib/components/form-field/select/select.imports.d.ts +3 -0
  1024. package/lib/components/form-field/select/select.variants.d.ts +16 -0
  1025. package/lib/components/form-field/select/services/index.d.ts +5 -0
  1026. package/lib/components/form-field/select/services/select-dom.service.d.ts +10 -0
  1027. package/lib/components/form-field/select/services/select-keyword.service.d.ts +17 -0
  1028. package/lib/components/form-field/select/services/select-labels.service.d.ts +17 -0
  1029. package/lib/components/form-field/select/services/select-overlay.service.d.ts +19 -0
  1030. package/lib/components/form-field/select/services/select.store.d.ts +14 -0
  1031. package/lib/components/form-field/switch/demo/default.d.ts +5 -0
  1032. package/lib/components/form-field/switch/demo/disabled.d.ts +5 -0
  1033. package/lib/components/form-field/switch/demo/size.d.ts +5 -0
  1034. package/lib/components/form-field/switch/demo/switch.d.ts +8 -0
  1035. package/lib/components/form-field/switch/index.d.ts +2 -0
  1036. package/lib/components/form-field/switch/switch.d.ts +21 -0
  1037. package/lib/components/form-field/switch/switch.variants.d.ts +12 -0
  1038. package/lib/components/form-field/textarea/demo/default.d.ts +11 -0
  1039. package/lib/components/form-field/textarea/demo/disabled.d.ts +11 -0
  1040. package/lib/components/form-field/textarea/demo/resize.d.ts +15 -0
  1041. package/lib/components/form-field/textarea/demo/textarea.d.ts +21 -0
  1042. package/lib/components/form-field/textarea/demo/validation.d.ts +13 -0
  1043. package/lib/components/form-field/textarea/demo/variant.d.ts +15 -0
  1044. package/lib/components/form-field/textarea/index.d.ts +2 -0
  1045. package/lib/components/form-field/textarea/textarea.d.ts +37 -0
  1046. package/lib/components/form-field/textarea/textarea.variants.d.ts +14 -0
  1047. package/lib/components/icon/demo/icon.d.ts +9 -0
  1048. package/lib/components/icon/demo/searchable.d.ts +18 -0
  1049. package/lib/components/icon/demo/size.d.ts +5 -0
  1050. package/lib/components/icon/demo/type.d.ts +5 -0
  1051. package/lib/components/icon/icon-categories.d.ts +3 -0
  1052. package/lib/components/icon/icon.component.d.ts +13 -0
  1053. package/lib/components/icon/icon.variants.d.ts +6 -0
  1054. package/lib/components/icon/icons.d.ts +1116 -0
  1055. package/lib/components/icon/index.d.ts +3 -0
  1056. package/lib/components/index.d.ts +30 -0
  1057. package/lib/components/loader/demo/loader.d.ts +9 -0
  1058. package/lib/components/loader/demo/size.d.ts +5 -0
  1059. package/lib/components/loader/demo/type.d.ts +9 -0
  1060. package/lib/components/loader/index.d.ts +3 -0
  1061. package/lib/components/loader/loader-progess.d.ts +13 -0
  1062. package/lib/components/loader/loader.d.ts +19 -0
  1063. package/lib/components/loader/loader.service.d.ts +10 -0
  1064. package/lib/components/loader/loader.variants.d.ts +7 -0
  1065. package/lib/components/markdown/demo/editor.d.ts +8 -0
  1066. package/lib/components/markdown/demo/markdown.d.ts +13 -0
  1067. package/lib/components/markdown/demo/viewer.d.ts +8 -0
  1068. package/lib/components/markdown/icon.helper.d.ts +79 -0
  1069. package/lib/components/markdown/index.d.ts +2 -0
  1070. package/lib/components/markdown/language-icons.d.ts +3 -0
  1071. package/lib/components/markdown/markdown.d.ts +45 -0
  1072. package/lib/components/markdown/markdown.service.d.ts +11 -0
  1073. package/lib/components/pagination/demo/custom.d.ts +11 -0
  1074. package/lib/components/pagination/demo/default.d.ts +6 -0
  1075. package/lib/components/pagination/demo/info.d.ts +9 -0
  1076. package/lib/components/pagination/demo/intl.d.ts +9 -0
  1077. package/lib/components/pagination/demo/pagination.d.ts +21 -0
  1078. package/lib/components/pagination/index.d.ts +4 -0
  1079. package/lib/components/pagination/pagination-button.d.ts +11 -0
  1080. package/lib/components/pagination/pagination-content.d.ts +8 -0
  1081. package/lib/components/pagination/pagination-ellipsis.d.ts +8 -0
  1082. package/lib/components/pagination/pagination-intl.d.ts +20 -0
  1083. package/lib/components/pagination/pagination-item.d.ts +5 -0
  1084. package/lib/components/pagination/pagination-next.d.ts +11 -0
  1085. package/lib/components/pagination/pagination-prev.d.ts +11 -0
  1086. package/lib/components/pagination/pagination.d.ts +30 -0
  1087. package/lib/components/pagination/pagination.imports.d.ts +8 -0
  1088. package/lib/components/pagination/pagination.variants.d.ts +11 -0
  1089. package/lib/components/progress-bar/demo/indeterminate.d.ts +5 -0
  1090. package/lib/components/progress-bar/demo/progress-bar.d.ts +12 -0
  1091. package/lib/components/progress-bar/demo/shape.d.ts +6 -0
  1092. package/lib/components/progress-bar/demo/size.d.ts +6 -0
  1093. package/lib/components/progress-bar/demo/variant.d.ts +6 -0
  1094. package/lib/components/progress-bar/index.d.ts +3 -0
  1095. package/lib/components/progress-bar/progress-bar.d.ts +31 -0
  1096. package/lib/components/progress-bar/progress-bar.variants.d.ts +17 -0
  1097. package/lib/components/separator/demo/orientation.d.ts +5 -0
  1098. package/lib/components/separator/demo/separator.d.ts +9 -0
  1099. package/lib/components/separator/index.d.ts +2 -0
  1100. package/lib/components/separator/separator.d.ts +9 -0
  1101. package/lib/components/separator/separator.variants.d.ts +5 -0
  1102. package/lib/components/skeleton/demo/card.d.ts +5 -0
  1103. package/lib/components/skeleton/demo/chart.d.ts +5 -0
  1104. package/lib/components/skeleton/demo/default.d.ts +5 -0
  1105. package/lib/components/skeleton/demo/skeleton.d.ts +8 -0
  1106. package/lib/components/skeleton/index.d.ts +2 -0
  1107. package/lib/components/skeleton/skeleton.d.ts +8 -0
  1108. package/lib/components/skeleton/skeleton.variants.d.ts +3 -0
  1109. package/lib/components/stepper/demo/default.d.ts +5 -0
  1110. package/lib/components/stepper/demo/orientation.d.ts +5 -0
  1111. package/lib/components/stepper/demo/stepper.d.ts +8 -0
  1112. package/lib/components/stepper/demo/validation.d.ts +12 -0
  1113. package/lib/components/stepper/index.d.ts +2 -0
  1114. package/lib/components/stepper/stepper.d.ts +39 -0
  1115. package/lib/components/stepper/stepper.service.d.ts +22 -0
  1116. package/lib/components/stepper/stepper.variants.d.ts +19 -0
  1117. package/lib/components/table/cell-template.directive.d.ts +8 -0
  1118. package/lib/components/table/demo/border.d.ts +10 -0
  1119. package/lib/components/table/demo/default.d.ts +12 -0
  1120. package/lib/components/table/demo/pagination.d.ts +16 -0
  1121. package/lib/components/table/demo/selected.d.ts +12 -0
  1122. package/lib/components/table/demo/size.d.ts +10 -0
  1123. package/lib/components/table/demo/sort.d.ts +11 -0
  1124. package/lib/components/table/demo/table.d.ts +17 -0
  1125. package/lib/components/table/demo/user.d.ts +15 -0
  1126. package/lib/components/table/index.d.ts +4 -0
  1127. package/lib/components/table/table.config.d.ts +29 -0
  1128. package/lib/components/table/table.d.ts +45 -0
  1129. package/lib/components/table/table.variants.d.ts +21 -0
  1130. package/lib/components/tabs/demo/align.d.ts +8 -0
  1131. package/lib/components/tabs/demo/arrows.d.ts +10 -0
  1132. package/lib/components/tabs/demo/default.d.ts +5 -0
  1133. package/lib/components/tabs/demo/position.d.ts +9 -0
  1134. package/lib/components/tabs/demo/tabs.d.ts +12 -0
  1135. package/lib/components/tabs/index.d.ts +2 -0
  1136. package/lib/components/tabs/tabs.d.ts +45 -0
  1137. package/lib/components/tabs/tabs.variants.d.ts +18 -0
  1138. package/lib/components/toast/demo/default.d.ts +7 -0
  1139. package/lib/components/toast/demo/position.d.ts +12 -0
  1140. package/lib/components/toast/demo/toast.d.ts +17 -0
  1141. package/lib/components/toast/demo/type.d.ts +11 -0
  1142. package/lib/components/toast/index.d.ts +3 -0
  1143. package/lib/components/toast/toast-content.d.ts +8 -0
  1144. package/lib/components/toast/toast.config.d.ts +12 -0
  1145. package/lib/components/toast/toast.d.ts +11 -0
  1146. package/lib/components/toast/toast.pipe.d.ts +16 -0
  1147. package/lib/components/toast/toast.service.d.ts +17 -0
  1148. package/lib/components/toast/toast.variants.d.ts +5 -0
  1149. package/lib/components/tooltip/demo/click.d.ts +5 -0
  1150. package/lib/components/tooltip/demo/events.d.ts +8 -0
  1151. package/lib/components/tooltip/demo/hover.d.ts +5 -0
  1152. package/lib/components/tooltip/demo/position.d.ts +5 -0
  1153. package/lib/components/tooltip/demo/tooltip.d.ts +9 -0
  1154. package/lib/components/tooltip/index.d.ts +4 -0
  1155. package/lib/components/tooltip/tooltip.config.d.ts +12 -0
  1156. package/lib/components/tooltip/tooltip.d.ts +16 -0
  1157. package/lib/components/tooltip/tooltip.directive.d.ts +28 -0
  1158. package/lib/components/tooltip/tooltip.imports.d.ts +13 -0
  1159. package/lib/components/tooltip/tooltip.variants.d.ts +7 -0
  1160. package/lib/components/tree/demo/default.d.ts +7 -0
  1161. package/lib/components/tree/demo/selection.d.ts +9 -0
  1162. package/lib/components/tree/demo/tree.d.ts +8 -0
  1163. package/lib/components/tree/index.d.ts +3 -0
  1164. package/lib/components/tree/tree.d.ts +29 -0
  1165. package/lib/components/tree/tree.interface.d.ts +9 -0
  1166. package/lib/components/tree/tree.variants.d.ts +7 -0
  1167. package/lib/components/upload/demo/default.d.ts +11 -0
  1168. package/lib/components/upload/demo/dropzone.d.ts +11 -0
  1169. package/lib/components/upload/demo/multiple.d.ts +11 -0
  1170. package/lib/components/upload/demo/selected.d.ts +12 -0
  1171. package/lib/components/upload/demo/upload.d.ts +21 -0
  1172. package/lib/components/upload/index.d.ts +4 -0
  1173. package/lib/components/upload/upload.d.ts +32 -0
  1174. package/lib/components/upload/upload.interface.d.ts +8 -0
  1175. package/lib/components/upload/upload.service.d.ts +8 -0
  1176. package/lib/components/upload/upload.variants.d.ts +10 -0
  1177. package/lib/core/directives/generate-id.directive.d.ts +8 -0
  1178. package/lib/core/directives/index.d.ts +3 -0
  1179. package/lib/core/directives/normalize/index.d.ts +3 -0
  1180. package/lib/core/directives/normalize/normalize.config.d.ts +7 -0
  1181. package/lib/core/directives/normalize/normalize.directive.d.ts +13 -0
  1182. package/lib/core/directives/normalize/strategies/alfa.strategy.d.ts +5 -0
  1183. package/lib/core/directives/normalize/strategies/alfanum.strategy.d.ts +5 -0
  1184. package/lib/core/directives/normalize/strategies/index.d.ts +11 -0
  1185. package/lib/core/directives/normalize/strategies/normalize.strategy.d.ts +4 -0
  1186. package/lib/core/directives/normalize/strategies/numeric.strategy.d.ts +4 -0
  1187. package/lib/core/directives/normalize/strategies/uppercase.strategy.d.ts +4 -0
  1188. package/lib/core/directives/string-template-ref.directive.d.ts +19 -0
  1189. package/lib/core/helpers/index.d.ts +1 -0
  1190. package/lib/core/helpers/merge.helper.d.ts +4 -0
  1191. package/lib/core/index.d.ts +5 -0
  1192. package/lib/core/interfaces/control-value.interface.d.ts +2 -0
  1193. package/lib/core/interfaces/index.d.ts +1 -0
  1194. package/lib/core/template/index.d.ts +1 -0
  1195. package/lib/core/template/print/print.d.ts +6 -0
  1196. package/lib/core/template/print/print.pipe.d.ts +7 -0
  1197. package/lib/core/utils/clipboard.util.d.ts +14 -0
  1198. package/lib/core/utils/index.d.ts +1 -0
  1199. package/lib/infra/index.d.ts +1 -0
  1200. package/lib/infra/stores/index.d.ts +1 -0
  1201. package/lib/infra/stores/theme.store.d.ts +12 -0
  1202. package/package.json +58 -0
@@ -0,0 +1,210 @@
1
+ import { basicSetup } from "codemirror";
2
+ import { tomorrow } from "thememirror";
3
+ import { CommonModule, NgClass } from "@angular/common";
4
+ import { ChangeDetectionStrategy, Component, computed, effect, inject, input, linkedSignal, output, signal, viewChild, ViewEncapsulation, } from "@angular/core";
5
+ import { DomSanitizer } from "@angular/platform-browser";
6
+ import { css } from "@codemirror/lang-css";
7
+ import { html } from "@codemirror/lang-html";
8
+ import { java } from "@codemirror/lang-java";
9
+ import { javascript } from "@codemirror/lang-javascript";
10
+ import { json } from "@codemirror/lang-json";
11
+ import { markdown } from "@codemirror/lang-markdown";
12
+ import { Compartment, EditorState } from "@codemirror/state";
13
+ import { oneDark } from "@codemirror/theme-one-dark";
14
+ import { EditorView } from "@codemirror/view";
15
+ import { ClipboardUtil } from "../../core";
16
+ import { AiButton } from "../button";
17
+ import { AiSelectImports } from "../form-field";
18
+ import { AiIcon } from "../icon/icon.component";
19
+ import { AiLoader } from "../loader";
20
+ import { AiTooltipImports } from "../tooltip";
21
+ import { faviconIconsSvg } from "./language-icons";
22
+ import { MarkdownService } from "./markdown.service";
23
+ import * as i0 from "@angular/core";
24
+ import * as i1 from "@angular/common";
25
+ import * as i2 from "../form-field/select/select";
26
+ import * as i3 from "../form-field/select/select-item";
27
+ import * as i4 from "../tooltip/tooltip.directive";
28
+ import * as i5 from "@angular/cdk/overlay";
29
+ export class AiMarkdown {
30
+ #markdownService = inject(MarkdownService);
31
+ #sanitizer = inject(DomSanitizer);
32
+ mode = input("editor", ...(ngDevMode ? [{ debugName: "mode" }] : []));
33
+ code = input("", ...(ngDevMode ? [{ debugName: "code" }] : []));
34
+ language = input("typescript", ...(ngDevMode ? [{ debugName: "language" }] : []));
35
+ theme = input("light", ...(ngDevMode ? [{ debugName: "theme" }] : []));
36
+ class = input("", ...(ngDevMode ? [{ debugName: "class" }] : []));
37
+ tab = signal("code", ...(ngDevMode ? [{ debugName: "tab" }] : []));
38
+ loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
39
+ languages = signal(["typescript", "javascript", "java", "html", "css", "markdown", "bash", "json"], ...(ngDevMode ? [{ debugName: "languages" }] : []));
40
+ themes = signal(["light", "dark"], ...(ngDevMode ? [{ debugName: "themes" }] : []));
41
+ codeLanguage = linkedSignal(this.language, ...(ngDevMode ? [{ debugName: "codeLanguage" }] : []));
42
+ codeTheme = linkedSignal(this.theme, ...(ngDevMode ? [{ debugName: "codeTheme" }] : []));
43
+ currentCode = linkedSignal(this.code, ...(ngDevMode ? [{ debugName: "currentCode" }] : []));
44
+ compiledHtml = signal("", ...(ngDevMode ? [{ debugName: "compiledHtml" }] : []));
45
+ copied = signal(false, ...(ngDevMode ? [{ debugName: "copied" }] : []));
46
+ #editor = signal(undefined, ...(ngDevMode ? [{ debugName: "#editor" }] : []));
47
+ #languageCompartment = new Compartment();
48
+ #themeCompartment = new Compartment();
49
+ #readOnlyCompartment = new Compartment();
50
+ editorContainer = viewChild("editorContainer", ...(ngDevMode ? [{ debugName: "editorContainer" }] : []));
51
+ changeCode = output();
52
+ #previewJob = 0;
53
+ #previewTimer = null;
54
+ languageIconSvg = computed(() => {
55
+ const lang = this.codeLanguage();
56
+ const svg = faviconIconsSvg[lang] || faviconIconsSvg["terminal"];
57
+ return this.#sanitizer.bypassSecurityTrustHtml(svg);
58
+ }, ...(ngDevMode ? [{ debugName: "languageIconSvg" }] : []));
59
+ constructor() {
60
+ this.#markdownService.prewarm().catch(() => undefined);
61
+ effect(() => {
62
+ const container = this.editorContainer()?.nativeElement;
63
+ const mode = this.mode();
64
+ const tab = this.tab();
65
+ if (mode === "editor" && tab === "code" && container && !this.#editor()) {
66
+ this._createEditor(container);
67
+ }
68
+ const editor = this.#editor();
69
+ if (editor) {
70
+ const lang = this.codeLanguage();
71
+ const theme = this.codeTheme();
72
+ const isReadOnly = mode === "viewer" || tab === "preview";
73
+ editor.dispatch({
74
+ effects: [
75
+ this.#languageCompartment.reconfigure(this._getLanguageExtension(lang)),
76
+ this.#themeCompartment.reconfigure(this._getThemeExtension(theme)),
77
+ this.#readOnlyCompartment.reconfigure(this._getReadOnlyExtension(isReadOnly)),
78
+ ],
79
+ });
80
+ }
81
+ });
82
+ effect(() => {
83
+ const mode = this.mode();
84
+ const tab = this.tab();
85
+ if (mode === "viewer" || (mode === "editor" && tab === "preview")) {
86
+ this._schedulePreviewUpdate();
87
+ }
88
+ });
89
+ }
90
+ setLanguage(item) {
91
+ this.codeLanguage.set(item);
92
+ }
93
+ setTheme() {
94
+ this.codeTheme.update(current => (current === "dark" ? "light" : "dark"));
95
+ }
96
+ setTab(tab) {
97
+ this.tab.set(tab);
98
+ }
99
+ clearCode() {
100
+ const editor = this.#editor();
101
+ if (editor) {
102
+ editor.dispatch({
103
+ changes: { from: 0, to: editor.state.doc.length, insert: "" },
104
+ });
105
+ }
106
+ this.currentCode.set("");
107
+ this.changeCode.emit("");
108
+ }
109
+ ngOnDestroy() {
110
+ this.#editor()?.destroy();
111
+ clearTimeout(this.#previewTimer);
112
+ }
113
+ async copyCode() {
114
+ const code = this.#editor()?.state.doc.toString() || this.code();
115
+ await ClipboardUtil.copy(code);
116
+ this.copied.set(true);
117
+ setTimeout(() => this.copied.set(false), 3000);
118
+ }
119
+ _createEditor(container) {
120
+ const editor = new EditorView({
121
+ doc: this.currentCode(),
122
+ extensions: [
123
+ basicSetup,
124
+ this.#languageCompartment.of(this._getLanguageExtension(this.codeLanguage())),
125
+ this.#themeCompartment.of(this._getThemeExtension(this.codeTheme())),
126
+ this.#readOnlyCompartment.of(this._getReadOnlyExtension(this.mode() === "viewer")),
127
+ EditorView.updateListener.of(item => {
128
+ if (item.docChanged) {
129
+ const newCode = item.state.doc.toString();
130
+ this.currentCode.set(newCode);
131
+ this.changeCode.emit(newCode);
132
+ }
133
+ }),
134
+ EditorView.lineWrapping,
135
+ ],
136
+ parent: container,
137
+ });
138
+ this.#editor.set(editor);
139
+ }
140
+ _getLanguageExtension(lang) {
141
+ const extensions = {
142
+ typescript: () => javascript({ typescript: true }),
143
+ javascript: () => javascript(),
144
+ java: () => java(),
145
+ html: () => html(),
146
+ css: () => css(),
147
+ markdown: () => markdown(),
148
+ bash: () => javascript(),
149
+ json: () => json(),
150
+ };
151
+ return (extensions[lang] || extensions["javascript"])();
152
+ }
153
+ _getThemeExtension(theme) {
154
+ const baseTheme = EditorView.theme({
155
+ "&": {
156
+ fontFamily: "'JetBrains Mono', 'Fira Code', 'Courier New', monospace",
157
+ fontSize: "0.75rem",
158
+ },
159
+ ".cm-scroller": {
160
+ fontFamily: "'JetBrains Mono', 'Fira Code', 'Courier New', monospace",
161
+ fontSize: "0.75rem",
162
+ },
163
+ });
164
+ return theme === "dark" ? [baseTheme, oneDark] : [baseTheme, tomorrow];
165
+ }
166
+ _getReadOnlyExtension(isReadOnly) {
167
+ return [EditorState.readOnly.of(isReadOnly), EditorView.editable.of(!isReadOnly)];
168
+ }
169
+ _schedulePreviewUpdate() {
170
+ if (this.#previewTimer)
171
+ clearTimeout(this.#previewTimer);
172
+ this.loading.set(true);
173
+ this.#previewTimer = setTimeout(() => {
174
+ void this._updatePreview();
175
+ }, 200);
176
+ }
177
+ async _updatePreview() {
178
+ const jobId = ++this.#previewJob;
179
+ const content = this.currentCode() || this.code();
180
+ if (!content) {
181
+ this.compiledHtml.set("");
182
+ this.loading.set(false);
183
+ return;
184
+ }
185
+ try {
186
+ const lang = this.codeLanguage();
187
+ const isMarkdown = lang === "markdown";
188
+ const composed = isMarkdown ? content : `\`\`\`${lang} showLineNumbers\n${content}\n\`\`\``;
189
+ const html = await this.#markdownService.processMarkdown(composed);
190
+ if (jobId === this.#previewJob) {
191
+ this.compiledHtml.set(this.#sanitizer.bypassSecurityTrustHtml(html));
192
+ }
193
+ }
194
+ catch (error) {
195
+ console.error("Preview processing error:", error);
196
+ }
197
+ finally {
198
+ if (jobId === this.#previewJob) {
199
+ this.loading.set(false);
200
+ }
201
+ }
202
+ }
203
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AiMarkdown, deps: [], target: i0.ɵɵFactoryTarget.Component });
204
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: AiMarkdown, isStandalone: true, selector: "ai-markdown", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changeCode: "changeCode" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, isSignal: true }], exportAs: ["aiMarkdown"], ngImport: i0, template: "@if (mode() === \"viewer\") {\r\n <div class=\"rounded-lg border border-border w-full\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: true }\" />\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n} @else {\r\n <main class=\"overflow-hidden transition-all duration-200 ease-in-out w-full flex flex-col gap-y-4\">\r\n <div class=\"flex items-center justify-between gap-4\">\r\n <div class=\"flex items-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1.5 w-max rounded p-1 bg-default/90 shadow-sm\">\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'code' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('code')\">\r\n Code\r\n </button>\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'preview' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('preview')\">\r\n Preview\r\n </button>\r\n </div>\r\n \r\n @let event = codeLanguage();\r\n <ai-select (selectedValueChange)=\"setLanguage(event)\" [(value)]=\"codeLanguage\" class=\"w-40\" placeholder=\"Selecionar linguagem\">\r\n @for (item of languages(); track item) {\r\n <ai-select-item [value]=\"item\">\r\n {{ item }}\r\n </ai-select-item>\r\n }\r\n </ai-select>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-x-2\">\r\n <ai-button type=\"button\" \r\n variant=\"default\" \r\n size=\"xs\" \r\n (click)=\"setTheme()\" \r\n [icon]=\"codeTheme() === 'dark' ? 'sun' : 'moon'\" \r\n [aiTooltip]=\"codeTheme() === 'light' ? 'Dark' : 'Light'\" />\r\n \r\n <ai-button type=\"button\" variant=\"default\" size=\"xs\" icon=\"brush-3\" (click)=\"clearCode()\" aiTooltip=\"Limpar\" />\r\n </div>\r\n </div>\r\n \r\n <div class=\"py-2 border-t border-border\">\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'code'\">\r\n <div class=\"rounded-lg border border-border w-full my-2\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: false }\" />\r\n <div #editorContainer class=\"w-full rounded-b-lg overflow-hidden\"></div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'preview'\">\r\n @if (tab() === 'preview') {\r\n <div [ngClass]=\"['rounded-lg border border-border w-full overflow-hidden', codeLanguage() === 'markdown' ? 'px-2' : '', codeTheme() === 'dark' ? 'bg-[#0d1117]' : 'bg-background']\">\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </main>\r\n}\r\n\r\n<ng-template #codeHeader let-showThemeToggle=\"showThemeToggle\">\r\n <div class=\"flex justify-between items-center px-3 py-2 border-b border-border bg-muted text-sm\">\r\n <div class=\"flex items-center gap-2\">\r\n <div [innerHTML]=\"languageIconSvg()\" class=\"w-3 h-3\"></div>\r\n <span class=\"font-medium text-xs font-text text-muted-foreground\">{{ codeLanguage() }}</span>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2\">\r\n @if (showThemeToggle) {\r\n <ai-button type=\"button\" variant=\"default\" (click)=\"setTheme()\" size=\"xs\" class=\"h-6 w-6 leading-6\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n </ai-button>\r\n <ai-button variant=\"default\" class=\"h-6 w-6 leading-6\" size=\"xs\" (click)=\"copyCode()\">\r\n <ai-icon \r\n [icon]=\"!copied() ? 'file-copy' : 'check-double'\" \r\n size=\"sm\"\r\n [aiTooltip]=\"!copied() ? 'Copiar' : 'Copiado'\" />\r\n </ai-button>\r\n } @else {\r\n <span class=\"flex items-center gap-1 text-xs text-muted-foreground\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n {{ codeTheme() }}\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #previewContent>\r\n @if (loading()) {\r\n <div class=\"flex items-center justify-center p-8 bg-muted/50\">\r\n <ai-loader size=\"sm\" type=\"spinner\" />\r\n <span class=\"ml-2 text-muted-foreground text-sm font-semibold\">Carregando preview...</span>\r\n </div>\r\n } @else {\r\n <div class=\"ai-markdown-preview w-full overflow-hidden\" [class.ai-md-theme-dark]=\"codeTheme() === 'dark'\" [class.ai-md-theme-light]=\"codeTheme() === 'light'\" [innerHTML]=\"compiledHtml()\"></div>\r\n }\r\n</ng-template>", styles: ["@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@media important{@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}}@plugin \"tailwindcss-animate\";@custom-variant dark (&:is(.dark *));:root{--text: \"Nunito Sans\", sans-serif;--title: \"Montserrat\", sans-serif;--code: \"JetBrains Mono\", monospace;--background: oklch(100% 0 0);--foreground: oklch(0% 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.525 0 0);--default: oklch(94.969% .00277 285.769);--default-foreground: oklch(.225 0 0);--primary: oklch(20.77% .04 265.75);--primary-foreground: oklch(1 0 0);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(97.02% 0 0);--ghost-foreground: oklch(.333 0 0);--warning: oklch(.625 .163 48.998);--warning-foreground: oklch(.969 0 0);--success: oklch(54.69% .184 142.23);--success-foreground: oklch(1 0 0);--info: oklch(49.02% .21 266.93);--info-foreground: oklch(1 0 0);--destructive: oklch(52.01% .19 24.6);--destructive-foreground: oklch(1 0 0);--border: oklch(92.2% 0 0);--input: oklch(92.2% 0 0);--ring: oklch(70.8% 0 0)}.dark{--background: oklch(20.46% 0 0);--foreground: oklch(98.51% 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--default: oklch(.269 0 0);--default-foreground: oklch(.985 0 0);--primary: oklch(97.29% .012 247.95);--primary-foreground: oklch(20.77% .04 265.75);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(26.86% 0 0);--ghost-foreground: oklch(70.9% 0 0);--warning: oklch(82.07% .15 75.5);--warning-foreground: oklch(39.15% .119 35.84);--success: oklch(91.74% .155 140.26);--success-foreground: oklch(26.97% .086 142.39);--info: oklch(79.78% .088 258.13);--info-foreground: oklch(27.92% .081 271.53);--destructive: oklch(81.06% .098 15.53);--destructive-foreground: oklch(25.63% .083 22.57);--border: oklch(26.86% 0 0);--input: oklch(26.86% 0 0);--ring: oklch(32.55% 0 0)}@theme inline{ --font-text: var(--text); --font-title: var(--title); --font-code: var(--code); --color-background: var(--background); --color-foreground: var(--foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-default: var(--default); --color-default-foreground: var(--default-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-ghost: var(--ghost); --color-ghost-foreground: var(--ghost-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); }.ai-markdown-preview.ai-md-theme-light pre{@apply bg-muted rounded-md;}.ai-markdown-preview.ai-md-theme-light pre code span{color:var(--shiki-light)!important}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light h3,.ai-markdown-preview.ai-md-theme-light h4,.ai-markdown-preview.ai-md-theme-light h5,.ai-markdown-preview.ai-md-theme-light h6,.ai-markdown-preview.ai-md-theme-light strong,.ai-markdown-preview.ai-md-theme-light b{@apply text-primary;}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light hr,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light p,.ai-markdown-preview.ai-md-theme-light span,.ai-markdown-preview.ai-md-theme-light a,.ai-markdown-preview.ai-md-theme-light li,.ai-markdown-preview.ai-md-theme-light th,.ai-markdown-preview.ai-md-theme-light td,.ai-markdown-preview.ai-md-theme-light caption{@apply text-muted-foreground;}.ai-markdown-preview.ai-md-theme-light a{@apply hover:text-primary underline;}.ai-markdown-preview.ai-md-theme-light blockquote{@apply border-l-primary bg-default;}.ai-markdown-preview.ai-md-theme-light table{@apply rounded-md border border-border;}.ai-markdown-preview.ai-md-theme-light thead,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light tfoot,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply bg-transparent;}.ai-markdown-preview.ai-md-theme-light tr{@apply hover:bg-default;}.ai-markdown-preview.ai-md-theme-light th{@apply text-primary bg-default;}.ai-markdown-preview.ai-md-theme-dark pre{background-color:#0d1117!important}.ai-markdown-preview.ai-md-theme-dark pre code span{color:var(--shiki-dark)!important}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark h3,.ai-markdown-preview.ai-md-theme-dark h4,.ai-markdown-preview.ai-md-theme-dark h5,.ai-markdown-preview.ai-md-theme-dark h6,.ai-markdown-preview.ai-md-theme-dark strong,.ai-markdown-preview.ai-md-theme-dark b{@apply text-white;}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark hr,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-[#262626];}.ai-markdown-preview.ai-md-theme-dark p,.ai-markdown-preview.ai-md-theme-dark span,.ai-markdown-preview.ai-md-theme-dark a,.ai-markdown-preview.ai-md-theme-dark li,.ai-markdown-preview.ai-md-theme-dark th,.ai-markdown-preview.ai-md-theme-dark td,.ai-markdown-preview.ai-md-theme-dark caption{color:#a1a1a1}.ai-markdown-preview.ai-md-theme-dark a{@apply hover:text-white underline;}.ai-markdown-preview.ai-md-theme-dark blockquote{@apply border-l-accent bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark table{@apply rounded-md border border-[#262626];}.ai-markdown-preview.ai-md-theme-dark thead,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-b border-[#262626];}.ai-markdown-preview.ai-md-theme-dark tfoot,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply bg-[#0d1117];}.ai-markdown-preview.ai-md-theme-dark tr{@apply hover:bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark th{@apply text-white bg-[#0d1117];}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AiIcon, selector: "ai-icon, [ai-icon]", inputs: ["icon", "size", "type", "disabled", "class"], exportAs: ["aiIcon"] }, { kind: "component", type: AiButton, selector: "ai-button, button[ai-button], a[ai-button]", inputs: ["variant", "size", "shape", "type", "fill", "class", "icon", "full", "loading", "disabled"], exportAs: ["aiButton"] }, { kind: "component", type: AiLoader, selector: "ai-loader", inputs: ["size", "type", "overlay", "class"], exportAs: ["aiLoader"] }, { kind: "component", type: i2.AiSelect, selector: "ai-select", inputs: ["maxLabelCount", "multiple", "value", "disabled", "invalid", "readonly", "required", "label", "placeholder", "id", "touched", "class", "size", "selectedValue"], outputs: ["valueChange", "touchedChange", "selectedValueChange", "selectionChange"], exportAs: ["aiSelect"] }, { kind: "component", type: i3.AiSelectItem, selector: "ai-select-item, [ai-select-item]", inputs: ["value", "disabled", "class"] }, { kind: "directive", type: i4.AiTooltipDirective, selector: "[aiTooltip]", inputs: ["aiPosition", "aiTrigger", "aiTooltip", "aiShowDelay", "aiHideDelay"], outputs: ["show", "hide"], exportAs: ["aiTooltip"] }, { kind: "ngmodule", type: i5.OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
205
+ }
206
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AiMarkdown, decorators: [{
207
+ type: Component,
208
+ args: [{ selector: "ai-markdown", exportAs: "aiMarkdown", imports: [CommonModule, AiIcon, AiButton, AiLoader, AiSelectImports, NgClass, AiTooltipImports], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mode() === \"viewer\") {\r\n <div class=\"rounded-lg border border-border w-full\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: true }\" />\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n} @else {\r\n <main class=\"overflow-hidden transition-all duration-200 ease-in-out w-full flex flex-col gap-y-4\">\r\n <div class=\"flex items-center justify-between gap-4\">\r\n <div class=\"flex items-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1.5 w-max rounded p-1 bg-default/90 shadow-sm\">\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'code' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('code')\">\r\n Code\r\n </button>\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'preview' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('preview')\">\r\n Preview\r\n </button>\r\n </div>\r\n \r\n @let event = codeLanguage();\r\n <ai-select (selectedValueChange)=\"setLanguage(event)\" [(value)]=\"codeLanguage\" class=\"w-40\" placeholder=\"Selecionar linguagem\">\r\n @for (item of languages(); track item) {\r\n <ai-select-item [value]=\"item\">\r\n {{ item }}\r\n </ai-select-item>\r\n }\r\n </ai-select>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-x-2\">\r\n <ai-button type=\"button\" \r\n variant=\"default\" \r\n size=\"xs\" \r\n (click)=\"setTheme()\" \r\n [icon]=\"codeTheme() === 'dark' ? 'sun' : 'moon'\" \r\n [aiTooltip]=\"codeTheme() === 'light' ? 'Dark' : 'Light'\" />\r\n \r\n <ai-button type=\"button\" variant=\"default\" size=\"xs\" icon=\"brush-3\" (click)=\"clearCode()\" aiTooltip=\"Limpar\" />\r\n </div>\r\n </div>\r\n \r\n <div class=\"py-2 border-t border-border\">\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'code'\">\r\n <div class=\"rounded-lg border border-border w-full my-2\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: false }\" />\r\n <div #editorContainer class=\"w-full rounded-b-lg overflow-hidden\"></div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'preview'\">\r\n @if (tab() === 'preview') {\r\n <div [ngClass]=\"['rounded-lg border border-border w-full overflow-hidden', codeLanguage() === 'markdown' ? 'px-2' : '', codeTheme() === 'dark' ? 'bg-[#0d1117]' : 'bg-background']\">\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </main>\r\n}\r\n\r\n<ng-template #codeHeader let-showThemeToggle=\"showThemeToggle\">\r\n <div class=\"flex justify-between items-center px-3 py-2 border-b border-border bg-muted text-sm\">\r\n <div class=\"flex items-center gap-2\">\r\n <div [innerHTML]=\"languageIconSvg()\" class=\"w-3 h-3\"></div>\r\n <span class=\"font-medium text-xs font-text text-muted-foreground\">{{ codeLanguage() }}</span>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2\">\r\n @if (showThemeToggle) {\r\n <ai-button type=\"button\" variant=\"default\" (click)=\"setTheme()\" size=\"xs\" class=\"h-6 w-6 leading-6\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n </ai-button>\r\n <ai-button variant=\"default\" class=\"h-6 w-6 leading-6\" size=\"xs\" (click)=\"copyCode()\">\r\n <ai-icon \r\n [icon]=\"!copied() ? 'file-copy' : 'check-double'\" \r\n size=\"sm\"\r\n [aiTooltip]=\"!copied() ? 'Copiar' : 'Copiado'\" />\r\n </ai-button>\r\n } @else {\r\n <span class=\"flex items-center gap-1 text-xs text-muted-foreground\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n {{ codeTheme() }}\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #previewContent>\r\n @if (loading()) {\r\n <div class=\"flex items-center justify-center p-8 bg-muted/50\">\r\n <ai-loader size=\"sm\" type=\"spinner\" />\r\n <span class=\"ml-2 text-muted-foreground text-sm font-semibold\">Carregando preview...</span>\r\n </div>\r\n } @else {\r\n <div class=\"ai-markdown-preview w-full overflow-hidden\" [class.ai-md-theme-dark]=\"codeTheme() === 'dark'\" [class.ai-md-theme-light]=\"codeTheme() === 'light'\" [innerHTML]=\"compiledHtml()\"></div>\r\n }\r\n</ng-template>", styles: ["@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@media important{@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}}@plugin \"tailwindcss-animate\";@custom-variant dark (&:is(.dark *));:root{--text: \"Nunito Sans\", sans-serif;--title: \"Montserrat\", sans-serif;--code: \"JetBrains Mono\", monospace;--background: oklch(100% 0 0);--foreground: oklch(0% 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.525 0 0);--default: oklch(94.969% .00277 285.769);--default-foreground: oklch(.225 0 0);--primary: oklch(20.77% .04 265.75);--primary-foreground: oklch(1 0 0);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(97.02% 0 0);--ghost-foreground: oklch(.333 0 0);--warning: oklch(.625 .163 48.998);--warning-foreground: oklch(.969 0 0);--success: oklch(54.69% .184 142.23);--success-foreground: oklch(1 0 0);--info: oklch(49.02% .21 266.93);--info-foreground: oklch(1 0 0);--destructive: oklch(52.01% .19 24.6);--destructive-foreground: oklch(1 0 0);--border: oklch(92.2% 0 0);--input: oklch(92.2% 0 0);--ring: oklch(70.8% 0 0)}.dark{--background: oklch(20.46% 0 0);--foreground: oklch(98.51% 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--default: oklch(.269 0 0);--default-foreground: oklch(.985 0 0);--primary: oklch(97.29% .012 247.95);--primary-foreground: oklch(20.77% .04 265.75);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(26.86% 0 0);--ghost-foreground: oklch(70.9% 0 0);--warning: oklch(82.07% .15 75.5);--warning-foreground: oklch(39.15% .119 35.84);--success: oklch(91.74% .155 140.26);--success-foreground: oklch(26.97% .086 142.39);--info: oklch(79.78% .088 258.13);--info-foreground: oklch(27.92% .081 271.53);--destructive: oklch(81.06% .098 15.53);--destructive-foreground: oklch(25.63% .083 22.57);--border: oklch(26.86% 0 0);--input: oklch(26.86% 0 0);--ring: oklch(32.55% 0 0)}@theme inline{ --font-text: var(--text); --font-title: var(--title); --font-code: var(--code); --color-background: var(--background); --color-foreground: var(--foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-default: var(--default); --color-default-foreground: var(--default-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-ghost: var(--ghost); --color-ghost-foreground: var(--ghost-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); }.ai-markdown-preview.ai-md-theme-light pre{@apply bg-muted rounded-md;}.ai-markdown-preview.ai-md-theme-light pre code span{color:var(--shiki-light)!important}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light h3,.ai-markdown-preview.ai-md-theme-light h4,.ai-markdown-preview.ai-md-theme-light h5,.ai-markdown-preview.ai-md-theme-light h6,.ai-markdown-preview.ai-md-theme-light strong,.ai-markdown-preview.ai-md-theme-light b{@apply text-primary;}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light hr,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light p,.ai-markdown-preview.ai-md-theme-light span,.ai-markdown-preview.ai-md-theme-light a,.ai-markdown-preview.ai-md-theme-light li,.ai-markdown-preview.ai-md-theme-light th,.ai-markdown-preview.ai-md-theme-light td,.ai-markdown-preview.ai-md-theme-light caption{@apply text-muted-foreground;}.ai-markdown-preview.ai-md-theme-light a{@apply hover:text-primary underline;}.ai-markdown-preview.ai-md-theme-light blockquote{@apply border-l-primary bg-default;}.ai-markdown-preview.ai-md-theme-light table{@apply rounded-md border border-border;}.ai-markdown-preview.ai-md-theme-light thead,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light tfoot,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply bg-transparent;}.ai-markdown-preview.ai-md-theme-light tr{@apply hover:bg-default;}.ai-markdown-preview.ai-md-theme-light th{@apply text-primary bg-default;}.ai-markdown-preview.ai-md-theme-dark pre{background-color:#0d1117!important}.ai-markdown-preview.ai-md-theme-dark pre code span{color:var(--shiki-dark)!important}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark h3,.ai-markdown-preview.ai-md-theme-dark h4,.ai-markdown-preview.ai-md-theme-dark h5,.ai-markdown-preview.ai-md-theme-dark h6,.ai-markdown-preview.ai-md-theme-dark strong,.ai-markdown-preview.ai-md-theme-dark b{@apply text-white;}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark hr,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-[#262626];}.ai-markdown-preview.ai-md-theme-dark p,.ai-markdown-preview.ai-md-theme-dark span,.ai-markdown-preview.ai-md-theme-dark a,.ai-markdown-preview.ai-md-theme-dark li,.ai-markdown-preview.ai-md-theme-dark th,.ai-markdown-preview.ai-md-theme-dark td,.ai-markdown-preview.ai-md-theme-dark caption{color:#a1a1a1}.ai-markdown-preview.ai-md-theme-dark a{@apply hover:text-white underline;}.ai-markdown-preview.ai-md-theme-dark blockquote{@apply border-l-accent bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark table{@apply rounded-md border border-[#262626];}.ai-markdown-preview.ai-md-theme-dark thead,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-b border-[#262626];}.ai-markdown-preview.ai-md-theme-dark tfoot,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply bg-[#0d1117];}.ai-markdown-preview.ai-md-theme-dark tr{@apply hover:bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark th{@apply text-white bg-[#0d1117];}\n"] }]
209
+ }], ctorParameters: () => [], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], editorContainer: [{ type: i0.ViewChild, args: ["editorContainer", { isSignal: true }] }], changeCode: [{ type: i0.Output, args: ["changeCode"] }] } });
210
+ //# sourceMappingURL=markdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../../../../../libs/ai-ui/src/lib/components/markdown/markdown.ts","../../../../../../../libs/ai-ui/src/lib/components/markdown/markdown.html"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACH,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,MAAM,EAEN,MAAM,EACN,KAAK,EACL,YAAY,EAEZ,MAAM,EACN,MAAM,EACN,SAAS,EACT,iBAAiB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;;;;;;;AAmBrD,MAAM,OAAO,UAAU;IACnB,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3C,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEzB,IAAI,GAAG,KAAK,CAAsB,QAAQ,gDAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,CAAS,EAAE,gDAAC,CAAC;IACzB,QAAQ,GAAG,KAAK,CAAiB,YAAY,oDAAC,CAAC;IAC/C,KAAK,GAAG,KAAK,CAAc,OAAO,iDAAC,CAAC;IACpC,KAAK,GAAG,KAAK,CAAa,EAAE,iDAAC,CAAC;IAEpB,GAAG,GAAG,MAAM,CAAqB,MAAM,+CAAC,CAAC;IACzC,OAAO,GAAG,MAAM,CAAU,KAAK,mDAAC,CAAC;IAEpD,SAAS,GAAG,MAAM,CAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,qDAAC,CAAC;IACtH,MAAM,GAAG,MAAM,CAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,kDAAC,CAAC;IAElD,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,wDAAC,CAAC;IAC3C,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,qDAAC,CAAC;IACrC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,uDAAC,CAAC;IACtC,YAAY,GAAG,MAAM,CAAW,EAAE,wDAAC,CAAC;IACpC,MAAM,GAAG,MAAM,CAAU,KAAK,kDAAC,CAAC;IAEhC,OAAO,GAAG,MAAM,CAAyB,SAAS,mDAAC,CAAC;IACpD,oBAAoB,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,iBAAiB,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,oBAAoB,GAAG,IAAI,WAAW,EAAE,CAAC;IAEzC,eAAe,GAAG,SAAS,CAA0B,iBAAiB,2DAAC,CAAC;IACxE,UAAU,GAAG,MAAM,EAAU,CAAC;IAE9B,WAAW,GAAG,CAAC,CAAC;IAChB,aAAa,GAAQ,IAAI,CAAC;IAE1B,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC,2DAAC,CAAC;IAEH;QACI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAEvD,MAAM,CAAC,GAAG,EAAE;YACR,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC;gBAE1D,MAAM,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE;wBACL,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACvE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAClE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;qBAChF;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAClC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,IAAoB;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,GAAuB;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;aAChE,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACP,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CAAC,SAAsB;QACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;YAC1B,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE;YACvB,UAAU,EAAE;gBACR,UAAU;gBACV,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;gBAClF,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oBAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;wBAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC;gBACL,CAAC,CAAC;gBACF,UAAU,CAAC,YAAY;aAC1B;YACD,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,IAAoB;QAC9C,MAAM,UAAU,GAA4C;YACxD,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAClD,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAClB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAClB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;YAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;SACrB,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAEO,kBAAkB,CAAC,KAAkB;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,GAAG,EAAE;gBACD,UAAU,EAAE,yDAAyD;gBACrE,QAAQ,EAAE,SAAS;aACtB;YACD,cAAc,EAAE;gBACZ,UAAU,EAAE,yDAAyD;gBACrE,QAAQ,EAAE,SAAS;aACtB;SACJ,CAAC,CAAC;QAEH,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAEO,qBAAqB,CAAC,UAAmB;QAC7C,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,sBAAsB;QAC1B,IAAI,IAAI,CAAC,aAAa;YAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC;YAEvC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,qBAAqB,OAAO,UAAU,CAAC;YAC5F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEnE,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACP,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;uGA3MQ,UAAU;2FAAV,UAAU,m3BCzDvB,y7KAkGc,qh4CD/CA,YAAY,oSAAE,MAAM,4IAAE,QAAQ,qNAAE,QAAQ;;2FAMzC,UAAU;kBATtB,SAAS;+BACI,aAAa,YACb,YAAY,WACb,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,CAAC,iBAGhF,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;2iBA6BM,iBAAiB","sourcesContent":["import { ClassValue } from \"clsx\";\r\nimport { basicSetup } from \"codemirror\";\r\nimport { tomorrow } from \"thememirror\";\r\n\r\nimport { CommonModule, NgClass } from \"@angular/common\";\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n inject,\r\n input,\r\n linkedSignal,\r\n OnDestroy,\r\n output,\r\n signal,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { css } from \"@codemirror/lang-css\";\r\nimport { html } from \"@codemirror/lang-html\";\r\nimport { java } from \"@codemirror/lang-java\";\r\nimport { javascript } from \"@codemirror/lang-javascript\";\r\nimport { json } from \"@codemirror/lang-json\";\r\nimport { markdown } from \"@codemirror/lang-markdown\";\r\nimport { Compartment, EditorState, Extension } from \"@codemirror/state\";\r\nimport { oneDark } from \"@codemirror/theme-one-dark\";\r\nimport { EditorView } from \"@codemirror/view\";\r\n\r\nimport { ClipboardUtil } from \"../../core\";\r\nimport { AiButton } from \"../button\";\r\nimport { AiSelectImports } from \"../form-field\";\r\nimport { AiIcon } from \"../icon/icon.component\";\r\nimport { AiLoader } from \"../loader\";\r\nimport { AiTooltipImports } from \"../tooltip\";\r\nimport { faviconIconsSvg } from \"./language-icons\";\r\nimport { MarkdownService } from \"./markdown.service\";\r\n\r\nexport type AiLanguageType = \"typescript\" | \"javascript\" | \"html\" | \"css\" | \"json\" | \"bash\" | \"markdown\" | \"java\";\r\nexport type AiThemeType = \"light\" | \"dark\";\r\n\r\nexport type languageIcon = {\r\n language: AiLanguageType;\r\n icon: string;\r\n};\r\n\r\n@Component({\r\n selector: \"ai-markdown\",\r\n exportAs: \"aiMarkdown\",\r\n imports: [CommonModule, AiIcon, AiButton, AiLoader, AiSelectImports, NgClass, AiTooltipImports],\r\n templateUrl: \"./markdown.html\",\r\n styleUrl: \"./markdown.scss\",\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AiMarkdown implements OnDestroy {\r\n #markdownService = inject(MarkdownService);\r\n #sanitizer = inject(DomSanitizer);\r\n\r\n readonly mode = input<\"editor\" | \"viewer\">(\"editor\");\r\n readonly code = input<string>(\"\");\r\n readonly language = input<AiLanguageType>(\"typescript\");\r\n readonly theme = input<AiThemeType>(\"light\");\r\n readonly class = input<ClassValue>(\"\");\r\n\r\n protected readonly tab = signal<\"code\" | \"preview\">(\"code\");\r\n protected readonly loading = signal<boolean>(false);\r\n\r\n languages = signal<AiLanguageType[]>([\"typescript\", \"javascript\", \"java\", \"html\", \"css\", \"markdown\", \"bash\", \"json\"]);\r\n themes = signal<AiThemeType[]>([\"light\", \"dark\"]);\r\n\r\n codeLanguage = linkedSignal(this.language);\r\n codeTheme = linkedSignal(this.theme);\r\n currentCode = linkedSignal(this.code);\r\n compiledHtml = signal<SafeHtml>(\"\");\r\n copied = signal<boolean>(false);\r\n\r\n #editor = signal<EditorView | undefined>(undefined);\r\n #languageCompartment = new Compartment();\r\n #themeCompartment = new Compartment();\r\n #readOnlyCompartment = new Compartment();\r\n\r\n editorContainer = viewChild<ElementRef<HTMLElement>>(\"editorContainer\");\r\n changeCode = output<string>();\r\n\r\n #previewJob = 0;\r\n #previewTimer: any = null;\r\n\r\n languageIconSvg = computed(() => {\r\n const lang = this.codeLanguage();\r\n const svg = faviconIconsSvg[lang] || faviconIconsSvg[\"terminal\"];\r\n return this.#sanitizer.bypassSecurityTrustHtml(svg);\r\n });\r\n\r\n constructor() {\r\n this.#markdownService.prewarm().catch(() => undefined);\r\n\r\n effect(() => {\r\n const container = this.editorContainer()?.nativeElement;\r\n const mode = this.mode();\r\n const tab = this.tab();\r\n\r\n if (mode === \"editor\" && tab === \"code\" && container && !this.#editor()) {\r\n this._createEditor(container);\r\n }\r\n\r\n const editor = this.#editor();\r\n if (editor) {\r\n const lang = this.codeLanguage();\r\n const theme = this.codeTheme();\r\n const isReadOnly = mode === \"viewer\" || tab === \"preview\";\r\n\r\n editor.dispatch({\r\n effects: [\r\n this.#languageCompartment.reconfigure(this._getLanguageExtension(lang)),\r\n this.#themeCompartment.reconfigure(this._getThemeExtension(theme)),\r\n this.#readOnlyCompartment.reconfigure(this._getReadOnlyExtension(isReadOnly)),\r\n ],\r\n });\r\n }\r\n });\r\n\r\n effect(() => {\r\n const mode = this.mode();\r\n const tab = this.tab();\r\n\r\n if (mode === \"viewer\" || (mode === \"editor\" && tab === \"preview\")) {\r\n this._schedulePreviewUpdate();\r\n }\r\n });\r\n }\r\n\r\n setLanguage(item: AiLanguageType) {\r\n this.codeLanguage.set(item);\r\n }\r\n\r\n setTheme() {\r\n this.codeTheme.update(current => (current === \"dark\" ? \"light\" : \"dark\"));\r\n }\r\n\r\n setTab(tab: \"code\" | \"preview\") {\r\n this.tab.set(tab);\r\n }\r\n\r\n clearCode() {\r\n const editor = this.#editor();\r\n if (editor) {\r\n editor.dispatch({\r\n changes: { from: 0, to: editor.state.doc.length, insert: \"\" },\r\n });\r\n }\r\n this.currentCode.set(\"\");\r\n this.changeCode.emit(\"\");\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#editor()?.destroy();\r\n clearTimeout(this.#previewTimer);\r\n }\r\n\r\n async copyCode() {\r\n const code = this.#editor()?.state.doc.toString() || this.code();\r\n await ClipboardUtil.copy(code);\r\n this.copied.set(true);\r\n setTimeout(() => this.copied.set(false), 3000);\r\n }\r\n\r\n private _createEditor(container: HTMLElement) {\r\n const editor = new EditorView({\r\n doc: this.currentCode(),\r\n extensions: [\r\n basicSetup,\r\n this.#languageCompartment.of(this._getLanguageExtension(this.codeLanguage())),\r\n this.#themeCompartment.of(this._getThemeExtension(this.codeTheme())),\r\n this.#readOnlyCompartment.of(this._getReadOnlyExtension(this.mode() === \"viewer\")),\r\n EditorView.updateListener.of(item => {\r\n if (item.docChanged) {\r\n const newCode = item.state.doc.toString();\r\n this.currentCode.set(newCode);\r\n this.changeCode.emit(newCode);\r\n }\r\n }),\r\n EditorView.lineWrapping,\r\n ],\r\n parent: container,\r\n });\r\n this.#editor.set(editor);\r\n }\r\n\r\n private _getLanguageExtension(lang: AiLanguageType): Extension {\r\n const extensions: Record<AiLanguageType, () => Extension> = {\r\n typescript: () => javascript({ typescript: true }),\r\n javascript: () => javascript(),\r\n java: () => java(),\r\n html: () => html(),\r\n css: () => css(),\r\n markdown: () => markdown(),\r\n bash: () => javascript(),\r\n json: () => json(),\r\n };\r\n return (extensions[lang] || extensions[\"javascript\"])();\r\n }\r\n\r\n private _getThemeExtension(theme: AiThemeType): Extension[] {\r\n const baseTheme = EditorView.theme({\r\n \"&\": {\r\n fontFamily: \"'JetBrains Mono', 'Fira Code', 'Courier New', monospace\",\r\n fontSize: \"0.75rem\",\r\n },\r\n \".cm-scroller\": {\r\n fontFamily: \"'JetBrains Mono', 'Fira Code', 'Courier New', monospace\",\r\n fontSize: \"0.75rem\",\r\n },\r\n });\r\n\r\n return theme === \"dark\" ? [baseTheme, oneDark] : [baseTheme, tomorrow];\r\n }\r\n\r\n private _getReadOnlyExtension(isReadOnly: boolean): Extension[] {\r\n return [EditorState.readOnly.of(isReadOnly), EditorView.editable.of(!isReadOnly)];\r\n }\r\n\r\n private _schedulePreviewUpdate(): void {\r\n if (this.#previewTimer) clearTimeout(this.#previewTimer);\r\n this.loading.set(true);\r\n\r\n this.#previewTimer = setTimeout(() => {\r\n void this._updatePreview();\r\n }, 200);\r\n }\r\n\r\n private async _updatePreview(): Promise<void> {\r\n const jobId = ++this.#previewJob;\r\n const content = this.currentCode() || this.code();\r\n\r\n if (!content) {\r\n this.compiledHtml.set(\"\");\r\n this.loading.set(false);\r\n return;\r\n }\r\n\r\n try {\r\n const lang = this.codeLanguage();\r\n const isMarkdown = lang === \"markdown\";\r\n\r\n const composed = isMarkdown ? content : `\\`\\`\\`${lang} showLineNumbers\\n${content}\\n\\`\\`\\``;\r\n const html = await this.#markdownService.processMarkdown(composed);\r\n\r\n if (jobId === this.#previewJob) {\r\n this.compiledHtml.set(this.#sanitizer.bypassSecurityTrustHtml(html));\r\n }\r\n } catch (error) {\r\n console.error(\"Preview processing error:\", error);\r\n } finally {\r\n if (jobId === this.#previewJob) {\r\n this.loading.set(false);\r\n }\r\n }\r\n }\r\n}\r\n","@if (mode() === \"viewer\") {\r\n <div class=\"rounded-lg border border-border w-full\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: true }\" />\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n} @else {\r\n <main class=\"overflow-hidden transition-all duration-200 ease-in-out w-full flex flex-col gap-y-4\">\r\n <div class=\"flex items-center justify-between gap-4\">\r\n <div class=\"flex items-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1.5 w-max rounded p-1 bg-default/90 shadow-sm\">\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'code' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('code')\">\r\n Code\r\n </button>\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'preview' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('preview')\">\r\n Preview\r\n </button>\r\n </div>\r\n \r\n @let event = codeLanguage();\r\n <ai-select (selectedValueChange)=\"setLanguage(event)\" [(value)]=\"codeLanguage\" class=\"w-40\" placeholder=\"Selecionar linguagem\">\r\n @for (item of languages(); track item) {\r\n <ai-select-item [value]=\"item\">\r\n {{ item }}\r\n </ai-select-item>\r\n }\r\n </ai-select>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-x-2\">\r\n <ai-button type=\"button\" \r\n variant=\"default\" \r\n size=\"xs\" \r\n (click)=\"setTheme()\" \r\n [icon]=\"codeTheme() === 'dark' ? 'sun' : 'moon'\" \r\n [aiTooltip]=\"codeTheme() === 'light' ? 'Dark' : 'Light'\" />\r\n \r\n <ai-button type=\"button\" variant=\"default\" size=\"xs\" icon=\"brush-3\" (click)=\"clearCode()\" aiTooltip=\"Limpar\" />\r\n </div>\r\n </div>\r\n \r\n <div class=\"py-2 border-t border-border\">\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'code'\">\r\n <div class=\"rounded-lg border border-border w-full my-2\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: false }\" />\r\n <div #editorContainer class=\"w-full rounded-b-lg overflow-hidden\"></div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'preview'\">\r\n @if (tab() === 'preview') {\r\n <div [ngClass]=\"['rounded-lg border border-border w-full overflow-hidden', codeLanguage() === 'markdown' ? 'px-2' : '', codeTheme() === 'dark' ? 'bg-[#0d1117]' : 'bg-background']\">\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </main>\r\n}\r\n\r\n<ng-template #codeHeader let-showThemeToggle=\"showThemeToggle\">\r\n <div class=\"flex justify-between items-center px-3 py-2 border-b border-border bg-muted text-sm\">\r\n <div class=\"flex items-center gap-2\">\r\n <div [innerHTML]=\"languageIconSvg()\" class=\"w-3 h-3\"></div>\r\n <span class=\"font-medium text-xs font-text text-muted-foreground\">{{ codeLanguage() }}</span>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2\">\r\n @if (showThemeToggle) {\r\n <ai-button type=\"button\" variant=\"default\" (click)=\"setTheme()\" size=\"xs\" class=\"h-6 w-6 leading-6\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n </ai-button>\r\n <ai-button variant=\"default\" class=\"h-6 w-6 leading-6\" size=\"xs\" (click)=\"copyCode()\">\r\n <ai-icon \r\n [icon]=\"!copied() ? 'file-copy' : 'check-double'\" \r\n size=\"sm\"\r\n [aiTooltip]=\"!copied() ? 'Copiar' : 'Copiado'\" />\r\n </ai-button>\r\n } @else {\r\n <span class=\"flex items-center gap-1 text-xs text-muted-foreground\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n {{ codeTheme() }}\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #previewContent>\r\n @if (loading()) {\r\n <div class=\"flex items-center justify-center p-8 bg-muted/50\">\r\n <ai-loader size=\"sm\" type=\"spinner\" />\r\n <span class=\"ml-2 text-muted-foreground text-sm font-semibold\">Carregando preview...</span>\r\n </div>\r\n } @else {\r\n <div class=\"ai-markdown-preview w-full overflow-hidden\" [class.ai-md-theme-dark]=\"codeTheme() === 'dark'\" [class.ai-md-theme-light]=\"codeTheme() === 'light'\" [innerHTML]=\"compiledHtml()\"></div>\r\n }\r\n</ng-template>"]}