@everymatrix/blog-article-details 1.34.2 → 1.34.3

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 (48) hide show
  1. package/LICENSE +21 -0
  2. package/package.json +1 -1
  3. package/dist/blog-article-details/blog-article-details.esm.js +0 -1
  4. package/dist/blog-article-details/index.esm.js +0 -0
  5. package/dist/blog-article-details/p-68e0210a.js +0 -1
  6. package/dist/blog-article-details/p-6ad174c5.entry.js +0 -1
  7. package/dist/cjs/blog-article-details.cjs.entry.js +0 -274
  8. package/dist/cjs/blog-article-details.cjs.js +0 -19
  9. package/dist/cjs/index-d983d0f8.js +0 -1255
  10. package/dist/cjs/index.cjs.js +0 -2
  11. package/dist/cjs/loader.cjs.js +0 -21
  12. package/dist/collection/collection-manifest.json +0 -12
  13. package/dist/collection/components/blog-article-details/blog-article-details.css +0 -47
  14. package/dist/collection/components/blog-article-details/blog-article-details.js +0 -482
  15. package/dist/collection/index.js +0 -1
  16. package/dist/collection/utils/locale.utils.js +0 -29
  17. package/dist/collection/utils/utils.js +0 -59
  18. package/dist/components/blog-article-details.d.ts +0 -11
  19. package/dist/components/blog-article-details.js +0 -308
  20. package/dist/components/index.d.ts +0 -26
  21. package/dist/components/index.js +0 -1
  22. package/dist/esm/blog-article-details.entry.js +0 -270
  23. package/dist/esm/blog-article-details.js +0 -17
  24. package/dist/esm/index-a6d43dfd.js +0 -1230
  25. package/dist/esm/index.js +0 -1
  26. package/dist/esm/loader.js +0 -17
  27. package/dist/esm/polyfills/core-js.js +0 -11
  28. package/dist/esm/polyfills/css-shim.js +0 -1
  29. package/dist/esm/polyfills/dom.js +0 -79
  30. package/dist/esm/polyfills/es5-html-element.js +0 -1
  31. package/dist/esm/polyfills/index.js +0 -34
  32. package/dist/esm/polyfills/system.js +0 -6
  33. package/dist/index.cjs.js +0 -1
  34. package/dist/index.js +0 -1
  35. package/dist/stencil.config.js +0 -22
  36. package/dist/types/Users/dragos.bodea/Documents/everymatrix-prjs/emfe-widgets/widgets-stencil/packages/blog-article-details/.stencil/packages/blog-article-details/stencil.config.d.ts +0 -2
  37. package/dist/types/components/blog-article-details/blog-article-details.d.ts +0 -78
  38. package/dist/types/components.d.ts +0 -149
  39. package/dist/types/index.d.ts +0 -1
  40. package/dist/types/stencil-public-runtime.d.ts +0 -1565
  41. package/dist/types/utils/locale.utils.d.ts +0 -1
  42. package/dist/types/utils/utils.d.ts +0 -4
  43. package/loader/cdn.js +0 -3
  44. package/loader/index.cjs.js +0 -3
  45. package/loader/index.d.ts +0 -12
  46. package/loader/index.es2017.js +0 -3
  47. package/loader/index.js +0 -4
  48. package/loader/package.json +0 -10
@@ -1,2 +0,0 @@
1
- 'use strict';
2
-
@@ -1,21 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-d983d0f8.js');
6
-
7
- /*
8
- Stencil Client Patch Esm v2.15.2 | MIT Licensed | https://stenciljs.com
9
- */
10
- const patchEsm = () => {
11
- return index.promiseResolve();
12
- };
13
-
14
- const defineCustomElements = (win, options) => {
15
- if (typeof window === 'undefined') return Promise.resolve();
16
- return patchEsm().then(() => {
17
- return index.bootstrapLazy([["blog-article-details.cjs",[[1,"blog-article-details",{"cmsEndpoint":[513,"cms-endpoint"],"language":[513],"userRoles":[513,"user-roles"],"cmsEnv":[513,"cms-env"],"clientStyling":[513,"client-styling"],"clientStylingUrl":[513,"client-styling-url"],"showPublishingDate":[516,"show-publishing-date"],"showImage":[516,"show-image"],"showTitle":[516,"show-title"],"showContent":[516,"show-content"],"postId":[514,"post-id"],"postSlug":[513,"post-slug"],"postCustomPath":[513,"post-custom-path"],"intlDateTimeFormat":[1,"intl-date-time-format"],"hasErrors":[32],"limitStylingAppends":[32],"isLoading":[32],"bannerMatrixReady":[32],"device":[32]},[[8,"BannerMatrixReady","handleBannerReady"]]]]]], options);
18
- });
19
- };
20
-
21
- exports.defineCustomElements = defineCustomElements;
@@ -1,12 +0,0 @@
1
- {
2
- "entries": [
3
- "./components/blog-article-details/blog-article-details.js"
4
- ],
5
- "compiler": {
6
- "name": "@stencil/core",
7
- "version": "2.15.2",
8
- "typescriptVersion": "4.5.4"
9
- },
10
- "collections": [],
11
- "bundles": []
12
- }
@@ -1,47 +0,0 @@
1
- :host {
2
- display: block;
3
- }
4
-
5
- .DetailsContainer {
6
- background-color: #07072A;
7
- color: #fff;
8
- display: flex;
9
- flex-direction: column;
10
- }
11
- .DetailsContainer .BlogBanner div {
12
- height: 400px;
13
- }
14
- .DetailsContainer .DetailsHeadWrapper {
15
- position: relative;
16
- }
17
- .DetailsContainer .DetailsBodyWrapper {
18
- padding: 30px;
19
- }
20
- .DetailsContainer .BlogDate {
21
- font-size: 12px;
22
- border-radius: 5px 5px 0 0;
23
- padding: 10px;
24
- width: fit-content;
25
- text-align: center;
26
- background-color: #0D0D4D;
27
- z-index: 1;
28
- text-wrap: nowrap;
29
- position: absolute;
30
- bottom: 0;
31
- left: 30px;
32
- }
33
- .DetailsContainer .BlogTitle {
34
- font-size: 24px;
35
- }
36
- .DetailsContainer .BlogContent {
37
- font-size: 14px;
38
- }
39
- .DetailsContainer .BlogContent p:last-child {
40
- margin-bottom: 0;
41
- }
42
-
43
- @container (max-width: 475px) {
44
- .DetailsContainer {
45
- font-size: 12px;
46
- }
47
- }
@@ -1,482 +0,0 @@
1
- import { Component, Prop, State, Watch, h, Listen } from '@stencil/core';
2
- import { translate } from '../../utils/locale.utils';
3
- import { getDevicePlatform, getDeviceCustom } from '../../utils/utils';
4
- export class BlogArticleDetails {
5
- constructor() {
6
- /**
7
- * Language of the widget
8
- */
9
- this.language = 'en';
10
- /**
11
- * User roles
12
- */
13
- this.userRoles = 'everyone';
14
- /**
15
- * CMS Endpoint stage
16
- */
17
- this.cmsEnv = 'stage';
18
- /**
19
- * Client custom styling via string
20
- */
21
- this.clientStyling = '';
22
- /**
23
- * Client custom styling via url
24
- */
25
- this.clientStylingUrl = '';
26
- /**
27
- * Property used to display the publishing date
28
- */
29
- this.showPublishingDate = true;
30
- /**
31
- * Property used to display the image
32
- */
33
- this.showImage = true;
34
- /**
35
- * Property used to display the image
36
- */
37
- this.showTitle = true;
38
- /**
39
- * Property used to display the description
40
- */
41
- this.showContent = true;
42
- /**
43
- * Intl date format
44
- */
45
- this.intlDateTimeFormat = '';
46
- this.hasErrors = false;
47
- this.limitStylingAppends = false;
48
- this.isLoading = true;
49
- this.bannerMatrixReady = false;
50
- this.device = '';
51
- this.setClientStyling = () => {
52
- let sheet = document.createElement('style');
53
- sheet.innerHTML = this.clientStyling;
54
- this.stylingContainer.prepend(sheet);
55
- };
56
- this.setClientStylingURL = () => {
57
- let url = new URL(this.clientStylingUrl);
58
- let cssFile = document.createElement('style');
59
- fetch(url.href)
60
- .then((res) => res.text())
61
- .then((data) => {
62
- cssFile.innerHTML = data;
63
- setTimeout(() => { this.stylingContainer.prepend(cssFile); }, 1);
64
- })
65
- .catch((err) => {
66
- console.log('Error ', err);
67
- });
68
- };
69
- this.renderContentConditionally = (content) => {
70
- const hasBanner = (content === null || content === void 0 ? void 0 : content.indexOf('<bannermatrix-banner')) !== -1;
71
- if (!hasBanner) {
72
- return h("div", { class: "BlogContent", innerHTML: content });
73
- }
74
- if (this.bannerMatrixReady) {
75
- return h("div", { class: "BlogContent", innerHTML: content });
76
- }
77
- return null;
78
- };
79
- this.setImage = (image) => {
80
- let source = '';
81
- switch (this.device) {
82
- case 'mobile':
83
- source = image.sources[0].pictureSource;
84
- break;
85
- case 'tablet':
86
- source = image.sources[1].pictureSource;
87
- break;
88
- case 'desktop':
89
- source = image.sources[2].pictureSource;
90
- break;
91
- }
92
- return source;
93
- };
94
- }
95
- // Rerender when bannermatrix has finished loaded. Issue when bannermatrix passed as content from CMS.
96
- handleBannerReady() {
97
- this.bannerMatrixReady = true;
98
- }
99
- watchEndpoint(newValue, oldValue) {
100
- if (newValue && newValue != oldValue && this.cmsEndpoint && this.language && (this.postCustomPath || this.postSlug || this.postId)) {
101
- this.getBlogArticleDetails();
102
- }
103
- }
104
- connectedCallback() {
105
- if (this.cmsEndpoint && this.language && (this.postCustomPath || this.postSlug || this.postId)) {
106
- this.getBlogArticleDetails();
107
- }
108
- }
109
- getBlogArticleDetails() {
110
- if (!this.postId && !this.postSlug && !this.postCustomPath) {
111
- this.hasErrors = true;
112
- throw new Error('postId, postSlug or postCustomPath parameter has to be provided!');
113
- }
114
- this.isLoading = true;
115
- let url = new URL(`${this.cmsEndpoint}/${this.language}/blog-posts${this.postCustomPath ? '' : '/' + this.postSlug || '/' + this.postId}`);
116
- url.searchParams.append('env', this.cmsEnv);
117
- url.searchParams.append('userRoles', this.userRoles);
118
- url.searchParams.append('device', getDevicePlatform());
119
- if (this.postCustomPath) {
120
- url.searchParams.append('customURL', this.postCustomPath);
121
- }
122
- fetch(url.href)
123
- .then((res) => {
124
- if (res.status >= 300) {
125
- this.hasErrors = true;
126
- throw new Error('There was an error while fetching the data');
127
- }
128
- return res.json();
129
- })
130
- .then((blogContent) => {
131
- if (blogContent.count >= 1 && this.postCustomPath) {
132
- let firstBlogPublishDate = new Date(blogContent.items[0].publishingDate);
133
- let indexOfLatestPublished = 0;
134
- for (let i = 1; i < blogContent.items.length; i++) {
135
- const blogDate = new Date(blogContent.items[i].publishingDate);
136
- if (firstBlogPublishDate.getTime() < blogDate.getTime()) {
137
- firstBlogPublishDate = blogDate;
138
- indexOfLatestPublished = i;
139
- }
140
- }
141
- this.blogData = blogContent.items[indexOfLatestPublished];
142
- }
143
- else {
144
- this.blogData = blogContent;
145
- }
146
- ;
147
- this.isLoading = false;
148
- })
149
- .catch((err) => {
150
- this.hasErrors = true;
151
- console.log('Error', err);
152
- })
153
- .finally(() => this.isLoading = false);
154
- }
155
- componentDidRender() {
156
- // start custom styling area
157
- if (!this.limitStylingAppends && this.stylingContainer) {
158
- if (this.clientStyling)
159
- this.setClientStyling();
160
- if (this.clientStylingUrl)
161
- this.setClientStylingURL();
162
- this.limitStylingAppends = true;
163
- }
164
- // end custom styling area
165
- }
166
- componentDidLoad() {
167
- this.detectAndAlertDeviceType();
168
- }
169
- detectAndAlertDeviceType() {
170
- this.device = getDeviceCustom();
171
- }
172
- formatDate(dateString) {
173
- return new Intl.DateTimeFormat(this.intlDateTimeFormat || 'en-GB').format(new Date(dateString));
174
- }
175
- render() {
176
- var _a, _b, _c, _d, _e;
177
- if (this.hasErrors) {
178
- return (h("div", { class: "BlogArticleDetails" },
179
- h("div", { class: "Title" }, translate('error', this.language))));
180
- }
181
- if (!this.isLoading) {
182
- return (h("div", { ref: el => this.stylingContainer = el },
183
- h("div", { class: "DetailsContainer" },
184
- h("div", { class: "DetailsHeadWrapper" },
185
- this.showPublishingDate && this.blogData.publishingDate &&
186
- h("div", { class: "BlogDate" }, this.formatDate((_a = this.blogData) === null || _a === void 0 ? void 0 : _a.publishingDate)),
187
- this.showImage && (h("div", { class: "BlogBanner" }, ((_b = this.blogData.image) === null || _b === void 0 ? void 0 : _b.src) ? (h("div", { style: { background: `url(${this.setImage(this.blogData.image)}) no-repeat center center / cover` } })) : (((_c = this.blogData.video) === null || _c === void 0 ? void 0 : _c.sources[this.device]) ? (h("video", { src: this.blogData.video.sources[this.device], controls: true })) : (h("h1", { style: { color: "white" } }, "No Image")))))),
188
- h("div", { class: "DetailsBodyWrapper" },
189
- this.showTitle &&
190
- h("div", { class: "BlogTitle" }, (_d = this.blogData) === null || _d === void 0 ? void 0 : _d.title),
191
- this.showContent && this.renderContentConditionally((_e = this.blogData) === null || _e === void 0 ? void 0 : _e.content)))));
192
- }
193
- }
194
- static get is() { return "blog-article-details"; }
195
- static get encapsulation() { return "shadow"; }
196
- static get originalStyleUrls() { return {
197
- "$": ["blog-article-details.scss"]
198
- }; }
199
- static get styleUrls() { return {
200
- "$": ["blog-article-details.css"]
201
- }; }
202
- static get properties() { return {
203
- "cmsEndpoint": {
204
- "type": "string",
205
- "mutable": false,
206
- "complexType": {
207
- "original": "string",
208
- "resolved": "string",
209
- "references": {}
210
- },
211
- "required": false,
212
- "optional": false,
213
- "docs": {
214
- "tags": [],
215
- "text": "Endpoint URL for the source of data"
216
- },
217
- "attribute": "cms-endpoint",
218
- "reflect": true
219
- },
220
- "language": {
221
- "type": "string",
222
- "mutable": false,
223
- "complexType": {
224
- "original": "string",
225
- "resolved": "string",
226
- "references": {}
227
- },
228
- "required": false,
229
- "optional": false,
230
- "docs": {
231
- "tags": [],
232
- "text": "Language of the widget"
233
- },
234
- "attribute": "language",
235
- "reflect": true,
236
- "defaultValue": "'en'"
237
- },
238
- "userRoles": {
239
- "type": "string",
240
- "mutable": false,
241
- "complexType": {
242
- "original": "string",
243
- "resolved": "string",
244
- "references": {}
245
- },
246
- "required": false,
247
- "optional": false,
248
- "docs": {
249
- "tags": [],
250
- "text": "User roles"
251
- },
252
- "attribute": "user-roles",
253
- "reflect": true,
254
- "defaultValue": "'everyone'"
255
- },
256
- "cmsEnv": {
257
- "type": "string",
258
- "mutable": false,
259
- "complexType": {
260
- "original": "string",
261
- "resolved": "string",
262
- "references": {}
263
- },
264
- "required": false,
265
- "optional": false,
266
- "docs": {
267
- "tags": [],
268
- "text": "CMS Endpoint stage"
269
- },
270
- "attribute": "cms-env",
271
- "reflect": true,
272
- "defaultValue": "'stage'"
273
- },
274
- "clientStyling": {
275
- "type": "string",
276
- "mutable": false,
277
- "complexType": {
278
- "original": "string",
279
- "resolved": "string",
280
- "references": {}
281
- },
282
- "required": false,
283
- "optional": false,
284
- "docs": {
285
- "tags": [],
286
- "text": "Client custom styling via string"
287
- },
288
- "attribute": "client-styling",
289
- "reflect": true,
290
- "defaultValue": "''"
291
- },
292
- "clientStylingUrl": {
293
- "type": "string",
294
- "mutable": false,
295
- "complexType": {
296
- "original": "string",
297
- "resolved": "string",
298
- "references": {}
299
- },
300
- "required": false,
301
- "optional": false,
302
- "docs": {
303
- "tags": [],
304
- "text": "Client custom styling via url"
305
- },
306
- "attribute": "client-styling-url",
307
- "reflect": true,
308
- "defaultValue": "''"
309
- },
310
- "showPublishingDate": {
311
- "type": "boolean",
312
- "mutable": false,
313
- "complexType": {
314
- "original": "boolean",
315
- "resolved": "boolean",
316
- "references": {}
317
- },
318
- "required": false,
319
- "optional": false,
320
- "docs": {
321
- "tags": [],
322
- "text": "Property used to display the publishing date"
323
- },
324
- "attribute": "show-publishing-date",
325
- "reflect": true,
326
- "defaultValue": "true"
327
- },
328
- "showImage": {
329
- "type": "boolean",
330
- "mutable": false,
331
- "complexType": {
332
- "original": "boolean",
333
- "resolved": "boolean",
334
- "references": {}
335
- },
336
- "required": false,
337
- "optional": false,
338
- "docs": {
339
- "tags": [],
340
- "text": "Property used to display the image"
341
- },
342
- "attribute": "show-image",
343
- "reflect": true,
344
- "defaultValue": "true"
345
- },
346
- "showTitle": {
347
- "type": "boolean",
348
- "mutable": false,
349
- "complexType": {
350
- "original": "boolean",
351
- "resolved": "boolean",
352
- "references": {}
353
- },
354
- "required": false,
355
- "optional": false,
356
- "docs": {
357
- "tags": [],
358
- "text": "Property used to display the image"
359
- },
360
- "attribute": "show-title",
361
- "reflect": true,
362
- "defaultValue": "true"
363
- },
364
- "showContent": {
365
- "type": "boolean",
366
- "mutable": false,
367
- "complexType": {
368
- "original": "boolean",
369
- "resolved": "boolean",
370
- "references": {}
371
- },
372
- "required": false,
373
- "optional": false,
374
- "docs": {
375
- "tags": [],
376
- "text": "Property used to display the description"
377
- },
378
- "attribute": "show-content",
379
- "reflect": true,
380
- "defaultValue": "true"
381
- },
382
- "postId": {
383
- "type": "number",
384
- "mutable": false,
385
- "complexType": {
386
- "original": "number",
387
- "resolved": "number",
388
- "references": {}
389
- },
390
- "required": false,
391
- "optional": false,
392
- "docs": {
393
- "tags": [],
394
- "text": "Showing post ID parameter"
395
- },
396
- "attribute": "post-id",
397
- "reflect": true
398
- },
399
- "postSlug": {
400
- "type": "string",
401
- "mutable": false,
402
- "complexType": {
403
- "original": "string",
404
- "resolved": "string",
405
- "references": {}
406
- },
407
- "required": false,
408
- "optional": false,
409
- "docs": {
410
- "tags": [],
411
- "text": "Slug of post"
412
- },
413
- "attribute": "post-slug",
414
- "reflect": true
415
- },
416
- "postCustomPath": {
417
- "type": "string",
418
- "mutable": false,
419
- "complexType": {
420
- "original": "string",
421
- "resolved": "string",
422
- "references": {}
423
- },
424
- "required": false,
425
- "optional": false,
426
- "docs": {
427
- "tags": [],
428
- "text": "Custom Path of post"
429
- },
430
- "attribute": "post-custom-path",
431
- "reflect": true
432
- },
433
- "intlDateTimeFormat": {
434
- "type": "string",
435
- "mutable": false,
436
- "complexType": {
437
- "original": "string",
438
- "resolved": "string",
439
- "references": {}
440
- },
441
- "required": false,
442
- "optional": false,
443
- "docs": {
444
- "tags": [],
445
- "text": "Intl date format"
446
- },
447
- "attribute": "intl-date-time-format",
448
- "reflect": false,
449
- "defaultValue": "''"
450
- }
451
- }; }
452
- static get states() { return {
453
- "hasErrors": {},
454
- "limitStylingAppends": {},
455
- "isLoading": {},
456
- "bannerMatrixReady": {},
457
- "device": {}
458
- }; }
459
- static get watchers() { return [{
460
- "propName": "postId",
461
- "methodName": "watchEndpoint"
462
- }, {
463
- "propName": "postSlug",
464
- "methodName": "watchEndpoint"
465
- }, {
466
- "propName": "postCustomPath",
467
- "methodName": "watchEndpoint"
468
- }, {
469
- "propName": "cmsEndpoint",
470
- "methodName": "watchEndpoint"
471
- }, {
472
- "propName": "language",
473
- "methodName": "watchEndpoint"
474
- }]; }
475
- static get listeners() { return [{
476
- "name": "BannerMatrixReady",
477
- "method": "handleBannerReady",
478
- "target": "window",
479
- "capture": false,
480
- "passive": false
481
- }]; }
482
- }
@@ -1 +0,0 @@
1
- export * from './components';
@@ -1,29 +0,0 @@
1
- const DEFAULT_LANGUAGE = 'en';
2
- const SUPPORTED_LANGUAGES = ['ro', 'en', 'fr', 'ar', 'hr'];
3
- const TRANSLATIONS = {
4
- en: {
5
- error: 'Error',
6
- },
7
- ro: {
8
- error: 'Eroare',
9
- },
10
- fr: {
11
- error: 'Error',
12
- },
13
- ar: {
14
- error: 'خطأ',
15
- },
16
- hr: {
17
- error: 'Greška',
18
- },
19
- 'pt-br': {
20
- error: 'Erro'
21
- },
22
- 'es-mx': {
23
- error: 'Error'
24
- }
25
- };
26
- export const translate = (key, customLang) => {
27
- const lang = customLang;
28
- return TRANSLATIONS[lang !== undefined && SUPPORTED_LANGUAGES.includes(lang) ? lang : DEFAULT_LANGUAGE][key];
29
- };
@@ -1,59 +0,0 @@
1
- export function checkDeviceType() {
2
- const userAgent = navigator.userAgent.toLowerCase();
3
- const width = screen.availWidth;
4
- const height = screen.availHeight;
5
- if (userAgent.includes('iphone')) {
6
- return 'mobile';
7
- }
8
- if (userAgent.includes('android')) {
9
- if (height > width && width < 800) {
10
- return 'mobile';
11
- }
12
- if (width > height && height < 800) {
13
- return 'tablet';
14
- }
15
- }
16
- return 'desktop';
17
- }
18
- export const getDevice = () => {
19
- let userAgent = window.navigator.userAgent;
20
- if (userAgent.toLowerCase().match(/android/i)) {
21
- return 'Android';
22
- }
23
- if (userAgent.toLowerCase().match(/iphone/i)) {
24
- return 'iPhone';
25
- }
26
- if (userAgent.toLowerCase().match(/ipad|ipod/i)) {
27
- return 'iPad';
28
- }
29
- return 'PC';
30
- };
31
- function checkCustomDeviceWidth() {
32
- const width = screen.availWidth;
33
- if (width < 600) {
34
- return 'mobile';
35
- }
36
- else if (width >= 600 && width < 1100) {
37
- return 'tablet';
38
- }
39
- }
40
- export function getDeviceCustom() {
41
- const userAgent = navigator.userAgent.toLowerCase();
42
- let source = '';
43
- source = (userAgent.includes('android') || userAgent.includes('iphone') || userAgent.includes('ipad')) ? checkCustomDeviceWidth() : 'desktop';
44
- return source;
45
- }
46
- export const getDevicePlatform = () => {
47
- const device = getDevice();
48
- if (device) {
49
- if (device === 'PC') {
50
- return 'dk';
51
- }
52
- else if (device === 'iPad' || device === 'iPhone') {
53
- return 'mtWeb';
54
- }
55
- else {
56
- return 'mtWeb';
57
- }
58
- }
59
- };
@@ -1,11 +0,0 @@
1
- import type { Components, JSX } from "../types/components";
2
-
3
- interface BlogArticleDetails extends Components.BlogArticleDetails, HTMLElement {}
4
- export const BlogArticleDetails: {
5
- prototype: BlogArticleDetails;
6
- new (): BlogArticleDetails;
7
- };
8
- /**
9
- * Used to define this component and all nested components recursively.
10
- */
11
- export const defineCustomElement: () => void;