@mk-kit/ui 0.34.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.
- package/LICENSE +21 -0
- package/README.md +115 -0
- package/block-editor/README.md +254 -0
- package/fesm2022/mk-kit-ui-block-editor.mjs +2158 -0
- package/fesm2022/mk-kit-ui-block-editor.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-button.mjs +81 -0
- package/fesm2022/mk-kit-ui-button.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-checkbox.mjs +136 -0
- package/fesm2022/mk-kit-ui-checkbox.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-chip.mjs +122 -0
- package/fesm2022/mk-kit-ui-chip.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-context-menu.mjs +144 -0
- package/fesm2022/mk-kit-ui-context-menu.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-core.mjs +1576 -0
- package/fesm2022/mk-kit-ui-core.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-data.mjs +6055 -0
- package/fesm2022/mk-kit-ui-data.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-datetime.mjs +3409 -0
- package/fesm2022/mk-kit-ui-datetime.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-directives.mjs +1779 -0
- package/fesm2022/mk-kit-ui-directives.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-dnd.mjs +1073 -0
- package/fesm2022/mk-kit-ui-dnd.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-feedback.mjs +2426 -0
- package/fesm2022/mk-kit-ui-feedback.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-forms.mjs +9208 -0
- package/fesm2022/mk-kit-ui-forms.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-icon.mjs +470 -0
- package/fesm2022/mk-kit-ui-icon.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-media.mjs +896 -0
- package/fesm2022/mk-kit-ui-media.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-navigation.mjs +2542 -0
- package/fesm2022/mk-kit-ui-navigation.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-rich-text.mjs +565 -0
- package/fesm2022/mk-kit-ui-rich-text.mjs.map +1 -0
- package/fesm2022/mk-kit-ui-table.mjs +1378 -0
- package/fesm2022/mk-kit-ui-table.mjs.map +1 -0
- package/fesm2022/mk-kit-ui.mjs +32 -0
- package/fesm2022/mk-kit-ui.mjs.map +1 -0
- package/package.json +130 -0
- package/schematics/collection.json +10 -0
- package/schematics/ng-add/index.js +113 -0
- package/schematics/ng-add/schema.json +22 -0
- package/schematics/package.json +3 -0
- package/styles/mk-kit.css +750 -0
- package/types/mk-kit-ui-block-editor.d.ts +292 -0
- package/types/mk-kit-ui-button.d.ts +40 -0
- package/types/mk-kit-ui-checkbox.d.ts +62 -0
- package/types/mk-kit-ui-chip.d.ts +59 -0
- package/types/mk-kit-ui-context-menu.d.ts +57 -0
- package/types/mk-kit-ui-core.d.ts +1105 -0
- package/types/mk-kit-ui-data.d.ts +2580 -0
- package/types/mk-kit-ui-datetime.d.ts +1171 -0
- package/types/mk-kit-ui-directives.d.ts +807 -0
- package/types/mk-kit-ui-dnd.d.ts +423 -0
- package/types/mk-kit-ui-feedback.d.ts +1270 -0
- package/types/mk-kit-ui-forms.d.ts +3586 -0
- package/types/mk-kit-ui-icon.d.ts +108 -0
- package/types/mk-kit-ui-media.d.ts +549 -0
- package/types/mk-kit-ui-navigation.d.ts +1169 -0
- package/types/mk-kit-ui-rich-text.d.ts +187 -0
- package/types/mk-kit-ui-table.d.ts +739 -0
- package/types/mk-kit-ui.d.ts +17 -0
|
@@ -0,0 +1,470 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, Injectable, input, computed, ViewEncapsulation, ChangeDetectionStrategy, Component, provideEnvironmentInitializer } from '@angular/core';
|
|
3
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Built-in icon set for {@link MkIcon}, registered automatically by
|
|
7
|
+
* {@link MkIconRegistry}. A compact, Feather-style 24×24 stroke set covering
|
|
8
|
+
* the glyphs an admin UI reaches for most often. Register your own with
|
|
9
|
+
* `iconRegistry.register(name, svg)` / `registerIcons({...})` to extend it.
|
|
10
|
+
*
|
|
11
|
+
* Every glyph uses `stroke="currentColor"` and `width/height="100%"` so it
|
|
12
|
+
* inherits text colour and fills the `mk-icon` box at any size.
|
|
13
|
+
*/
|
|
14
|
+
const S = (body) => `<svg viewBox="0 0 24 24" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${body}</svg>`;
|
|
15
|
+
/** Name → SVG markup map of the default icons. */
|
|
16
|
+
const MK_DEFAULT_ICONS = {
|
|
17
|
+
check: S('<polyline points="20 6 9 17 4 12"/>'),
|
|
18
|
+
close: S('<line x1="18" y1="6" x2="6" y2="18"/><line x1="6" y1="6" x2="18" y2="18"/>'),
|
|
19
|
+
'chevron-up': S('<polyline points="18 15 12 9 6 15"/>'),
|
|
20
|
+
'chevron-down': S('<polyline points="6 9 12 15 18 9"/>'),
|
|
21
|
+
'chevron-left': S('<polyline points="15 18 9 12 15 6"/>'),
|
|
22
|
+
'chevron-right': S('<polyline points="9 18 15 12 9 6"/>'),
|
|
23
|
+
'arrow-right': S('<line x1="5" y1="12" x2="19" y2="12"/><polyline points="12 5 19 12 12 19"/>'),
|
|
24
|
+
'arrow-left': S('<line x1="19" y1="12" x2="5" y2="12"/><polyline points="12 19 5 12 12 5"/>'),
|
|
25
|
+
'arrow-up': S('<line x1="12" y1="19" x2="12" y2="5"/><polyline points="5 12 12 5 19 12"/>'),
|
|
26
|
+
'arrow-down': S('<line x1="12" y1="5" x2="12" y2="19"/><polyline points="19 12 12 19 5 12"/>'),
|
|
27
|
+
plus: S('<line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/>'),
|
|
28
|
+
minus: S('<line x1="5" y1="12" x2="19" y2="12"/>'),
|
|
29
|
+
backspace: S('<path d="M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z"/><line x1="18" y1="9" x2="12" y2="15"/><line x1="12" y1="9" x2="18" y2="15"/>'),
|
|
30
|
+
'corner-down-left': S('<polyline points="9 10 4 15 9 20"/><path d="M20 4v7a4 4 0 0 1-4 4H4"/>'),
|
|
31
|
+
search: S('<circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/>'),
|
|
32
|
+
menu: S('<line x1="3" y1="6" x2="21" y2="6"/><line x1="3" y1="12" x2="21" y2="12"/><line x1="3" y1="18" x2="21" y2="18"/>'),
|
|
33
|
+
info: S('<circle cx="12" cy="12" r="10"/><line x1="12" y1="16" x2="12" y2="12"/><line x1="12" y1="8" x2="12.01" y2="8"/>'),
|
|
34
|
+
warning: S('<path d="M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z"/><line x1="12" y1="9" x2="12" y2="13"/><line x1="12" y1="17" x2="12.01" y2="17"/>'),
|
|
35
|
+
error: S('<circle cx="12" cy="12" r="10"/><line x1="15" y1="9" x2="9" y2="15"/><line x1="9" y1="9" x2="15" y2="15"/>'),
|
|
36
|
+
success: S('<path d="M22 11.08V12a10 10 0 1 1-5.93-9.14"/><polyline points="22 4 12 14.01 9 11.01"/>'),
|
|
37
|
+
user: S('<path d="M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"/><circle cx="12" cy="7" r="4"/>'),
|
|
38
|
+
settings: S('<circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z"/>'),
|
|
39
|
+
trash: S('<polyline points="3 6 5 6 21 6"/><path d="M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"/><line x1="10" y1="11" x2="10" y2="17"/><line x1="14" y1="11" x2="14" y2="17"/>'),
|
|
40
|
+
edit: S('<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"/><path d="M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"/>'),
|
|
41
|
+
star: S('<polygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/>'),
|
|
42
|
+
home: S('<path d="M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"/><polyline points="9 22 9 12 15 12 15 22"/>'),
|
|
43
|
+
bell: S('<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9"/><path d="M13.73 21a2 2 0 0 1-3.46 0"/>'),
|
|
44
|
+
calendar: S('<rect x="3" y="4" width="18" height="18" rx="2" ry="2"/><line x1="16" y1="2" x2="16" y2="6"/><line x1="8" y1="2" x2="8" y2="6"/><line x1="3" y1="10" x2="21" y2="10"/>'),
|
|
45
|
+
clock: S('<circle cx="12" cy="12" r="10"/><polyline points="12 6 12 12 16 14"/>'),
|
|
46
|
+
download: S('<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="7 10 12 15 17 10"/><line x1="12" y1="15" x2="12" y2="3"/>'),
|
|
47
|
+
'external-link': S('<path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/>'),
|
|
48
|
+
heart: S('<path d="M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/>'),
|
|
49
|
+
eye: S('<path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"/><circle cx="12" cy="12" r="3"/>'),
|
|
50
|
+
'eye-off': S('<path d="M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94"/><path d="M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19"/><path d="M14.12 14.12a3 3 0 1 1-4.24-4.24"/><line x1="1" y1="1" x2="23" y2="23"/>'),
|
|
51
|
+
upload: S('<path d="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"/><polyline points="17 8 12 3 7 8"/><line x1="12" y1="3" x2="12" y2="15"/>'),
|
|
52
|
+
copy: S('<rect x="9" y="9" width="13" height="13" rx="2" ry="2"/><path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"/>'),
|
|
53
|
+
link: S('<path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/>'),
|
|
54
|
+
'link-off': S('<path d="M15 7h2a5 5 0 0 1 0 10h-2m-6 0H7A5 5 0 0 1 7 7h2"/><line x1="2" y1="2" x2="22" y2="22"/>'),
|
|
55
|
+
refresh: S('<polyline points="23 4 23 10 17 10"/><polyline points="1 20 1 14 7 14"/><path d="M3.51 9a9 9 0 0 1 14.85-3.36L23 10M1 14l4.64 4.36A9 9 0 0 0 20.49 15"/>'),
|
|
56
|
+
undo: S('<path d="M3 7v6h6"/><path d="M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"/>'),
|
|
57
|
+
history: S('<path d="M3 3v5h5"/><path d="M3.05 13A9 9 0 1 0 6 5.3L3 8"/><polyline points="12 7 12 12 15 15"/>'),
|
|
58
|
+
filter: S('<polygon points="22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"/>'),
|
|
59
|
+
sliders: S('<line x1="4" y1="21" x2="4" y2="14"/><line x1="4" y1="10" x2="4" y2="3"/><line x1="12" y1="21" x2="12" y2="12"/><line x1="12" y1="8" x2="12" y2="3"/><line x1="20" y1="21" x2="20" y2="16"/><line x1="20" y1="12" x2="20" y2="3"/><line x1="1" y1="14" x2="7" y2="14"/><line x1="9" y1="8" x2="15" y2="8"/><line x1="17" y1="16" x2="23" y2="16"/>'),
|
|
60
|
+
grid: S('<rect x="3" y="3" width="7" height="7"/><rect x="14" y="3" width="7" height="7"/><rect x="14" y="14" width="7" height="7"/><rect x="3" y="14" width="7" height="7"/>'),
|
|
61
|
+
rows: S('<rect x="3" y="4" width="18" height="7" rx="1"/><rect x="3" y="13" width="18" height="7" rx="1"/>'),
|
|
62
|
+
columns: S('<rect x="4" y="3" width="7" height="18" rx="1"/><rect x="13" y="3" width="7" height="18" rx="1"/>'),
|
|
63
|
+
kanban: S('<rect x="3" y="3" width="5" height="14" rx="1"/><rect x="9.5" y="3" width="5" height="10" rx="1"/><rect x="16" y="3" width="5" height="18" rx="1"/>'),
|
|
64
|
+
'chart-bar': S('<line x1="12" y1="20" x2="12" y2="10"/><line x1="18" y1="20" x2="18" y2="4"/><line x1="6" y1="20" x2="6" y2="16"/><line x1="3" y1="20" x2="21" y2="20"/>'),
|
|
65
|
+
'trending-up': S('<polyline points="23 6 13.5 15.5 8.5 10.5 1 18"/><polyline points="17 6 23 6 23 12"/>'),
|
|
66
|
+
activity: S('<polyline points="22 12 18 12 15 21 9 3 6 12 2 12"/>'),
|
|
67
|
+
dashboard: S('<rect x="3" y="3" width="7" height="9"/><rect x="14" y="3" width="7" height="5"/><rect x="14" y="12" width="7" height="9"/><rect x="3" y="16" width="7" height="5"/>'),
|
|
68
|
+
key: S('<path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4"/>'),
|
|
69
|
+
shield: S('<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/>'),
|
|
70
|
+
'shield-check': S('<path d="M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z"/><polyline points="9 12 11 14 15 10"/>'),
|
|
71
|
+
'log-in': S('<path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"/><polyline points="10 17 15 12 10 7"/><line x1="15" y1="12" x2="3" y2="12"/>'),
|
|
72
|
+
'log-out': S('<path d="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"/><polyline points="16 17 21 12 16 7"/><line x1="21" y1="12" x2="9" y2="12"/>'),
|
|
73
|
+
globe: S('<circle cx="12" cy="12" r="10"/><line x1="2" y1="12" x2="22" y2="12"/><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"/>'),
|
|
74
|
+
image: S('<rect x="3" y="3" width="18" height="18" rx="2" ry="2"/><circle cx="8.5" cy="8.5" r="1.5"/><polyline points="21 15 16 10 5 21"/>'),
|
|
75
|
+
camera: S('<path d="M23 19a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4l2-3h6l2 3h4a2 2 0 0 1 2 2z"/><circle cx="12" cy="13" r="4"/>'),
|
|
76
|
+
tag: S('<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z"/><line x1="7" y1="7" x2="7.01" y2="7"/>'),
|
|
77
|
+
truck: S('<rect x="1" y="3" width="15" height="13"/><polygon points="16 8 20 8 23 11 23 16 16 16 16 8"/><circle cx="5.5" cy="18.5" r="2.5"/><circle cx="18.5" cy="18.5" r="2.5"/>'),
|
|
78
|
+
package: S('<path d="M16.5 9.4L7.55 4.24"/><path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z"/><polyline points="3.27 6.96 12 12.01 20.73 6.96"/><line x1="12" y1="22.08" x2="12" y2="12"/>'),
|
|
79
|
+
users: S('<path d="M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="9" cy="7" r="4"/><path d="M23 21v-2a4 4 0 0 0-3-3.87"/><path d="M16 3.13a4 4 0 0 1 0 7.75"/>'),
|
|
80
|
+
'user-plus': S('<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="20" y1="8" x2="20" y2="14"/><line x1="23" y1="11" x2="17" y2="11"/>'),
|
|
81
|
+
'user-check': S('<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><polyline points="17 11 19 13 23 9"/>'),
|
|
82
|
+
'user-x': S('<path d="M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"/><circle cx="8.5" cy="7" r="4"/><line x1="18" y1="8" x2="23" y2="13"/><line x1="23" y1="8" x2="18" y2="13"/>'),
|
|
83
|
+
send: S('<line x1="22" y1="2" x2="11" y2="13"/><polygon points="22 2 15 22 11 13 2 9 22 2"/>'),
|
|
84
|
+
share: S('<circle cx="18" cy="5" r="3"/><circle cx="6" cy="12" r="3"/><circle cx="18" cy="19" r="3"/><line x1="8.59" y1="13.51" x2="15.42" y2="17.49"/><line x1="15.41" y1="6.51" x2="8.59" y2="10.49"/>'),
|
|
85
|
+
save: S('<path d="M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z"/><polyline points="17 21 17 13 7 13 7 21"/><polyline points="7 3 7 8 15 8"/>'),
|
|
86
|
+
'file-text': S('<path d="M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><polyline points="10 9 9 9 8 9"/>'),
|
|
87
|
+
folder: S('<path d="M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z"/>'),
|
|
88
|
+
cloud: S('<path d="M18 10h-1.26A8 8 0 1 0 9 20h9a5 5 0 0 0 0-10z"/>'),
|
|
89
|
+
'cloud-upload': S('<path d="M16 16l-4-4-4 4"/><path d="M12 12v9"/><path d="M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3"/><path d="M16 16l-4-4-4 4"/>'),
|
|
90
|
+
database: S('<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M21 12c0 1.66-4 3-9 3s-9-1.34-9-3"/><path d="M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5"/>'),
|
|
91
|
+
code: S('<polyline points="16 18 22 12 16 6"/><polyline points="8 6 2 12 8 18"/>'),
|
|
92
|
+
palette: S('<circle cx="13.5" cy="6.5" r=".9"/><circle cx="17.5" cy="10.5" r=".9"/><circle cx="8.5" cy="7.5" r=".9"/><circle cx="6.5" cy="12.5" r=".9"/><path d="M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10c.926 0 1.648-.746 1.648-1.688 0-.437-.18-.835-.437-1.125-.29-.289-.438-.652-.438-1.125a1.64 1.64 0 0 1 1.668-1.668h1.996c3.051 0 5.555-2.503 5.555-5.554C21.965 6.012 17.461 2 12 2z"/>'),
|
|
93
|
+
moon: S('<path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>'),
|
|
94
|
+
sun: S('<circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>'),
|
|
95
|
+
'map-pin': S('<path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"/><circle cx="12" cy="10" r="3"/>'),
|
|
96
|
+
map: S('<polygon points="1 6 1 22 8 18 16 22 23 18 23 2 16 6 8 2 1 6"/><line x1="8" y1="2" x2="8" y2="18"/><line x1="16" y1="6" x2="16" y2="22"/>'),
|
|
97
|
+
phone: S('<path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z"/>'),
|
|
98
|
+
mail: S('<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z"/><polyline points="22 6 12 13 2 6"/>'),
|
|
99
|
+
printer: S('<polyline points="6 9 6 2 18 2 18 9"/><path d="M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"/><rect x="6" y="14" width="12" height="8"/>'),
|
|
100
|
+
'credit-card': S('<rect x="1" y="4" width="22" height="16" rx="2" ry="2"/><line x1="1" y1="10" x2="23" y2="10"/>'),
|
|
101
|
+
'shopping-cart': S('<circle cx="9" cy="21" r="1"/><circle cx="20" cy="21" r="1"/><path d="M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6"/>'),
|
|
102
|
+
'shopping-bag': S('<path d="M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z"/><line x1="3" y1="6" x2="21" y2="6"/><path d="M16 10a4 4 0 0 1-8 0"/>'),
|
|
103
|
+
gift: S('<polyline points="20 12 20 22 4 22 4 12"/><rect x="2" y="7" width="20" height="5"/><line x1="12" y1="22" x2="12" y2="7"/><path d="M12 7H7.5a2.5 2.5 0 0 1 0-5C11 2 12 7 12 7z"/><path d="M12 7h4.5a2.5 2.5 0 0 0 0-5C13 2 12 7 12 7z"/>'),
|
|
104
|
+
'qr-code': S('<rect x="3" y="3" width="7" height="7" rx="1"/><rect x="14" y="3" width="7" height="7" rx="1"/><rect x="3" y="14" width="7" height="7" rx="1"/><line x1="14" y1="14" x2="14" y2="17"/><line x1="14" y1="21" x2="17" y2="21"/><line x1="21" y1="14" x2="21" y2="21"/><line x1="17" y1="14" x2="21" y2="14"/>'),
|
|
105
|
+
lock: S('<rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 10 0v4"/>'),
|
|
106
|
+
unlock: S('<rect x="3" y="11" width="18" height="11" rx="2" ry="2"/><path d="M7 11V7a5 5 0 0 1 9.9-1"/>'),
|
|
107
|
+
play: S('<polygon points="5 3 19 12 5 21 5 3"/>'),
|
|
108
|
+
pause: S('<rect x="6" y="4" width="4" height="16"/><rect x="14" y="4" width="4" height="16"/>'),
|
|
109
|
+
'grip-vertical': S('<circle cx="9" cy="5" r="1"/><circle cx="9" cy="12" r="1"/><circle cx="9" cy="19" r="1"/><circle cx="15" cy="5" r="1"/><circle cx="15" cy="12" r="1"/><circle cx="15" cy="19" r="1"/>'),
|
|
110
|
+
crop: S('<path d="M6.13 1L6 16a2 2 0 0 0 2 2h15"/><path d="M1 6.13L16 6a2 2 0 0 1 2 2v15"/>'),
|
|
111
|
+
'book-open': S('<path d="M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z"/><path d="M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z"/>'),
|
|
112
|
+
utensils: S('<path d="M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2"/><path d="M7 2v20"/><path d="M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3zm0 0v7"/>'),
|
|
113
|
+
award: S('<circle cx="12" cy="8" r="7"/><polyline points="8.21 13.89 7 23 12 20 17 23 15.79 13.88"/>'),
|
|
114
|
+
briefcase: S('<rect x="2" y="7" width="20" height="14" rx="2" ry="2"/><path d="M16 21V5a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v16"/>'),
|
|
115
|
+
store: S('<path d="M3 9l1.5-6h15L21 9"/><path d="M3 9h18v2a3 3 0 0 1-6 0 3 3 0 0 1-6 0 3 3 0 0 1-6 0z"/><path d="M5 13v8h14v-8"/><path d="M9 21v-5h6v5"/>'),
|
|
116
|
+
'check-square': S('<polyline points="9 11 12 14 22 4"/><path d="M21 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"/>'),
|
|
117
|
+
square: S('<rect x="3" y="3" width="18" height="18" rx="2" ry="2"/>'),
|
|
118
|
+
circle: S('<circle cx="12" cy="12" r="10"/>'),
|
|
119
|
+
'circle-dot': S('<circle cx="12" cy="12" r="10"/><circle cx="12" cy="12" r="4" fill="currentColor" stroke="none"/>'),
|
|
120
|
+
'toggle-right': S('<rect x="1" y="5" width="22" height="14" rx="7" ry="7"/><circle cx="16" cy="12" r="3"/>'),
|
|
121
|
+
'swap-vertical': S('<polyline points="4 8 8 4 12 8"/><line x1="8" y1="4" x2="8" y2="20"/><polyline points="20 16 16 20 12 16"/><line x1="16" y1="20" x2="16" y2="4"/>'),
|
|
122
|
+
hourglass: S('<path d="M6 2h12v4l-5 5v2l5 5v4H6v-4l5-5v-2L6 6z"/>'),
|
|
123
|
+
ban: S('<circle cx="12" cy="12" r="10"/><line x1="4.93" y1="4.93" x2="19.07" y2="19.07"/>'),
|
|
124
|
+
'search-off': S('<circle cx="11" cy="11" r="8"/><line x1="21" y1="21" x2="16.65" y2="16.65"/><line x1="8" y1="8" x2="14" y2="14"/><line x1="14" y1="8" x2="8" y2="14"/>'),
|
|
125
|
+
'bell-off': S('<path d="M13.73 21a2 2 0 0 1-3.46 0"/><path d="M18.63 13A17.89 17.89 0 0 1 18 8"/><path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14"/><path d="M18 8a6 6 0 0 0-9.33-5"/><line x1="1" y1="1" x2="23" y2="23"/>'),
|
|
126
|
+
megaphone: S('<path d="M3 11l18-7v18l-18-7z"/><path d="M11.6 16.8a3 3 0 1 1-5.8-1.6"/>'),
|
|
127
|
+
percent: S('<line x1="19" y1="5" x2="5" y2="19"/><circle cx="6.5" cy="6.5" r="2.5"/><circle cx="17.5" cy="17.5" r="2.5"/>'),
|
|
128
|
+
leaf: S('<path d="M11 20A7 7 0 0 1 9.8 6.1C15.5 5 17 4.48 19 2c1 2 2 4.18 2 8 0 5.5-4.78 10-10 10z"/><path d="M2 21c0-3 1.85-5.36 5.08-6C9.5 14.52 12 13 13 12"/>'),
|
|
129
|
+
droplet: S('<path d="M12 2.69l5.66 5.66a8 8 0 1 1-11.31 0z"/>'),
|
|
130
|
+
banknote: S('<rect x="2" y="6" width="20" height="12" rx="2"/><circle cx="12" cy="12" r="2.5"/><path d="M6 12h.01M18 12h.01"/>'),
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
/**
|
|
134
|
+
* IconRegistry — the name → SVG store behind `<mk-icon name="…">`. The built-in
|
|
135
|
+
* {@link MK_DEFAULT_ICONS} set is registered on construction; add your own SVGs
|
|
136
|
+
* (from a sprite, a design export, anything) with {@link register} /
|
|
137
|
+
* {@link registerIcons}.
|
|
138
|
+
*
|
|
139
|
+
* SVG markup is trusted verbatim (bypassed through `DomSanitizer`), so only
|
|
140
|
+
* register icons from sources you control — never user input.
|
|
141
|
+
*
|
|
142
|
+
* ```ts
|
|
143
|
+
* const reg = inject(MkIconRegistry);
|
|
144
|
+
* reg.register('logo', '<svg viewBox="0 0 24 24">…</svg>');
|
|
145
|
+
* reg.registerIcons({ save: '<svg…>', share: '<svg…>' });
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
class MkIconRegistry {
|
|
149
|
+
sanitizer = inject(DomSanitizer);
|
|
150
|
+
icons = new Map();
|
|
151
|
+
aliases = new Map();
|
|
152
|
+
constructor() {
|
|
153
|
+
this.registerIcons(MK_DEFAULT_ICONS);
|
|
154
|
+
}
|
|
155
|
+
/** Register (or overwrite) a single named icon from raw SVG markup. */
|
|
156
|
+
register(name, svg) {
|
|
157
|
+
this.icons.set(name, this.sanitizer.bypassSecurityTrustHtml(svg));
|
|
158
|
+
return this;
|
|
159
|
+
}
|
|
160
|
+
/** Register many icons at once from a `{ name: svg }` map. */
|
|
161
|
+
registerIcons(icons) {
|
|
162
|
+
for (const [name, svg] of Object.entries(icons))
|
|
163
|
+
this.register(name, svg);
|
|
164
|
+
return this;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Register alternative names that resolve to existing icons — e.g. map
|
|
168
|
+
* Material Symbols ligature names onto the built-in set
|
|
169
|
+
* (`{ delete: 'trash', expand_more: 'chevron-down' }`). A real icon
|
|
170
|
+
* registered under an alias name always wins over the alias.
|
|
171
|
+
*/
|
|
172
|
+
registerAliases(aliases) {
|
|
173
|
+
for (const [alias, target] of Object.entries(aliases)) {
|
|
174
|
+
this.aliases.set(alias, target);
|
|
175
|
+
}
|
|
176
|
+
return this;
|
|
177
|
+
}
|
|
178
|
+
/** Sanitized SVG for a name (aliases resolved), or `null` when unknown. */
|
|
179
|
+
get(name) {
|
|
180
|
+
return this.icons.get(name) ?? this.icons.get(this.aliases.get(name) ?? '') ?? null;
|
|
181
|
+
}
|
|
182
|
+
/** Whether an icon with this name (or alias) is registered. */
|
|
183
|
+
has(name) {
|
|
184
|
+
return this.icons.has(name) || this.icons.has(this.aliases.get(name) ?? '');
|
|
185
|
+
}
|
|
186
|
+
/** All registered icon names (useful for a picker / catalogue). */
|
|
187
|
+
names() {
|
|
188
|
+
return [...this.icons.keys()];
|
|
189
|
+
}
|
|
190
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
191
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkIconRegistry, providedIn: 'root' });
|
|
192
|
+
}
|
|
193
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkIconRegistry, decorators: [{
|
|
194
|
+
type: Injectable,
|
|
195
|
+
args: [{ providedIn: 'root' }]
|
|
196
|
+
}], ctorParameters: () => [] });
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Icon — renders a registered SVG by `name`, or your own projected `<svg>`.
|
|
200
|
+
* The glyph inherits the current text colour (`currentColor`) and scales to the
|
|
201
|
+
* `size` box, so it composes cleanly inside buttons, inputs and menus.
|
|
202
|
+
*
|
|
203
|
+
* Decorative by default (`aria-hidden`); pass `label` to expose it as an image
|
|
204
|
+
* to assistive tech.
|
|
205
|
+
*
|
|
206
|
+
* ```html
|
|
207
|
+
* <mk-icon name="search" />
|
|
208
|
+
* <mk-icon name="trash" size="lg" label="Delete" />
|
|
209
|
+
* <button mkButton iconOnly aria-label="Menu"><mk-icon name="menu" /></button>
|
|
210
|
+
* <mk-icon><svg viewBox="0 0 24 24">…custom…</svg></mk-icon>
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
class MkIcon {
|
|
214
|
+
registry = inject(MkIconRegistry);
|
|
215
|
+
/** Name of a registered icon (see {@link MkIconRegistry}). */
|
|
216
|
+
name = input('', /* @ts-ignore */
|
|
217
|
+
...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
|
|
218
|
+
/** Size: `sm`/`md`/`lg`, or a pixel number for a custom dimension. */
|
|
219
|
+
size = input('md', /* @ts-ignore */
|
|
220
|
+
...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
|
|
221
|
+
/** Accessible name. When set the icon becomes `role="img"`; otherwise hidden. */
|
|
222
|
+
label = input('', /* @ts-ignore */
|
|
223
|
+
...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
|
|
224
|
+
/** CSS length for the icon box (width = height = font-size). */
|
|
225
|
+
dimension = computed(() => {
|
|
226
|
+
const s = this.size();
|
|
227
|
+
if (typeof s === 'number')
|
|
228
|
+
return `${s}px`;
|
|
229
|
+
return s === 'sm' ? '1rem' : s === 'lg' ? '1.5rem' : '1.25rem';
|
|
230
|
+
}, /* @ts-ignore */
|
|
231
|
+
...(ngDevMode ? [{ debugName: "dimension" }] : /* istanbul ignore next */ []));
|
|
232
|
+
/** Sanitized SVG for the named icon, or `null` (falls back to projection). */
|
|
233
|
+
svg = computed(() => this.name() ? this.registry.get(this.name()) : null, /* @ts-ignore */
|
|
234
|
+
...(ngDevMode ? [{ debugName: "svg" }] : /* istanbul ignore next */ []));
|
|
235
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkIcon, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
236
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.0.7", type: MkIcon, isStandalone: true, selector: "mk-icon", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style.width": "dimension()", "style.height": "dimension()", "style.fontSize": "dimension()", "attr.role": "label() ? 'img' : null", "attr.aria-label": "label() || null", "attr.aria-hidden": "label() ? null : \"true\"" }, classAttribute: "mk-icon" }, ngImport: i0, template: "@if (svg()) {\n <span class=\"mk-icon__svg\" [innerHTML]=\"svg()\"></span>\n} @else {\n <ng-content />\n}\n", styles: ["@charset \"UTF-8\";.mk-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;color:inherit;vertical-align:middle}.mk-icon__svg{display:inline-flex;width:100%;height:100%}.mk-icon svg{display:block;width:100%;height:100%}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
237
|
+
}
|
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: MkIcon, decorators: [{
|
|
239
|
+
type: Component,
|
|
240
|
+
args: [{ selector: 'mk-icon', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
241
|
+
class: 'mk-icon',
|
|
242
|
+
'[style.width]': 'dimension()',
|
|
243
|
+
'[style.height]': 'dimension()',
|
|
244
|
+
'[style.fontSize]': 'dimension()',
|
|
245
|
+
'[attr.role]': "label() ? 'img' : null",
|
|
246
|
+
'[attr.aria-label]': 'label() || null',
|
|
247
|
+
'[attr.aria-hidden]': 'label() ? null : "true"',
|
|
248
|
+
}, template: "@if (svg()) {\n <span class=\"mk-icon__svg\" [innerHTML]=\"svg()\"></span>\n} @else {\n <ng-content />\n}\n", styles: ["@charset \"UTF-8\";.mk-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;line-height:0;color:inherit;vertical-align:middle}.mk-icon__svg{display:inline-flex;width:100%;height:100%}.mk-icon svg{display:block;width:100%;height:100%}\n"] }]
|
|
249
|
+
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }] } });
|
|
250
|
+
|
|
251
|
+
/**
|
|
252
|
+
* Material Symbols ligature names → built-in mk icon names. Lets templates
|
|
253
|
+
* written against `<mat-icon>delete</mat-icon>` conventions keep their icon
|
|
254
|
+
* names when migrating: `<mk-icon name="delete" />` renders the `trash`
|
|
255
|
+
* glyph once {@link provideMkMaterialIcons} is installed.
|
|
256
|
+
*
|
|
257
|
+
* Several Material names intentionally collapse onto one mk glyph (all the
|
|
258
|
+
* calendar variants → `calendar`, the delete variants → `trash`, …). Names
|
|
259
|
+
* not listed here have no sensible built-in equivalent — register your own
|
|
260
|
+
* SVG under the Material name via `MkIconRegistry.register`.
|
|
261
|
+
*/
|
|
262
|
+
const MK_MATERIAL_ICON_ALIASES = {
|
|
263
|
+
account_balance: 'briefcase',
|
|
264
|
+
account_circle: 'user',
|
|
265
|
+
add: 'plus',
|
|
266
|
+
add_photo_alternate: 'image',
|
|
267
|
+
add_shopping_cart: 'shopping-cart',
|
|
268
|
+
admin_panel_settings: 'shield-check',
|
|
269
|
+
ads_click: 'megaphone',
|
|
270
|
+
analytics: 'chart-bar',
|
|
271
|
+
arrow_back: 'arrow-left',
|
|
272
|
+
arrow_downward: 'arrow-down',
|
|
273
|
+
arrow_forward: 'arrow-right',
|
|
274
|
+
arrow_upward: 'arrow-up',
|
|
275
|
+
article: 'file-text',
|
|
276
|
+
badge: 'tag',
|
|
277
|
+
bar_chart: 'chart-bar',
|
|
278
|
+
block: 'ban',
|
|
279
|
+
business: 'briefcase',
|
|
280
|
+
cable: 'link',
|
|
281
|
+
cached: 'refresh',
|
|
282
|
+
calendar_month: 'calendar',
|
|
283
|
+
calendar_today: 'calendar',
|
|
284
|
+
calendar_view_month: 'calendar',
|
|
285
|
+
calendar_view_week: 'calendar',
|
|
286
|
+
campaign: 'megaphone',
|
|
287
|
+
cancel: 'error',
|
|
288
|
+
card_giftcard: 'gift',
|
|
289
|
+
category: 'grid',
|
|
290
|
+
check: 'check',
|
|
291
|
+
check_box: 'check-square',
|
|
292
|
+
check_box_outline_blank: 'square',
|
|
293
|
+
check_circle: 'success',
|
|
294
|
+
chevron_left: 'chevron-left',
|
|
295
|
+
chevron_right: 'chevron-right',
|
|
296
|
+
close: 'close',
|
|
297
|
+
cloud: 'cloud',
|
|
298
|
+
cloud_upload: 'cloud-upload',
|
|
299
|
+
code: 'code',
|
|
300
|
+
content_copy: 'copy',
|
|
301
|
+
credit_card: 'credit-card',
|
|
302
|
+
crop: 'crop',
|
|
303
|
+
dark_mode: 'moon',
|
|
304
|
+
dashboard: 'dashboard',
|
|
305
|
+
date_range: 'calendar',
|
|
306
|
+
delete: 'trash',
|
|
307
|
+
delete_forever: 'trash',
|
|
308
|
+
delete_sweep: 'trash',
|
|
309
|
+
description: 'file-text',
|
|
310
|
+
directions_car: 'truck',
|
|
311
|
+
dns: 'database',
|
|
312
|
+
download: 'download',
|
|
313
|
+
drag_indicator: 'grip-vertical',
|
|
314
|
+
drive_file_move: 'folder',
|
|
315
|
+
eco: 'leaf',
|
|
316
|
+
edit: 'edit',
|
|
317
|
+
egg: 'circle',
|
|
318
|
+
email: 'mail',
|
|
319
|
+
error: 'error',
|
|
320
|
+
error_outline: 'error',
|
|
321
|
+
event: 'calendar',
|
|
322
|
+
event_available: 'calendar',
|
|
323
|
+
event_busy: 'calendar',
|
|
324
|
+
event_seat: 'users',
|
|
325
|
+
expand_less: 'chevron-up',
|
|
326
|
+
expand_more: 'chevron-down',
|
|
327
|
+
extension: 'package',
|
|
328
|
+
favorite: 'heart',
|
|
329
|
+
gavel: 'briefcase',
|
|
330
|
+
grain: 'leaf',
|
|
331
|
+
grass: 'leaf',
|
|
332
|
+
grid_view: 'grid',
|
|
333
|
+
group: 'users',
|
|
334
|
+
groups: 'users',
|
|
335
|
+
hide_image: 'eye-off',
|
|
336
|
+
history: 'history',
|
|
337
|
+
home: 'home',
|
|
338
|
+
hourglass_empty: 'hourglass',
|
|
339
|
+
hourglass_top: 'hourglass',
|
|
340
|
+
how_to_reg: 'user-check',
|
|
341
|
+
image: 'image',
|
|
342
|
+
info: 'info',
|
|
343
|
+
inventory: 'package',
|
|
344
|
+
key: 'key',
|
|
345
|
+
label: 'tag',
|
|
346
|
+
language: 'globe',
|
|
347
|
+
light_mode: 'sun',
|
|
348
|
+
link: 'link',
|
|
349
|
+
link_off: 'link-off',
|
|
350
|
+
list_alt: 'file-text',
|
|
351
|
+
local_florist: 'leaf',
|
|
352
|
+
local_offer: 'tag',
|
|
353
|
+
local_shipping: 'truck',
|
|
354
|
+
location_on: 'map-pin',
|
|
355
|
+
lock: 'lock',
|
|
356
|
+
lock_open: 'unlock',
|
|
357
|
+
lock_outline: 'lock',
|
|
358
|
+
lock_reset: 'key',
|
|
359
|
+
login: 'log-in',
|
|
360
|
+
logout: 'log-out',
|
|
361
|
+
lunch_dining: 'utensils',
|
|
362
|
+
mail: 'mail',
|
|
363
|
+
map: 'map',
|
|
364
|
+
mark_email_read: 'mail',
|
|
365
|
+
mark_email_unread: 'mail',
|
|
366
|
+
masks: 'shield',
|
|
367
|
+
memory: 'database',
|
|
368
|
+
menu: 'menu',
|
|
369
|
+
menu_book: 'book-open',
|
|
370
|
+
monitor_heart: 'activity',
|
|
371
|
+
my_location: 'map-pin',
|
|
372
|
+
notes: 'file-text',
|
|
373
|
+
notifications: 'bell',
|
|
374
|
+
notifications_none: 'bell',
|
|
375
|
+
nutrition: 'utensils',
|
|
376
|
+
open_in_new: 'external-link',
|
|
377
|
+
palette: 'palette',
|
|
378
|
+
pause: 'pause',
|
|
379
|
+
pause_circle: 'pause',
|
|
380
|
+
payment: 'credit-card',
|
|
381
|
+
payments: 'banknote',
|
|
382
|
+
pending: 'clock',
|
|
383
|
+
people: 'users',
|
|
384
|
+
person: 'user',
|
|
385
|
+
person_add: 'user-plus',
|
|
386
|
+
person_off: 'user-x',
|
|
387
|
+
person_raised_hand: 'user',
|
|
388
|
+
phone: 'phone',
|
|
389
|
+
photo_library: 'image',
|
|
390
|
+
place: 'map-pin',
|
|
391
|
+
play_circle: 'play',
|
|
392
|
+
point_of_sale: 'banknote',
|
|
393
|
+
print: 'printer',
|
|
394
|
+
public: 'globe',
|
|
395
|
+
qr_code_scanner: 'qr-code',
|
|
396
|
+
radio_button_checked: 'circle-dot',
|
|
397
|
+
radio_button_unchecked: 'circle',
|
|
398
|
+
receipt_long: 'file-text',
|
|
399
|
+
refresh: 'refresh',
|
|
400
|
+
remove: 'minus',
|
|
401
|
+
remove_shopping_cart: 'shopping-cart',
|
|
402
|
+
reorder: 'grip-vertical',
|
|
403
|
+
replay: 'refresh',
|
|
404
|
+
reply: 'undo',
|
|
405
|
+
restart_alt: 'refresh',
|
|
406
|
+
restaurant: 'utensils',
|
|
407
|
+
restaurant_menu: 'book-open',
|
|
408
|
+
reviews: 'star',
|
|
409
|
+
save: 'save',
|
|
410
|
+
schedule: 'clock',
|
|
411
|
+
schedule_off: 'clock',
|
|
412
|
+
search: 'search',
|
|
413
|
+
search_off: 'search-off',
|
|
414
|
+
security: 'shield',
|
|
415
|
+
send: 'send',
|
|
416
|
+
set_meal: 'utensils',
|
|
417
|
+
settings: 'settings',
|
|
418
|
+
share: 'share',
|
|
419
|
+
shield: 'shield',
|
|
420
|
+
shopping_bag: 'shopping-bag',
|
|
421
|
+
shopping_cart: 'shopping-cart',
|
|
422
|
+
spa: 'leaf',
|
|
423
|
+
star: 'star',
|
|
424
|
+
storage: 'database',
|
|
425
|
+
storefront: 'store',
|
|
426
|
+
straighten: 'sliders',
|
|
427
|
+
swap_vert: 'swap-vertical',
|
|
428
|
+
sync: 'refresh',
|
|
429
|
+
table_restaurant: 'grid',
|
|
430
|
+
table_rows: 'rows',
|
|
431
|
+
task_alt: 'success',
|
|
432
|
+
theater_comedy: 'users',
|
|
433
|
+
today: 'calendar',
|
|
434
|
+
toggle_on: 'toggle-right',
|
|
435
|
+
translate: 'globe',
|
|
436
|
+
trending_up: 'trending-up',
|
|
437
|
+
tune: 'sliders',
|
|
438
|
+
undo: 'undo',
|
|
439
|
+
upload_file: 'upload',
|
|
440
|
+
verified: 'shield-check',
|
|
441
|
+
view_kanban: 'kanban',
|
|
442
|
+
visibility: 'eye',
|
|
443
|
+
visibility_off: 'eye-off',
|
|
444
|
+
warning: 'warning',
|
|
445
|
+
water_drop: 'droplet',
|
|
446
|
+
web: 'globe',
|
|
447
|
+
workspace_premium: 'award',
|
|
448
|
+
};
|
|
449
|
+
/**
|
|
450
|
+
* Installs the Material Symbols name aliases into the {@link MkIconRegistry},
|
|
451
|
+
* so `<mk-icon name="delete" />`, `name="expand_more"`, `name="visibility"`
|
|
452
|
+
* etc. resolve to the built-in set. Add it to your bootstrap providers when
|
|
453
|
+
* migrating an app off `<mat-icon>` ligatures:
|
|
454
|
+
*
|
|
455
|
+
* ```ts
|
|
456
|
+
* bootstrapApplication(App, {
|
|
457
|
+
* providers: [provideMkMaterialIcons()],
|
|
458
|
+
* });
|
|
459
|
+
* ```
|
|
460
|
+
*/
|
|
461
|
+
function provideMkMaterialIcons() {
|
|
462
|
+
return provideEnvironmentInitializer(() => inject(MkIconRegistry).registerAliases(MK_MATERIAL_ICON_ALIASES));
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
/**
|
|
466
|
+
* Generated bundle index. Do not edit.
|
|
467
|
+
*/
|
|
468
|
+
|
|
469
|
+
export { MK_DEFAULT_ICONS, MK_MATERIAL_ICON_ALIASES, MkIcon, MkIconRegistry, provideMkMaterialIcons };
|
|
470
|
+
//# sourceMappingURL=mk-kit-ui-icon.mjs.map
|