@geotrekce/geotrek-rando-widget 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/cjs/geotrek-rando-widget.cjs.js +19 -0
- package/dist/cjs/grw-app_7.cjs.entry.js +14662 -0
- package/dist/cjs/index-31255e29.js +1262 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +21 -0
- package/dist/collection/assets/arrow-back.svg +1 -0
- package/dist/collection/assets/ascent.svg +1 -0
- package/dist/collection/assets/departure-arrival.svg +1 -0
- package/dist/collection/assets/duration.svg +1 -0
- package/dist/collection/assets/length.svg +1 -0
- package/dist/collection/collection-manifest.json +18 -0
- package/dist/collection/components/grw-app/grw-app.css +112 -0
- package/dist/collection/components/grw-app/grw-app.js +156 -0
- package/dist/collection/components/grw-map/grw-map.css +686 -0
- package/dist/collection/components/grw-map/grw-map.js +187 -0
- package/dist/collection/components/grw-trek-card/grw-trek-card.css +66 -0
- package/dist/collection/components/grw-trek-card/grw-trek-card.js +90 -0
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.css +58 -0
- package/dist/collection/components/grw-trek-detail/grw-trek-detail.js +74 -0
- package/dist/collection/components/grw-treks-list/grw-treks-list.css +21 -0
- package/dist/collection/components/grw-treks-list/grw-treks-list.js +38 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/store/grw-trek-provider.js +63 -0
- package/dist/collection/store/grw-treks-provider.js +65 -0
- package/dist/collection/store/store.js +11 -0
- package/dist/collection/stories/App.js +9 -0
- package/dist/collection/stories/App.stories.js +21 -0
- package/dist/collection/stories/TrekCard.js +7 -0
- package/dist/collection/stories/TrekCard.stories.js +18 -0
- package/dist/collection/stories/TrekDetail.js +7 -0
- package/dist/collection/stories/TrekDetail.stories.js +18 -0
- package/dist/collection/stories/TrekMap.js +11 -0
- package/dist/collection/stories/TrekMap.stories.js +21 -0
- package/dist/collection/stories/TreksList.js +6 -0
- package/dist/collection/stories/TreksList.stories.js +17 -0
- package/dist/collection/stories/TreksMap.js +7 -0
- package/dist/collection/stories/TreksMap.stories.js +17 -0
- package/dist/collection/types/types.js +1 -0
- package/dist/collection/utils/utils.js +19 -0
- package/dist/components/grw-app.d.ts +11 -0
- package/dist/components/grw-app.js +98 -0
- package/dist/components/grw-map.d.ts +11 -0
- package/dist/components/grw-map.js +6 -0
- package/dist/components/grw-map2.js +14288 -0
- package/dist/components/grw-trek-card.d.ts +11 -0
- package/dist/components/grw-trek-card.js +6 -0
- package/dist/components/grw-trek-card2.js +45 -0
- package/dist/components/grw-trek-detail.d.ts +11 -0
- package/dist/components/grw-trek-detail.js +6 -0
- package/dist/components/grw-trek-detail2.js +44 -0
- package/dist/components/grw-trek-provider.d.ts +11 -0
- package/dist/components/grw-trek-provider.js +6 -0
- package/dist/components/grw-trek-provider2.js +49 -0
- package/dist/components/grw-treks-list.d.ts +11 -0
- package/dist/components/grw-treks-list.js +6 -0
- package/dist/components/grw-treks-list2.js +57 -0
- package/dist/components/grw-treks-provider.d.ts +11 -0
- package/dist/components/grw-treks-provider.js +6 -0
- package/dist/components/grw-treks-provider2.js +51 -0
- package/dist/components/index.d.ts +26 -0
- package/dist/components/index.js +1 -0
- package/dist/components/length.js +27 -0
- package/dist/components/store.js +196 -0
- package/dist/esm/geotrek-rando-widget.js +17 -0
- package/dist/esm/grw-app_7.entry.js +14652 -0
- package/dist/esm/index-b36f38f5.js +1232 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +17 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.css +1 -0
- package/dist/geotrek-rando-widget/geotrek-rando-widget.esm.js +1 -0
- package/dist/geotrek-rando-widget/index.esm.js +0 -0
- package/dist/geotrek-rando-widget/p-f721481d.js +2 -0
- package/dist/geotrek-rando-widget/p-fe788eaa.entry.js +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/grw-app/grw-app.d.ts +15 -0
- package/dist/types/components/grw-map/grw-map.d.ts +17 -0
- package/dist/types/components/grw-trek-card/grw-trek-card.d.ts +12 -0
- package/dist/types/components/grw-trek-detail/grw-trek-detail.d.ts +10 -0
- package/dist/types/components/grw-treks-list/grw-treks-list.d.ts +10 -0
- package/dist/types/components.d.ts +149 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1565 -0
- package/dist/types/store/grw-trek-provider.d.ts +7 -0
- package/dist/types/store/grw-treks-provider.d.ts +6 -0
- package/dist/types/store/store.d.ts +18 -0
- package/dist/types/types/types.d.ts +48 -0
- package/dist/types/utils/utils.d.ts +3 -0
- package/loader/cdn.js +3 -0
- package/loader/index.cjs.js +3 -0
- package/loader/index.d.ts +12 -0
- package/loader/index.es2017.js +3 -0
- package/loader/index.js +4 -0
- package/loader/package.json +10 -0
- package/package.json +57 -0
- package/readme.md +3 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export const createApp = ({ api, portals, appName, colorPrimary, colorPrimaryTint }) => {
|
|
2
|
+
const app = document.createElement('grw-app');
|
|
3
|
+
app.setAttribute('api', api);
|
|
4
|
+
app.setAttribute('portals', portals);
|
|
5
|
+
app.setAttribute('app-name', appName);
|
|
6
|
+
app.setAttribute('color-primary', colorPrimary);
|
|
7
|
+
app.setAttribute('color-primary-tint', colorPrimaryTint);
|
|
8
|
+
return app;
|
|
9
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createApp } from './App';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Geotrek Rando Widget',
|
|
5
|
+
argTypes: {},
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const Template = ({ label, ...args }) => {
|
|
9
|
+
return createApp({ label, ...args });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const App = Template.bind({});
|
|
13
|
+
|
|
14
|
+
App.args = {
|
|
15
|
+
api: 'https://randoadmin.parc-haut-jura.fr/api/v2/',
|
|
16
|
+
portals: '',
|
|
17
|
+
appName: 'Geotrek Rando Widget',
|
|
18
|
+
colorPrimary: '#6b0030',
|
|
19
|
+
colorPrimaryTint: '#d2b2c0',
|
|
20
|
+
};
|
|
21
|
+
App.storyName = 'App';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createTrekCard } from './TrekCard';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Geotrek Rando Widget',
|
|
5
|
+
argTypes: {},
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const Template = ({ label, ...args }) => {
|
|
9
|
+
return createTrekCard({ label, ...args });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const TrekCard = Template.bind({});
|
|
13
|
+
|
|
14
|
+
TrekCard.args = {
|
|
15
|
+
api: 'https://randoadmin.parc-haut-jura.fr/api/v2/',
|
|
16
|
+
trekId: 242872,
|
|
17
|
+
};
|
|
18
|
+
TrekCard.storyName = 'Trek card';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const createTrekDetail = ({ api, trekId }) => {
|
|
2
|
+
const trek = document.createElement('grw-trek-provider');
|
|
3
|
+
trek.setAttribute('api', api);
|
|
4
|
+
trek.setAttribute('trek-id', trekId);
|
|
5
|
+
trek.appendChild(document.createElement('grw-trek-detail'));
|
|
6
|
+
return trek;
|
|
7
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { createTrekDetail } from './TrekDetail';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Geotrek Rando Widget',
|
|
5
|
+
argTypes: {},
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const Template = ({ label, ...args }) => {
|
|
9
|
+
return createTrekDetail({ label, ...args });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const TrekDetail = Template.bind({});
|
|
13
|
+
|
|
14
|
+
TrekDetail.args = {
|
|
15
|
+
api: 'https://randoadmin.parc-haut-jura.fr/api/v2/',
|
|
16
|
+
trekId: 242872,
|
|
17
|
+
};
|
|
18
|
+
TrekDetail.storyName = 'Trek detail';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export const createTrekMap = ({ api, trekId, trekLineColor, departureIconColor, arrivalIconColor }) => {
|
|
2
|
+
const trek = document.createElement('grw-trek-provider');
|
|
3
|
+
trek.setAttribute('api', api);
|
|
4
|
+
trek.setAttribute('trek-id', trekId);
|
|
5
|
+
const trekMap = document.createElement('grw-map');
|
|
6
|
+
trekMap.setAttribute('trek-line-color', trekLineColor);
|
|
7
|
+
trekMap.setAttribute('departure-icon-color', departureIconColor);
|
|
8
|
+
trekMap.setAttribute('arrival-icon-color', arrivalIconColor);
|
|
9
|
+
trek.appendChild(trekMap);
|
|
10
|
+
return trek;
|
|
11
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createTrekMap } from './TrekMap';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Geotrek Rando Widget',
|
|
5
|
+
argTypes: {},
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const Template = ({ label, ...args }) => {
|
|
9
|
+
return createTrekMap({ label, ...args });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const TrekMap = Template.bind({});
|
|
13
|
+
|
|
14
|
+
TrekMap.args = {
|
|
15
|
+
api: 'https://randoadmin.parc-haut-jura.fr/api/v2/',
|
|
16
|
+
trekId: 242872,
|
|
17
|
+
trekLineColor: '#6b0030',
|
|
18
|
+
departureIconColor: '#006b3b',
|
|
19
|
+
arrivalIconColor: '#85003b',
|
|
20
|
+
};
|
|
21
|
+
TrekMap.storyName = 'Trek map';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createTreksList } from './TreksList';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Geotrek Rando Widget',
|
|
5
|
+
argTypes: {},
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const Template = ({ label, ...args }) => {
|
|
9
|
+
return createTreksList({ label, ...args });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const TreksList = Template.bind({});
|
|
13
|
+
|
|
14
|
+
TreksList.args = {
|
|
15
|
+
api: 'https://randoadmin.parc-haut-jura.fr/api/v2/',
|
|
16
|
+
};
|
|
17
|
+
TreksList.storyName = 'Treks list';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createTreksMap } from './TreksMap';
|
|
2
|
+
|
|
3
|
+
export default {
|
|
4
|
+
title: 'Geotrek Rando Widget',
|
|
5
|
+
argTypes: {},
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const Template = ({ label, ...args }) => {
|
|
9
|
+
return createTreksMap({ label, ...args });
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export const TreksMap = Template.bind({});
|
|
13
|
+
|
|
14
|
+
TreksMap.args = {
|
|
15
|
+
api: 'https://randoadmin.parc-haut-jura.fr/api/v2/',
|
|
16
|
+
};
|
|
17
|
+
TreksMap.storyName = 'Treks map';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export function formatDuration(duration) {
|
|
2
|
+
let formattedDuration;
|
|
3
|
+
if (duration < 24) {
|
|
4
|
+
formattedDuration = `${Math.floor(duration)}h`;
|
|
5
|
+
if (duration % 1 > 0) {
|
|
6
|
+
formattedDuration += `${Math.round(60 * (duration % 1))}min`;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
formattedDuration = `${duration / 24}j`;
|
|
11
|
+
}
|
|
12
|
+
return formattedDuration;
|
|
13
|
+
}
|
|
14
|
+
export function formatLength(length) {
|
|
15
|
+
return `${Math.round(length / 1000)} km`;
|
|
16
|
+
}
|
|
17
|
+
export function formatAscent(ascent) {
|
|
18
|
+
return `${ascent} m`;
|
|
19
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GrwApp extends Components.GrwApp, HTMLElement {}
|
|
4
|
+
export const GrwApp: {
|
|
5
|
+
prototype: GrwApp;
|
|
6
|
+
new (): GrwApp;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
|
|
2
|
+
import { s as state } from './store.js';
|
|
3
|
+
import { d as defineCustomElement$7 } from './grw-map2.js';
|
|
4
|
+
import { d as defineCustomElement$6 } from './grw-trek-card2.js';
|
|
5
|
+
import { d as defineCustomElement$5 } from './grw-trek-detail2.js';
|
|
6
|
+
import { d as defineCustomElement$4 } from './grw-trek-provider2.js';
|
|
7
|
+
import { d as defineCustomElement$3 } from './grw-treks-list2.js';
|
|
8
|
+
import { d as defineCustomElement$2 } from './grw-treks-provider2.js';
|
|
9
|
+
|
|
10
|
+
const arrowBackImage = `<svg xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512"><polyline points="244 400 100 256 244 112" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-width:48px"/><line x1="120" y1="256" x2="412" y2="256" style="fill:none;stroke:#ffffff;stroke-linecap:round;stroke-linejoin:round;stroke-width:48px"/></svg>`;
|
|
11
|
+
|
|
12
|
+
const grwAppCss = ".header-container{display:flex;align-items:center;background-color:var(--color-primary);height:64px}.header-container .title{color:#ffffff;font-size:24px;margin-left:24px}.header-container .arrow-back-icon{width:48px;height:auto;margin-left:24px}.header-container .arrow-back-icon svg{cursor:pointer;width:48px;height:auto}.loader-container{position:absolute;display:flex;justify-content:center;align-items:center;width:100vw;height:100%}.loader-container .loader{width:48px;height:48px;border:5px solid var(--color-primary-tint);border-bottom-color:var(--color-primary);border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.content-container{display:flex;height:calc(100vh - 64px)}.app-treks-list-container,.app-trek-detail-container{width:100vw;height:100%}.app-map-container{position:absolute;width:100vw;height:calc(100vh - 64px)}.map-visibility-button{cursor:pointer;display:flex;justify-content:center;align-items:center;position:absolute;bottom:24px;width:100%;z-index:400;user-select:none}.map-visibility-button div{background-color:var(--color-primary);color:#ffffff;padding:12px;border-radius:24px;width:120px;text-align:center}@media (min-width: 664px){.map-visibility-button{display:none}.header-container .title{font-size:32px}.loader-container{position:relative;width:50vw}.app-treks-list-container,.app-trek-detail-container{width:50vw;height:100%}.app-map-container{position:relative;width:50vw;height:100%}}";
|
|
13
|
+
|
|
14
|
+
const GrwApp$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.__registerHost();
|
|
18
|
+
this.__attachShadow();
|
|
19
|
+
this.appName = 'Geotrek Rando Widget';
|
|
20
|
+
this.colorPrimary = '#6b0030';
|
|
21
|
+
this.colorPrimaryTint = '#d2b2c0';
|
|
22
|
+
}
|
|
23
|
+
onTrekCardPress(event) {
|
|
24
|
+
this.currentTrekId = event.detail;
|
|
25
|
+
this.showTrek = !this.showTrek;
|
|
26
|
+
}
|
|
27
|
+
onWindowResize(event) {
|
|
28
|
+
this.showMap = !(event.composedPath()[0].innerWidth < 664);
|
|
29
|
+
}
|
|
30
|
+
onTrekDetailsClose() {
|
|
31
|
+
this.currentTrekId = null;
|
|
32
|
+
this.showTrek = !this.showTrek;
|
|
33
|
+
}
|
|
34
|
+
componentWillLoad() {
|
|
35
|
+
this.showMap = !(window.innerWidth < 664);
|
|
36
|
+
}
|
|
37
|
+
render() {
|
|
38
|
+
return (h(Host, { style: { '--color-primary': this.colorPrimary, '--color-primary-tint': this.colorPrimaryTint } }, h("grw-treks-provider", { api: this.api, portals: this.portals }, h("div", { class: "header-container" }, this.showTrek ? h("div", { onClick: () => this.onTrekDetailsClose(), class: "arrow-back-icon", innerHTML: arrowBackImage }) : h("div", { class: "title" }, this.appName)), h("div", { class: "content-container" }, h("div", { class: "app-treks-list-container", style: { visibility: this.showTrek ? 'hidden' : 'visible', position: this.showTrek ? 'absolute' : 'relative' } }, h("grw-treks-list", null)), this.showTrek && !state.currentTrek && (h("div", { class: "loader-container" }, h("span", { class: "loader" }))), this.showTrek && this.currentTrekId && (h("grw-trek-provider", { api: state.api, "trek-id": this.currentTrekId }, state.currentTrek && (h("div", { class: "app-trek-detail-container" }, h("grw-trek-detail", null))))), h("div", { class: "app-map-container", style: { visibility: this.showMap ? 'visible' : 'hidden' } }, h("grw-map", null))), h("div", { class: "map-visibility-button" }, h("div", { onClick: () => (this.showMap = !this.showMap) }, this.showMap ? (this.showTrek ? 'Voir la fiche' : 'Voir la liste') : 'Voir la carte')))));
|
|
39
|
+
}
|
|
40
|
+
static get style() { return grwAppCss; }
|
|
41
|
+
}, [1, "grw-app", {
|
|
42
|
+
"api": [1],
|
|
43
|
+
"portals": [1],
|
|
44
|
+
"appName": [1, "app-name"],
|
|
45
|
+
"colorPrimary": [1, "color-primary"],
|
|
46
|
+
"colorPrimaryTint": [1, "color-primary-tint"],
|
|
47
|
+
"showTrek": [32],
|
|
48
|
+
"showMap": [32],
|
|
49
|
+
"currentTrekId": [32]
|
|
50
|
+
}, [[0, "trekCardPress", "onTrekCardPress"], [9, "resize", "onWindowResize"]]]);
|
|
51
|
+
function defineCustomElement$1() {
|
|
52
|
+
if (typeof customElements === "undefined") {
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const components = ["grw-app", "grw-map", "grw-trek-card", "grw-trek-detail", "grw-trek-provider", "grw-treks-list", "grw-treks-provider"];
|
|
56
|
+
components.forEach(tagName => { switch (tagName) {
|
|
57
|
+
case "grw-app":
|
|
58
|
+
if (!customElements.get(tagName)) {
|
|
59
|
+
customElements.define(tagName, GrwApp$1);
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
case "grw-map":
|
|
63
|
+
if (!customElements.get(tagName)) {
|
|
64
|
+
defineCustomElement$7();
|
|
65
|
+
}
|
|
66
|
+
break;
|
|
67
|
+
case "grw-trek-card":
|
|
68
|
+
if (!customElements.get(tagName)) {
|
|
69
|
+
defineCustomElement$6();
|
|
70
|
+
}
|
|
71
|
+
break;
|
|
72
|
+
case "grw-trek-detail":
|
|
73
|
+
if (!customElements.get(tagName)) {
|
|
74
|
+
defineCustomElement$5();
|
|
75
|
+
}
|
|
76
|
+
break;
|
|
77
|
+
case "grw-trek-provider":
|
|
78
|
+
if (!customElements.get(tagName)) {
|
|
79
|
+
defineCustomElement$4();
|
|
80
|
+
}
|
|
81
|
+
break;
|
|
82
|
+
case "grw-treks-list":
|
|
83
|
+
if (!customElements.get(tagName)) {
|
|
84
|
+
defineCustomElement$3();
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
case "grw-treks-provider":
|
|
88
|
+
if (!customElements.get(tagName)) {
|
|
89
|
+
defineCustomElement$2();
|
|
90
|
+
}
|
|
91
|
+
break;
|
|
92
|
+
} });
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const GrwApp = GrwApp$1;
|
|
96
|
+
const defineCustomElement = defineCustomElement$1;
|
|
97
|
+
|
|
98
|
+
export { GrwApp, defineCustomElement };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Components, JSX } from "../types/components";
|
|
2
|
+
|
|
3
|
+
interface GrwMap extends Components.GrwMap, HTMLElement {}
|
|
4
|
+
export const GrwMap: {
|
|
5
|
+
prototype: GrwMap;
|
|
6
|
+
new (): GrwMap;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* Used to define this component and all nested components recursively.
|
|
10
|
+
*/
|
|
11
|
+
export const defineCustomElement: () => void;
|