@redvars/peacock 3.1.0 → 3.1.2

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 (187) hide show
  1. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.css.js +3 -3
  2. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.css.js.map +1 -1
  3. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.d.ts +16 -3
  4. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.js +16 -3
  5. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/avatar.js.map +1 -1
  6. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/p-avatar.d.ts +3 -0
  7. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/p-avatar.js +10 -0
  8. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/avatar/p-avatar.js.map +1 -0
  9. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.css.d.ts +1 -0
  10. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.css.js +34 -0
  11. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.css.js.map +1 -0
  12. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.d.ts +23 -0
  13. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.js +54 -0
  14. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/badge.js.map +1 -0
  15. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/index.d.ts +1 -0
  16. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/index.js +2 -0
  17. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/index.js.map +1 -0
  18. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/p-badge.d.ts +3 -0
  19. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/p-badge.js +10 -0
  20. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/badge/p-badge.js.map +1 -0
  21. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.css.d.ts +1 -0
  22. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.css.js +12 -0
  23. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.css.js.map +1 -0
  24. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.d.ts +27 -0
  25. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.js +58 -0
  26. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/clock.js.map +1 -0
  27. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/index.d.ts +1 -0
  28. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/index.js +2 -0
  29. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/clock/index.js.map +1 -0
  30. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.css.d.ts +1 -0
  31. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.css.js +58 -0
  32. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.css.js.map +1 -0
  33. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.d.ts +28 -0
  34. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.js +68 -0
  35. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/divider.js.map +1 -0
  36. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/index.d.ts +1 -0
  37. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/index.js +2 -0
  38. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/divider/index.js.map +1 -0
  39. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/icon.d.ts +15 -1
  40. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/icon.js +10 -1
  41. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/icon.js.map +1 -1
  42. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/p-icon.d.ts +1 -1
  43. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/p-icon.js +4 -4
  44. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/icon/p-icon.js.map +1 -1
  45. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/index.d.ts +5 -2
  46. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/index.js +5 -2
  47. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/index.js.map +1 -1
  48. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/index.d.ts +1 -0
  49. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/index.js +2 -0
  50. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/index.js.map +1 -0
  51. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/link.css.d.ts +2 -0
  52. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/link.css.js +36 -0
  53. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/link.css.js.map +1 -0
  54. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/link.d.ts +12 -0
  55. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/link.js +18 -0
  56. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/link/link.js.map +1 -0
  57. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/peacock-loader.js +41 -2
  58. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/peacock-loader.js.map +1 -1
  59. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/styleMixins.css.d.ts +9 -0
  60. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/styleMixins.css.js +46 -0
  61. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/styleMixins.css.js.map +1 -0
  62. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/text/text.css.d.ts +2 -0
  63. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/text/text.css.js +70 -0
  64. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/text/text.css.js.map +1 -0
  65. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/utils.d.ts +1 -1
  66. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/utils.js +32 -7
  67. package/.rollup.cache/E/git/redvars/peacock/components/dist/src/utils.js.map +1 -1
  68. package/.rollup.cache/E/git/redvars/peacock/components/dist/tsconfig.tsbuildinfo +1 -1
  69. package/bin/typedoc-gen.mjs +64 -0
  70. package/custom-elements-manifest.config.mjs +8 -21
  71. package/demo/index.html +21 -9
  72. package/demo/int.html +2 -0
  73. package/dist/assets/styles/tokens.css +8 -1
  74. package/dist/{component/avatar.js → avatar.js} +23 -13
  75. package/dist/avatar.js.map +1 -0
  76. package/dist/badge.js +89 -0
  77. package/dist/badge.js.map +1 -0
  78. package/dist/class-map-DpvLRi0h.js +11 -0
  79. package/dist/class-map-DpvLRi0h.js.map +1 -0
  80. package/dist/clock.js +70 -0
  81. package/dist/clock.js.map +1 -0
  82. package/dist/custom-elements-jsdocs.json +656 -0
  83. package/dist/directive-BKuZRRPO.js +9 -0
  84. package/dist/directive-BKuZRRPO.js.map +1 -0
  85. package/dist/divider.js +123 -0
  86. package/dist/divider.js.map +1 -0
  87. package/dist/{component/Icon.js → icon.js} +15 -9
  88. package/dist/icon.js.map +1 -0
  89. package/dist/index.js +11 -88
  90. package/dist/index.js.map +1 -1
  91. package/dist/peacock-loader.js +141 -3
  92. package/dist/peacock-loader.js.map +1 -1
  93. package/dist/property-D4Kn9TsY.js +63 -0
  94. package/dist/property-D4Kn9TsY.js.map +1 -0
  95. package/dist/src/avatar/avatar.d.ts +16 -3
  96. package/dist/src/avatar/p-avatar.d.ts +3 -0
  97. package/dist/src/badge/badge.css.d.ts +1 -0
  98. package/dist/src/badge/badge.d.ts +23 -0
  99. package/dist/src/badge/index.d.ts +1 -0
  100. package/dist/src/badge/p-badge.d.ts +3 -0
  101. package/dist/src/clock/clock.css.d.ts +1 -0
  102. package/dist/src/clock/clock.d.ts +27 -0
  103. package/dist/src/clock/index.d.ts +1 -0
  104. package/dist/src/divider/divider.css.d.ts +1 -0
  105. package/dist/src/divider/divider.d.ts +28 -0
  106. package/dist/src/divider/index.d.ts +1 -0
  107. package/dist/src/icon/icon.d.ts +15 -1
  108. package/dist/src/icon/p-icon.d.ts +1 -1
  109. package/dist/src/index.d.ts +5 -2
  110. package/dist/src/link/link.css.d.ts +2 -0
  111. package/dist/src/styleMixins.css.d.ts +9 -0
  112. package/dist/src/text/text.css.d.ts +2 -0
  113. package/dist/src/utils.d.ts +1 -1
  114. package/dist/state-CxzmLNIi.js +10 -0
  115. package/dist/state-CxzmLNIi.js.map +1 -0
  116. package/dist/styleMixins.css-CivfMYtB.js +17 -0
  117. package/dist/styleMixins.css-CivfMYtB.js.map +1 -0
  118. package/dist/tsconfig.tsbuildinfo +1 -1
  119. package/dist/{src/utils.js → utils-_5no4mk7.js} +37 -10
  120. package/dist/utils-_5no4mk7.js.map +1 -0
  121. package/package.json +17 -9
  122. package/readme.md +178 -0
  123. package/rollup.config.js +72 -34
  124. package/scratch.mjs +0 -0
  125. package/src/avatar/avatar.css.ts +3 -3
  126. package/src/avatar/avatar.ts +16 -3
  127. package/src/avatar/demo/index.html +2 -2
  128. package/src/avatar/p-avatar.ts +5 -0
  129. package/src/badge/badge.css.ts +34 -0
  130. package/src/badge/badge.ts +51 -0
  131. package/src/badge/demo/index.html +62 -0
  132. package/src/badge/index.ts +1 -0
  133. package/src/badge/p-badge.ts +5 -0
  134. package/src/clock/clock.css.ts +12 -0
  135. package/src/clock/clock.ts +57 -0
  136. package/src/clock/demo/index.html +26 -0
  137. package/src/clock/index.ts +1 -0
  138. package/src/divider/demo/index.html +58 -0
  139. package/src/divider/divider.css.ts +58 -0
  140. package/src/divider/divider.ts +65 -0
  141. package/src/divider/index.ts +1 -0
  142. package/src/icon/demo/index.html +4 -4
  143. package/src/icon/icon.ts +16 -2
  144. package/src/icon/p-icon.ts +1 -1
  145. package/src/index.ts +5 -2
  146. package/src/link/link.css.ts +36 -0
  147. package/src/peacock-loader.ts +49 -2
  148. package/src/styleMixins.css.ts +55 -0
  149. package/src/styles.d.ts +11 -0
  150. package/src/text/text.css.ts +76 -0
  151. package/src/utils.ts +42 -7
  152. package/tsconfig.json +1 -1
  153. package/README.md +0 -46
  154. package/custom-elements.md +0 -268
  155. package/demo/tokens.css +0 -510
  156. package/dist/component/Icon.js.map +0 -1
  157. package/dist/component/avatar.js.map +0 -1
  158. package/dist/icon-1wpxQtrZ.js +0 -341
  159. package/dist/icon-1wpxQtrZ.js.map +0 -1
  160. package/dist/src/LoaderUtils.js +0 -81
  161. package/dist/src/LoaderUtils.js.map +0 -1
  162. package/dist/src/avatar/avatar.css.js +0 -41
  163. package/dist/src/avatar/avatar.css.js.map +0 -1
  164. package/dist/src/avatar/avatar.js +0 -49
  165. package/dist/src/avatar/avatar.js.map +0 -1
  166. package/dist/src/avatar/index.js +0 -2
  167. package/dist/src/avatar/index.js.map +0 -1
  168. package/dist/src/icon/datasource.js +0 -20
  169. package/dist/src/icon/datasource.js.map +0 -1
  170. package/dist/src/icon/icon.css.js +0 -22
  171. package/dist/src/icon/icon.css.js.map +0 -1
  172. package/dist/src/icon/icon.js +0 -124
  173. package/dist/src/icon/icon.js.map +0 -1
  174. package/dist/src/icon/index.js +0 -2
  175. package/dist/src/icon/index.js.map +0 -1
  176. package/dist/src/icon/p-icon.js +0 -15
  177. package/dist/src/icon/p-icon.js.map +0 -1
  178. package/dist/src/index.js +0 -3
  179. package/dist/src/index.js.map +0 -1
  180. package/dist/src/peacock-loader.js +0 -16
  181. package/dist/src/peacock-loader.js.map +0 -1
  182. package/dist/src/utils.js.map +0 -1
  183. package/dist/test/icon.test.js +0 -14
  184. package/dist/test/icon.test.js.map +0 -1
  185. package/dist/utils-CSwoJIcG.js +0 -171
  186. package/dist/utils-CSwoJIcG.js.map +0 -1
  187. package/readme-gen.mjs +0 -11
@@ -1,81 +0,0 @@
1
- export class LoaderUtils {
2
- constructor(loaderConfig) {
3
- this.loaderConfig = loaderConfig;
4
- this._loaderConfig = loaderConfig;
5
- }
6
- static registerComponent(tagName, CustomElementClass) {
7
- if (CustomElementClass && !customElements.get(tagName)) {
8
- customElements.define(tagName, CustomElementClass);
9
- }
10
- }
11
- start() {
12
- this.eagerLoadComponents();
13
- this.lazyLoadComponents(document);
14
- }
15
- eagerLoadComponents() {
16
- if (!this._loaderConfig.components)
17
- return;
18
- for (const [name, value] of Object.entries(this._loaderConfig.components)) {
19
- if (value.CustomElementClass)
20
- LoaderUtils.registerComponent(this.getFullTagName(name), value.CustomElementClass);
21
- }
22
- }
23
- getFullTagName(name) {
24
- return `${this._loaderConfig.prefix}-${name}`;
25
- }
26
- async registerAsync(tagName) {
27
- if (customElements.get(tagName))
28
- return;
29
- const baseName = tagName.replace(`${this._loaderConfig.prefix}-`, '');
30
- if (!this._loaderConfig.components)
31
- return;
32
- const config = this._loaderConfig.components[baseName];
33
- if (!config || !config.importPath)
34
- return;
35
- try {
36
- const module = await import(config.importPath);
37
- // Runtime definition: grabbing the class from the module
38
- const CustomElementClass = module.default || module[Object.keys(module)[0]];
39
- if (CustomElementClass && !customElements.get(tagName)) {
40
- customElements.define(tagName, CustomElementClass);
41
- }
42
- // Handle dependencies recursively
43
- if (config.dependencies) {
44
- for (const dep of config.dependencies) {
45
- // eslint-disable-next-line no-await-in-loop
46
- await this.registerAsync(this.getFullTagName(dep));
47
- }
48
- }
49
- }
50
- catch (error) {
51
- console.error(`Unable to load <${tagName}> from ${config.importPath}`, error);
52
- }
53
- }
54
- async load(root) {
55
- const rootTagName = root instanceof Element ? root.tagName.toLowerCase() : '';
56
- const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el => el.tagName.toLowerCase());
57
- if (rootTagName.includes('-') && !customElements.get(rootTagName)) {
58
- tags.push(rootTagName);
59
- }
60
- const tagsToRegister = [...new Set(tags)];
61
- await Promise.allSettled(tagsToRegister.map(tagName => this.registerAsync(tagName)));
62
- }
63
- lazyLoadComponents(root) {
64
- this._observer = new MutationObserver(mutations => {
65
- for (const { addedNodes } of mutations) {
66
- for (const node of addedNodes) {
67
- if (node.nodeType === Node.ELEMENT_NODE) {
68
- this.load(node);
69
- }
70
- }
71
- }
72
- });
73
- const target = root instanceof Document ? root.documentElement : root;
74
- this.load(target);
75
- this._observer.observe(target, {
76
- subtree: true,
77
- childList: true,
78
- });
79
- }
80
- }
81
- //# sourceMappingURL=LoaderUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LoaderUtils.js","sourceRoot":"","sources":["../../src/LoaderUtils.ts"],"names":[],"mappings":"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","sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n prefix?: string;\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(private loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(\n this.getFullTagName(name),\n value.CustomElementClass,\n );\n }\n }\n\n getFullTagName(name: string) {\n return `${this._loaderConfig.prefix}-${name}`;\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n const baseName = tagName.replace(`${this._loaderConfig.prefix}-`, '');\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[baseName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(this.getFullTagName(dep));\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n"]}
@@ -1,41 +0,0 @@
1
- import { css, unsafeCSS } from 'lit';
2
- import { getTypography } from '../utils.js';
3
- export const styles = css `
4
- :host {
5
- display: inline-block;
6
- pointer-events: none;
7
- --avatar-size: 2rem;
8
- --avatar-background-color: var(--color-primary);
9
- --avatar-text-color: var(--color-on-primary);
10
- --avatar-border-radius: var(--global-avatar-border-radius);
11
- }
12
-
13
- .avatar-container {
14
- display: flex;
15
- align-items: center;
16
- gap: var(--spacing-050);
17
- line-height: 0;
18
- }
19
-
20
- .avatar {
21
- border-radius: var(--avatar-border-radius);
22
- display: flex;
23
- justify-content: center;
24
- align-items: center;
25
- color: var(--avatar-text-color);
26
- width: var(--avatar-size);
27
- height: var(--avatar-size);
28
- ${unsafeCSS(getTypography('body-large-emphasized'))}
29
- background-color: var(--avatar-background-color);
30
-
31
- font-size: calc(var(--avatar-size) * 0.4);
32
-
33
- .image {
34
- width: 100%;
35
- height: 100%;
36
- overflow: hidden;
37
- border-radius: inherit;
38
- }
39
- }
40
- `;
41
- //# sourceMappingURL=avatar.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.css.js","sourceRoot":"","sources":["../../../src/avatar/avatar.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;MAyBnB,SAAS,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;;;;;;;;;;;;CAYtD,CAAC","sourcesContent":["import { css, unsafeCSS } from 'lit';\nimport { getTypography } from '../utils.js';\n\nexport const styles = css`\n :host {\n display: inline-block;\n pointer-events: none;\n --avatar-size: 2rem;\n --avatar-background-color: var(--color-primary);\n --avatar-text-color: var(--color-on-primary);\n --avatar-border-radius: var(--global-avatar-border-radius);\n }\n\n .avatar-container {\n display: flex;\n align-items: center;\n gap: var(--spacing-050);\n line-height: 0;\n }\n\n .avatar {\n border-radius: var(--avatar-border-radius);\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--avatar-text-color);\n width: var(--avatar-size);\n height: var(--avatar-size);\n ${unsafeCSS(getTypography('body-large-emphasized'))}\n background-color: var(--avatar-background-color);\n\n font-size: calc(var(--avatar-size) * 0.4);\n\n .image {\n width: 100%;\n height: 100%;\n overflow: hidden;\n border-radius: inherit;\n }\n }\n`;\n"]}
@@ -1,49 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { html, LitElement } from 'lit';
8
- import { property } from 'lit/decorators.js';
9
- import { classMap } from 'lit/directives/class-map.js';
10
- import { styles } from './avatar.css.js';
11
- /**
12
- * @summary Icons are visual symbols used to represent ideas, objects, or actions.
13
- *
14
- * @cssprop --icon-color - Controls the color of the icon.
15
- * @cssprop --icon-size - Controls the size of the icon.
16
- */
17
- export class Avatar extends LitElement {
18
- constructor() {
19
- super(...arguments);
20
- this.name = '';
21
- }
22
- render() {
23
- return html `<div class="avatar-container">
24
- <div
25
- class=${classMap({
26
- avatar: true,
27
- initials: !this.src,
28
- image: !!this.src,
29
- })}
30
- >
31
- ${this.src
32
- ? html `<img class="image" src=${this.src} alt=${this.name} />`
33
- : html `<div class="initials">${this.__getInitials()}</div>`}
34
- </div>
35
- </div>`;
36
- }
37
- __getInitials() {
38
- const [first = '', last = ''] = this.name.split(' ');
39
- return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();
40
- }
41
- }
42
- Avatar.styles = [styles];
43
- __decorate([
44
- property({ type: String, reflect: true })
45
- ], Avatar.prototype, "name", void 0);
46
- __decorate([
47
- property({ type: String, reflect: true })
48
- ], Avatar.prototype, "src", void 0);
49
- //# sourceMappingURL=avatar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../src/avatar/avatar.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC;;;;;GAKG;AACH,MAAM,OAAO,MAAO,SAAQ,UAAU;IAAtC;;QAG6C,SAAI,GAAW,EAAE,CAAC;IAwB/D,CAAC;IApBC,MAAM;QACJ,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC;YACf,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,CAAC,IAAI,CAAC,GAAG;YACnB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG;SAClB,CAAC;;UAEA,IAAI,CAAC,GAAG;YACR,CAAC,CAAC,IAAI,CAAA,0BAA0B,IAAI,CAAC,GAAG,QAAQ,IAAI,CAAC,IAAI,KAAK;YAC9D,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,aAAa,EAAE,QAAQ;;WAE1D,CAAC;IACV,CAAC;IAEO,aAAa;QACnB,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IAC7D,CAAC;;AAzBM,aAAM,GAAG,CAAC,MAAM,CAAC,AAAX,CAAY;AAEkB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oCAAmB;AAElB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mCAAc","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './avatar.css.js';\n\n/**\n * @summary Icons are visual symbols used to represent ideas, objects, or actions.\n *\n * @cssprop --icon-color - Controls the color of the icon.\n * @cssprop --icon-size - Controls the size of the icon.\n */\nexport class Avatar extends LitElement {\n static styles = [styles];\n\n @property({ type: String, reflect: true }) name: string = '';\n\n @property({ type: String, reflect: true }) src?: string;\n\n render() {\n return html`<div class=\"avatar-container\">\n <div\n class=${classMap({\n avatar: true,\n initials: !this.src,\n image: !!this.src,\n })}\n >\n ${this.src\n ? html`<img class=\"image\" src=${this.src} alt=${this.name} />`\n : html`<div class=\"initials\">${this.__getInitials()}</div>`}\n </div>\n </div>`;\n }\n\n private __getInitials() {\n const [first = '', last = ''] = this.name.split(' ');\n return `${first.charAt(0)}${last.charAt(0)}`.toUpperCase();\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- export { Avatar } from './avatar.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/avatar/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC","sourcesContent":["export { Avatar } from './avatar.js';\n"]}
@@ -1,20 +0,0 @@
1
- import { createCacheFetch } from '../utils.js';
2
- const PROVIDERS = {
3
- 'material-symbols': (name) => `https://cdn.jsdelivr.net/npm/@material-symbols/svg-500@0.40.1/outlined/${name}.svg`,
4
- carbon: (name) => `https://cdn.jsdelivr.net/npm/@carbon/icons@11.41.0/svg/32/${name}.svg`,
5
- };
6
- const cacheFetch = await createCacheFetch('svg-cache');
7
- export async function fetchSVG(url) {
8
- if (!url)
9
- return '';
10
- return cacheFetch(url);
11
- }
12
- export async function fetchIcon(name, provider = 'material-symbols') {
13
- if (!name)
14
- return '';
15
- if (!PROVIDERS[provider]) {
16
- throw new Error(`Provider '${provider}' not found`);
17
- }
18
- return fetchSVG(PROVIDERS[provider](name));
19
- }
20
- //# sourceMappingURL=datasource.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"datasource.js","sourceRoot":"","sources":["../../../src/icon/datasource.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,MAAM,SAAS,GAA6C;IAC1D,kBAAkB,EAAE,CAAC,IAAY,EAAE,EAAE,CACnC,0EAA0E,IAAI,MAAM;IACtF,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE,CACvB,6DAA6D,IAAI,MAAM;CAC1E,CAAC;AAEF,MAAM,UAAU,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,GAAW;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAY,EACZ,WAAmB,kBAAkB;IAErC,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IAErB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,aAAa,QAAQ,aAAa,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC7C,CAAC","sourcesContent":["import { createCacheFetch } from '../utils.js';\n\nconst PROVIDERS: Record<string, (name: string) => string> = {\n 'material-symbols': (name: string) =>\n `https://cdn.jsdelivr.net/npm/@material-symbols/svg-500@0.40.1/outlined/${name}.svg`,\n carbon: (name: string) =>\n `https://cdn.jsdelivr.net/npm/@carbon/icons@11.41.0/svg/32/${name}.svg`,\n};\n\nconst cacheFetch = await createCacheFetch('svg-cache');\n\nexport async function fetchSVG(url: string) {\n if (!url) return '';\n return cacheFetch(url);\n}\n\nexport async function fetchIcon(\n name: string,\n provider: string = 'material-symbols',\n) {\n if (!name) return '';\n\n if (!PROVIDERS[provider]) {\n throw new Error(`Provider '${provider}' not found`);\n }\n\n return fetchSVG(PROVIDERS[provider](name));\n}\n"]}
@@ -1,22 +0,0 @@
1
- import { css } from 'lit';
2
- export const styles = css `
3
- :host {
4
- display: inline-block;
5
- line-height: 0;
6
- --icon-size: inherit;
7
- --icon-color: inherit;
8
- }
9
-
10
- .icon {
11
- display: inline-block;
12
- height: var(--icon-size, 1rem);
13
- width: var(--icon-size, 1rem);
14
-
15
- svg {
16
- fill: var(--icon-color);
17
- height: 100%;
18
- width: 100%;
19
- }
20
- }
21
- `;
22
- //# sourceMappingURL=icon.css.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon.css.js","sourceRoot":"","sources":["../../../src/icon/icon.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;CAmBxB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`\n :host {\n display: inline-block;\n line-height: 0;\n --icon-size: inherit;\n --icon-color: inherit;\n }\n\n .icon {\n display: inline-block;\n height: var(--icon-size, 1rem);\n width: var(--icon-size, 1rem);\n\n svg {\n fill: var(--icon-color);\n height: 100%;\n width: 100%;\n }\n }\n`;\n"]}
@@ -1,124 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { html, LitElement } from 'lit';
8
- import { property, state } from 'lit/decorators.js';
9
- import { unsafeSVG } from 'lit/directives/unsafe-svg.js';
10
- import { fetchIcon, fetchSVG } from './datasource.js';
11
- import { sanitizeSvg } from '../utils.js';
12
- import { styles } from './icon.css.js';
13
- /**
14
- * @summary Icons are visual symbols used to represent ideas, objects, or actions.
15
- *
16
- * @cssprop --icon-color - Controls the color of the icon.
17
- * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to "1rem"
18
- */
19
- export class Icon extends LitElement {
20
- constructor() {
21
- super(...arguments);
22
- this.name = 'home';
23
- this.provider = 'material-symbols';
24
- this.svgContent = '';
25
- // loading + error states for consumers/tests
26
- this.loading = false;
27
- this.error = null;
28
- // token to avoid race conditions when multiple fetches overlap
29
- this._fetchId = 0;
30
- }
31
- firstUpdated() {
32
- // perform initial fetch once component is connected and rendered
33
- this.__scheduleUpdate();
34
- }
35
- updated(changedProperties) {
36
- // only refetch when name or src changed
37
- if (changedProperties.has('name') || changedProperties.has('src')) {
38
- this.__scheduleUpdate();
39
- }
40
- }
41
- render() {
42
- // accessible wrapper; consumers can provide a fallback via <slot name="fallback">.
43
- return html ` <div class="icon">
44
- ${this.svgContent
45
- ? unsafeSVG(this.svgContent)
46
- : html `<slot name="fallback"></slot>`}
47
- </div>`;
48
- }
49
- // small debounce to coalesce rapid changes (50ms)
50
- __scheduleUpdate() {
51
- if (this._debounceTimer) {
52
- clearTimeout(this._debounceTimer);
53
- }
54
- // @ts-ignore - setTimeout in DOM returns number
55
- this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);
56
- }
57
- /**
58
- * @internal
59
- */
60
- async __updateSvg() {
61
- this._fetchId += 1;
62
- const currentId = this._fetchId;
63
- this.loading = true;
64
- this.error = null;
65
- try {
66
- let raw;
67
- if (this.name) {
68
- raw = await fetchIcon(this.name, this.provider);
69
- }
70
- else if (this.src) {
71
- raw = await fetchSVG(this.src);
72
- }
73
- else {
74
- raw = '';
75
- }
76
- // If another fetch started after this one, ignore this result
77
- if (currentId !== this._fetchId)
78
- return;
79
- if (raw) {
80
- this.svgContent = sanitizeSvg(raw);
81
- }
82
- else {
83
- this.svgContent = '';
84
- }
85
- }
86
- catch (err) {
87
- // capture and surface error, but avoid throwing
88
- this.error = err instanceof Error ? err : new Error(String(err));
89
- this.svgContent = '';
90
- // bubble an event so consumers can react
91
- this.dispatchEvent(new CustomEvent('icon-error', {
92
- detail: { name: this.name, src: this.src, error: this.error },
93
- bubbles: true,
94
- composed: true,
95
- }));
96
- }
97
- finally {
98
- // ensure loading is cleared unless another fetch started
99
- if (currentId === this._fetchId) {
100
- this.loading = false;
101
- }
102
- }
103
- }
104
- }
105
- Icon.styles = [styles];
106
- __decorate([
107
- property({ type: String, reflect: true })
108
- ], Icon.prototype, "name", void 0);
109
- __decorate([
110
- property({ type: String, reflect: true })
111
- ], Icon.prototype, "src", void 0);
112
- __decorate([
113
- property({ type: String })
114
- ], Icon.prototype, "provider", void 0);
115
- __decorate([
116
- state()
117
- ], Icon.prototype, "svgContent", void 0);
118
- __decorate([
119
- state()
120
- ], Icon.prototype, "loading", void 0);
121
- __decorate([
122
- state()
123
- ], Icon.prototype, "error", void 0);
124
- //# sourceMappingURL=icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon.js","sourceRoot":"","sources":["../../../src/icon/icon.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport { fetchIcon, fetchSVG } from './datasource.js';\nimport { sanitizeSvg } from '../utils.js';\nimport { styles } from './icon.css.js';\n\n/**\n * @summary Icons are visual symbols used to represent ideas, objects, or actions.\n *\n * @cssprop --icon-color - Controls the color of the icon.\n * @cssprop [--icon-size=1rem] - Controls the size of the icon. Defaults to \"1rem\"\n */\nexport class Icon extends LitElement {\n static styles = [styles];\n\n @property({ type: String, reflect: true }) name?: string = 'home';\n\n @property({ type: String, reflect: true }) src?: string;\n\n @property({ type: String }) provider?: 'material-symbols' | 'carbon' =\n 'material-symbols';\n\n @state()\n private svgContent: string = '';\n\n // loading + error states for consumers/tests\n @state()\n private loading: boolean = false;\n\n @state()\n private error: Error | null = null;\n\n // token to avoid race conditions when multiple fetches overlap\n private _fetchId = 0;\n\n // optional debounce for rapid property changes\n private _debounceTimer: number | undefined;\n\n firstUpdated() {\n // perform initial fetch once component is connected and rendered\n this.__scheduleUpdate();\n }\n\n updated(changedProperties: any) {\n // only refetch when name or src changed\n if (changedProperties.has('name') || changedProperties.has('src')) {\n this.__scheduleUpdate();\n }\n }\n\n render() {\n // accessible wrapper; consumers can provide a fallback via <slot name=\"fallback\">.\n return html` <div class=\"icon\">\n ${this.svgContent\n ? unsafeSVG(this.svgContent)\n : html`<slot name=\"fallback\"></slot>`}\n </div>`;\n }\n\n // small debounce to coalesce rapid changes (50ms)\n private __scheduleUpdate() {\n if (this._debounceTimer) {\n clearTimeout(this._debounceTimer as any);\n }\n // @ts-ignore - setTimeout in DOM returns number\n this._debounceTimer = window.setTimeout(() => this.__updateSvg(), 50);\n }\n\n /**\n * @internal\n */\n private async __updateSvg() {\n this._fetchId += 1;\n const currentId = this._fetchId;\n this.loading = true;\n this.error = null;\n\n try {\n let raw: string | undefined;\n\n if (this.name) {\n raw = await fetchIcon(this.name, this.provider);\n } else if (this.src) {\n raw = await fetchSVG(this.src);\n } else {\n raw = '';\n }\n\n // If another fetch started after this one, ignore this result\n if (currentId !== this._fetchId) return;\n\n if (raw) {\n this.svgContent = sanitizeSvg(raw);\n } else {\n this.svgContent = '';\n }\n } catch (err: any) {\n // capture and surface error, but avoid throwing\n this.error = err instanceof Error ? err : new Error(String(err));\n this.svgContent = '';\n // bubble an event so consumers can react\n this.dispatchEvent(\n new CustomEvent('icon-error', {\n detail: { name: this.name, src: this.src, error: this.error },\n bubbles: true,\n composed: true,\n }),\n );\n } finally {\n // ensure loading is cleared unless another fetch started\n if (currentId === this._fetchId) {\n this.loading = false;\n }\n }\n }\n}\n"]}
@@ -1,2 +0,0 @@
1
- export { Icon } from './icon.js';
2
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC","sourcesContent":["export { Icon } from './icon.js';\n"]}
@@ -1,15 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { customElement } from 'lit/decorators.js';
8
- import { Icon } from './icon.js';
9
- let IconComponent = class IconComponent extends Icon {
10
- };
11
- IconComponent = __decorate([
12
- customElement('p-icon')
13
- ], IconComponent);
14
- export { IconComponent };
15
- //# sourceMappingURL=p-icon.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"p-icon.js","sourceRoot":"","sources":["../../../src/icon/p-icon.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAG1B,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,IAAI;CAAG,CAAA;AAA7B,aAAa;IADzB,aAAa,CAAC,QAAQ,CAAC;GACX,aAAa,CAAgB","sourcesContent":["import { customElement } from 'lit/decorators.js';\nimport { Icon } from './icon.js';\n\n@customElement('p-icon')\nexport class IconComponent extends Icon {}\n"]}
package/dist/src/index.js DELETED
@@ -1,3 +0,0 @@
1
- export { Icon } from './icon/icon.js';
2
- export { Avatar } from './avatar/avatar.js';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC","sourcesContent":["export { Icon } from './icon/icon.js';\nexport { Avatar } from './avatar/avatar.js';\n"]}
@@ -1,16 +0,0 @@
1
- // Eager loaded
2
- import { Icon } from './icon/icon.js';
3
- import { LoaderUtils } from './LoaderUtils.js';
4
- const loaderConfig = {
5
- prefix: 'p',
6
- components: {
7
- icon: {
8
- CustomElementClass: Icon,
9
- },
10
- avatar: {
11
- importPath: './component/avatar.js',
12
- },
13
- },
14
- };
15
- new LoaderUtils(loaderConfig).start();
16
- //# sourceMappingURL=peacock-loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"peacock-loader.js","sourceRoot":"","sources":["../../src/peacock-loader.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAgB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE7D,MAAM,YAAY,GAAiB;IACjC,MAAM,EAAE,GAAG;IACX,UAAU,EAAE;QACV,IAAI,EAAE;YACJ,kBAAkB,EAAE,IAAI;SACzB;QACD,MAAM,EAAE;YACN,UAAU,EAAE,uBAAuB;SACpC;KACF;CACF,CAAC;AAEF,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC","sourcesContent":["// Eager loaded\nimport { Icon } from './icon/icon.js';\nimport { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\n\nconst loaderConfig: LoaderConfig = {\n prefix: 'p',\n components: {\n icon: {\n CustomElementClass: Icon,\n },\n avatar: {\n importPath: './component/avatar.js',\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/utils.ts"],"names":[],"mappings":"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","sourcesContent":["export async function createCacheFetch(name: string) {\n let cache: Cache | null = null;\n // This map tracks requests currently being processed\n const inFlightRequests = new Map<string, Promise<string>>();\n\n try {\n cache = await window.caches.open(name);\n } catch (e) {\n console.warn('window.caches access not allowed');\n }\n\n return async (url: string): Promise<string> => {\n // 1. Check if we are already fetching this URL\n if (inFlightRequests.has(url)) {\n // Return the existing promise instead of starting a new one\n return inFlightRequests.get(url)!;\n }\n\n // 2. Create the main logic as a promise\n const fetchPromise = (async () => {\n const request = new Request(url);\n\n // Check Cache first\n if (cache) {\n const cachedResponse = await cache.match(request);\n if (cachedResponse) {\n return await cachedResponse.text();\n }\n }\n\n // Prepare network request\n const urlObj = new URL(request.url);\n const isSameOrigin = urlObj.origin === window.location.origin;\n\n const response = await fetch(request.url, {\n method: 'GET',\n mode: isSameOrigin ? 'no-cors' : 'cors',\n credentials: isSameOrigin ? 'same-origin' : 'omit',\n });\n\n // --- Handle 404 ---\n if (response.status === 404) {\n console.error(`[Fetch Error] Resource not found (404): ${url}`);\n return ''; // Return empty string as requested\n }\n\n const result = await response.text();\n\n // Update Cache if applicable\n if (cache && response.status === 200) {\n // We clone the response logic by creating a new Response with the text body\n await cache.put(\n request,\n new Response(result, {\n status: response.status,\n statusText: response.statusText,\n headers: response.headers,\n }),\n );\n }\n\n return result;\n })();\n\n // 3. Store the promise in the map\n inFlightRequests.set(url, fetchPromise);\n\n try {\n // 4. Wait for the result\n return await fetchPromise;\n } finally {\n // 5. Clean up: Remove the promise from the map when done\n // This ensures subsequent calls (after this one finishes) can start fresh\n inFlightRequests.delete(url);\n }\n };\n}\n\n// Basic sanitization: remove <script>, <foreignObject>, event handler attributes (on*), and iframes\nexport function sanitizeSvg(rawSvg: string) {\n try {\n const parser = new DOMParser();\n const doc = parser.parseFromString(rawSvg, 'image/svg+xml');\n\n // remove script tags\n const scripts = Array.from(doc.querySelectorAll('script'));\n scripts.forEach(n => n.remove());\n\n // remove foreignObject and iframe-like elements\n const foreigns = Array.from(doc.querySelectorAll('foreignObject, iframe'));\n foreigns.forEach(n => n.remove());\n\n // remove event handler attributes like onload, onclick, etc.\n const all = Array.from(doc.querySelectorAll('*'));\n all.forEach(el => {\n const attrs = Array.from(el.attributes).filter(a => /^on/i.test(a.name));\n attrs.forEach(a => el.removeAttribute(a.name));\n });\n\n const el = doc.documentElement;\n if (!el) return '';\n\n // serialize back to string\n const serializer = new XMLSerializer();\n return serializer.serializeToString(el);\n } catch (e) {\n // parsing failed; fall back to empty content to avoid injecting unsafe content\n return '';\n }\n}\n\nexport const getTypography = (name: string) => `\n font-family: var(--typography-${name}-font-family) !important;\n font-size: var(--typography-${name}-font-size) !important;\n font-weight: var(--typography-${name}-font-weight) !important;\n line-height: var(--typography-${name}-line-height) !important;\n letter-spacing: var(--typography-${name}-letter-spacing) !important;\n`;\n"]}
@@ -1,14 +0,0 @@
1
- import { html } from 'lit';
2
- import { fixture, expect } from '@open-wc/testing';
3
- import '../src/p-icon.js';
4
- describe('Icon', () => {
5
- it('has a default name as home', async () => {
6
- const el = await fixture(html `<p-icon></p-icon>`);
7
- expect(el.name).to.equal('home');
8
- });
9
- it('passes the a11y audit', async () => {
10
- const el = await fixture(html `<p-icon></p-icon>`);
11
- await expect(el).shadowDom.to.be.accessible();
12
- });
13
- });
14
- //# sourceMappingURL=icon.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"icon.test.js","sourceRoot":"","sources":["../../test/icon.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,kBAAkB,CAAC;AAE1B,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;IACpB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAO,IAAI,CAAA,mBAAmB,CAAC,CAAC;QACxD,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAO,IAAI,CAAA,mBAAmB,CAAC,CAAC;QACxD,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { html } from 'lit';\nimport { fixture, expect } from '@open-wc/testing';\nimport { Icon } from '../src/index.js';\nimport '../src/p-icon.js';\n\ndescribe('Icon', () => {\n it('has a default name as home', async () => {\n const el = await fixture<Icon>(html`<p-icon></p-icon>`);\n expect(el.name).to.equal('home');\n });\n\n it('passes the a11y audit', async () => {\n const el = await fixture<Icon>(html`<p-icon></p-icon>`);\n await expect(el).shadowDom.to.be.accessible();\n });\n});\n"]}