@haiilo/catalyst 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (249) hide show
  1. package/dist/catalyst/app-globals-23d8c4a8.js +948 -0
  2. package/dist/catalyst/app-globals-23d8c4a8.js.map +1 -0
  3. package/dist/catalyst/app-globals-3dd6a26b.js +948 -0
  4. package/dist/catalyst/app-globals-3dd6a26b.js.map +1 -0
  5. package/dist/catalyst/app-globals-42ce39cc.js +948 -0
  6. package/dist/catalyst/app-globals-42ce39cc.js.map +1 -0
  7. package/dist/catalyst/app-globals-5cf43b57.js +949 -0
  8. package/dist/catalyst/app-globals-5cf43b57.js.map +1 -0
  9. package/dist/catalyst/app-globals-8598c768.js +948 -0
  10. package/dist/catalyst/app-globals-8598c768.js.map +1 -0
  11. package/dist/catalyst/app-globals-a41af143.js +948 -0
  12. package/dist/catalyst/app-globals-a41af143.js.map +1 -0
  13. package/dist/catalyst/app-globals-c6a8b994.js +949 -0
  14. package/dist/catalyst/app-globals-c6a8b994.js.map +1 -0
  15. package/dist/catalyst/cat-alert.entry.js +33 -0
  16. package/dist/catalyst/cat-alert.entry.js.map +1 -0
  17. package/dist/catalyst/cat-badge.entry.js +44 -0
  18. package/dist/catalyst/cat-badge.entry.js.map +1 -0
  19. package/dist/catalyst/cat-button.entry.js +298 -0
  20. package/dist/catalyst/cat-button.entry.js.map +1 -0
  21. package/dist/catalyst/cat-card.entry.js +17 -0
  22. package/dist/catalyst/cat-card.entry.js.map +1 -0
  23. package/dist/catalyst/cat-checkbox.entry.js +75 -0
  24. package/dist/catalyst/cat-checkbox.entry.js.map +1 -0
  25. package/dist/catalyst/cat-i18n-registry-2a6187c9.js +75 -0
  26. package/dist/catalyst/cat-i18n-registry-2a6187c9.js.map +1 -0
  27. package/dist/catalyst/cat-i18n-registry-330db605.js +74 -0
  28. package/dist/catalyst/cat-i18n-registry-330db605.js.map +1 -0
  29. package/dist/catalyst/cat-i18n-registry-83d20604.js +74 -0
  30. package/dist/catalyst/cat-i18n-registry-83d20604.js.map +1 -0
  31. package/dist/catalyst/cat-i18n-registry-dd55821d.js +73 -0
  32. package/dist/catalyst/cat-i18n-registry-dd55821d.js.map +1 -0
  33. package/dist/catalyst/cat-i18n-registry-f6560651.js +75 -0
  34. package/dist/catalyst/cat-i18n-registry-f6560651.js.map +1 -0
  35. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js +59 -0
  36. package/dist/catalyst/cat-icon-registry-2dcfc9fb.js.map +1 -0
  37. package/dist/catalyst/cat-icon.entry.js +31 -0
  38. package/dist/catalyst/cat-icon.entry.js.map +1 -0
  39. package/dist/catalyst/cat-input.entry.js +111 -0
  40. package/dist/catalyst/cat-input.entry.js.map +1 -0
  41. package/dist/catalyst/cat-menu.entry.js +850 -0
  42. package/dist/catalyst/cat-menu.entry.js.map +1 -0
  43. package/dist/catalyst/cat-radio.entry.js +66 -0
  44. package/dist/catalyst/cat-radio.entry.js.map +1 -0
  45. package/dist/catalyst/cat-scrollable.entry.js +4522 -0
  46. package/dist/catalyst/cat-scrollable.entry.js.map +1 -0
  47. package/dist/catalyst/cat-skeleton.entry.js +55 -0
  48. package/dist/catalyst/cat-skeleton.entry.js.map +1 -0
  49. package/dist/catalyst/cat-spinner.entry.js +23 -0
  50. package/dist/catalyst/cat-spinner.entry.js.map +1 -0
  51. package/dist/catalyst/cat-textarea.entry.js +87 -0
  52. package/dist/catalyst/cat-textarea.entry.js.map +1 -0
  53. package/dist/catalyst/cat-toggle.entry.js +66 -0
  54. package/dist/catalyst/cat-toggle.entry.js.map +1 -0
  55. package/dist/catalyst/cat-tooltip.entry.js +129 -0
  56. package/dist/catalyst/cat-tooltip.entry.js.map +1 -0
  57. package/dist/catalyst/catalyst.css +2033 -1
  58. package/dist/catalyst/catalyst.esm.js +133 -1
  59. package/dist/catalyst/catalyst.esm.js.map +1 -1
  60. package/dist/catalyst/css-shim-e6dd2538.js +6 -0
  61. package/dist/catalyst/css-shim-e6dd2538.js.map +1 -0
  62. package/dist/catalyst/dom-7fc649b0.js +75 -0
  63. package/dist/catalyst/dom-7fc649b0.js.map +1 -0
  64. package/dist/catalyst/first-tabbable-2d9f9e9a.js +2123 -0
  65. package/dist/catalyst/first-tabbable-2d9f9e9a.js.map +1 -0
  66. package/dist/catalyst/index-471d4e05.js +3059 -0
  67. package/dist/catalyst/index-471d4e05.js.map +1 -0
  68. package/dist/catalyst/index-bbb694f5.js +3059 -0
  69. package/dist/catalyst/index-bbb694f5.js.map +1 -0
  70. package/dist/catalyst/index.esm.js +4 -1
  71. package/dist/catalyst/index.esm.js.map +1 -1
  72. package/dist/{esm/cat-icon-registry-77963c26.js → catalyst/loglevel-7f0f71af.js} +35 -126
  73. package/dist/catalyst/loglevel-7f0f71af.js.map +1 -0
  74. package/dist/catalyst/shadow-css-4d56fa31.js +390 -0
  75. package/dist/catalyst/shadow-css-4d56fa31.js.map +1 -0
  76. package/dist/cjs/app-globals-aaefc070.js +950 -0
  77. package/dist/cjs/app-globals-aaefc070.js.map +1 -0
  78. package/dist/cjs/cat-alert.cjs.entry.js +37 -0
  79. package/dist/cjs/cat-alert.cjs.entry.js.map +1 -0
  80. package/dist/cjs/cat-badge.cjs.entry.js +48 -0
  81. package/dist/cjs/cat-badge.cjs.entry.js.map +1 -0
  82. package/dist/cjs/cat-button.cjs.entry.js +302 -0
  83. package/dist/cjs/cat-button.cjs.entry.js.map +1 -0
  84. package/dist/cjs/cat-card.cjs.entry.js +21 -0
  85. package/dist/cjs/cat-card.cjs.entry.js.map +1 -0
  86. package/dist/cjs/cat-checkbox.cjs.entry.js +79 -0
  87. package/dist/cjs/cat-checkbox.cjs.entry.js.map +1 -0
  88. package/dist/cjs/cat-i18n-registry-a1379d1e.js +76 -0
  89. package/dist/cjs/cat-i18n-registry-a1379d1e.js.map +1 -0
  90. package/dist/cjs/cat-icon-registry-74247389.js +61 -0
  91. package/dist/cjs/cat-icon-registry-74247389.js.map +1 -0
  92. package/dist/cjs/cat-icon.cjs.entry.js +35 -0
  93. package/dist/cjs/cat-icon.cjs.entry.js.map +1 -0
  94. package/dist/cjs/cat-input.cjs.entry.js +115 -0
  95. package/dist/cjs/cat-input.cjs.entry.js.map +1 -0
  96. package/dist/cjs/cat-menu.cjs.entry.js +854 -0
  97. package/dist/cjs/cat-menu.cjs.entry.js.map +1 -0
  98. package/dist/cjs/cat-radio.cjs.entry.js +70 -0
  99. package/dist/cjs/cat-radio.cjs.entry.js.map +1 -0
  100. package/dist/cjs/cat-scrollable.cjs.entry.js +4526 -0
  101. package/dist/cjs/cat-scrollable.cjs.entry.js.map +1 -0
  102. package/dist/cjs/cat-skeleton.cjs.entry.js +59 -0
  103. package/dist/cjs/cat-skeleton.cjs.entry.js.map +1 -0
  104. package/dist/cjs/cat-spinner.cjs.entry.js +27 -0
  105. package/dist/cjs/cat-spinner.cjs.entry.js.map +1 -0
  106. package/dist/cjs/cat-textarea.cjs.entry.js +91 -0
  107. package/dist/cjs/cat-textarea.cjs.entry.js.map +1 -0
  108. package/dist/cjs/cat-toggle.cjs.entry.js +70 -0
  109. package/dist/cjs/cat-toggle.cjs.entry.js.map +1 -0
  110. package/dist/cjs/cat-tooltip.cjs.entry.js +133 -0
  111. package/dist/cjs/cat-tooltip.cjs.entry.js.map +1 -0
  112. package/dist/cjs/catalyst.cjs.js +118 -6
  113. package/dist/cjs/catalyst.cjs.js.map +1 -1
  114. package/dist/cjs/css-shim-6ca600c2.js +8 -0
  115. package/dist/cjs/css-shim-6ca600c2.js.map +1 -0
  116. package/dist/cjs/dom-8d415461.js +77 -0
  117. package/dist/cjs/dom-8d415461.js.map +1 -0
  118. package/dist/cjs/first-tabbable-2068dcc6.js +2133 -0
  119. package/dist/cjs/first-tabbable-2068dcc6.js.map +1 -0
  120. package/dist/cjs/index-abcb3941.js +3094 -0
  121. package/dist/cjs/index-abcb3941.js.map +1 -0
  122. package/dist/cjs/index.cjs.js +4 -2
  123. package/dist/cjs/index.cjs.js.map +1 -1
  124. package/dist/cjs/loader.cjs.js +20 -4
  125. package/dist/cjs/loader.cjs.js.map +1 -1
  126. package/dist/cjs/{cat-icon-registry-6895750f.js → loglevel-24040e9d.js} +34 -127
  127. package/dist/cjs/loglevel-24040e9d.js.map +1 -0
  128. package/dist/cjs/shadow-css-78860e39.js +392 -0
  129. package/dist/cjs/shadow-css-78860e39.js.map +1 -0
  130. package/dist/collection/components/cat-i18n/cat-i18n-registry.js +2 -1
  131. package/dist/collection/components/cat-i18n/cat-i18n-registry.js.map +1 -1
  132. package/dist/components/cat-i18n-registry.js +2 -1
  133. package/dist/components/cat-i18n-registry.js.map +1 -1
  134. package/dist/components/cat-scrollable.js +3209 -23
  135. package/dist/components/cat-scrollable.js.map +1 -1
  136. package/dist/components/first-tabbable.js +627 -0
  137. package/dist/components/first-tabbable.js.map +1 -1
  138. package/dist/components/index.js +769 -0
  139. package/dist/components/index.js.map +1 -1
  140. package/dist/components/loglevel.js +33 -2
  141. package/dist/components/loglevel.js.map +1 -1
  142. package/dist/esm/app-globals-3dd6a26b.js +948 -0
  143. package/dist/esm/app-globals-3dd6a26b.js.map +1 -0
  144. package/dist/esm/cat-alert.entry.js +33 -0
  145. package/dist/esm/cat-alert.entry.js.map +1 -0
  146. package/dist/esm/cat-badge.entry.js +44 -0
  147. package/dist/esm/cat-badge.entry.js.map +1 -0
  148. package/dist/esm/cat-button.entry.js +298 -0
  149. package/dist/esm/cat-button.entry.js.map +1 -0
  150. package/dist/esm/cat-card.entry.js +17 -0
  151. package/dist/esm/cat-card.entry.js.map +1 -0
  152. package/dist/esm/cat-checkbox.entry.js +75 -0
  153. package/dist/esm/cat-checkbox.entry.js.map +1 -0
  154. package/dist/esm/cat-i18n-registry-83d20604.js +74 -0
  155. package/dist/esm/cat-i18n-registry-83d20604.js.map +1 -0
  156. package/dist/esm/cat-icon-registry-2dcfc9fb.js +59 -0
  157. package/dist/esm/cat-icon-registry-2dcfc9fb.js.map +1 -0
  158. package/dist/esm/cat-icon.entry.js +31 -0
  159. package/dist/esm/cat-icon.entry.js.map +1 -0
  160. package/dist/esm/cat-input.entry.js +111 -0
  161. package/dist/esm/cat-input.entry.js.map +1 -0
  162. package/dist/esm/cat-menu.entry.js +850 -0
  163. package/dist/esm/cat-menu.entry.js.map +1 -0
  164. package/dist/esm/cat-radio.entry.js +66 -0
  165. package/dist/esm/cat-radio.entry.js.map +1 -0
  166. package/dist/esm/cat-scrollable.entry.js +4522 -0
  167. package/dist/esm/cat-scrollable.entry.js.map +1 -0
  168. package/dist/esm/cat-skeleton.entry.js +55 -0
  169. package/dist/esm/cat-skeleton.entry.js.map +1 -0
  170. package/dist/esm/cat-spinner.entry.js +23 -0
  171. package/dist/esm/cat-spinner.entry.js.map +1 -0
  172. package/dist/esm/cat-textarea.entry.js +87 -0
  173. package/dist/esm/cat-textarea.entry.js.map +1 -0
  174. package/dist/esm/cat-toggle.entry.js +66 -0
  175. package/dist/esm/cat-toggle.entry.js.map +1 -0
  176. package/dist/esm/cat-tooltip.entry.js +129 -0
  177. package/dist/esm/cat-tooltip.entry.js.map +1 -0
  178. package/dist/esm/catalyst.js +118 -6
  179. package/dist/esm/catalyst.js.map +1 -1
  180. package/dist/esm/css-shim-e6dd2538.js +6 -0
  181. package/dist/esm/css-shim-e6dd2538.js.map +1 -0
  182. package/dist/esm/dom-7fc649b0.js +75 -0
  183. package/dist/esm/dom-7fc649b0.js.map +1 -0
  184. package/dist/esm/first-tabbable-2d9f9e9a.js +2123 -0
  185. package/dist/esm/first-tabbable-2d9f9e9a.js.map +1 -0
  186. package/dist/esm/index-471d4e05.js +3059 -0
  187. package/dist/esm/index-471d4e05.js.map +1 -0
  188. package/dist/esm/index.js +3 -1
  189. package/dist/esm/index.js.map +1 -1
  190. package/dist/esm/loader.js +20 -4
  191. package/dist/esm/loader.js.map +1 -1
  192. package/dist/esm/loglevel-7f0f71af.js +346 -0
  193. package/dist/esm/loglevel-7f0f71af.js.map +1 -0
  194. package/dist/esm/shadow-css-4d56fa31.js +390 -0
  195. package/dist/esm/shadow-css-4d56fa31.js.map +1 -0
  196. package/dist/types/components/cat-alert/cat-alert.e2e.d.ts +1 -0
  197. package/dist/types/components/cat-alert/cat-alert.spec.d.ts +1 -0
  198. package/dist/types/components/cat-badge/cat-badge.e2e.d.ts +1 -0
  199. package/dist/types/components/cat-badge/cat-badge.spec.d.ts +1 -0
  200. package/dist/types/components/cat-button/cat-button.e2e.d.ts +1 -0
  201. package/dist/types/components/cat-button/cat-button.spec.d.ts +1 -0
  202. package/dist/types/components/cat-card/cat-card.e2e.d.ts +1 -0
  203. package/dist/types/components/cat-card/cat-card.spec.d.ts +1 -0
  204. package/dist/types/components/cat-checkbox/cat-checkbox.e2e.d.ts +1 -0
  205. package/dist/types/components/cat-checkbox/cat-checkbox.spec.d.ts +1 -0
  206. package/dist/types/components/cat-icon/cat-icon.e2e.d.ts +1 -0
  207. package/dist/types/components/cat-icon/cat-icon.spec.d.ts +1 -0
  208. package/dist/types/components/cat-input/cat-input.e2e.d.ts +1 -0
  209. package/dist/types/components/cat-input/cat-input.spec.d.ts +1 -0
  210. package/dist/types/components/cat-menu/cat-menu.e2e.d.ts +1 -0
  211. package/dist/types/components/cat-menu/cat-menu.spec.d.ts +1 -0
  212. package/dist/types/components/cat-radio/cat-radio.e2e.d.ts +1 -0
  213. package/dist/types/components/cat-radio/cat-radio.spec.d.ts +1 -0
  214. package/dist/types/components/cat-scrollable/cat-scrollable.e2e.d.ts +1 -0
  215. package/dist/types/components/cat-scrollable/cat-scrollable.spec.d.ts +1 -0
  216. package/dist/types/components/cat-skeleton/cat-skeleton.e2e.d.ts +1 -0
  217. package/dist/types/components/cat-skeleton/cat-skeleton.spec.d.ts +1 -0
  218. package/dist/types/components/cat-spinner/cat-spinner.e2e.d.ts +1 -0
  219. package/dist/types/components/cat-spinner/cat-spinner.spec.d.ts +1 -0
  220. package/dist/types/components/cat-textarea/cat-textarea.e2e.d.ts +1 -0
  221. package/dist/types/components/cat-textarea/cat-textarea.spec.d.ts +1 -0
  222. package/dist/types/components/cat-toggle/cat-toggle.e2e.d.ts +1 -0
  223. package/dist/types/components/cat-toggle/cat-toggle.spec.d.ts +1 -0
  224. package/dist/types/components/cat-tooltip/cat-tooltip.e2e.d.ts +1 -0
  225. package/dist/types/components/cat-tooltip/cat-tooltip.spec.d.ts +1 -0
  226. package/dist/types/utils/media-matcher.spec.d.ts +1 -0
  227. package/package.json +3 -3
  228. package/dist/catalyst/p-23d54bc6.js +0 -2
  229. package/dist/catalyst/p-23d54bc6.js.map +0 -1
  230. package/dist/catalyst/p-84693f87.entry.js +0 -24
  231. package/dist/catalyst/p-84693f87.entry.js.map +0 -1
  232. package/dist/catalyst/p-8f5cfa78.js +0 -2
  233. package/dist/catalyst/p-8f5cfa78.js.map +0 -1
  234. package/dist/catalyst/p-fa7da4c6.js +0 -2
  235. package/dist/catalyst/p-fa7da4c6.js.map +0 -1
  236. package/dist/cjs/app-globals-50e7504d.js +0 -180
  237. package/dist/cjs/app-globals-50e7504d.js.map +0 -1
  238. package/dist/cjs/cat-alert_15.cjs.entry.js +0 -4652
  239. package/dist/cjs/cat-alert_15.cjs.entry.js.map +0 -1
  240. package/dist/cjs/cat-icon-registry-6895750f.js.map +0 -1
  241. package/dist/cjs/index-2db8e23d.js +0 -1347
  242. package/dist/cjs/index-2db8e23d.js.map +0 -1
  243. package/dist/esm/app-globals-6906ac5c.js +0 -178
  244. package/dist/esm/app-globals-6906ac5c.js.map +0 -1
  245. package/dist/esm/cat-alert_15.entry.js +0 -4634
  246. package/dist/esm/cat-alert_15.entry.js.map +0 -1
  247. package/dist/esm/cat-icon-registry-77963c26.js.map +0 -1
  248. package/dist/esm/index-1f3ca03b.js +0 -1320
  249. package/dist/esm/index-1f3ca03b.js.map +0 -1
@@ -0,0 +1,75 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatI18nRegistry {
4
+ constructor() {
5
+ this.lang = 'en';
6
+ this.messages = new Map();
7
+ // hide constructor
8
+ }
9
+ static getInstance() {
10
+ if (!CatI18nRegistry.instance) {
11
+ CatI18nRegistry.instance = new CatI18nRegistry();
12
+ console.log(CatI18nRegistry.instance);
13
+ }
14
+ return CatI18nRegistry.instance;
15
+ }
16
+ getLanguage() {
17
+ return this.lang;
18
+ }
19
+ setLanguage(lang) {
20
+ this.lang = lang;
21
+ }
22
+ getMessage(key) {
23
+ var _a;
24
+ debugger;
25
+ const message = (_a = this.messages.get(this.lang)) === null || _a === void 0 ? void 0 : _a.get(key);
26
+ if (!message) {
27
+ loglevel.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);
28
+ }
29
+ return message;
30
+ }
31
+ addMessage(lang, key, message) {
32
+ this.getDict(lang).set(key, message);
33
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);
34
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));
35
+ return this;
36
+ }
37
+ addMessages(lang, i18n) {
38
+ this.messages.set(lang, Object.assign(Object.assign({}, this.getDict(lang)), i18n));
39
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);
40
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));
41
+ return this;
42
+ }
43
+ removeMessage(lang, key) {
44
+ this.getDict(lang).delete(key);
45
+ loglevel.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);
46
+ window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));
47
+ return this;
48
+ }
49
+ removeMessages(lang, keys) {
50
+ const dict = this.getDict(lang);
51
+ keys.forEach(key => dict.delete(key));
52
+ loglevel.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);
53
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));
54
+ return this;
55
+ }
56
+ buildEvent(name, detail) {
57
+ return new CustomEvent(name, {
58
+ bubbles: true,
59
+ composed: true,
60
+ detail
61
+ });
62
+ }
63
+ getDict(lang) {
64
+ let messages = this.messages.get(lang);
65
+ if (!messages) {
66
+ messages = new Map();
67
+ this.messages.set(lang, messages);
68
+ }
69
+ return messages;
70
+ }
71
+ }
72
+
73
+ export { CatI18nRegistry as C };
74
+
75
+ //# sourceMappingURL=cat-i18n-registry-2a6187c9.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-i18n-registry-2a6187c9.js","mappings":"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","names":["log"],"sources":["./src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["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 console.log(CatI18nRegistry.instance);\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 debugger;\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 this.messages.set(lang, { ...this.getDict(lang), ...i18n });\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"],"version":3}
@@ -0,0 +1,74 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatI18nRegistry {
4
+ constructor() {
5
+ this.lang = 'en';
6
+ this.messages = new Map();
7
+ // hide constructor
8
+ }
9
+ static getInstance() {
10
+ if (!CatI18nRegistry.instance) {
11
+ CatI18nRegistry.instance = new CatI18nRegistry();
12
+ console.log(CatI18nRegistry.instance);
13
+ }
14
+ return CatI18nRegistry.instance;
15
+ }
16
+ getLanguage() {
17
+ return this.lang;
18
+ }
19
+ setLanguage(lang) {
20
+ this.lang = lang;
21
+ }
22
+ getMessage(key) {
23
+ var _a;
24
+ const message = (_a = this.messages.get(this.lang)) === null || _a === void 0 ? void 0 : _a.get(key);
25
+ if (!message) {
26
+ loglevel.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);
27
+ }
28
+ return message;
29
+ }
30
+ addMessage(lang, key, message) {
31
+ this.getDict(lang).set(key, message);
32
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);
33
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));
34
+ return this;
35
+ }
36
+ addMessages(lang, i18n) {
37
+ this.messages.set(lang, Object.assign(Object.assign({}, this.getDict(lang)), i18n));
38
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);
39
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));
40
+ return this;
41
+ }
42
+ removeMessage(lang, key) {
43
+ this.getDict(lang).delete(key);
44
+ loglevel.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);
45
+ window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));
46
+ return this;
47
+ }
48
+ removeMessages(lang, keys) {
49
+ const dict = this.getDict(lang);
50
+ keys.forEach(key => dict.delete(key));
51
+ loglevel.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);
52
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));
53
+ return this;
54
+ }
55
+ buildEvent(name, detail) {
56
+ return new CustomEvent(name, {
57
+ bubbles: true,
58
+ composed: true,
59
+ detail
60
+ });
61
+ }
62
+ getDict(lang) {
63
+ let messages = this.messages.get(lang);
64
+ if (!messages) {
65
+ messages = new Map();
66
+ this.messages.set(lang, messages);
67
+ }
68
+ return messages;
69
+ }
70
+ }
71
+
72
+ export { CatI18nRegistry as C };
73
+
74
+ //# sourceMappingURL=cat-i18n-registry-330db605.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-i18n-registry-330db605.js","mappings":";;MAEa,eAAe;EAM1B;IAHQ,SAAI,GAAG,IAAI,CAAC;IACH,aAAQ,GAAqC,IAAI,GAAG,EAAE,CAAC;;GAIvE;EAED,OAAO,WAAW;IAChB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;MAC7B,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE,CAAC;MACjD,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KACvC;IACD,OAAO,eAAe,CAAC,QAAQ,CAAC;GACjC;EAED,WAAW;IACT,OAAO,IAAI,CAAC,IAAI,CAAC;GAClB;EAED,WAAW,CAAC,IAAY;IACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;GAClB;EAED,UAAU,CAAC,GAAW;;IACpB,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,0CAAE,GAAG,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,OAAO,EAAE;MACZA,QAAG,CAAC,KAAK,CAAC,8CAA8C,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;KAC9E;IACD,OAAO,OAAO,CAAC;GAChB;EAED,UAAU,CAAC,IAAY,EAAE,GAAW,EAAE,OAAe;IACnD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACrCA,QAAG,CAAC,IAAI,CAAC,4CAA4C,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;GACb;EAED,WAAW,CAAC,IAAY,EAAE,IAA+B;IACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,kCAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAK,IAAI,EAAG,CAAC;IAC5DA,QAAG,CAAC,IAAI,CAAC,4CAA4C,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAChG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3F,OAAO,IAAI,CAAC;GACb;EAED,aAAa,CAAC,IAAY,EAAE,GAAW;IACrC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC/BA,QAAG,CAAC,IAAI,CAAC,8CAA8C,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;IACvE,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC;GACb;EAED,cAAc,CAAC,IAAY,EAAE,IAAc;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACtCA,QAAG,CAAC,IAAI,CAAC,+CAA+C,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtF,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;GACb;EAEO,UAAU,CAAI,IAAY,EAAE,MAAU;IAC5C,OAAO,IAAI,WAAW,CAAC,IAAI,EAAE;MAC3B,OAAO,EAAE,IAAI;MACb,QAAQ,EAAE,IAAI;MACd,MAAM;KACP,CAAC,CAAC;GACJ;EAEO,OAAO,CAAC,IAAY;IAC1B,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE;MACb,QAAQ,GAAG,IAAI,GAAG,EAAE,CAAC;MACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KACnC;IACD,OAAO,QAAQ,CAAC;GACjB;;;;;","names":["log"],"sources":["./src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["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 console.log(CatI18nRegistry.instance);\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 this.messages.set(lang, { ...this.getDict(lang), ...i18n });\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"],"version":3}
@@ -0,0 +1,74 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatI18nRegistry {
4
+ constructor() {
5
+ this.lang = 'en';
6
+ this.messages = new Map();
7
+ // hide constructor
8
+ }
9
+ static getInstance() {
10
+ if (!CatI18nRegistry.instance) {
11
+ CatI18nRegistry.instance = new CatI18nRegistry();
12
+ }
13
+ return CatI18nRegistry.instance;
14
+ }
15
+ getLanguage() {
16
+ return this.lang;
17
+ }
18
+ setLanguage(lang) {
19
+ this.lang = lang;
20
+ }
21
+ getMessage(key) {
22
+ var _a;
23
+ const message = (_a = this.messages.get(this.lang)) === null || _a === void 0 ? void 0 : _a.get(key);
24
+ if (!message) {
25
+ loglevel.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);
26
+ }
27
+ return message;
28
+ }
29
+ addMessage(lang, key, message) {
30
+ this.getDict(lang).set(key, message);
31
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);
32
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));
33
+ return this;
34
+ }
35
+ addMessages(lang, i18n) {
36
+ const dict = this.getDict(lang);
37
+ Object.entries(i18n).forEach(([key, message]) => dict.set(key, message));
38
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);
39
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));
40
+ return this;
41
+ }
42
+ removeMessage(lang, key) {
43
+ this.getDict(lang).delete(key);
44
+ loglevel.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);
45
+ window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));
46
+ return this;
47
+ }
48
+ removeMessages(lang, keys) {
49
+ const dict = this.getDict(lang);
50
+ keys.forEach(key => dict.delete(key));
51
+ loglevel.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);
52
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));
53
+ return this;
54
+ }
55
+ buildEvent(name, detail) {
56
+ return new CustomEvent(name, {
57
+ bubbles: true,
58
+ composed: true,
59
+ detail
60
+ });
61
+ }
62
+ getDict(lang) {
63
+ let messages = this.messages.get(lang);
64
+ if (!messages) {
65
+ messages = new Map();
66
+ this.messages.set(lang, messages);
67
+ }
68
+ return messages;
69
+ }
70
+ }
71
+
72
+ export { CatI18nRegistry as C };
73
+
74
+ //# sourceMappingURL=cat-i18n-registry-83d20604.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-i18n-registry-83d20604.js","mappings":"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","names":["log"],"sources":["./src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["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"],"version":3}
@@ -0,0 +1,73 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatI18nRegistry {
4
+ constructor() {
5
+ this.lang = 'en';
6
+ this.messages = new Map();
7
+ // hide constructor
8
+ }
9
+ static getInstance() {
10
+ if (!CatI18nRegistry.instance) {
11
+ CatI18nRegistry.instance = new CatI18nRegistry();
12
+ }
13
+ return CatI18nRegistry.instance;
14
+ }
15
+ getLanguage() {
16
+ return this.lang;
17
+ }
18
+ setLanguage(lang) {
19
+ this.lang = lang;
20
+ }
21
+ getMessage(key) {
22
+ var _a;
23
+ const message = (_a = this.messages.get(this.lang)) === null || _a === void 0 ? void 0 : _a.get(key);
24
+ if (!message) {
25
+ loglevel.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);
26
+ }
27
+ return message;
28
+ }
29
+ addMessage(lang, key, message) {
30
+ this.getDict(lang).set(key, message);
31
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);
32
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));
33
+ return this;
34
+ }
35
+ addMessages(lang, i18n) {
36
+ this.messages.set(lang, Object.assign(Object.assign({}, this.getDict(lang)), i18n));
37
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);
38
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));
39
+ return this;
40
+ }
41
+ removeMessage(lang, key) {
42
+ this.getDict(lang).delete(key);
43
+ loglevel.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);
44
+ window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));
45
+ return this;
46
+ }
47
+ removeMessages(lang, keys) {
48
+ const dict = this.getDict(lang);
49
+ keys.forEach(key => dict.delete(key));
50
+ loglevel.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);
51
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));
52
+ return this;
53
+ }
54
+ buildEvent(name, detail) {
55
+ return new CustomEvent(name, {
56
+ bubbles: true,
57
+ composed: true,
58
+ detail
59
+ });
60
+ }
61
+ getDict(lang) {
62
+ let messages = this.messages.get(lang);
63
+ if (!messages) {
64
+ messages = new Map();
65
+ this.messages.set(lang, messages);
66
+ }
67
+ return messages;
68
+ }
69
+ }
70
+
71
+ export { CatI18nRegistry as C };
72
+
73
+ //# sourceMappingURL=cat-i18n-registry-dd55821d.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-i18n-registry-dd55821d.js","mappings":"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","names":["log"],"sources":["./src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["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 this.messages.set(lang, { ...this.getDict(lang), ...i18n });\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"],"version":3}
@@ -0,0 +1,75 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatI18nRegistry {
4
+ constructor() {
5
+ this.lang = 'en';
6
+ this.messages = new Map();
7
+ // hide constructor
8
+ }
9
+ static getInstance() {
10
+ if (!CatI18nRegistry.instance) {
11
+ CatI18nRegistry.instance = new CatI18nRegistry();
12
+ console.log(CatI18nRegistry.instance);
13
+ }
14
+ return CatI18nRegistry.instance;
15
+ }
16
+ getLanguage() {
17
+ return this.lang;
18
+ }
19
+ setLanguage(lang) {
20
+ this.lang = lang;
21
+ }
22
+ getMessage(key) {
23
+ var _a;
24
+ const message = (_a = this.messages.get(this.lang)) === null || _a === void 0 ? void 0 : _a.get(key);
25
+ if (!message) {
26
+ loglevel.error(`[CatI18nRegistry] Unknown message for lang ${this.lang}: ${key}`);
27
+ }
28
+ return message;
29
+ }
30
+ addMessage(lang, key, message) {
31
+ this.getDict(lang).set(key, message);
32
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${key}`);
33
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, key }));
34
+ return this;
35
+ }
36
+ addMessages(lang, i18n) {
37
+ const dict = this.getDict(lang);
38
+ Object.entries(i18n).forEach(([key, message]) => dict.set(key, message));
39
+ loglevel.info(`[CatI18nRegistry] Added message for lang ${lang}: ${Object.keys(i18n).concat(', ')}`);
40
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys: Object.keys(i18n) }));
41
+ return this;
42
+ }
43
+ removeMessage(lang, key) {
44
+ this.getDict(lang).delete(key);
45
+ loglevel.info(`[CatI18nRegistry] Removed message for lang ${lang}: ${key}`);
46
+ window.dispatchEvent(this.buildEvent('cat-i18n-removed', { lang, key }));
47
+ return this;
48
+ }
49
+ removeMessages(lang, keys) {
50
+ const dict = this.getDict(lang);
51
+ keys.forEach(key => dict.delete(key));
52
+ loglevel.info(`[CatI18nRegistry] Removed messages for lang ${lang}: ${keys.concat(', ')}`);
53
+ window.dispatchEvent(this.buildEvent('cat-i18n-added', { lang, keys }));
54
+ return this;
55
+ }
56
+ buildEvent(name, detail) {
57
+ return new CustomEvent(name, {
58
+ bubbles: true,
59
+ composed: true,
60
+ detail
61
+ });
62
+ }
63
+ getDict(lang) {
64
+ let messages = this.messages.get(lang);
65
+ if (!messages) {
66
+ messages = new Map();
67
+ this.messages.set(lang, messages);
68
+ }
69
+ return messages;
70
+ }
71
+ }
72
+
73
+ export { CatI18nRegistry as C };
74
+
75
+ //# sourceMappingURL=cat-i18n-registry-f6560651.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-i18n-registry-f6560651.js","mappings":"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","names":["log"],"sources":["./src/components/cat-i18n/cat-i18n-registry.ts"],"sourcesContent":["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 console.log(CatI18nRegistry.instance);\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"],"version":3}
@@ -0,0 +1,59 @@
1
+ import { l as loglevel } from './loglevel-7f0f71af.js';
2
+
3
+ class CatIconRegistry {
4
+ constructor() {
5
+ this.icons = new Map();
6
+ // hide constructor
7
+ }
8
+ static getInstance() {
9
+ if (!CatIconRegistry.instance) {
10
+ CatIconRegistry.instance = new CatIconRegistry();
11
+ }
12
+ return CatIconRegistry.instance;
13
+ }
14
+ getIcon(name, setName) {
15
+ const icon = this.icons.get(this.buildName(name, setName));
16
+ if (!icon) {
17
+ loglevel.error(`[CatIconRegistry] Unknown icon${setName ? ` in set ${setName}` : ''}: ${name}`);
18
+ }
19
+ return icon;
20
+ }
21
+ addIcon(name, data, setName) {
22
+ this.icons.set(this.buildName(name, setName), data);
23
+ loglevel.info(`[CatIconRegistry] Added icon${setName ? ` to set ${setName}` : ''}: ${name}`);
24
+ window.dispatchEvent(this.buildEvent('cat-icon-added', { name, setName }));
25
+ return this;
26
+ }
27
+ addIcons(icons, setName) {
28
+ Object.entries(icons).forEach(([name, data]) => this.icons.set(this.buildName(name, setName), data));
29
+ loglevel.info(`[CatIconRegistry] Added icons${setName ? ` to set ${setName}` : ''}: ${Object.keys(icons).concat(', ')}`);
30
+ window.dispatchEvent(this.buildEvent('cat-icons-added', { names: Object.keys(icons), setName }));
31
+ return this;
32
+ }
33
+ removeIcon(name, setName) {
34
+ this.icons.delete(this.buildName(name, setName));
35
+ loglevel.info(`[CatIconRegistry] Removed icon${setName ? ` from set ${setName}` : ''}: ${name}`);
36
+ window.dispatchEvent(this.buildEvent('cat-icon-removed', { name, setName }));
37
+ return this;
38
+ }
39
+ removeIcons(names, setName) {
40
+ names.forEach(name => this.icons.delete(this.buildName(name, setName)));
41
+ loglevel.info(`[CatIconRegistry] Removed icons${setName ? ` from set ${setName}` : ''}: ${names.concat(', ')}`);
42
+ window.dispatchEvent(this.buildEvent('cat-icons-removed', { names, setName }));
43
+ return this;
44
+ }
45
+ buildName(name, setName) {
46
+ return setName ? `${setName}:name` : name;
47
+ }
48
+ buildEvent(name, detail) {
49
+ return new CustomEvent(name, {
50
+ bubbles: true,
51
+ composed: true,
52
+ detail
53
+ });
54
+ }
55
+ }
56
+
57
+ export { CatIconRegistry as C };
58
+
59
+ //# sourceMappingURL=cat-icon-registry-2dcfc9fb.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-icon-registry-2dcfc9fb.js","mappings":"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","names":["log"],"sources":["./src/components/cat-icon/cat-icon-registry.ts"],"sourcesContent":["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"],"version":3}
@@ -0,0 +1,31 @@
1
+ import { r as registerInstance, h } from './index-471d4e05.js';
2
+ import { C as CatIconRegistry } from './cat-icon-registry-2dcfc9fb.js';
3
+ import './loglevel-7f0f71af.js';
4
+
5
+ const catIconCss = ":host{display:inline-flex;vertical-align:middle;-webkit-user-select:none;-ms-user-select:none;user-select:none;}:host([hidden]){display:none}span{display:inline-flex}svg{fill:currentColor;stroke:none;transform-origin:center center;width:1em;height:1em}.icon-xs svg{font-size:0.75rem}.icon-s svg{font-size:1rem}.icon-m svg{font-size:1.25rem}.icon-l svg{font-size:1.5rem}.icon-xl svg{font-size:1.75rem}";
6
+
7
+ const CatIcon = class {
8
+ constructor(hostRef) {
9
+ registerInstance(this, hostRef);
10
+ this.iconRegistry = CatIconRegistry.getInstance();
11
+ /**
12
+ * The name of the icon.
13
+ */
14
+ this.icon = '';
15
+ /**
16
+ * The size of the icon.
17
+ */
18
+ this.size = 'm';
19
+ }
20
+ render() {
21
+ return (h("span", { innerHTML: this.iconRegistry.getIcon(this.icon), "aria-label": this.a11yLabel, "aria-hidden": this.a11yLabel ? null : 'true', part: "icon", class: {
22
+ icon: true,
23
+ [`icon-${this.size}`]: this.size !== 'inline'
24
+ } }));
25
+ }
26
+ };
27
+ CatIcon.style = catIconCss;
28
+
29
+ export { CatIcon as cat_icon };
30
+
31
+ //# sourceMappingURL=cat-icon.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"cat-icon.entry.esm.js","mappings":";;;;AAAA,MAAM,UAAU,GAAG,kZAAkZ;;MCcxZ,OAAO;EALpB;;IAMmB,iBAAY,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;;;;IAKtD,SAAI,GAAG,EAAE,CAAC;;;;IAKV,SAAI,GAA6C,GAAG,CAAC;GAsB9D;EAdC,MAAM;IACJ,QACE,YACE,SAAS,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,gBACnC,IAAI,CAAC,SAAS,iBACb,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,MAAM,EAC3C,IAAI,EAAC,MAAM,EACX,KAAK,EAAE;QACL,IAAI,EAAE,IAAI;QACV,CAAC,QAAQ,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,KAAK,QAAQ;OAC9C,GACK,EACR;GACH;;;;;;","names":[],"sources":["./src/components/cat-icon/cat-icon.scss?tag=cat-icon&encapsulation=shadow","./src/components/cat-icon/cat-icon.tsx"],"sourcesContent":["@use 'variables' as *;\n@use 'mixins' as *;\n\n:host {\n display: inline-flex;\n vertical-align: middle;\n @include cat-select(none);\n}\n\n:host([hidden]) {\n display: none;\n}\n\nspan {\n display: inline-flex;\n}\n\nsvg {\n fill: currentColor;\n stroke: none;\n transform-origin: center center;\n width: 1em;\n height: 1em;\n}\n\n// ----- size\n\n@mixin size($size) {\n .icon-#{$size} svg {\n font-size: cat-size($size) * 0.5;\n }\n}\n\n@include size('xs');\n@include size('s');\n@include size('m');\n@include size('l');\n@include size('xl');\n","import { Component, h, Prop } from '@stencil/core';\nimport { CatIconRegistry } from './cat-icon-registry';\n\n/**\n * Icons are used to provide additional meaning or in places where text label\n * doesn't fit.\n *\n * @part icon - The span element wrapping the SVG icon.\n */\n@Component({\n tag: 'cat-icon',\n styleUrl: 'cat-icon.scss',\n shadow: true\n})\nexport class CatIcon {\n private readonly iconRegistry = CatIconRegistry.getInstance();\n\n /**\n * The name of the icon.\n */\n @Prop() icon = '';\n\n /**\n * The size of the icon.\n */\n @Prop() size: 'xs' | 's' | 'm' | 'l' | 'xl' | 'inline' = 'm';\n\n /**\n * Adds accessible label for the icon that is only shown for screen\n * readers. The `aria-hidden` attribute will be set if no label is present.\n */\n @Prop({ attribute: 'a11y-label' }) a11yLabel?: string;\n\n render() {\n return (\n <span\n innerHTML={this.iconRegistry.getIcon(this.icon)}\n aria-label={this.a11yLabel}\n aria-hidden={this.a11yLabel ? null : 'true'}\n part=\"icon\"\n class={{\n icon: true,\n [`icon-${this.size}`]: this.size !== 'inline'\n }}\n ></span>\n );\n }\n}\n"],"version":3}