@swisspost/design-system-components 7.4.10 → 7.4.12

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 (124) hide show
  1. package/dist/cjs/index.cjs.js +16 -16
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/{package-e3ef1673.js → package-8dfe7043.js} +1 -1
  4. package/dist/cjs/{post-accordion-99a00c01.js → post-accordion-d3334590.js} +1 -1
  5. package/dist/cjs/{post-accordion-item-7bd51084.js → post-accordion-item-ee3f7603.js} +1 -1
  6. package/dist/cjs/post-accordion-item.cjs.entry.js +2 -2
  7. package/dist/cjs/post-accordion.cjs.entry.js +2 -2
  8. package/dist/cjs/{post-alert-e513f465.js → post-alert-a78774cc.js} +1 -1
  9. package/dist/cjs/post-alert.cjs.entry.js +2 -2
  10. package/dist/cjs/{post-card-control-3fb7a7d3.js → post-card-control-624caabc.js} +1 -1
  11. package/dist/cjs/post-card-control.cjs.entry.js +2 -2
  12. package/dist/cjs/{post-collapsible-314729b5.js → post-collapsible-54b1c606.js} +1 -1
  13. package/dist/cjs/{post-collapsible-trigger-7dfe15e1.js → post-collapsible-trigger-9a34c1e8.js} +1 -1
  14. package/dist/cjs/post-collapsible-trigger.cjs.entry.js +2 -2
  15. package/dist/cjs/post-collapsible.cjs.entry.js +2 -2
  16. package/dist/cjs/post-components.cjs.js +1 -1
  17. package/dist/cjs/{post-icon-cb4bf1f6.js → post-icon-dce6bcb7.js} +60 -41
  18. package/dist/cjs/post-icon.cjs.entry.js +2 -2
  19. package/dist/cjs/{post-popover-df5487d2.js → post-popover-4c14e9e2.js} +1 -1
  20. package/dist/cjs/post-popover.cjs.entry.js +2 -2
  21. package/dist/cjs/{post-popovercontainer-e7928cf8.js → post-popovercontainer-f6e63dae.js} +1 -1
  22. package/dist/cjs/post-popovercontainer.cjs.entry.js +2 -2
  23. package/dist/cjs/{post-rating-6056638e.js → post-rating-fdab6dc7.js} +1 -1
  24. package/dist/cjs/post-rating.cjs.entry.js +2 -2
  25. package/dist/cjs/{post-tab-header-664b4d8b.js → post-tab-header-2ce7572d.js} +1 -1
  26. package/dist/cjs/post-tab-header.cjs.entry.js +2 -2
  27. package/dist/cjs/{post-tab-panel-2348d23a.js → post-tab-panel-c242e849.js} +1 -1
  28. package/dist/cjs/post-tab-panel.cjs.entry.js +2 -2
  29. package/dist/cjs/{post-tabs-04f20575.js → post-tabs-8e12412c.js} +1 -1
  30. package/dist/cjs/post-tabs.cjs.entry.js +2 -2
  31. package/dist/cjs/{post-tag-0efcd7a2.js → post-tag-ac230e08.js} +1 -1
  32. package/dist/cjs/post-tag.cjs.entry.js +2 -2
  33. package/dist/cjs/{post-tooltip-abc576e9.js → post-tooltip-a458e42f.js} +1 -1
  34. package/dist/cjs/post-tooltip.cjs.entry.js +2 -2
  35. package/dist/collection/components/post-icon/post-icon.js +59 -46
  36. package/dist/components/package.js +1 -1
  37. package/dist/components/post-icon2.js +60 -43
  38. package/dist/docs.json +1 -1
  39. package/dist/esm/index.js +16 -16
  40. package/dist/esm/loader.js +1 -1
  41. package/dist/esm/{package-79261567.js → package-b6631855.js} +1 -1
  42. package/dist/esm/{post-accordion-f34d67cf.js → post-accordion-b4bd4dc9.js} +1 -1
  43. package/dist/esm/{post-accordion-item-28850d05.js → post-accordion-item-e1d53239.js} +1 -1
  44. package/dist/esm/post-accordion-item.entry.js +2 -2
  45. package/dist/esm/post-accordion.entry.js +2 -2
  46. package/dist/esm/{post-alert-29814559.js → post-alert-cfbbd72b.js} +1 -1
  47. package/dist/esm/post-alert.entry.js +2 -2
  48. package/dist/esm/{post-card-control-b22b8114.js → post-card-control-4224d76b.js} +1 -1
  49. package/dist/esm/post-card-control.entry.js +2 -2
  50. package/dist/esm/{post-collapsible-56f08239.js → post-collapsible-771dac51.js} +1 -1
  51. package/dist/esm/{post-collapsible-trigger-b7d0ece3.js → post-collapsible-trigger-094d2677.js} +1 -1
  52. package/dist/esm/post-collapsible-trigger.entry.js +2 -2
  53. package/dist/esm/post-collapsible.entry.js +2 -2
  54. package/dist/esm/post-components.js +1 -1
  55. package/dist/esm/{post-icon-5d7a3ba9.js → post-icon-529e58e0.js} +60 -41
  56. package/dist/esm/post-icon.entry.js +2 -2
  57. package/dist/esm/{post-popover-dcffb2b0.js → post-popover-eaa7deae.js} +1 -1
  58. package/dist/esm/post-popover.entry.js +2 -2
  59. package/dist/esm/{post-popovercontainer-f2230bfc.js → post-popovercontainer-0c521ac0.js} +1 -1
  60. package/dist/esm/post-popovercontainer.entry.js +2 -2
  61. package/dist/esm/{post-rating-9323ef6a.js → post-rating-58cc49d0.js} +1 -1
  62. package/dist/esm/post-rating.entry.js +2 -2
  63. package/dist/esm/{post-tab-header-4527a6a0.js → post-tab-header-40aedd75.js} +1 -1
  64. package/dist/esm/post-tab-header.entry.js +2 -2
  65. package/dist/esm/{post-tab-panel-2c3785fc.js → post-tab-panel-26774634.js} +1 -1
  66. package/dist/esm/post-tab-panel.entry.js +2 -2
  67. package/dist/esm/{post-tabs-a77d768a.js → post-tabs-3b36224d.js} +1 -1
  68. package/dist/esm/post-tabs.entry.js +2 -2
  69. package/dist/esm/{post-tag-2314a9cd.js → post-tag-b9aacc9c.js} +1 -1
  70. package/dist/esm/post-tag.entry.js +2 -2
  71. package/dist/esm/{post-tooltip-3df5878c.js → post-tooltip-2a4eda0d.js} +1 -1
  72. package/dist/esm/post-tooltip.entry.js +2 -2
  73. package/dist/post-components/index.esm.js +1 -1
  74. package/dist/post-components/p-0067b6ec.js +1 -0
  75. package/dist/post-components/p-01882fab.entry.js +1 -0
  76. package/dist/post-components/p-04023ab2.entry.js +1 -0
  77. package/dist/post-components/p-09dcb827.entry.js +1 -0
  78. package/dist/post-components/p-1abcd071.entry.js +1 -0
  79. package/dist/post-components/{p-5c383dd5.js → p-1d81cf5b.js} +1 -1
  80. package/dist/post-components/{p-537266ee.js → p-20f9b2f1.js} +1 -1
  81. package/dist/post-components/p-2acd9402.entry.js +1 -0
  82. package/dist/post-components/p-335cdd39.entry.js +1 -0
  83. package/dist/post-components/p-36bf903d.entry.js +1 -0
  84. package/dist/post-components/{p-f8201b09.js → p-3875f854.js} +1 -1
  85. package/dist/post-components/{p-9c7ac02c.js → p-3a0ae3ba.js} +1 -1
  86. package/dist/post-components/p-3e5f970d.entry.js +1 -0
  87. package/dist/post-components/{p-8518f0e6.js → p-3fc4126f.js} +1 -1
  88. package/dist/post-components/p-45c2d17a.entry.js +1 -0
  89. package/dist/post-components/p-57a681c3.entry.js +1 -0
  90. package/dist/post-components/{p-1ac427d7.js → p-64d7994c.js} +1 -1
  91. package/dist/post-components/p-7ba0f9ba.js +1 -0
  92. package/dist/post-components/{p-b5e3b27e.js → p-7f981d43.js} +1 -1
  93. package/dist/post-components/p-8617be6a.entry.js +1 -0
  94. package/dist/post-components/p-a142783f.entry.js +1 -0
  95. package/dist/post-components/{p-3ca6e3f8.js → p-a2669035.js} +1 -1
  96. package/dist/post-components/p-a2c9a756.entry.js +1 -0
  97. package/dist/post-components/{p-60e8abb1.js → p-b65707b7.js} +1 -1
  98. package/dist/post-components/p-b96b1857.entry.js +1 -0
  99. package/dist/post-components/{p-a8f9e9ae.js → p-be9fbbe8.js} +1 -1
  100. package/dist/post-components/{p-43d269f5.js → p-bea57a36.js} +1 -1
  101. package/dist/post-components/{p-ad171101.js → p-c4726d1a.js} +1 -1
  102. package/dist/post-components/{p-96dd256e.js → p-f616085b.js} +1 -1
  103. package/dist/post-components/{p-d6639fb5.js → p-fb599d5a.js} +1 -1
  104. package/dist/post-components/p-fe6bec69.entry.js +1 -0
  105. package/dist/post-components/post-components.esm.js +1 -1
  106. package/dist/types/components/post-icon/post-icon.d.ts +2 -5
  107. package/package.json +2 -2
  108. package/dist/post-components/p-00de1557.js +0 -1
  109. package/dist/post-components/p-316ffe46.js +0 -1
  110. package/dist/post-components/p-31b4bf40.entry.js +0 -1
  111. package/dist/post-components/p-42ffb478.entry.js +0 -1
  112. package/dist/post-components/p-43e2817b.entry.js +0 -1
  113. package/dist/post-components/p-63365290.entry.js +0 -1
  114. package/dist/post-components/p-70a93f32.entry.js +0 -1
  115. package/dist/post-components/p-9a74dc73.entry.js +0 -1
  116. package/dist/post-components/p-9ba0d70e.entry.js +0 -1
  117. package/dist/post-components/p-a4956698.entry.js +0 -1
  118. package/dist/post-components/p-a8dec74c.entry.js +0 -1
  119. package/dist/post-components/p-aa4bd00e.entry.js +0 -1
  120. package/dist/post-components/p-c067adcf.entry.js +0 -1
  121. package/dist/post-components/p-c2f67907.entry.js +0 -1
  122. package/dist/post-components/p-c7259dda.entry.js +0 -1
  123. package/dist/post-components/p-ccd7b0aa.entry.js +0 -1
  124. package/dist/post-components/p-f438d028.entry.js +0 -1
@@ -2,9 +2,9 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const postTooltip = require('./post-tooltip-abc576e9.js');
5
+ const postTooltip = require('./post-tooltip-a458e42f.js');
6
6
  require('./index-1cc8e4e1.js');
7
- require('./package-e3ef1673.js');
7
+ require('./package-8dfe7043.js');
8
8
  require('./attribute-observer-10f08c04.js');
9
9
  require('./index-f32e5185.js');
10
10
  require('./constants-238701d3.js');
@@ -16,8 +16,6 @@ const ANIMATION_KEYS = [...ANIMATION_NAMES];
16
16
  */
17
17
  export class PostIcon {
18
18
  constructor() {
19
- this.svgStyles = undefined;
20
- this.svgOutput = undefined;
21
19
  this.animation = null;
22
20
  this.base = null;
23
21
  this.flipH = false;
@@ -49,6 +47,64 @@ export class PostIcon {
49
47
  validateScale(newValue = this.scale) {
50
48
  checkEmptyOrType(newValue, 'number', 'The post-icon "scale" prop should be a number.');
51
49
  }
50
+ // Construct the icon url from different possible sources
51
+ getUrl() {
52
+ var _a, _b, _c, _d, _e, _f, _g;
53
+ // the first definition object which defines a domain, will be used to set the domain of the file url
54
+ // the first definition object which defines a slug, will be used to set the slug of the file url
55
+ const urlDefinitions = [
56
+ getUrlDefinition(this.base, 'both'),
57
+ getUrlDefinition((_a = document.head
58
+ .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base'), 'relative'),
59
+ getUrlDefinition((_b = document.querySelector('base[href]')) === null || _b === void 0 ? void 0 : _b.getAttribute('href'), 'both'),
60
+ ];
61
+ // in case no other definition defines a domain, the current origin is used as a fallback
62
+ const origin = (_e = (_d = (_c = urlDefinitions.find(d => d.definesDomain)) === null || _c === void 0 ? void 0 : _c.url) === null || _d === void 0 ? void 0 : _d.origin) !== null && _e !== void 0 ? _e : window.location.origin;
63
+ // in case no other definition defines a slug, the cdn url is used as a fallback
64
+ const slug = (_g = (_f = urlDefinitions.find(d => d.definesSlug)) === null || _f === void 0 ? void 0 : _f.url) === null || _g === void 0 ? void 0 : _g.pathname;
65
+ const file = `${this.name}.svg`;
66
+ let url;
67
+ if (slug) {
68
+ url = new URL(`${origin}${slug}/${file}`).toString();
69
+ }
70
+ else {
71
+ url = new URL(`${CDN_URL}/${file}`).toString();
72
+ }
73
+ return url;
74
+ function getUrlDefinition(url, allow) {
75
+ return {
76
+ url: getUrlObject(url),
77
+ definesDomain: allow !== 'relative' ? definesDomain(url) : false,
78
+ definesSlug: allow !== 'absolute' ? definesSlug(url) : false,
79
+ };
80
+ function getUrlObject(url) {
81
+ if (url) {
82
+ return definesDomain(url) ? new URL(url) : new URL(url, window.location.origin);
83
+ }
84
+ else {
85
+ return null;
86
+ }
87
+ }
88
+ function definesDomain(url) {
89
+ return url ? /^https?:\/\//.test(url) : false;
90
+ }
91
+ function definesSlug(url) {
92
+ const urlObject = getUrlObject(url);
93
+ return Boolean(/^\/.+/.test(urlObject === null || urlObject === void 0 ? void 0 : urlObject.pathname));
94
+ }
95
+ }
96
+ }
97
+ getStyles() {
98
+ const url = this.getUrl();
99
+ return Object.entries({
100
+ '-webkit-mask-image': `url(${url})`,
101
+ 'mask-image': `url('${url}')`,
102
+ 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
103
+ (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
104
+ })
105
+ .filter(([_key, value]) => value !== null)
106
+ .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
107
+ }
52
108
  componentDidLoad() {
53
109
  this.validateBase();
54
110
  this.validateName();
@@ -58,45 +114,8 @@ export class PostIcon {
58
114
  this.validateRotate();
59
115
  this.validateAnimation();
60
116
  }
61
- componentWillRender() {
62
- this.setPath();
63
- }
64
- setPath() {
65
- var _a, _b, _c, _d, _e;
66
- // Construct icon path from different possible sources
67
- const metaBase = (_b = (_a = document.head
68
- .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base')) !== null && _b !== void 0 ? _b : null;
69
- const baseHref = (_c = document.getElementsByTagName('base')[0]) === null || _c === void 0 ? void 0 : _c.href;
70
- let calculatedBase;
71
- // If this.base or metaBase are relative, prefix them with the baseHref if it exists
72
- const absolutePathReg = /^(?:[a-z+]+:)?\/\//i;
73
- if (baseHref) {
74
- if (this.base && !absolutePathReg.test(this.base)) {
75
- calculatedBase = baseHref + this.base;
76
- }
77
- else if (metaBase && !absolutePathReg.test(metaBase)) {
78
- calculatedBase = baseHref + metaBase;
79
- }
80
- }
81
- else {
82
- calculatedBase = (_d = this.base) !== null && _d !== void 0 ? _d : metaBase;
83
- }
84
- const fileBase = `${(_e = calculatedBase !== null && calculatedBase !== void 0 ? calculatedBase : baseHref) !== null && _e !== void 0 ? _e : CDN_URL}/`.replace(/\/\/$/, '/');
85
- const fileName = `${this.name}.svg`;
86
- const filePath = `${fileBase}${fileName}`;
87
- this.path = new URL(filePath, window.location.origin).toString();
88
- }
89
117
  render() {
90
- // create inline styles for some properties
91
- const svgStyles = Object.entries({
92
- '-webkit-mask-image': `url('${this.path}')`,
93
- 'mask-image': `url('${this.path}')`,
94
- 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
95
- (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
96
- })
97
- .filter(([_key, value]) => value !== null)
98
- .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
99
- return (h(Host, { key: 'bad9e5bf0bf6250cd6597a2e6e67cf1f334d0e2d', "data-version": version }, h("span", { key: '1b07a201ac1bc45cbea6ce6ad3285917cf76e46e', style: svgStyles })));
118
+ return (h(Host, { key: 'a38838bcd99af618f660ec4ffef4e869cdab3995', "data-version": version }, h("span", { key: '24ae06bdb0aa65ddca7ac88fac9bb6bb5a12550a', style: this.getStyles() })));
100
119
  }
101
120
  static get is() { return "post-icon"; }
102
121
  static get encapsulation() { return "shadow"; }
@@ -244,12 +263,6 @@ export class PostIcon {
244
263
  }
245
264
  };
246
265
  }
247
- static get states() {
248
- return {
249
- "svgStyles": {},
250
- "svgOutput": {}
251
- };
252
- }
253
266
  static get elementRef() { return "host"; }
254
267
  static get watchers() {
255
268
  return [{
@@ -1,3 +1,3 @@
1
- const version = "7.4.10";
1
+ const version = "7.4.12";
2
2
 
3
3
  export { version as v };
@@ -22,8 +22,6 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends HTMLEle
22
22
  super();
23
23
  this.__registerHost();
24
24
  this.__attachShadow();
25
- this.svgStyles = undefined;
26
- this.svgOutput = undefined;
27
25
  this.animation = null;
28
26
  this.base = null;
29
27
  this.flipH = false;
@@ -55,6 +53,64 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends HTMLEle
55
53
  validateScale(newValue = this.scale) {
56
54
  checkEmptyOrType(newValue, 'number', 'The post-icon "scale" prop should be a number.');
57
55
  }
56
+ // Construct the icon url from different possible sources
57
+ getUrl() {
58
+ var _a, _b, _c, _d, _e, _f, _g;
59
+ // the first definition object which defines a domain, will be used to set the domain of the file url
60
+ // the first definition object which defines a slug, will be used to set the slug of the file url
61
+ const urlDefinitions = [
62
+ getUrlDefinition(this.base, 'both'),
63
+ getUrlDefinition((_a = document.head
64
+ .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base'), 'relative'),
65
+ getUrlDefinition((_b = document.querySelector('base[href]')) === null || _b === void 0 ? void 0 : _b.getAttribute('href'), 'both'),
66
+ ];
67
+ // in case no other definition defines a domain, the current origin is used as a fallback
68
+ const origin = (_e = (_d = (_c = urlDefinitions.find(d => d.definesDomain)) === null || _c === void 0 ? void 0 : _c.url) === null || _d === void 0 ? void 0 : _d.origin) !== null && _e !== void 0 ? _e : window.location.origin;
69
+ // in case no other definition defines a slug, the cdn url is used as a fallback
70
+ const slug = (_g = (_f = urlDefinitions.find(d => d.definesSlug)) === null || _f === void 0 ? void 0 : _f.url) === null || _g === void 0 ? void 0 : _g.pathname;
71
+ const file = `${this.name}.svg`;
72
+ let url;
73
+ if (slug) {
74
+ url = new URL(`${origin}${slug}/${file}`).toString();
75
+ }
76
+ else {
77
+ url = new URL(`${CDN_URL}/${file}`).toString();
78
+ }
79
+ return url;
80
+ function getUrlDefinition(url, allow) {
81
+ return {
82
+ url: getUrlObject(url),
83
+ definesDomain: allow !== 'relative' ? definesDomain(url) : false,
84
+ definesSlug: allow !== 'absolute' ? definesSlug(url) : false,
85
+ };
86
+ function getUrlObject(url) {
87
+ if (url) {
88
+ return definesDomain(url) ? new URL(url) : new URL(url, window.location.origin);
89
+ }
90
+ else {
91
+ return null;
92
+ }
93
+ }
94
+ function definesDomain(url) {
95
+ return url ? /^https?:\/\//.test(url) : false;
96
+ }
97
+ function definesSlug(url) {
98
+ const urlObject = getUrlObject(url);
99
+ return Boolean(/^\/.+/.test(urlObject === null || urlObject === void 0 ? void 0 : urlObject.pathname));
100
+ }
101
+ }
102
+ }
103
+ getStyles() {
104
+ const url = this.getUrl();
105
+ return Object.entries({
106
+ '-webkit-mask-image': `url(${url})`,
107
+ 'mask-image': `url('${url}')`,
108
+ 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
109
+ (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
110
+ })
111
+ .filter(([_key, value]) => value !== null)
112
+ .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
113
+ }
58
114
  componentDidLoad() {
59
115
  this.validateBase();
60
116
  this.validateName();
@@ -64,45 +120,8 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends HTMLEle
64
120
  this.validateRotate();
65
121
  this.validateAnimation();
66
122
  }
67
- componentWillRender() {
68
- this.setPath();
69
- }
70
- setPath() {
71
- var _a, _b, _c, _d, _e;
72
- // Construct icon path from different possible sources
73
- const metaBase = (_b = (_a = document.head
74
- .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base')) !== null && _b !== void 0 ? _b : null;
75
- const baseHref = (_c = document.getElementsByTagName('base')[0]) === null || _c === void 0 ? void 0 : _c.href;
76
- let calculatedBase;
77
- // If this.base or metaBase are relative, prefix them with the baseHref if it exists
78
- const absolutePathReg = /^(?:[a-z+]+:)?\/\//i;
79
- if (baseHref) {
80
- if (this.base && !absolutePathReg.test(this.base)) {
81
- calculatedBase = baseHref + this.base;
82
- }
83
- else if (metaBase && !absolutePathReg.test(metaBase)) {
84
- calculatedBase = baseHref + metaBase;
85
- }
86
- }
87
- else {
88
- calculatedBase = (_d = this.base) !== null && _d !== void 0 ? _d : metaBase;
89
- }
90
- const fileBase = `${(_e = calculatedBase !== null && calculatedBase !== void 0 ? calculatedBase : baseHref) !== null && _e !== void 0 ? _e : CDN_URL}/`.replace(/\/\/$/, '/');
91
- const fileName = `${this.name}.svg`;
92
- const filePath = `${fileBase}${fileName}`;
93
- this.path = new URL(filePath, window.location.origin).toString();
94
- }
95
123
  render() {
96
- // create inline styles for some properties
97
- const svgStyles = Object.entries({
98
- '-webkit-mask-image': `url('${this.path}')`,
99
- 'mask-image': `url('${this.path}')`,
100
- 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
101
- (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
102
- })
103
- .filter(([_key, value]) => value !== null)
104
- .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
105
- return (h(Host, { key: 'bad9e5bf0bf6250cd6597a2e6e67cf1f334d0e2d', "data-version": version }, h("span", { key: '1b07a201ac1bc45cbea6ce6ad3285917cf76e46e', style: svgStyles })));
124
+ return (h(Host, { key: 'a38838bcd99af618f660ec4ffef4e869cdab3995', "data-version": version }, h("span", { key: '24ae06bdb0aa65ddca7ac88fac9bb6bb5a12550a', style: this.getStyles() })));
106
125
  }
107
126
  get host() { return this; }
108
127
  static get watchers() { return {
@@ -122,9 +141,7 @@ const PostIcon = /*@__PURE__*/ proxyCustomElement(class PostIcon extends HTMLEle
122
141
  "flipV": [4, "flip-v"],
123
142
  "name": [1],
124
143
  "rotate": [2],
125
- "scale": [2],
126
- "svgStyles": [32],
127
- "svgOutput": [32]
144
+ "scale": [2]
128
145
  }, undefined, {
129
146
  "animation": ["validateAnimation"],
130
147
  "base": ["validateBase"],
package/dist/docs.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "timestamp": "2025-02-03T13:52:11",
2
+ "timestamp": "2025-03-10T17:25:37",
3
3
  "compiler": {
4
4
  "name": "@stencil/core",
5
5
  "version": "4.19.1",
package/dist/esm/index.js CHANGED
@@ -1,20 +1,20 @@
1
- export { P as PostAccordion } from './post-accordion-f34d67cf.js';
2
- export { P as PostAccordionItem } from './post-accordion-item-28850d05.js';
3
- export { P as PostAlert } from './post-alert-29814559.js';
4
- export { P as PostCardControl } from './post-card-control-b22b8114.js';
5
- export { P as PostCollapsible } from './post-collapsible-56f08239.js';
6
- export { P as PostCollapsibleTrigger } from './post-collapsible-trigger-b7d0ece3.js';
7
- export { P as PostIcon } from './post-icon-5d7a3ba9.js';
8
- export { P as PostPopover } from './post-popover-dcffb2b0.js';
9
- export { P as PostPopovercontainer } from './post-popovercontainer-f2230bfc.js';
10
- export { P as PostRating } from './post-rating-9323ef6a.js';
11
- export { P as PostTabs } from './post-tabs-a77d768a.js';
12
- export { P as PostTabHeader } from './post-tab-header-4527a6a0.js';
13
- export { P as PostTabPanel } from './post-tab-panel-2c3785fc.js';
14
- export { P as PostTooltip } from './post-tooltip-3df5878c.js';
15
- export { P as PostTag } from './post-tag-2314a9cd.js';
1
+ export { P as PostAccordion } from './post-accordion-b4bd4dc9.js';
2
+ export { P as PostAccordionItem } from './post-accordion-item-e1d53239.js';
3
+ export { P as PostAlert } from './post-alert-cfbbd72b.js';
4
+ export { P as PostCardControl } from './post-card-control-4224d76b.js';
5
+ export { P as PostCollapsible } from './post-collapsible-771dac51.js';
6
+ export { P as PostCollapsibleTrigger } from './post-collapsible-trigger-094d2677.js';
7
+ export { P as PostIcon } from './post-icon-529e58e0.js';
8
+ export { P as PostPopover } from './post-popover-eaa7deae.js';
9
+ export { P as PostPopovercontainer } from './post-popovercontainer-0c521ac0.js';
10
+ export { P as PostRating } from './post-rating-58cc49d0.js';
11
+ export { P as PostTabs } from './post-tabs-3b36224d.js';
12
+ export { P as PostTabHeader } from './post-tab-header-40aedd75.js';
13
+ export { P as PostTabPanel } from './post-tab-panel-26774634.js';
14
+ export { P as PostTooltip } from './post-tooltip-2a4eda0d.js';
15
+ export { P as PostTag } from './post-tag-b9aacc9c.js';
16
16
  import './index-9ace3232.js';
17
- import './package-79261567.js';
17
+ import './package-b6631855.js';
18
18
  import './heading-levels-5b7b4349.js';
19
19
  import './check-one-of-6b3ef8eb.js';
20
20
  import './index-29d17d6d.js';
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-0f993ce5.js';
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["post-accordion-item",[[1,"post-accordion-item",{"collapsed":[1028],"headingLevel":[2,"heading-level"],"id":[32],"toggle":[64]},[[2,"postToggle","onCollapseToggle"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-alert",[[1,"post-alert",{"dismissible":[4],"dismissLabel":[1,"dismiss-label"],"fixed":[4],"icon":[1],"type":[1],"alertId":[32],"classes":[32],"hasActions":[32],"hasHeading":[32],"onDismissButtonClick":[32],"dismiss":[64]},null,{"dismissible":["validateDismissible"],"dismissLabel":["validateDismissLabel"],"fixed":["validateFixed"],"icon":["validateIcon"],"type":["validateType"]}]]],["post-card-control",[[65,"post-card-control",{"label":[1],"description":[1],"type":[1],"name":[1],"value":[1],"checked":[1028],"disabled":[1028],"validity":[1025],"icon":[1],"focused":[32],"reset":[64],"groupReset":[64]},null,{"label":["validateControlLabel"],"type":["validateControlType"],"checked":["updateControlChecked"],"disabled":["updateControlDisbled"]}]]],["post-popovercontainer",[[4,"post-popovercontainer",{"placement":[1],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-popover",[[1,"post-popover",{"placement":[1],"closeButtonCaption":[1,"close-button-caption"],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-rating",[[1,"post-rating",{"label":[1],"stars":[2],"currentRating":[1026,"current-rating"],"readonly":[4],"hoveredIndex":[32]}]]],["post-tag",[[1,"post-tag",{"variant":[1],"size":[1],"icon":[1],"classes":[32]},null,{"variant":["variantChanged"],"size":["sizeChanged"]}]]],["post-tooltip",[[1,"post-tooltip",{"placement":[1],"arrow":[4],"delayed":[4],"show":[64],"hide":[64],"toggle":[64]},null,{"delayed":["validateDelayed"]}]]],["post-accordion",[[1,"post-accordion",{"headingLevel":[2,"heading-level"],"multiple":[4],"toggle":[64],"expandAll":[64],"collapseAll":[64]},[[0,"postToggle","collapseToggleHandler"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-collapsible-trigger",[[0,"post-collapsible-trigger",{"for":[1],"update":[64]},[[4,"postToggle","setAriaExpanded"]],{"for":["setAriaAttributes"]}]]],["post-tab-header",[[1,"post-tab-header",{"panel":[1],"tabId":[32]},null,{"panel":["validateFor"]}]]],["post-tab-panel",[[1,"post-tab-panel",{"name":[1],"panelId":[32]}]]],["post-tabs",[[1,"post-tabs",{"activePanel":[1,"active-panel"],"show":[64]}]]],["post-collapsible",[[1,"post-collapsible",{"collapsed":[1028],"toggle":[64]},null,{"collapsed":["collapsedChange"]}]]],["post-icon",[[1,"post-icon",{"animation":[1],"base":[1],"flipH":[4,"flip-h"],"flipV":[4,"flip-v"],"name":[1],"rotate":[2],"scale":[2],"svgStyles":[32],"svgOutput":[32]},null,{"animation":["validateAnimation"],"base":["validateBase"],"flipH":["validateFlipH"],"flipV":["validateFlipV"],"name":["validateName"],"rotate":["validateRotate"],"scale":["validateScale"]}]]]], options);
8
+ return bootstrapLazy([["post-accordion-item",[[1,"post-accordion-item",{"collapsed":[1028],"headingLevel":[2,"heading-level"],"id":[32],"toggle":[64]},[[2,"postToggle","onCollapseToggle"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-alert",[[1,"post-alert",{"dismissible":[4],"dismissLabel":[1,"dismiss-label"],"fixed":[4],"icon":[1],"type":[1],"alertId":[32],"classes":[32],"hasActions":[32],"hasHeading":[32],"onDismissButtonClick":[32],"dismiss":[64]},null,{"dismissible":["validateDismissible"],"dismissLabel":["validateDismissLabel"],"fixed":["validateFixed"],"icon":["validateIcon"],"type":["validateType"]}]]],["post-card-control",[[65,"post-card-control",{"label":[1],"description":[1],"type":[1],"name":[1],"value":[1],"checked":[1028],"disabled":[1028],"validity":[1025],"icon":[1],"focused":[32],"reset":[64],"groupReset":[64]},null,{"label":["validateControlLabel"],"type":["validateControlType"],"checked":["updateControlChecked"],"disabled":["updateControlDisbled"]}]]],["post-popovercontainer",[[4,"post-popovercontainer",{"placement":[1],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-popover",[[1,"post-popover",{"placement":[1],"closeButtonCaption":[1,"close-button-caption"],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-rating",[[1,"post-rating",{"label":[1],"stars":[2],"currentRating":[1026,"current-rating"],"readonly":[4],"hoveredIndex":[32]}]]],["post-tag",[[1,"post-tag",{"variant":[1],"size":[1],"icon":[1],"classes":[32]},null,{"variant":["variantChanged"],"size":["sizeChanged"]}]]],["post-tooltip",[[1,"post-tooltip",{"placement":[1],"arrow":[4],"delayed":[4],"show":[64],"hide":[64],"toggle":[64]},null,{"delayed":["validateDelayed"]}]]],["post-accordion",[[1,"post-accordion",{"headingLevel":[2,"heading-level"],"multiple":[4],"toggle":[64],"expandAll":[64],"collapseAll":[64]},[[0,"postToggle","collapseToggleHandler"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-collapsible-trigger",[[0,"post-collapsible-trigger",{"for":[1],"update":[64]},[[4,"postToggle","setAriaExpanded"]],{"for":["setAriaAttributes"]}]]],["post-tab-header",[[1,"post-tab-header",{"panel":[1],"tabId":[32]},null,{"panel":["validateFor"]}]]],["post-tab-panel",[[1,"post-tab-panel",{"name":[1],"panelId":[32]}]]],["post-tabs",[[1,"post-tabs",{"activePanel":[1,"active-panel"],"show":[64]}]]],["post-collapsible",[[1,"post-collapsible",{"collapsed":[1028],"toggle":[64]},null,{"collapsed":["collapsedChange"]}]]],["post-icon",[[1,"post-icon",{"animation":[1],"base":[1],"flipH":[4,"flip-h"],"flipV":[4,"flip-v"],"name":[1],"rotate":[2],"scale":[2]},null,{"animation":["validateAnimation"],"base":["validateBase"],"flipH":["validateFlipH"],"flipV":["validateFlipV"],"name":["validateName"],"rotate":["validateRotate"],"scale":["validateScale"]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,3 +1,3 @@
1
- const version = "7.4.10";
1
+ const version = "7.4.12";
2
2
 
3
3
  export { version as v };
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-9ace3232.js';
2
- import { v as version } from './package-79261567.js';
2
+ import { v as version } from './package-b6631855.js';
3
3
  import { H as HEADING_LEVELS } from './heading-levels-5b7b4349.js';
4
4
  import { c as checkOneOf } from './check-one-of-6b3ef8eb.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-9ace3232.js';
2
- import { v as version } from './package-79261567.js';
2
+ import { v as version } from './package-b6631855.js';
3
3
  import { H as HEADING_LEVELS } from './heading-levels-5b7b4349.js';
4
4
  import { c as checkEmptyOrOneOf } from './index-29d17d6d.js';
5
5
 
@@ -1,6 +1,6 @@
1
- export { P as post_accordion_item } from './post-accordion-item-28850d05.js';
1
+ export { P as post_accordion_item } from './post-accordion-item-e1d53239.js';
2
2
  import './index-9ace3232.js';
3
- import './package-79261567.js';
3
+ import './package-b6631855.js';
4
4
  import './heading-levels-5b7b4349.js';
5
5
  import './index-29d17d6d.js';
6
6
  import './constants-8d548297.js';
@@ -1,5 +1,5 @@
1
- export { P as post_accordion } from './post-accordion-f34d67cf.js';
1
+ export { P as post_accordion } from './post-accordion-b4bd4dc9.js';
2
2
  import './index-9ace3232.js';
3
- import './package-79261567.js';
3
+ import './package-b6631855.js';
4
4
  import './heading-levels-5b7b4349.js';
5
5
  import './check-one-of-6b3ef8eb.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9ace3232.js';
2
- import { v as version } from './package-79261567.js';
2
+ import { v as version } from './package-b6631855.js';
3
3
  import { f as fadeOut } from './fade-7fd71785.js';
4
4
  import { a as checkEmptyOrPattern, c as checkEmptyOrOneOf } from './index-29d17d6d.js';
5
5
  import { c as checkType } from './check-type-8828dbe4.js';
@@ -1,6 +1,6 @@
1
- export { P as post_alert } from './post-alert-29814559.js';
1
+ export { P as post_alert } from './post-alert-cfbbd72b.js';
2
2
  import './index-9ace3232.js';
3
- import './package-79261567.js';
3
+ import './package-b6631855.js';
4
4
  import './fade-7fd71785.js';
5
5
  import './index-29d17d6d.js';
6
6
  import './constants-8d548297.js';
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9ace3232.js';
2
2
  import { c as checkOneOf } from './check-one-of-6b3ef8eb.js';
3
3
  import { c as checkNonEmpty } from './check-non-empty-58bd6b17.js';
4
- import { v as version } from './package-79261567.js';
4
+ import { v as version } from './package-b6631855.js';
5
5
 
6
6
  function parse(scss) {
7
7
  return Object.entries(scss).reduce((object, [path, value]) => {
@@ -1,6 +1,6 @@
1
- export { P as post_card_control } from './post-card-control-b22b8114.js';
1
+ export { P as post_card_control } from './post-card-control-4224d76b.js';
2
2
  import './index-9ace3232.js';
3
3
  import './check-one-of-6b3ef8eb.js';
4
4
  import './check-non-empty-58bd6b17.js';
5
5
  import './constants-8d548297.js';
6
- import './package-79261567.js';
6
+ import './package-b6631855.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-9ace3232.js';
2
- import { v as version } from './package-79261567.js';
2
+ import { v as version } from './package-b6631855.js';
3
3
  import { b as checkEmptyOrType } from './index-29d17d6d.js';
4
4
 
5
5
  function isMotionReduced() {
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, g as getElement } from './index-9ace3232.js';
2
- import { v as version } from './package-79261567.js';
2
+ import { v as version } from './package-b6631855.js';
3
3
  import { c as checkType } from './check-type-8828dbe4.js';
4
4
  import { c as checkNonEmpty } from './check-non-empty-58bd6b17.js';
5
5
 
@@ -1,6 +1,6 @@
1
- export { P as post_collapsible_trigger } from './post-collapsible-trigger-b7d0ece3.js';
1
+ export { P as post_collapsible_trigger } from './post-collapsible-trigger-094d2677.js';
2
2
  import './index-9ace3232.js';
3
- import './package-79261567.js';
3
+ import './package-b6631855.js';
4
4
  import './check-type-8828dbe4.js';
5
5
  import './check-non-empty-58bd6b17.js';
6
6
  import './constants-8d548297.js';
@@ -1,6 +1,6 @@
1
- export { P as post_collapsible } from './post-collapsible-56f08239.js';
1
+ export { P as post_collapsible } from './post-collapsible-771dac51.js';
2
2
  import './index-9ace3232.js';
3
- import './package-79261567.js';
3
+ import './package-b6631855.js';
4
4
  import './index-29d17d6d.js';
5
5
  import './constants-8d548297.js';
6
6
  import './check-one-of-6b3ef8eb.js';
@@ -16,5 +16,5 @@ var patchBrowser = () => {
16
16
 
17
17
  patchBrowser().then(async (options) => {
18
18
  await globalScripts();
19
- return bootstrapLazy([["post-accordion-item",[[1,"post-accordion-item",{"collapsed":[1028],"headingLevel":[2,"heading-level"],"id":[32],"toggle":[64]},[[2,"postToggle","onCollapseToggle"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-alert",[[1,"post-alert",{"dismissible":[4],"dismissLabel":[1,"dismiss-label"],"fixed":[4],"icon":[1],"type":[1],"alertId":[32],"classes":[32],"hasActions":[32],"hasHeading":[32],"onDismissButtonClick":[32],"dismiss":[64]},null,{"dismissible":["validateDismissible"],"dismissLabel":["validateDismissLabel"],"fixed":["validateFixed"],"icon":["validateIcon"],"type":["validateType"]}]]],["post-card-control",[[65,"post-card-control",{"label":[1],"description":[1],"type":[1],"name":[1],"value":[1],"checked":[1028],"disabled":[1028],"validity":[1025],"icon":[1],"focused":[32],"reset":[64],"groupReset":[64]},null,{"label":["validateControlLabel"],"type":["validateControlType"],"checked":["updateControlChecked"],"disabled":["updateControlDisbled"]}]]],["post-popovercontainer",[[4,"post-popovercontainer",{"placement":[1],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-popover",[[1,"post-popover",{"placement":[1],"closeButtonCaption":[1,"close-button-caption"],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-rating",[[1,"post-rating",{"label":[1],"stars":[2],"currentRating":[1026,"current-rating"],"readonly":[4],"hoveredIndex":[32]}]]],["post-tag",[[1,"post-tag",{"variant":[1],"size":[1],"icon":[1],"classes":[32]},null,{"variant":["variantChanged"],"size":["sizeChanged"]}]]],["post-tooltip",[[1,"post-tooltip",{"placement":[1],"arrow":[4],"delayed":[4],"show":[64],"hide":[64],"toggle":[64]},null,{"delayed":["validateDelayed"]}]]],["post-accordion",[[1,"post-accordion",{"headingLevel":[2,"heading-level"],"multiple":[4],"toggle":[64],"expandAll":[64],"collapseAll":[64]},[[0,"postToggle","collapseToggleHandler"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-collapsible-trigger",[[0,"post-collapsible-trigger",{"for":[1],"update":[64]},[[4,"postToggle","setAriaExpanded"]],{"for":["setAriaAttributes"]}]]],["post-tab-header",[[1,"post-tab-header",{"panel":[1],"tabId":[32]},null,{"panel":["validateFor"]}]]],["post-tab-panel",[[1,"post-tab-panel",{"name":[1],"panelId":[32]}]]],["post-tabs",[[1,"post-tabs",{"activePanel":[1,"active-panel"],"show":[64]}]]],["post-collapsible",[[1,"post-collapsible",{"collapsed":[1028],"toggle":[64]},null,{"collapsed":["collapsedChange"]}]]],["post-icon",[[1,"post-icon",{"animation":[1],"base":[1],"flipH":[4,"flip-h"],"flipV":[4,"flip-v"],"name":[1],"rotate":[2],"scale":[2],"svgStyles":[32],"svgOutput":[32]},null,{"animation":["validateAnimation"],"base":["validateBase"],"flipH":["validateFlipH"],"flipV":["validateFlipV"],"name":["validateName"],"rotate":["validateRotate"],"scale":["validateScale"]}]]]], options);
19
+ return bootstrapLazy([["post-accordion-item",[[1,"post-accordion-item",{"collapsed":[1028],"headingLevel":[2,"heading-level"],"id":[32],"toggle":[64]},[[2,"postToggle","onCollapseToggle"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-alert",[[1,"post-alert",{"dismissible":[4],"dismissLabel":[1,"dismiss-label"],"fixed":[4],"icon":[1],"type":[1],"alertId":[32],"classes":[32],"hasActions":[32],"hasHeading":[32],"onDismissButtonClick":[32],"dismiss":[64]},null,{"dismissible":["validateDismissible"],"dismissLabel":["validateDismissLabel"],"fixed":["validateFixed"],"icon":["validateIcon"],"type":["validateType"]}]]],["post-card-control",[[65,"post-card-control",{"label":[1],"description":[1],"type":[1],"name":[1],"value":[1],"checked":[1028],"disabled":[1028],"validity":[1025],"icon":[1],"focused":[32],"reset":[64],"groupReset":[64]},null,{"label":["validateControlLabel"],"type":["validateControlType"],"checked":["updateControlChecked"],"disabled":["updateControlDisbled"]}]]],["post-popovercontainer",[[4,"post-popovercontainer",{"placement":[1],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-popover",[[1,"post-popover",{"placement":[1],"closeButtonCaption":[1,"close-button-caption"],"arrow":[4],"show":[64],"hide":[64],"toggle":[64]}]]],["post-rating",[[1,"post-rating",{"label":[1],"stars":[2],"currentRating":[1026,"current-rating"],"readonly":[4],"hoveredIndex":[32]}]]],["post-tag",[[1,"post-tag",{"variant":[1],"size":[1],"icon":[1],"classes":[32]},null,{"variant":["variantChanged"],"size":["sizeChanged"]}]]],["post-tooltip",[[1,"post-tooltip",{"placement":[1],"arrow":[4],"delayed":[4],"show":[64],"hide":[64],"toggle":[64]},null,{"delayed":["validateDelayed"]}]]],["post-accordion",[[1,"post-accordion",{"headingLevel":[2,"heading-level"],"multiple":[4],"toggle":[64],"expandAll":[64],"collapseAll":[64]},[[0,"postToggle","collapseToggleHandler"]],{"headingLevel":["validateHeadingLevel"]}]]],["post-collapsible-trigger",[[0,"post-collapsible-trigger",{"for":[1],"update":[64]},[[4,"postToggle","setAriaExpanded"]],{"for":["setAriaAttributes"]}]]],["post-tab-header",[[1,"post-tab-header",{"panel":[1],"tabId":[32]},null,{"panel":["validateFor"]}]]],["post-tab-panel",[[1,"post-tab-panel",{"name":[1],"panelId":[32]}]]],["post-tabs",[[1,"post-tabs",{"activePanel":[1,"active-panel"],"show":[64]}]]],["post-collapsible",[[1,"post-collapsible",{"collapsed":[1028],"toggle":[64]},null,{"collapsed":["collapsedChange"]}]]],["post-icon",[[1,"post-icon",{"animation":[1],"base":[1],"flipH":[4,"flip-h"],"flipV":[4,"flip-v"],"name":[1],"rotate":[2],"scale":[2]},null,{"animation":["validateAnimation"],"base":["validateBase"],"flipH":["validateFlipH"],"flipV":["validateFlipV"],"name":["validateName"],"rotate":["validateRotate"],"scale":["validateScale"]}]]]], options);
20
20
  });
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, h, H as Host, g as getElement } from './index-9ace3232.js';
2
2
  import { c as checkEmptyOrOneOf, b as checkEmptyOrType } from './index-29d17d6d.js';
3
- import { v as version } from './package-79261567.js';
3
+ import { v as version } from './package-b6631855.js';
4
4
  import { c as checkNonEmpty } from './check-non-empty-58bd6b17.js';
5
5
  import { c as checkType } from './check-type-8828dbe4.js';
6
6
 
@@ -20,8 +20,6 @@ const ANIMATION_KEYS = [...ANIMATION_NAMES];
20
20
  const PostIcon = class {
21
21
  constructor(hostRef) {
22
22
  registerInstance(this, hostRef);
23
- this.svgStyles = undefined;
24
- this.svgOutput = undefined;
25
23
  this.animation = null;
26
24
  this.base = null;
27
25
  this.flipH = false;
@@ -53,6 +51,64 @@ const PostIcon = class {
53
51
  validateScale(newValue = this.scale) {
54
52
  checkEmptyOrType(newValue, 'number', 'The post-icon "scale" prop should be a number.');
55
53
  }
54
+ // Construct the icon url from different possible sources
55
+ getUrl() {
56
+ var _a, _b, _c, _d, _e, _f, _g;
57
+ // the first definition object which defines a domain, will be used to set the domain of the file url
58
+ // the first definition object which defines a slug, will be used to set the slug of the file url
59
+ const urlDefinitions = [
60
+ getUrlDefinition(this.base, 'both'),
61
+ getUrlDefinition((_a = document.head
62
+ .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base'), 'relative'),
63
+ getUrlDefinition((_b = document.querySelector('base[href]')) === null || _b === void 0 ? void 0 : _b.getAttribute('href'), 'both'),
64
+ ];
65
+ // in case no other definition defines a domain, the current origin is used as a fallback
66
+ const origin = (_e = (_d = (_c = urlDefinitions.find(d => d.definesDomain)) === null || _c === void 0 ? void 0 : _c.url) === null || _d === void 0 ? void 0 : _d.origin) !== null && _e !== void 0 ? _e : window.location.origin;
67
+ // in case no other definition defines a slug, the cdn url is used as a fallback
68
+ const slug = (_g = (_f = urlDefinitions.find(d => d.definesSlug)) === null || _f === void 0 ? void 0 : _f.url) === null || _g === void 0 ? void 0 : _g.pathname;
69
+ const file = `${this.name}.svg`;
70
+ let url;
71
+ if (slug) {
72
+ url = new URL(`${origin}${slug}/${file}`).toString();
73
+ }
74
+ else {
75
+ url = new URL(`${CDN_URL}/${file}`).toString();
76
+ }
77
+ return url;
78
+ function getUrlDefinition(url, allow) {
79
+ return {
80
+ url: getUrlObject(url),
81
+ definesDomain: allow !== 'relative' ? definesDomain(url) : false,
82
+ definesSlug: allow !== 'absolute' ? definesSlug(url) : false,
83
+ };
84
+ function getUrlObject(url) {
85
+ if (url) {
86
+ return definesDomain(url) ? new URL(url) : new URL(url, window.location.origin);
87
+ }
88
+ else {
89
+ return null;
90
+ }
91
+ }
92
+ function definesDomain(url) {
93
+ return url ? /^https?:\/\//.test(url) : false;
94
+ }
95
+ function definesSlug(url) {
96
+ const urlObject = getUrlObject(url);
97
+ return Boolean(/^\/.+/.test(urlObject === null || urlObject === void 0 ? void 0 : urlObject.pathname));
98
+ }
99
+ }
100
+ }
101
+ getStyles() {
102
+ const url = this.getUrl();
103
+ return Object.entries({
104
+ '-webkit-mask-image': `url(${url})`,
105
+ 'mask-image': `url('${url}')`,
106
+ 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
107
+ (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
108
+ })
109
+ .filter(([_key, value]) => value !== null)
110
+ .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
111
+ }
56
112
  componentDidLoad() {
57
113
  this.validateBase();
58
114
  this.validateName();
@@ -62,45 +118,8 @@ const PostIcon = class {
62
118
  this.validateRotate();
63
119
  this.validateAnimation();
64
120
  }
65
- componentWillRender() {
66
- this.setPath();
67
- }
68
- setPath() {
69
- var _a, _b, _c, _d, _e;
70
- // Construct icon path from different possible sources
71
- const metaBase = (_b = (_a = document.head
72
- .querySelector('meta[name="design-system-settings"][data-post-icon-base]')) === null || _a === void 0 ? void 0 : _a.getAttribute('data-post-icon-base')) !== null && _b !== void 0 ? _b : null;
73
- const baseHref = (_c = document.getElementsByTagName('base')[0]) === null || _c === void 0 ? void 0 : _c.href;
74
- let calculatedBase;
75
- // If this.base or metaBase are relative, prefix them with the baseHref if it exists
76
- const absolutePathReg = /^(?:[a-z+]+:)?\/\//i;
77
- if (baseHref) {
78
- if (this.base && !absolutePathReg.test(this.base)) {
79
- calculatedBase = baseHref + this.base;
80
- }
81
- else if (metaBase && !absolutePathReg.test(metaBase)) {
82
- calculatedBase = baseHref + metaBase;
83
- }
84
- }
85
- else {
86
- calculatedBase = (_d = this.base) !== null && _d !== void 0 ? _d : metaBase;
87
- }
88
- const fileBase = `${(_e = calculatedBase !== null && calculatedBase !== void 0 ? calculatedBase : baseHref) !== null && _e !== void 0 ? _e : CDN_URL}/`.replace(/\/\/$/, '/');
89
- const fileName = `${this.name}.svg`;
90
- const filePath = `${fileBase}${fileName}`;
91
- this.path = new URL(filePath, window.location.origin).toString();
92
- }
93
121
  render() {
94
- // create inline styles for some properties
95
- const svgStyles = Object.entries({
96
- '-webkit-mask-image': `url('${this.path}')`,
97
- 'mask-image': `url('${this.path}')`,
98
- 'transform': (this.scale && !isNaN(Number(this.scale)) ? 'scale(' + this.scale + ')' : '') +
99
- (this.rotate && !isNaN(Number(this.rotate)) ? ' rotate(' + this.rotate + 'deg)' : ''),
100
- })
101
- .filter(([_key, value]) => value !== null)
102
- .reduce((styles, [key, value]) => Object.assign(styles, { [key]: value }), {});
103
- return (h(Host, { key: 'bad9e5bf0bf6250cd6597a2e6e67cf1f334d0e2d', "data-version": version }, h("span", { key: '1b07a201ac1bc45cbea6ce6ad3285917cf76e46e', style: svgStyles })));
122
+ return (h(Host, { key: 'a38838bcd99af618f660ec4ffef4e869cdab3995', "data-version": version }, h("span", { key: '24ae06bdb0aa65ddca7ac88fac9bb6bb5a12550a', style: this.getStyles() })));
104
123
  }
105
124
  get host() { return getElement(this); }
106
125
  static get watchers() { return {