@haiilo/catalyst 0.5.12 → 0.6.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 (104) hide show
  1. package/dist/catalyst/catalyst.css +7 -1
  2. package/dist/catalyst/catalyst.esm.js +1 -1
  3. package/dist/catalyst/catalyst.esm.js.map +1 -1
  4. package/dist/catalyst/index.esm.js +1 -1
  5. package/dist/catalyst/{p-e82b63e9.js → p-12486027.js} +2 -2
  6. package/dist/catalyst/{p-e82b63e9.js.map → p-12486027.js.map} +1 -1
  7. package/dist/catalyst/p-2ec5c87a.js +2 -0
  8. package/dist/catalyst/p-2ec5c87a.js.map +1 -0
  9. package/dist/catalyst/p-6a5f0d4a.entry.js +10 -0
  10. package/dist/catalyst/p-6a5f0d4a.entry.js.map +1 -0
  11. package/dist/catalyst/p-7c06183a.js +2 -0
  12. package/dist/catalyst/p-7c06183a.js.map +1 -0
  13. package/dist/catalyst/p-a8629c54.entry.js +2 -0
  14. package/dist/catalyst/p-a8629c54.entry.js.map +1 -0
  15. package/dist/catalyst/p-c7f3b231.js +10 -0
  16. package/dist/catalyst/p-c7f3b231.js.map +1 -0
  17. package/dist/cjs/{app-globals-2a30d681.js → app-globals-aa29ad72.js} +2 -2
  18. package/dist/cjs/{app-globals-2a30d681.js.map → app-globals-aa29ad72.js.map} +1 -1
  19. package/dist/cjs/{cat-alert_15.cjs.entry.js → cat-alert_16.cjs.entry.js} +161 -111
  20. package/dist/cjs/cat-alert_16.cjs.entry.js.map +1 -0
  21. package/dist/cjs/cat-icon-registry-49b11b51.js +131 -0
  22. package/dist/cjs/cat-icon-registry-49b11b51.js.map +1 -0
  23. package/dist/cjs/cat-notification-156f4cf5.js +552 -0
  24. package/dist/cjs/cat-notification-156f4cf5.js.map +1 -0
  25. package/dist/cjs/cat-textarea.cjs.entry.js +91 -0
  26. package/dist/cjs/cat-textarea.cjs.entry.js.map +1 -0
  27. package/dist/cjs/catalyst.cjs.js +4 -3
  28. package/dist/cjs/catalyst.cjs.js.map +1 -1
  29. package/dist/cjs/index.cjs.js +4 -1
  30. package/dist/cjs/index.cjs.js.map +1 -1
  31. package/dist/cjs/loader.cjs.js +4 -3
  32. package/dist/cjs/loader.cjs.js.map +1 -1
  33. package/dist/cjs/{cat-icon-registry-b3a95a6b.js → loglevel-c9b2d01f.js} +3 -126
  34. package/dist/cjs/loglevel-c9b2d01f.js.map +1 -0
  35. package/dist/collection/collection-manifest.json +2 -0
  36. package/dist/collection/components/cat-avatar/cat-avatar.css +81 -0
  37. package/dist/collection/components/cat-avatar/cat-avatar.js +225 -0
  38. package/dist/collection/components/cat-avatar/cat-avatar.js.map +1 -0
  39. package/dist/collection/components/cat-badge/cat-badge.css +5 -5
  40. package/dist/collection/components/cat-button/cat-button.js +8 -8
  41. package/dist/collection/components/cat-button/cat-button.js.map +1 -1
  42. package/dist/collection/components/cat-notification/cat-notification.js +106 -0
  43. package/dist/collection/components/cat-notification/cat-notification.js.map +1 -0
  44. package/dist/collection/components/cat-scrollable/cat-scrollable.js +44 -44
  45. package/dist/collection/components/cat-scrollable/cat-scrollable.js.map +1 -1
  46. package/dist/collection/components/cat-toast-demo/cat-toast-demo.css +3 -0
  47. package/dist/collection/components/cat-toast-demo/cat-toast-demo.js +51 -0
  48. package/dist/collection/components/cat-toast-demo/cat-toast-demo.js.map +1 -0
  49. package/dist/collection/index.js +1 -0
  50. package/dist/collection/index.js.map +1 -1
  51. package/dist/collection/utils/load-img.js +16 -0
  52. package/dist/collection/utils/load-img.js.map +1 -0
  53. package/dist/components/cat-avatar.d.ts +11 -0
  54. package/dist/components/cat-avatar.js +125 -0
  55. package/dist/components/cat-avatar.js.map +1 -0
  56. package/dist/components/cat-badge.js +1 -1
  57. package/dist/components/cat-badge.js.map +1 -1
  58. package/dist/components/cat-button2.js +5 -5
  59. package/dist/components/cat-button2.js.map +1 -1
  60. package/dist/components/cat-notification.js +550 -0
  61. package/dist/components/cat-notification.js.map +1 -0
  62. package/dist/components/cat-scrollable.js +23 -23
  63. package/dist/components/cat-scrollable.js.map +1 -1
  64. package/dist/components/cat-toast-demo.d.ts +11 -0
  65. package/dist/components/cat-toast-demo.js +84 -0
  66. package/dist/components/cat-toast-demo.js.map +1 -0
  67. package/dist/components/index.js +1 -0
  68. package/dist/components/index.js.map +1 -1
  69. package/dist/components/loglevel.js +1 -1
  70. package/dist/esm/{app-globals-77cd8c8e.js → app-globals-cf55f7f5.js} +2 -2
  71. package/dist/esm/{app-globals-77cd8c8e.js.map → app-globals-cf55f7f5.js.map} +1 -1
  72. package/dist/esm/{cat-alert_15.entry.js → cat-alert_16.entry.js} +154 -105
  73. package/dist/esm/cat-alert_16.entry.js.map +1 -0
  74. package/dist/esm/cat-icon-registry-3ea75755.js +128 -0
  75. package/dist/esm/cat-icon-registry-3ea75755.js.map +1 -0
  76. package/dist/esm/cat-notification-cd98c266.js +550 -0
  77. package/dist/esm/cat-notification-cd98c266.js.map +1 -0
  78. package/dist/esm/cat-textarea.entry.js +87 -0
  79. package/dist/esm/cat-textarea.entry.js.map +1 -0
  80. package/dist/esm/catalyst.js +4 -3
  81. package/dist/esm/catalyst.js.map +1 -1
  82. package/dist/esm/index.js +3 -1
  83. package/dist/esm/index.js.map +1 -1
  84. package/dist/esm/loader.js +4 -3
  85. package/dist/esm/loader.js.map +1 -1
  86. package/dist/esm/{cat-icon-registry-a7acd6f7.js → loglevel-39a9e3f9.js} +2 -125
  87. package/dist/esm/loglevel-39a9e3f9.js.map +1 -0
  88. package/dist/types/components/cat-avatar/cat-avatar.d.ts +46 -0
  89. package/dist/types/components/cat-button/cat-button.d.ts +2 -2
  90. package/dist/types/components/cat-notification/cat-notification.d.ts +51 -0
  91. package/dist/types/components/cat-scrollable/cat-scrollable.d.ts +12 -12
  92. package/dist/types/components/cat-toast-demo/cat-toast-demo.d.ts +9 -0
  93. package/dist/types/components.d.ts +134 -44
  94. package/dist/types/index.d.ts +1 -0
  95. package/dist/types/utils/load-img.d.ts +8 -0
  96. package/package.json +5 -3
  97. package/dist/catalyst/p-9a3c2375.js +0 -2
  98. package/dist/catalyst/p-9a3c2375.js.map +0 -1
  99. package/dist/catalyst/p-a6b8ebe9.entry.js +0 -10
  100. package/dist/catalyst/p-a6b8ebe9.entry.js.map +0 -1
  101. package/dist/cjs/cat-alert_15.cjs.entry.js.map +0 -1
  102. package/dist/cjs/cat-icon-registry-b3a95a6b.js.map +0 -1
  103. package/dist/esm/cat-alert_15.entry.js.map +0 -1
  104. package/dist/esm/cat-icon-registry-a7acd6f7.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ export declare enum TypeIcons {
2
+ 'success' = "check-circle-filled",
3
+ 'error' = "sparkle-filled",
4
+ 'info' = "sparkle-filled"
5
+ }
6
+ export declare const ToastPositions: {
7
+ [key: string]: {
8
+ gravity: 'top' | 'bottom';
9
+ position: 'left' | 'center' | 'right';
10
+ };
11
+ };
12
+ export interface ToastPosition {
13
+ gravity: 'top' | 'bottom';
14
+ position: 'left' | 'center' | 'right';
15
+ }
16
+ export interface ToastOptions {
17
+ /**
18
+ * HTML content of the toast
19
+ */
20
+ content: Node;
21
+ /**
22
+ * Show close button
23
+ */
24
+ close: boolean;
25
+ /**
26
+ * Toast position
27
+ */
28
+ position: 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
29
+ /**
30
+ * Type of toast
31
+ */
32
+ type: 'success' | 'info' | 'error';
33
+ /**
34
+ * Invoked when the toast is clicked
35
+ */
36
+ onClick: () => void;
37
+ /**
38
+ * Toggle the default behavior of escaping HTML markup
39
+ */
40
+ escapeMarkup: boolean;
41
+ }
42
+ declare class CatNotificationService {
43
+ private static DURATION;
44
+ toastHTMLTemplate(title: string, message?: string, options?: Partial<ToastOptions>): HTMLElement;
45
+ error(title: string, message?: string, options?: Partial<ToastOptions>): void;
46
+ success(title: string, message?: string, options?: Partial<ToastOptions>): void;
47
+ info(title: string, message?: string, options?: Partial<ToastOptions>): void;
48
+ private getPosition;
49
+ }
50
+ export declare const NotificationsService: CatNotificationService;
51
+ export {};
@@ -8,20 +8,20 @@ export declare class CatScrollable {
8
8
  private readonly init;
9
9
  private readonly destroyed;
10
10
  private scrolled;
11
- /** Flags to enable/disable scroll shadowX. */
12
- shadowX: boolean;
13
- /** Flags to enable/disable scroll shadowY. */
14
- shadowY: boolean;
15
- /** Flags to enable/disable overflowX. */
16
- overflowX: boolean;
17
- /** Flags to enable/disable overflowY. */
18
- overflowY: boolean;
19
- /** Flag to enable/disable overscroll behavior. */
20
- overscroll: boolean;
11
+ /** Flags to disable/enable scroll shadowX. */
12
+ noShadowX: boolean;
13
+ /** Flags to disable/enable scroll shadowY. */
14
+ noShadowY: boolean;
15
+ /** Flags to disable/enable overflowX. */
16
+ noOverflowX: boolean;
17
+ /** Flags to disable/enable overflowY. */
18
+ noOverflowY: boolean;
19
+ /** Flag to disable/enable overscroll behavior. */
20
+ noOverscroll: boolean;
21
21
  /**
22
- * Flag to fire an initial event after content initialization.
22
+ * Flag to not fire an initial event after content initialization.
23
23
  */
24
- scrolledInit: boolean;
24
+ noScrolledInit: boolean;
25
25
  /**
26
26
  * Buffer to be used to calculate the scroll distance.
27
27
  */
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Toast Component Demo
3
+ *
4
+ * @part toast - The content of the toast.
5
+ */
6
+ export declare class CatToastDemo {
7
+ render(): any;
8
+ private onClick;
9
+ }
@@ -14,6 +14,40 @@ export namespace Components {
14
14
  */
15
15
  "color": 'primary' | 'secondary' | 'danger' | 'success' | 'warning';
16
16
  }
17
+ interface CatAvatar {
18
+ /**
19
+ * An icon to be used instead of the initials.
20
+ */
21
+ "icon"?: string;
22
+ /**
23
+ * Custom initials for the avatar.
24
+ */
25
+ "initials"?: string;
26
+ /**
27
+ * The label of the avatar.
28
+ */
29
+ "label": string;
30
+ /**
31
+ * Use round avatar edges.
32
+ */
33
+ "round": boolean;
34
+ /**
35
+ * The size of the avatar.
36
+ */
37
+ "size": 'xs' | 's' | 'm' | 'l' | 'xl';
38
+ /**
39
+ * An optional avatar image.
40
+ */
41
+ "src"?: string;
42
+ /**
43
+ * A destination to link to, rendered in the href attribute of a link.
44
+ */
45
+ "url"?: string;
46
+ /**
47
+ * Specifies where to open the linked document.
48
+ */
49
+ "urlTarget"?: '_blank' | '_self';
50
+ }
17
51
  interface CatBadge {
18
52
  /**
19
53
  * The color palette of the badge.
@@ -57,10 +91,6 @@ export namespace Components {
57
91
  * Specifies that the button should be disabled. A disabled button is unusable and un-clickable. Corresponds with the native HTML disabled attribute.
58
92
  */
59
93
  "disabled": boolean;
60
- /**
61
- * Ellipse overflowing button content.
62
- */
63
- "ellipsed": boolean;
64
94
  /**
65
95
  * The name of an icon to be displayed in the button.
66
96
  */
@@ -81,6 +111,10 @@ export namespace Components {
81
111
  * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute.
82
112
  */
83
113
  "name"?: string;
114
+ /**
115
+ * Disables ellipse overflowing button content.
116
+ */
117
+ "noEllipsis": boolean;
84
118
  /**
85
119
  * Use round button edges.
86
120
  */
@@ -308,33 +342,33 @@ export namespace Components {
308
342
  }
309
343
  interface CatScrollable {
310
344
  /**
311
- * Flags to enable/disable overflowX.
345
+ * Flags to disable/enable overflowX.
312
346
  */
313
- "overflowX": boolean;
347
+ "noOverflowX": boolean;
314
348
  /**
315
- * Flags to enable/disable overflowY.
349
+ * Flags to disable/enable overflowY.
316
350
  */
317
- "overflowY": boolean;
351
+ "noOverflowY": boolean;
318
352
  /**
319
- * Flag to enable/disable overscroll behavior.
353
+ * Flag to disable/enable overscroll behavior.
320
354
  */
321
- "overscroll": boolean;
355
+ "noOverscroll": boolean;
322
356
  /**
323
- * Buffer to be used to calculate the scroll distance.
357
+ * Flag to not fire an initial event after content initialization.
324
358
  */
325
- "scrolledBuffer": number;
359
+ "noScrolledInit": boolean;
326
360
  /**
327
- * Flag to fire an initial event after content initialization.
361
+ * Flags to disable/enable scroll shadowX.
328
362
  */
329
- "scrolledInit": boolean;
363
+ "noShadowX": boolean;
330
364
  /**
331
- * Flags to enable/disable scroll shadowX.
365
+ * Flags to disable/enable scroll shadowY.
332
366
  */
333
- "shadowX": boolean;
367
+ "noShadowY": boolean;
334
368
  /**
335
- * Flags to enable/disable scroll shadowY.
369
+ * Buffer to be used to calculate the scroll distance.
336
370
  */
337
- "shadowY": boolean;
371
+ "scrolledBuffer": number;
338
372
  }
339
373
  interface CatSkeleton {
340
374
  /**
@@ -419,6 +453,8 @@ export namespace Components {
419
453
  */
420
454
  "value"?: string | number;
421
455
  }
456
+ interface CatToastDemo {
457
+ }
422
458
  interface CatToggle {
423
459
  /**
424
460
  * Checked state of the toggle.
@@ -488,6 +524,12 @@ declare global {
488
524
  prototype: HTMLCatAlertElement;
489
525
  new (): HTMLCatAlertElement;
490
526
  };
527
+ interface HTMLCatAvatarElement extends Components.CatAvatar, HTMLStencilElement {
528
+ }
529
+ var HTMLCatAvatarElement: {
530
+ prototype: HTMLCatAvatarElement;
531
+ new (): HTMLCatAvatarElement;
532
+ };
491
533
  interface HTMLCatBadgeElement extends Components.CatBadge, HTMLStencilElement {
492
534
  }
493
535
  var HTMLCatBadgeElement: {
@@ -560,6 +602,12 @@ declare global {
560
602
  prototype: HTMLCatTextareaElement;
561
603
  new (): HTMLCatTextareaElement;
562
604
  };
605
+ interface HTMLCatToastDemoElement extends Components.CatToastDemo, HTMLStencilElement {
606
+ }
607
+ var HTMLCatToastDemoElement: {
608
+ prototype: HTMLCatToastDemoElement;
609
+ new (): HTMLCatToastDemoElement;
610
+ };
563
611
  interface HTMLCatToggleElement extends Components.CatToggle, HTMLStencilElement {
564
612
  }
565
613
  var HTMLCatToggleElement: {
@@ -574,6 +622,7 @@ declare global {
574
622
  };
575
623
  interface HTMLElementTagNameMap {
576
624
  "cat-alert": HTMLCatAlertElement;
625
+ "cat-avatar": HTMLCatAvatarElement;
577
626
  "cat-badge": HTMLCatBadgeElement;
578
627
  "cat-button": HTMLCatButtonElement;
579
628
  "cat-card": HTMLCatCardElement;
@@ -586,6 +635,7 @@ declare global {
586
635
  "cat-skeleton": HTMLCatSkeletonElement;
587
636
  "cat-spinner": HTMLCatSpinnerElement;
588
637
  "cat-textarea": HTMLCatTextareaElement;
638
+ "cat-toast-demo": HTMLCatToastDemoElement;
589
639
  "cat-toggle": HTMLCatToggleElement;
590
640
  "cat-tooltip": HTMLCatTooltipElement;
591
641
  }
@@ -597,6 +647,40 @@ declare namespace LocalJSX {
597
647
  */
598
648
  "color"?: 'primary' | 'secondary' | 'danger' | 'success' | 'warning';
599
649
  }
650
+ interface CatAvatar {
651
+ /**
652
+ * An icon to be used instead of the initials.
653
+ */
654
+ "icon"?: string;
655
+ /**
656
+ * Custom initials for the avatar.
657
+ */
658
+ "initials"?: string;
659
+ /**
660
+ * The label of the avatar.
661
+ */
662
+ "label"?: string;
663
+ /**
664
+ * Use round avatar edges.
665
+ */
666
+ "round"?: boolean;
667
+ /**
668
+ * The size of the avatar.
669
+ */
670
+ "size"?: 'xs' | 's' | 'm' | 'l' | 'xl';
671
+ /**
672
+ * An optional avatar image.
673
+ */
674
+ "src"?: string;
675
+ /**
676
+ * A destination to link to, rendered in the href attribute of a link.
677
+ */
678
+ "url"?: string;
679
+ /**
680
+ * Specifies where to open the linked document.
681
+ */
682
+ "urlTarget"?: '_blank' | '_self';
683
+ }
600
684
  interface CatBadge {
601
685
  /**
602
686
  * The color palette of the badge.
@@ -640,10 +724,6 @@ declare namespace LocalJSX {
640
724
  * Specifies that the button should be disabled. A disabled button is unusable and un-clickable. Corresponds with the native HTML disabled attribute.
641
725
  */
642
726
  "disabled"?: boolean;
643
- /**
644
- * Ellipse overflowing button content.
645
- */
646
- "ellipsed"?: boolean;
647
727
  /**
648
728
  * The name of an icon to be displayed in the button.
649
729
  */
@@ -664,6 +744,10 @@ declare namespace LocalJSX {
664
744
  * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute.
665
745
  */
666
746
  "name"?: string;
747
+ /**
748
+ * Disables ellipse overflowing button content.
749
+ */
750
+ "noEllipsis"?: boolean;
667
751
  /**
668
752
  * Emitted when the button loses focus.
669
753
  */
@@ -923,49 +1007,49 @@ declare namespace LocalJSX {
923
1007
  }
924
1008
  interface CatScrollable {
925
1009
  /**
926
- * Emitted when the content is fully scrolled to the bottom.
1010
+ * Flags to disable/enable overflowX.
927
1011
  */
928
- "onScrolledBottom"?: (event: CustomEvent<void>) => void;
1012
+ "noOverflowX"?: boolean;
929
1013
  /**
930
- * Emitted when the content is fully scrolled to the left.
1014
+ * Flags to disable/enable overflowY.
931
1015
  */
932
- "onScrolledLeft"?: (event: CustomEvent<void>) => void;
1016
+ "noOverflowY"?: boolean;
933
1017
  /**
934
- * Emitted when the content is fully scrolled to the right.
1018
+ * Flag to disable/enable overscroll behavior.
935
1019
  */
936
- "onScrolledRight"?: (event: CustomEvent<void>) => void;
1020
+ "noOverscroll"?: boolean;
937
1021
  /**
938
- * Emitted when the content is fully scrolled to the top.
1022
+ * Flag to not fire an initial event after content initialization.
939
1023
  */
940
- "onScrolledTop"?: (event: CustomEvent<void>) => void;
1024
+ "noScrolledInit"?: boolean;
941
1025
  /**
942
- * Flags to enable/disable overflowX.
1026
+ * Flags to disable/enable scroll shadowX.
943
1027
  */
944
- "overflowX"?: boolean;
1028
+ "noShadowX"?: boolean;
945
1029
  /**
946
- * Flags to enable/disable overflowY.
1030
+ * Flags to disable/enable scroll shadowY.
947
1031
  */
948
- "overflowY"?: boolean;
1032
+ "noShadowY"?: boolean;
949
1033
  /**
950
- * Flag to enable/disable overscroll behavior.
1034
+ * Emitted when the content is fully scrolled to the bottom.
951
1035
  */
952
- "overscroll"?: boolean;
1036
+ "onScrolledBottom"?: (event: CustomEvent<void>) => void;
953
1037
  /**
954
- * Buffer to be used to calculate the scroll distance.
1038
+ * Emitted when the content is fully scrolled to the left.
955
1039
  */
956
- "scrolledBuffer"?: number;
1040
+ "onScrolledLeft"?: (event: CustomEvent<void>) => void;
957
1041
  /**
958
- * Flag to fire an initial event after content initialization.
1042
+ * Emitted when the content is fully scrolled to the right.
959
1043
  */
960
- "scrolledInit"?: boolean;
1044
+ "onScrolledRight"?: (event: CustomEvent<void>) => void;
961
1045
  /**
962
- * Flags to enable/disable scroll shadowX.
1046
+ * Emitted when the content is fully scrolled to the top.
963
1047
  */
964
- "shadowX"?: boolean;
1048
+ "onScrolledTop"?: (event: CustomEvent<void>) => void;
965
1049
  /**
966
- * Flags to enable/disable scroll shadowY.
1050
+ * Buffer to be used to calculate the scroll distance.
967
1051
  */
968
- "shadowY"?: boolean;
1052
+ "scrolledBuffer"?: number;
969
1053
  }
970
1054
  interface CatSkeleton {
971
1055
  /**
@@ -1057,6 +1141,8 @@ declare namespace LocalJSX {
1057
1141
  */
1058
1142
  "value"?: string | number;
1059
1143
  }
1144
+ interface CatToastDemo {
1145
+ }
1060
1146
  interface CatToggle {
1061
1147
  /**
1062
1148
  * Checked state of the toggle.
@@ -1127,6 +1213,7 @@ declare namespace LocalJSX {
1127
1213
  }
1128
1214
  interface IntrinsicElements {
1129
1215
  "cat-alert": CatAlert;
1216
+ "cat-avatar": CatAvatar;
1130
1217
  "cat-badge": CatBadge;
1131
1218
  "cat-button": CatButton;
1132
1219
  "cat-card": CatCard;
@@ -1139,6 +1226,7 @@ declare namespace LocalJSX {
1139
1226
  "cat-skeleton": CatSkeleton;
1140
1227
  "cat-spinner": CatSpinner;
1141
1228
  "cat-textarea": CatTextarea;
1229
+ "cat-toast-demo": CatToastDemo;
1142
1230
  "cat-toggle": CatToggle;
1143
1231
  "cat-tooltip": CatTooltip;
1144
1232
  }
@@ -1148,6 +1236,7 @@ declare module "@stencil/core" {
1148
1236
  export namespace JSX {
1149
1237
  interface IntrinsicElements {
1150
1238
  "cat-alert": LocalJSX.CatAlert & JSXBase.HTMLAttributes<HTMLCatAlertElement>;
1239
+ "cat-avatar": LocalJSX.CatAvatar & JSXBase.HTMLAttributes<HTMLCatAvatarElement>;
1151
1240
  "cat-badge": LocalJSX.CatBadge & JSXBase.HTMLAttributes<HTMLCatBadgeElement>;
1152
1241
  "cat-button": LocalJSX.CatButton & JSXBase.HTMLAttributes<HTMLCatButtonElement>;
1153
1242
  "cat-card": LocalJSX.CatCard & JSXBase.HTMLAttributes<HTMLCatCardElement>;
@@ -1160,6 +1249,7 @@ declare module "@stencil/core" {
1160
1249
  "cat-skeleton": LocalJSX.CatSkeleton & JSXBase.HTMLAttributes<HTMLCatSkeletonElement>;
1161
1250
  "cat-spinner": LocalJSX.CatSpinner & JSXBase.HTMLAttributes<HTMLCatSpinnerElement>;
1162
1251
  "cat-textarea": LocalJSX.CatTextarea & JSXBase.HTMLAttributes<HTMLCatTextareaElement>;
1252
+ "cat-toast-demo": LocalJSX.CatToastDemo & JSXBase.HTMLAttributes<HTMLCatToastDemoElement>;
1163
1253
  "cat-toggle": LocalJSX.CatToggle & JSXBase.HTMLAttributes<HTMLCatToggleElement>;
1164
1254
  "cat-tooltip": LocalJSX.CatTooltip & JSXBase.HTMLAttributes<HTMLCatTooltipElement>;
1165
1255
  }
@@ -1,3 +1,4 @@
1
1
  export { Components, JSX } from './components';
2
2
  export { CatI18nRegistry } from './components/cat-i18n/cat-i18n-registry';
3
3
  export { CatIconRegistry } from './components/cat-icon/cat-icon-registry';
4
+ export { NotificationsService } from './components/cat-notification/cat-notification';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Loads an image and wraps the result in a promise.
3
+ *
4
+ * @param src the image URL
5
+ * @returns a promise
6
+ */
7
+ declare const loadImg: (src: string) => Promise<Event>;
8
+ export default loadImg;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@haiilo/catalyst",
3
- "version": "0.5.12",
3
+ "version": "0.6.0",
4
4
  "description": "Catalyst Design System",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -43,13 +43,14 @@
43
43
  },
44
44
  "dependencies": {
45
45
  "@floating-ui/dom": "0.4.1",
46
- "@haiilo/catalyst-tokens": "^0.5.12",
46
+ "@haiilo/catalyst-tokens": "^0.6.0",
47
47
  "@stencil/core": "2.15.0",
48
48
  "autosize": "^5.0.1",
49
49
  "focus-trap": "6.8.1",
50
50
  "loglevel": "1.8.0",
51
51
  "sanitize.css": "13.0.0",
52
- "tabbable": "5.3.1"
52
+ "tabbable": "5.3.1",
53
+ "toastify-js": "^1.11.2"
53
54
  },
54
55
  "devDependencies": {
55
56
  "@babel/core": "^7.16.5",
@@ -60,6 +61,7 @@
60
61
  "@stencil/vue-output-target": "^0.6.0",
61
62
  "@types/autosize": "^4.0.1",
62
63
  "@types/jest": "^27.4.0",
64
+ "@types/toastify-js": "^1.11.0",
63
65
  "@typescript-eslint/eslint-plugin": "^5.11.0",
64
66
  "@typescript-eslint/parser": "^5.11.0",
65
67
  "babel-loader": "^8.2.3",
@@ -1,2 +0,0 @@
1
- var e=typeof globalThis!=="undefined"?globalThis:typeof window!=="undefined"?window:typeof global!=="undefined"?global:typeof self!=="undefined"?self:{};function n(e,n,o){return o={path:n,exports:{},require:function(e,n){return t()}},e(o,o.exports),o.exports}function t(){throw new Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}var o=n((function(n){(function(e,t){if(n.exports){n.exports=t()}else{e.log=t()}})(e,(function(){var e=function(){};var n="undefined";var t=typeof window!==n&&typeof window.navigator!==n&&/Trident\/|MSIE /.test(window.navigator.userAgent);var o=["trace","debug","info","warn","error"];function i(e,n){var t=e[n];if(typeof t.bind==="function"){return t.bind(e)}else{try{return Function.prototype.bind.call(t,e)}catch(n){return function(){return Function.prototype.apply.apply(t,[e,arguments])}}}}function r(){if(console.log){if(console.log.apply){console.log.apply(console,arguments)}else{Function.prototype.apply.apply(console.log,[console,arguments])}}if(console.trace)console.trace()}function s(o){if(o==="debug"){o="log"}if(typeof console===n){return false}else if(o==="trace"&&t){return r}else if(console[o]!==undefined){return i(console,o)}else if(console.log!==undefined){return i(console,"log")}else{return e}}function a(n,t){for(var i=0;i<o.length;i++){var r=o[i];this[r]=i<n?e:this.methodFactory(r,n,t)}this.log=this.debug}function c(e,t,o){return function(){if(typeof console!==n){a.call(this,t,o);this[e].apply(this,arguments)}}}function u(e,n,t){return s(e)||c.apply(this,arguments)}function f(e,t,i){var r=this;var s;t=t==null?"WARN":t;var c="loglevel";if(typeof e==="string"){c+=":"+e}else if(typeof e==="symbol"){c=undefined}function f(e){var t=(o[e]||"silent").toUpperCase();if(typeof window===n||!c)return;try{window.localStorage[c]=t;return}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"="+t+";"}catch(e){}}function d(){var e;if(typeof window===n||!c)return;try{e=window.localStorage[c]}catch(e){}if(typeof e===n){try{var t=window.document.cookie;var o=t.indexOf(encodeURIComponent(c)+"=");if(o!==-1){e=/^([^;]+)/.exec(t.slice(o))[1]}}catch(e){}}if(r.levels[e]===undefined){e=undefined}return e}function l(){if(typeof window===n||!c)return;try{window.localStorage.removeItem(c);return}catch(e){}try{window.document.cookie=encodeURIComponent(c)+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC"}catch(e){}}r.name=e;r.levels={TRACE:0,DEBUG:1,INFO:2,WARN:3,ERROR:4,SILENT:5};r.methodFactory=i||u;r.getLevel=function(){return s};r.setLevel=function(t,o){if(typeof t==="string"&&r.levels[t.toUpperCase()]!==undefined){t=r.levels[t.toUpperCase()]}if(typeof t==="number"&&t>=0&&t<=r.levels.SILENT){s=t;if(o!==false){f(t)}a.call(r,t,e);if(typeof console===n&&t<r.levels.SILENT){return"No console available for logging"}}else{throw"log.setLevel() called with invalid level: "+t}};r.setDefaultLevel=function(e){t=e;if(!d()){r.setLevel(e,false)}};r.resetLevel=function(){r.setLevel(t,false);l()};r.enableAll=function(e){r.setLevel(r.levels.TRACE,e)};r.disableAll=function(e){r.setLevel(r.levels.SILENT,e)};var w=d();if(w==null){w=t}r.setLevel(w,false)}var d=new f;var l={};d.getLogger=function e(n){if(typeof n!=="symbol"&&typeof n!=="string"||n===""){throw new TypeError("You must supply a name when creating a logger.")}var t=l[n];if(!t){t=l[n]=new f(n,d.getLevel(),d.methodFactory)}return t};var w=typeof window!==n?window.log:undefined;d.noConflict=function(){if(typeof window!==n&&window.log===d){window.log=w}return d};d.getLoggers=function e(){return l};d["default"]=d;return d}))}));class i{constructor(){this.lang="en";this.messages=new Map}static getInstance(){if(!i.instance){i.instance=new i}return i.instance}getLanguage(){return this.lang}setLanguage(e){this.lang=e}getMessage(e){var n;const t=(n=this.messages.get(this.lang))===null||n===void 0?void 0:n.get(e);if(!t){o.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${e}`)}return t}addMessage(e,n,t){this.getDict(e).set(n,t);o.info(`[CatI18nRegistry] Added message for lang ${e}: ${n}`);window.dispatchEvent(this.buildEvent("cat-i18n-added",{lang:e,key:n}));return this}addMessages(e,n){const t=this.getDict(e);Object.entries(n).forEach((([e,n])=>t.set(e,n)));o.info(`[CatI18nRegistry] Added message for lang ${e}: ${Object.keys(n).concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-i18n-added",{lang:e,keys:Object.keys(n)}));return this}removeMessage(e,n){this.getDict(e).delete(n);o.info(`[CatI18nRegistry] Removed message for lang ${e}: ${n}`);window.dispatchEvent(this.buildEvent("cat-i18n-removed",{lang:e,key:n}));return this}removeMessages(e,n){const t=this.getDict(e);n.forEach((e=>t.delete(e)));o.info(`[CatI18nRegistry] Removed messages for lang ${e}: ${n.concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-i18n-added",{lang:e,keys:n}));return this}buildEvent(e,n){return new CustomEvent(e,{bubbles:true,composed:true,detail:n})}getDict(e){let n=this.messages.get(e);if(!n){n=new Map;this.messages.set(e,n)}return n}}class r{constructor(){this.icons=new Map}static getInstance(){if(!r.instance){r.instance=new r}return r.instance}getIcon(e,n){const t=this.icons.get(this.buildName(e,n));if(!t){o.error(`[CatIconRegistry] Unknown icon${n?` in set ${n}`:""}: ${e}`)}return t}addIcon(e,n,t){this.icons.set(this.buildName(e,t),n);o.info(`[CatIconRegistry] Added icon${t?` to set ${t}`:""}: ${e}`);window.dispatchEvent(this.buildEvent("cat-icon-added",{name:e,setName:t}));return this}addIcons(e,n){Object.entries(e).forEach((([e,t])=>this.icons.set(this.buildName(e,n),t)));o.info(`[CatIconRegistry] Added icons${n?` to set ${n}`:""}: ${Object.keys(e).concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-icons-added",{names:Object.keys(e),setName:n}));return this}removeIcon(e,n){this.icons.delete(this.buildName(e,n));o.info(`[CatIconRegistry] Removed icon${n?` from set ${n}`:""}: ${e}`);window.dispatchEvent(this.buildEvent("cat-icon-removed",{name:e,setName:n}));return this}removeIcons(e,n){e.forEach((e=>this.icons.delete(this.buildName(e,n))));o.info(`[CatIconRegistry] Removed icons${n?` from set ${n}`:""}: ${e.concat(", ")}`);window.dispatchEvent(this.buildEvent("cat-icons-removed",{names:e,setName:n}));return this}buildName(e,n){return n?`${n}:name`:e}buildEvent(e,n){return new CustomEvent(e,{bubbles:true,composed:true,detail:n})}}export{r as C,i as a,o as l};
2
- //# sourceMappingURL=p-9a3c2375.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../node_modules/loglevel/lib/loglevel.js","src/components/cat-i18n/cat-i18n-registry.ts","src/components/cat-icon/cat-icon-registry.ts"],"names":["root","definition","module","exports","log","this","noop","undefinedType","isIE","window","navigator","test","userAgent","logMethods","bindMethod","obj","methodName","method","bind","Function","prototype","call","e","apply","arguments","traceForIE","console","trace","realMethod","undefined","replaceLoggingMethods","level","loggerName","i","length","methodFactory","debug","enableLoggingWhenConsoleArrives","defaultMethodFactory","Logger","name","defaultLevel","factory","self","currentLevel","storageKey","persistLevelIfPossible","levelNum","levelName","toUpperCase","localStorage","ignore","document","cookie","encodeURIComponent","getPersistedLevel","storedLevel","location","indexOf","exec","slice","levels","clearPersistedLevel","removeItem","TRACE","DEBUG","INFO","WARN","ERROR","SILENT","getLevel","setLevel","persist","setDefaultLevel","resetLevel","enableAll","disableAll","initialLevel","defaultLogger","_loggersByName","getLogger","TypeError","logger","_log","noConflict","getLoggers","CatI18nRegistry","[object Object]","lang","messages","Map","instance","key","message","_a","get","error","getDict","set","info","dispatchEvent","buildEvent","i18n","dict","Object","entries","forEach","keys","concat","delete","detail","CustomEvent","bubbles","composed","CatIconRegistry","icons","setName","icon","buildName","data","names"],"mappings":"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","sourcesContent":["/*\n* loglevel - https://github.com/pimterry/loglevel\n*\n* Copyright (c) 2013 Tim Perry\n* Licensed under the MIT license.\n*/\n(function (root, definition) {\n \"use strict\";\n if (typeof define === 'function' && define.amd) {\n define(definition);\n } else if (typeof module === 'object' && module.exports) {\n module.exports = definition();\n } else {\n root.log = definition();\n }\n}(this, function () {\n \"use strict\";\n\n // Slightly dubious tricks to cut down minimized file size\n var noop = function() {};\n var undefinedType = \"undefined\";\n var isIE = (typeof window !== undefinedType) && (typeof window.navigator !== undefinedType) && (\n /Trident\\/|MSIE /.test(window.navigator.userAgent)\n );\n\n var logMethods = [\n \"trace\",\n \"debug\",\n \"info\",\n \"warn\",\n \"error\"\n ];\n\n // Cross-browser bind equivalent that works at least back to IE6\n function bindMethod(obj, methodName) {\n var method = obj[methodName];\n if (typeof method.bind === 'function') {\n return method.bind(obj);\n } else {\n try {\n return Function.prototype.bind.call(method, obj);\n } catch (e) {\n // Missing bind shim or IE8 + Modernizr, fallback to wrapping\n return function() {\n return Function.prototype.apply.apply(method, [obj, arguments]);\n };\n }\n }\n }\n\n // Trace() doesn't print the message in IE, so for that case we need to wrap it\n function traceForIE() {\n if (console.log) {\n if (console.log.apply) {\n console.log.apply(console, arguments);\n } else {\n // In old IE, native console methods themselves don't have apply().\n Function.prototype.apply.apply(console.log, [console, arguments]);\n }\n }\n if (console.trace) console.trace();\n }\n\n // Build the best logging method possible for this env\n // Wherever possible we want to bind, not wrap, to preserve stack traces\n function realMethod(methodName) {\n if (methodName === 'debug') {\n methodName = 'log';\n }\n\n if (typeof console === undefinedType) {\n return false; // No method possible, for now - fixed later by enableLoggingWhenConsoleArrives\n } else if (methodName === 'trace' && isIE) {\n return traceForIE;\n } else if (console[methodName] !== undefined) {\n return bindMethod(console, methodName);\n } else if (console.log !== undefined) {\n return bindMethod(console, 'log');\n } else {\n return noop;\n }\n }\n\n // These private functions always need `this` to be set properly\n\n function replaceLoggingMethods(level, loggerName) {\n /*jshint validthis:true */\n for (var i = 0; i < logMethods.length; i++) {\n var methodName = logMethods[i];\n this[methodName] = (i < level) ?\n noop :\n this.methodFactory(methodName, level, loggerName);\n }\n\n // Define log.log as an alias for log.debug\n this.log = this.debug;\n }\n\n // In old IE versions, the console isn't present until you first open it.\n // We build realMethod() replacements here that regenerate logging methods\n function enableLoggingWhenConsoleArrives(methodName, level, loggerName) {\n return function () {\n if (typeof console !== undefinedType) {\n replaceLoggingMethods.call(this, level, loggerName);\n this[methodName].apply(this, arguments);\n }\n };\n }\n\n // By default, we use closely bound real methods wherever possible, and\n // otherwise we wait for a console to appear, and then try again.\n function defaultMethodFactory(methodName, level, loggerName) {\n /*jshint validthis:true */\n return realMethod(methodName) ||\n enableLoggingWhenConsoleArrives.apply(this, arguments);\n }\n\n function Logger(name, defaultLevel, factory) {\n var self = this;\n var currentLevel;\n defaultLevel = defaultLevel == null ? \"WARN\" : defaultLevel;\n\n var storageKey = \"loglevel\";\n if (typeof name === \"string\") {\n storageKey += \":\" + name;\n } else if (typeof name === \"symbol\") {\n storageKey = undefined;\n }\n\n function persistLevelIfPossible(levelNum) {\n var levelName = (logMethods[levelNum] || 'silent').toUpperCase();\n\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage[storageKey] = levelName;\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=\" + levelName + \";\";\n } catch (ignore) {}\n }\n\n function getPersistedLevel() {\n var storedLevel;\n\n if (typeof window === undefinedType || !storageKey) return;\n\n try {\n storedLevel = window.localStorage[storageKey];\n } catch (ignore) {}\n\n // Fallback to cookies if local storage gives us nothing\n if (typeof storedLevel === undefinedType) {\n try {\n var cookie = window.document.cookie;\n var location = cookie.indexOf(\n encodeURIComponent(storageKey) + \"=\");\n if (location !== -1) {\n storedLevel = /^([^;]+)/.exec(cookie.slice(location))[1];\n }\n } catch (ignore) {}\n }\n\n // If the stored level is not valid, treat it as if nothing was stored.\n if (self.levels[storedLevel] === undefined) {\n storedLevel = undefined;\n }\n\n return storedLevel;\n }\n\n function clearPersistedLevel() {\n if (typeof window === undefinedType || !storageKey) return;\n\n // Use localStorage if available\n try {\n window.localStorage.removeItem(storageKey);\n return;\n } catch (ignore) {}\n\n // Use session cookie as fallback\n try {\n window.document.cookie =\n encodeURIComponent(storageKey) + \"=; expires=Thu, 01 Jan 1970 00:00:00 UTC\";\n } catch (ignore) {}\n }\n\n /*\n *\n * Public logger API - see https://github.com/pimterry/loglevel for details\n *\n */\n\n self.name = name;\n\n self.levels = { \"TRACE\": 0, \"DEBUG\": 1, \"INFO\": 2, \"WARN\": 3,\n \"ERROR\": 4, \"SILENT\": 5};\n\n self.methodFactory = factory || defaultMethodFactory;\n\n self.getLevel = function () {\n return currentLevel;\n };\n\n self.setLevel = function (level, persist) {\n if (typeof level === \"string\" && self.levels[level.toUpperCase()] !== undefined) {\n level = self.levels[level.toUpperCase()];\n }\n if (typeof level === \"number\" && level >= 0 && level <= self.levels.SILENT) {\n currentLevel = level;\n if (persist !== false) { // defaults to true\n persistLevelIfPossible(level);\n }\n replaceLoggingMethods.call(self, level, name);\n if (typeof console === undefinedType && level < self.levels.SILENT) {\n return \"No console available for logging\";\n }\n } else {\n throw \"log.setLevel() called with invalid level: \" + level;\n }\n };\n\n self.setDefaultLevel = function (level) {\n defaultLevel = level;\n if (!getPersistedLevel()) {\n self.setLevel(level, false);\n }\n };\n\n self.resetLevel = function () {\n self.setLevel(defaultLevel, false);\n clearPersistedLevel();\n };\n\n self.enableAll = function(persist) {\n self.setLevel(self.levels.TRACE, persist);\n };\n\n self.disableAll = function(persist) {\n self.setLevel(self.levels.SILENT, persist);\n };\n\n // Initialize with the right level\n var initialLevel = getPersistedLevel();\n if (initialLevel == null) {\n initialLevel = defaultLevel;\n }\n self.setLevel(initialLevel, false);\n }\n\n /*\n *\n * Top-level API\n *\n */\n\n var defaultLogger = new Logger();\n\n var _loggersByName = {};\n defaultLogger.getLogger = function getLogger(name) {\n if ((typeof name !== \"symbol\" && typeof name !== \"string\") || name === \"\") {\n throw new TypeError(\"You must supply a name when creating a logger.\");\n }\n\n var logger = _loggersByName[name];\n if (!logger) {\n logger = _loggersByName[name] = new Logger(\n name, defaultLogger.getLevel(), defaultLogger.methodFactory);\n }\n return logger;\n };\n\n // Grab the current global log variable in case of overwrite\n var _log = (typeof window !== undefinedType) ? window.log : undefined;\n defaultLogger.noConflict = function() {\n if (typeof window !== undefinedType &&\n window.log === defaultLogger) {\n window.log = _log;\n }\n\n return defaultLogger;\n };\n\n defaultLogger.getLoggers = function getLoggers() {\n return _loggersByName;\n };\n\n // ES6 default export, for compatibility\n defaultLogger['default'] = defaultLogger;\n\n return defaultLogger;\n}));\n","import log from 'loglevel';\n\nexport class CatI18nRegistry {\n private static instance: CatI18nRegistry;\n\n private lang = 'en';\n private readonly messages: Map<string, Map<string, string>> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatI18nRegistry {\n if (!CatI18nRegistry.instance) {\n CatI18nRegistry.instance = new CatI18nRegistry();\n }\n return CatI18nRegistry.instance;\n }\n\n getLanguage(): string {\n return this.lang;\n }\n\n setLanguage(lang: string): void {\n this.lang = lang;\n }\n\n getMessage(key: string): string | undefined {\n const message = this.messages.get(this.lang)?.get(key);\n if (!message) {\n log.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);\n }\n return message;\n }\n\n addMessage(lang: string, key: string, message: string): CatI18nRegistry {\n this.getDict(lang).set(key, message);\n log.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));\n return this;\n }\n\n addMessages(lang: string, i18n: { [key: string]: string }): CatI18nRegistry {\n const dict = this.getDict(lang);\n Object.entries(i18n).forEach(([key, message]) => dict.set(key, message));\n log.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));\n return this;\n }\n\n removeMessage(lang: string, key: string): CatI18nRegistry {\n this.getDict(lang).delete(key);\n log.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));\n return this;\n }\n\n removeMessages(lang: string, keys: string[]): CatI18nRegistry {\n const dict = this.getDict(lang);\n keys.forEach(key => dict.delete(key));\n log.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));\n return this;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n\n private getDict(lang: string) {\n let messages = this.messages.get(lang);\n if (!messages) {\n messages = new Map();\n this.messages.set(lang, messages);\n }\n return messages;\n }\n}\n","import log from 'loglevel';\n\nexport class CatIconRegistry {\n private static instance: CatIconRegistry;\n\n private readonly icons: Map<string, string> = new Map();\n\n private constructor() {\n // hide constructor\n }\n\n static getInstance(): CatIconRegistry {\n if (!CatIconRegistry.instance) {\n CatIconRegistry.instance = new CatIconRegistry();\n }\n return CatIconRegistry.instance;\n }\n\n getIcon(name: string, setName?: string): string | undefined {\n const icon = this.icons.get(this.buildName(name, setName));\n if (!icon) {\n log.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);\n }\n return icon;\n }\n\n addIcon(name: string, data: string, setName?: string): CatIconRegistry {\n this.icons.set(this.buildName(name, setName), data);\n log.info(`[CatIconRegistry] Added icon${setName ? ` to set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-added', { name, setName }));\n return this;\n }\n\n addIcons(icons: { [name: string]: string }, setName?: string): CatIconRegistry {\n Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));\n log.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));\n return this;\n }\n\n removeIcon(name: string, setName?: string): CatIconRegistry {\n this.icons.delete(this.buildName(name, setName));\n log.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);\n window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));\n return this;\n }\n\n removeIcons(names: string[], setName?: string): CatIconRegistry {\n names.forEach(name => this.icons.delete(this.buildName(name, setName)));\n log.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}: ${names.concat(', ')}`);\n window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));\n return this;\n }\n\n private buildName(name: string, setName?: string) {\n return setName ? `${setName}:name` : name;\n }\n\n private buildEvent<T>(name: string, detail?: T) {\n return new CustomEvent(name, {\n bubbles: true,\n composed: true,\n detail\n });\n }\n}\n"]}