igniteui-angular 20.2.0-alpha.4 → 20.2.0-alpha.5

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 (48) hide show
  1. package/chat-extras/index.d.ts +13 -0
  2. package/fesm2022/igniteui-angular-chat-extras.mjs +85 -0
  3. package/fesm2022/igniteui-angular-chat-extras.mjs.map +1 -0
  4. package/fesm2022/igniteui-angular.mjs +150 -133
  5. package/fesm2022/igniteui-angular.mjs.map +1 -1
  6. package/index.d.ts +119 -24
  7. package/lib/core/styles/components/badge/_badge-component.scss +4 -0
  8. package/lib/core/styles/components/badge/_badge-theme.scss +65 -15
  9. package/lib/core/styles/components/checkbox/_checkbox-component.scss +57 -22
  10. package/lib/core/styles/components/checkbox/_checkbox-theme.scss +21 -6
  11. package/lib/core/styles/components/combo/_combo-theme.scss +20 -16
  12. package/lib/core/styles/components/list/_list-theme.scss +2 -1
  13. package/lib/core/styles/components/navbar/_navbar-theme.scss +14 -12
  14. package/lib/core/styles/components/select/_select-theme.scss +1 -1
  15. package/lib/core/styles/components/snackbar/_snackbar-theme.scss +2 -5
  16. package/lib/core/styles/components/time-picker/_time-picker-theme.scss +0 -15
  17. package/lib/core/styles/components/tooltip/_tooltip-theme.scss +5 -1
  18. package/lib/core/styles/typography/_bootstrap.scss +1 -1
  19. package/lib/core/styles/typography/_fluent.scss +1 -1
  20. package/lib/core/styles/typography/_indigo.scss +1 -3
  21. package/lib/core/styles/typography/_material.scss +1 -1
  22. package/package.json +5 -1
  23. package/styles/igniteui-angular-dark.css +1 -1
  24. package/styles/igniteui-angular.css +1 -1
  25. package/styles/igniteui-bootstrap-dark.css +1 -1
  26. package/styles/igniteui-bootstrap-light.css +1 -1
  27. package/styles/igniteui-dark-green.css +1 -1
  28. package/styles/igniteui-fluent-dark-excel.css +1 -1
  29. package/styles/igniteui-fluent-dark-word.css +1 -1
  30. package/styles/igniteui-fluent-dark.css +1 -1
  31. package/styles/igniteui-fluent-light-excel.css +1 -1
  32. package/styles/igniteui-fluent-light-word.css +1 -1
  33. package/styles/igniteui-fluent-light.css +1 -1
  34. package/styles/igniteui-indigo-dark.css +1 -1
  35. package/styles/igniteui-indigo-light.css +1 -1
  36. package/styles/maps/igniteui-angular-dark.css.map +1 -1
  37. package/styles/maps/igniteui-angular.css.map +1 -1
  38. package/styles/maps/igniteui-bootstrap-dark.css.map +1 -1
  39. package/styles/maps/igniteui-bootstrap-light.css.map +1 -1
  40. package/styles/maps/igniteui-dark-green.css.map +1 -1
  41. package/styles/maps/igniteui-fluent-dark-excel.css.map +1 -1
  42. package/styles/maps/igniteui-fluent-dark-word.css.map +1 -1
  43. package/styles/maps/igniteui-fluent-dark.css.map +1 -1
  44. package/styles/maps/igniteui-fluent-light-excel.css.map +1 -1
  45. package/styles/maps/igniteui-fluent-light-word.css.map +1 -1
  46. package/styles/maps/igniteui-fluent-light.css.map +1 -1
  47. package/styles/maps/igniteui-indigo-dark.css.map +1 -1
  48. package/styles/maps/igniteui-indigo-light.css.map +1 -1
@@ -0,0 +1,13 @@
1
+ import * as i0 from '@angular/core';
2
+ import { PipeTransform } from '@angular/core';
3
+ import { SafeHtml } from '@angular/platform-browser';
4
+
5
+ declare class MarkdownPipe implements PipeTransform {
6
+ private _service;
7
+ private _sanitizer;
8
+ transform(text?: string): Promise<SafeHtml>;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<MarkdownPipe, never>;
10
+ static ɵpipe: i0.ɵɵPipeDeclaration<MarkdownPipe, "fromMarkdown", true>;
11
+ }
12
+
13
+ export { MarkdownPipe };
@@ -0,0 +1,85 @@
1
+ import DOMPurify from 'dompurify';
2
+ import * as i0 from '@angular/core';
3
+ import { Injectable, inject, Pipe } from '@angular/core';
4
+ import { Marked } from 'marked';
5
+ import markedShiki from 'marked-shiki';
6
+ import { createHighlighter, bundledThemes } from 'shiki/bundle/web';
7
+ import { DomSanitizer } from '@angular/platform-browser';
8
+
9
+ const DEFAULT_LANGUAGES = ['javascript', 'typescript', 'html', 'css'];
10
+ const DEFAULT_THEMES = {
11
+ light: 'github-light',
12
+ dark: 'github-dark'
13
+ };
14
+ class IgxChatMarkdownService {
15
+ _initializeMarked() {
16
+ this._instance = new Marked({
17
+ breaks: true,
18
+ gfm: true,
19
+ extensions: [
20
+ {
21
+ name: 'link',
22
+ renderer({ href, title, text }) {
23
+ return `<a href="${href}" target="_blank" rel="noopener noreferrer" ${title ? `title="${title}"` : ''}>${text}</a>`;
24
+ }
25
+ }
26
+ ]
27
+ });
28
+ }
29
+ async _initializeShiki() {
30
+ const highlighter = await createHighlighter({
31
+ langs: DEFAULT_LANGUAGES,
32
+ themes: Object.keys(bundledThemes)
33
+ });
34
+ this._instance.use(markedShiki({
35
+ highlight(code, lang, _) {
36
+ try {
37
+ return highlighter.codeToHtml(code, {
38
+ lang,
39
+ themes: DEFAULT_THEMES,
40
+ });
41
+ }
42
+ catch {
43
+ return `<pre><code>${code}</code></pre>`;
44
+ }
45
+ }
46
+ }));
47
+ }
48
+ constructor() {
49
+ this._initializeMarked();
50
+ this._isInitialized = this._initializeShiki();
51
+ }
52
+ async parse(text) {
53
+ await this._isInitialized;
54
+ return await this._instance.parse(text);
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatMarkdownService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
57
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatMarkdownService, providedIn: 'root' }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: IgxChatMarkdownService, decorators: [{
60
+ type: Injectable,
61
+ args: [{ providedIn: 'root' }]
62
+ }], ctorParameters: () => [] });
63
+
64
+ class MarkdownPipe {
65
+ constructor() {
66
+ this._service = inject(IgxChatMarkdownService);
67
+ this._sanitizer = inject(DomSanitizer);
68
+ }
69
+ async transform(text) {
70
+ return this._sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(await this._service.parse(text ?? '')));
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MarkdownPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
73
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.6", ngImport: i0, type: MarkdownPipe, isStandalone: true, name: "fromMarkdown" }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.6", ngImport: i0, type: MarkdownPipe, decorators: [{
76
+ type: Pipe,
77
+ args: [{ name: 'fromMarkdown' }]
78
+ }] });
79
+
80
+ /**
81
+ * Generated bundle index. Do not edit.
82
+ */
83
+
84
+ export { MarkdownPipe };
85
+ //# sourceMappingURL=igniteui-angular-chat-extras.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"igniteui-angular-chat-extras.mjs","sources":["../../../projects/igniteui-angular/chat-extras/src/markdown-service.ts","../../../projects/igniteui-angular/chat-extras/src/markdown-pipe.ts","../../../projects/igniteui-angular/chat-extras/src/igniteui-angular-chat-extras.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Marked } from 'marked';\nimport markedShiki from 'marked-shiki';\nimport { bundledThemes, createHighlighter } from 'shiki/bundle/web';\n\n\nconst DEFAULT_LANGUAGES = ['javascript', 'typescript', 'html', 'css'];\nconst DEFAULT_THEMES = {\n light: 'github-light',\n dark: 'github-dark'\n};\n\n@Injectable({ providedIn: 'root' })\nexport class IgxChatMarkdownService {\n\n private _instance: Marked;\n private _isInitialized: Promise<void>;\n\n private _initializeMarked(): void {\n this._instance = new Marked({\n breaks: true,\n gfm: true,\n extensions: [\n {\n name: 'link',\n renderer({ href, title, text }) {\n return `<a href=\"${href}\" target=\"_blank\" rel=\"noopener noreferrer\" ${title ? `title=\"${title}\"` : ''}>${text}</a>`;\n }\n }\n ]\n });\n }\n\n private async _initializeShiki(): Promise<void> {\n const highlighter = await createHighlighter({\n langs: DEFAULT_LANGUAGES,\n themes: Object.keys(bundledThemes)\n });\n\n this._instance.use(\n markedShiki({\n highlight(code, lang, _) {\n try {\n return highlighter.codeToHtml(code, {\n lang,\n themes: DEFAULT_THEMES,\n });\n\n } catch {\n return `<pre><code>${code}</code></pre>`;\n }\n }\n })\n );\n }\n\n\n constructor() {\n this._initializeMarked();\n this._isInitialized = this._initializeShiki();\n }\n\n public async parse(text: string): Promise<string> {\n await this._isInitialized;\n return await this._instance.parse(text);\n }\n}\n","import DOMPurify from 'dompurify';\nimport { inject, Pipe, type PipeTransform } from '@angular/core';\nimport { IgxChatMarkdownService } from './markdown-service';\nimport { DomSanitizer, type SafeHtml } from '@angular/platform-browser';\n\n\n@Pipe({ name: 'fromMarkdown' })\nexport class MarkdownPipe implements PipeTransform {\n private _service = inject(IgxChatMarkdownService);\n private _sanitizer = inject(DomSanitizer);\n\n\n public async transform(text?: string): Promise<SafeHtml> {\n return this._sanitizer.bypassSecurityTrustHtml(DOMPurify.sanitize(\n await this._service.parse(text ?? '')\n ));\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}