@pie-players/pie-players-shared 0.3.29 → 0.3.31
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/{src → dist}/components/PieItemPlayer.svelte +156 -88
- package/dist/i18n/translations/en/tools.json +1 -1
- package/{src → dist}/i18n/use-i18n-standalone.svelte.ts +1 -0
- package/{src → dist}/i18n/use-i18n.svelte.ts +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/loader-config.d.ts +25 -0
- package/dist/loader-config.d.ts.map +1 -1
- package/dist/loader-config.js +5 -0
- package/dist/loader-config.js.map +1 -1
- package/dist/loaders/ElementLoader.d.ts +6 -34
- package/dist/loaders/ElementLoader.d.ts.map +1 -1
- package/dist/loaders/ElementLoader.js +21 -9
- package/dist/loaders/ElementLoader.js.map +1 -1
- package/dist/loaders/element-loader-types.d.ts +91 -0
- package/dist/loaders/element-loader-types.d.ts.map +1 -0
- package/dist/loaders/element-loader-types.js +26 -0
- package/dist/loaders/element-loader-types.js.map +1 -0
- package/dist/loaders/element-loader.d.ts +92 -0
- package/dist/loaders/element-loader.d.ts.map +1 -0
- package/dist/loaders/element-loader.js +391 -0
- package/dist/loaders/element-loader.js.map +1 -0
- package/dist/loaders/esm-adapter.d.ts +40 -0
- package/dist/loaders/esm-adapter.d.ts.map +1 -0
- package/dist/loaders/esm-adapter.js +274 -0
- package/dist/loaders/esm-adapter.js.map +1 -0
- package/dist/loaders/iife-adapter.d.ts +86 -0
- package/dist/loaders/iife-adapter.d.ts.map +1 -0
- package/dist/loaders/iife-adapter.js +365 -0
- package/dist/loaders/iife-adapter.js.map +1 -0
- package/dist/loaders/index.d.ts +30 -17
- package/dist/loaders/index.d.ts.map +1 -1
- package/dist/loaders/index.js +26 -14
- package/dist/loaders/index.js.map +1 -1
- package/dist/pie/config.d.ts.map +1 -1
- package/dist/pie/config.js +12 -5
- package/dist/pie/config.js.map +1 -1
- package/dist/pie/index.d.ts +6 -4
- package/dist/pie/index.d.ts.map +1 -1
- package/dist/pie/index.js +8 -2
- package/dist/pie/index.js.map +1 -1
- package/dist/pie/initialization.d.ts +26 -1
- package/dist/pie/initialization.d.ts.map +1 -1
- package/dist/pie/initialization.js +72 -15
- package/dist/pie/initialization.js.map +1 -1
- package/dist/pie/instrumentation-event-map.d.ts.map +1 -1
- package/dist/pie/instrumentation-event-map.js +27 -16
- package/dist/pie/instrumentation-event-map.js.map +1 -1
- package/dist/pie/overrides.d.ts +9 -0
- package/dist/pie/overrides.d.ts.map +1 -1
- package/dist/pie/overrides.js +36 -0
- package/dist/pie/overrides.js.map +1 -1
- package/dist/pie/resource-monitor.d.ts +17 -0
- package/dist/pie/resource-monitor.d.ts.map +1 -1
- package/dist/pie/resource-monitor.js +284 -81
- package/dist/pie/resource-monitor.js.map +1 -1
- package/dist/pie/stage-tracker.d.ts +51 -0
- package/dist/pie/stage-tracker.d.ts.map +1 -0
- package/dist/pie/stage-tracker.js +106 -0
- package/dist/pie/stage-tracker.js.map +1 -0
- package/dist/pie/stages.d.ts +75 -0
- package/dist/pie/stages.d.ts.map +1 -0
- package/dist/pie/stages.js +58 -0
- package/dist/pie/stages.js.map +1 -0
- package/dist/pie/updates.d.ts.map +1 -1
- package/dist/pie/updates.js +65 -2
- package/dist/pie/updates.js.map +1 -1
- package/dist/pie/use-resource-monitor.svelte.d.ts.map +1 -1
- package/dist/pie/use-resource-monitor.svelte.js +88 -75
- package/dist/pie/use-resource-monitor.svelte.js.map +1 -1
- package/dist/security/index.d.ts +5 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/security/index.js +5 -0
- package/dist/security/index.js.map +1 -0
- package/dist/security/sanitize-item-markup.d.ts +46 -0
- package/dist/security/sanitize-item-markup.d.ts.map +1 -0
- package/dist/security/sanitize-item-markup.js +174 -0
- package/dist/security/sanitize-item-markup.js.map +1 -0
- package/dist/security/sanitize-svg-icon.d.ts +15 -0
- package/dist/security/sanitize-svg-icon.d.ts.map +1 -0
- package/dist/security/sanitize-svg-icon.js +89 -0
- package/dist/security/sanitize-svg-icon.js.map +1 -0
- package/dist/security/validate-style-url.d.ts +28 -0
- package/dist/security/validate-style-url.d.ts.map +1 -0
- package/dist/security/validate-style-url.js +58 -0
- package/dist/security/validate-style-url.js.map +1 -0
- package/dist/security/wrap-overwide-images.d.ts +31 -0
- package/dist/security/wrap-overwide-images.d.ts.map +1 -0
- package/dist/security/wrap-overwide-images.js +92 -0
- package/dist/security/wrap-overwide-images.js.map +1 -0
- package/dist/server/npm-registry.d.ts +8 -0
- package/dist/server/npm-registry.d.ts.map +1 -0
- package/dist/server/npm-registry.js +60 -0
- package/dist/server/npm-registry.js.map +1 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/ui/first-focusable.d.ts +21 -0
- package/dist/ui/first-focusable.d.ts.map +1 -0
- package/dist/ui/first-focusable.js +73 -0
- package/dist/ui/first-focusable.js.map +1 -0
- package/dist/ui/focus-trap.d.ts.map +1 -1
- package/dist/ui/focus-trap.js +2 -13
- package/dist/ui/focus-trap.js.map +1 -1
- package/dist/ui/use-promise.svelte.ts +109 -0
- package/package.json +49 -34
- package/dist/i18n/scripts/check-coverage.d.ts +0 -16
- package/dist/i18n/scripts/check-coverage.d.ts.map +0 -1
- package/dist/i18n/scripts/check-coverage.js +0 -262
- package/dist/i18n/scripts/check-coverage.js.map +0 -1
- package/dist/i18n/scripts/scan-hardcoded.d.ts +0 -16
- package/dist/i18n/scripts/scan-hardcoded.d.ts.map +0 -1
- package/dist/i18n/scripts/scan-hardcoded.js +0 -266
- package/dist/i18n/scripts/scan-hardcoded.js.map +0 -1
- package/dist/i18n/use-i18n-standalone.svelte.d.ts +0 -87
- package/dist/i18n/use-i18n-standalone.svelte.d.ts.map +0 -1
- package/dist/i18n/use-i18n-standalone.svelte.js +0 -151
- package/dist/i18n/use-i18n-standalone.svelte.js.map +0 -1
- package/dist/i18n/use-i18n.svelte.d.ts +0 -67
- package/dist/i18n/use-i18n.svelte.d.ts.map +0 -1
- package/dist/i18n/use-i18n.svelte.js +0 -144
- package/dist/i18n/use-i18n.svelte.js.map +0 -1
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts +0 -170
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts.map +0 -1
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.js +0 -183
- package/dist/instrumentation/providers/DataDogInstrumentationProvider.js.map +0 -1
- package/dist/loaders/EsmElementLoader.d.ts +0 -69
- package/dist/loaders/EsmElementLoader.d.ts.map +0 -1
- package/dist/loaders/EsmElementLoader.js +0 -72
- package/dist/loaders/EsmElementLoader.js.map +0 -1
- package/dist/loaders/IifeElementLoader.d.ts +0 -61
- package/dist/loaders/IifeElementLoader.d.ts.map +0 -1
- package/dist/loaders/IifeElementLoader.js +0 -63
- package/dist/loaders/IifeElementLoader.js.map +0 -1
- package/dist/pie/esm-loader.d.ts +0 -104
- package/dist/pie/esm-loader.d.ts.map +0 -1
- package/dist/pie/esm-loader.js +0 -358
- package/dist/pie/esm-loader.js.map +0 -1
- package/dist/pie/iife-loader.d.ts +0 -81
- package/dist/pie/iife-loader.d.ts.map +0 -1
- package/dist/pie/iife-loader.js +0 -425
- package/dist/pie/iife-loader.js.map +0 -1
- package/dist/theming/css-variables.d.ts +0 -7
- package/dist/theming/css-variables.d.ts.map +0 -1
- package/dist/theming/css-variables.js +0 -43
- package/dist/theming/css-variables.js.map +0 -1
- package/dist/theming/index.d.ts +0 -4
- package/dist/theming/index.d.ts.map +0 -1
- package/dist/theming/index.js +0 -3
- package/dist/theming/index.js.map +0 -1
- package/dist/theming/presets.d.ts +0 -7
- package/dist/theming/presets.d.ts.map +0 -1
- package/dist/theming/presets.js +0 -146
- package/dist/theming/presets.js.map +0 -1
- package/dist/theming/types.d.ts +0 -5
- package/dist/theming/types.d.ts.map +0 -1
- package/dist/theming/types.js +0 -2
- package/dist/theming/types.js.map +0 -1
- package/dist/types/custom-elements.d.ts +0 -158
- package/dist/types/custom-elements.d.ts.map +0 -1
- package/dist/types/custom-elements.js +0 -8
- package/dist/types/custom-elements.js.map +0 -1
- package/dist/types/search.d.ts +0 -105
- package/dist/types/search.d.ts.map +0 -1
- package/dist/types/search.js +0 -12
- package/dist/types/search.js.map +0 -1
- package/dist/types/transform.d.ts +0 -48
- package/dist/types/transform.d.ts.map +0 -1
- package/dist/types/transform.js +0 -21
- package/dist/types/transform.js.map +0 -1
- package/src/i18n/README.md +0 -223
- package/src/i18n/index.ts +0 -26
- package/src/i18n/loader.ts +0 -156
- package/src/i18n/scripts/check-coverage.ts +0 -345
- package/src/i18n/scripts/scan-hardcoded.ts +0 -342
- package/src/i18n/simple-i18n.ts +0 -236
- package/src/i18n/translations/ar/common.json +0 -36
- package/src/i18n/translations/ar/toolkit.json +0 -48
- package/src/i18n/translations/ar/tools.json +0 -103
- package/src/i18n/translations/en/common.json +0 -36
- package/src/i18n/translations/en/toolkit.json +0 -48
- package/src/i18n/translations/en/tools.json +0 -103
- package/src/i18n/translations/es/common.json +0 -36
- package/src/i18n/translations/es/toolkit.json +0 -48
- package/src/i18n/translations/es/tools.json +0 -103
- package/src/i18n/translations/zh/common.json +0 -36
- package/src/i18n/translations/zh/toolkit.json +0 -48
- package/src/i18n/translations/zh/tools.json +0 -103
- package/src/i18n/types.ts +0 -66
- /package/{src → dist}/components/PiePreviewLayout.svelte +0 -0
- /package/{src → dist}/components/PiePreviewToggle.svelte +0 -0
- /package/{src → dist}/components/PieSpinner.svelte +0 -0
- /package/{src → dist}/components/ToolSettingsButton.svelte +0 -0
- /package/{src → dist}/components/ToolSettingsPanel.svelte +0 -0
- /package/{src → dist}/components/index.ts +0 -0
|
@@ -1,183 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DataDog RUM Instrumentation Provider
|
|
3
|
-
*
|
|
4
|
-
* Example alternative provider for DataDog Real User Monitoring.
|
|
5
|
-
* Demonstrates how to integrate with a third-party instrumentation service.
|
|
6
|
-
*
|
|
7
|
-
* NOTE: This provider requires `@datadog/browser-rum` to be installed:
|
|
8
|
-
* ```bash
|
|
9
|
-
* npm install @datadog/browser-rum
|
|
10
|
-
* ```
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```typescript
|
|
14
|
-
* const provider = new DataDogInstrumentationProvider();
|
|
15
|
-
* await provider.initialize({
|
|
16
|
-
* enabled: true,
|
|
17
|
-
* sampleRate: 1.0,
|
|
18
|
-
* providerSettings: {
|
|
19
|
-
* applicationId: 'abc123',
|
|
20
|
-
* clientToken: 'pub_xyz',
|
|
21
|
-
* site: 'datadoghq.com',
|
|
22
|
-
* service: 'pie-players',
|
|
23
|
-
* env: 'production'
|
|
24
|
-
* }
|
|
25
|
-
* });
|
|
26
|
-
*
|
|
27
|
-
* provider.trackError(new Error('Something went wrong'), {
|
|
28
|
-
* component: 'my-component',
|
|
29
|
-
* errorType: 'ValidationError'
|
|
30
|
-
* });
|
|
31
|
-
* ```
|
|
32
|
-
*/
|
|
33
|
-
import { BaseInstrumentationProvider } from "./BaseInstrumentationProvider.js";
|
|
34
|
-
/**
|
|
35
|
-
* DataDog RUM Instrumentation Provider
|
|
36
|
-
*
|
|
37
|
-
* Integrates PIE players instrumentation with DataDog Real User Monitoring.
|
|
38
|
-
*/
|
|
39
|
-
export class DataDogInstrumentationProvider extends BaseInstrumentationProvider {
|
|
40
|
-
providerId = "datadog";
|
|
41
|
-
providerName = "DataDog RUM";
|
|
42
|
-
datadogConfig;
|
|
43
|
-
/**
|
|
44
|
-
* Initialize the DataDog provider
|
|
45
|
-
*
|
|
46
|
-
* Loads the DataDog RUM SDK and initializes it with the provided configuration.
|
|
47
|
-
*
|
|
48
|
-
* @param config Instrumentation configuration with DataDog-specific settings
|
|
49
|
-
* @throws {Error} If DataDog configuration is invalid or SDK fails to load
|
|
50
|
-
*/
|
|
51
|
-
async initialize(config) {
|
|
52
|
-
if (typeof window === "undefined") {
|
|
53
|
-
throw new Error("[DataDogProvider] DataDog RUM requires browser environment");
|
|
54
|
-
}
|
|
55
|
-
this.config = config;
|
|
56
|
-
this.datadogConfig = config?.providerSettings;
|
|
57
|
-
if (!this.datadogConfig?.applicationId ||
|
|
58
|
-
!this.datadogConfig?.clientToken) {
|
|
59
|
-
throw new Error("[DataDogProvider] applicationId and clientToken are required in providerSettings");
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
// Dynamically import DataDog RUM SDK
|
|
63
|
-
// @ts-expect-error - Optional peer dependency
|
|
64
|
-
const { datadogRum } = await import("@datadog/browser-rum");
|
|
65
|
-
// Initialize DataDog RUM
|
|
66
|
-
datadogRum.init({
|
|
67
|
-
applicationId: this.datadogConfig.applicationId,
|
|
68
|
-
clientToken: this.datadogConfig.clientToken,
|
|
69
|
-
site: this.datadogConfig.site || "datadoghq.com",
|
|
70
|
-
service: this.datadogConfig.service || "pie-players",
|
|
71
|
-
env: this.datadogConfig.env || "production",
|
|
72
|
-
version: this.datadogConfig.version || "1.0.0",
|
|
73
|
-
sessionSampleRate: config?.sampleRate !== undefined ? config.sampleRate * 100 : 100,
|
|
74
|
-
sessionReplaySampleRate: this.datadogConfig.sessionReplaySampleRate || 0,
|
|
75
|
-
trackUserInteractions: this.datadogConfig.trackUserInteractions !== false,
|
|
76
|
-
trackResources: true,
|
|
77
|
-
trackLongTasks: this.datadogConfig.trackLongTasks !== false,
|
|
78
|
-
defaultPrivacyLevel: this.datadogConfig.defaultPrivacyLevel || "mask-user-input",
|
|
79
|
-
});
|
|
80
|
-
// Start session replay if configured
|
|
81
|
-
if (this.datadogConfig.sessionReplaySampleRate &&
|
|
82
|
-
this.datadogConfig.sessionReplaySampleRate > 0) {
|
|
83
|
-
datadogRum.startSessionReplayRecording();
|
|
84
|
-
}
|
|
85
|
-
this.initialized = true;
|
|
86
|
-
if (this.config?.debug) {
|
|
87
|
-
console.log("[DataDogProvider] Initialized successfully", this.datadogConfig);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
catch (error) {
|
|
91
|
-
console.error("[DataDogProvider] Failed to initialize:", error);
|
|
92
|
-
throw error;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Check if provider is ready
|
|
97
|
-
*
|
|
98
|
-
* @returns true if DataDog is initialized
|
|
99
|
-
*/
|
|
100
|
-
isReady() {
|
|
101
|
-
return this.initialized;
|
|
102
|
-
}
|
|
103
|
-
/**
|
|
104
|
-
* Cleanup provider resources
|
|
105
|
-
*
|
|
106
|
-
* Marks provider as uninitialized. DataDog RUM SDK is not explicitly
|
|
107
|
-
* destroyed (no cleanup API available).
|
|
108
|
-
*/
|
|
109
|
-
destroy() {
|
|
110
|
-
this.initialized = false;
|
|
111
|
-
if (this.config?.debug) {
|
|
112
|
-
console.log("[DataDogProvider] Destroyed");
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* Track an error with DataDog
|
|
117
|
-
*
|
|
118
|
-
* Calls `datadogRum.addError()`
|
|
119
|
-
*
|
|
120
|
-
* @param error The error to track
|
|
121
|
-
* @param attributes Transformed attributes (already filtered and transformed by base class)
|
|
122
|
-
*/
|
|
123
|
-
doTrackError(error, attributes) {
|
|
124
|
-
// DataDog requires dynamic import
|
|
125
|
-
// @ts-expect-error - Optional peer dependency
|
|
126
|
-
import("@datadog/browser-rum").then(({ datadogRum }) => {
|
|
127
|
-
datadogRum.addError(error, {
|
|
128
|
-
...attributes,
|
|
129
|
-
source: "custom",
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Track a custom event/action with DataDog
|
|
135
|
-
*
|
|
136
|
-
* Calls `datadogRum.addAction()`
|
|
137
|
-
*
|
|
138
|
-
* @param eventName Name of the event
|
|
139
|
-
* @param attributes Transformed attributes (already filtered and transformed by base class)
|
|
140
|
-
*/
|
|
141
|
-
doTrackEvent(eventName, attributes) {
|
|
142
|
-
// DataDog requires dynamic import
|
|
143
|
-
// @ts-expect-error - Optional peer dependency
|
|
144
|
-
import("@datadog/browser-rum").then(({ datadogRum }) => {
|
|
145
|
-
datadogRum.addAction(eventName, attributes);
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Set user context for session tracking
|
|
150
|
-
*
|
|
151
|
-
* Calls `datadogRum.setUser()`
|
|
152
|
-
*
|
|
153
|
-
* @param userId User identifier
|
|
154
|
-
* @param attributes Optional user attributes
|
|
155
|
-
*/
|
|
156
|
-
doSetUserContext(userId, attributes) {
|
|
157
|
-
// DataDog requires dynamic import
|
|
158
|
-
// @ts-expect-error - Optional peer dependency
|
|
159
|
-
import("@datadog/browser-rum").then(({ datadogRum }) => {
|
|
160
|
-
datadogRum.setUser({
|
|
161
|
-
id: userId,
|
|
162
|
-
...attributes,
|
|
163
|
-
});
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Set global custom attributes
|
|
168
|
-
*
|
|
169
|
-
* Calls `datadogRum.setGlobalContextProperty()` for each attribute.
|
|
170
|
-
*
|
|
171
|
-
* @param attributes Attributes to set globally
|
|
172
|
-
*/
|
|
173
|
-
doSetGlobalAttributes(attributes) {
|
|
174
|
-
// DataDog requires dynamic import
|
|
175
|
-
// @ts-expect-error - Optional peer dependency
|
|
176
|
-
import("@datadog/browser-rum").then(({ datadogRum }) => {
|
|
177
|
-
for (const [key, value] of Object.entries(attributes)) {
|
|
178
|
-
datadogRum.setGlobalContextProperty(key, value);
|
|
179
|
-
}
|
|
180
|
-
});
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
//# sourceMappingURL=DataDogInstrumentationProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DataDogInstrumentationProvider.js","sourceRoot":"","sources":["../../../src/instrumentation/providers/DataDogInstrumentationProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ESM Element Loader
|
|
3
|
-
*
|
|
4
|
-
* Wraps EsmPieLoader to provide element-level loading abstraction.
|
|
5
|
-
* Aggregates elements from multiple items and loads them once using ESM modules.
|
|
6
|
-
*/
|
|
7
|
-
import type { ItemEntity } from "../types/index.js";
|
|
8
|
-
import { type ElementLoaderInterface, type ElementMap, type LoadOptions } from "./ElementLoader.js";
|
|
9
|
-
/**
|
|
10
|
-
* Configuration for ESM element loader
|
|
11
|
-
*/
|
|
12
|
-
export interface EsmElementLoaderConfig {
|
|
13
|
-
/** Base URL for ESM CDN (e.g., "https://esm.sh") */
|
|
14
|
-
esmCdnUrl: string;
|
|
15
|
-
/** Module resolution mode (default: "url") */
|
|
16
|
-
moduleResolution?: "url" | "import-map";
|
|
17
|
-
/** Optional function to check if debug mode is enabled */
|
|
18
|
-
debugEnabled?: () => boolean;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Element loader for ESM (ES Modules) bundles
|
|
22
|
-
*
|
|
23
|
-
* This loader wraps EsmPieLoader and provides element aggregation capabilities.
|
|
24
|
-
* It eliminates duplicate bundle loads when multiple items use the same PIE elements.
|
|
25
|
-
* ESM is the modern, preferred loading mechanism with better browser support and features.
|
|
26
|
-
*
|
|
27
|
-
* @example
|
|
28
|
-
* ```typescript
|
|
29
|
-
* const loader = new EsmElementLoader({
|
|
30
|
-
* esmCdnUrl: 'https://esm.sh'
|
|
31
|
-
* });
|
|
32
|
-
*
|
|
33
|
-
* // Load elements from multiple items at once
|
|
34
|
-
* await loader.loadFromItems(section.items, {
|
|
35
|
-
* view: 'delivery',
|
|
36
|
-
* needsControllers: true
|
|
37
|
-
* });
|
|
38
|
-
*
|
|
39
|
-
* // Or load specific elements directly
|
|
40
|
-
* await loader.loadElements({
|
|
41
|
-
* 'pie-multiple-choice': '@pie-element/multiple-choice@11.0.1',
|
|
42
|
-
* 'pie-hotspot': '@pie-element/hotspot@9.0.0'
|
|
43
|
-
* }, {
|
|
44
|
-
* view: 'author' // Load author view for editing
|
|
45
|
-
* });
|
|
46
|
-
* ```
|
|
47
|
-
*/
|
|
48
|
-
export declare class EsmElementLoader implements ElementLoaderInterface {
|
|
49
|
-
private loader;
|
|
50
|
-
constructor(config: EsmElementLoaderConfig);
|
|
51
|
-
/**
|
|
52
|
-
* Load elements directly from an element map
|
|
53
|
-
*
|
|
54
|
-
* @param elements - Map of element tag names to package versions
|
|
55
|
-
* @param options - Loading options
|
|
56
|
-
*/
|
|
57
|
-
loadElements(elements: ElementMap, options?: LoadOptions): Promise<void>;
|
|
58
|
-
/**
|
|
59
|
-
* Extract and load elements from items
|
|
60
|
-
*
|
|
61
|
-
* Automatically aggregates unique elements from all items and loads them once.
|
|
62
|
-
*
|
|
63
|
-
* @param items - Array of items to extract elements from
|
|
64
|
-
* @param options - Loading options
|
|
65
|
-
* @throws Error if element version conflicts are detected
|
|
66
|
-
*/
|
|
67
|
-
loadFromItems(items: ItemEntity[], options?: LoadOptions): Promise<void>;
|
|
68
|
-
}
|
|
69
|
-
//# sourceMappingURL=EsmElementLoader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EsmElementLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/EsmElementLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEN,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAElB,8CAA8C;IAC9C,gBAAgB,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;IAExC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,gBAAiB,YAAW,sBAAsB;IAC9D,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,sBAAsB;IAQ1C;;;;;OAKG;IACG,YAAY,CACjB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAOhB;;;;;;;;OAQG;IACG,aAAa,CAClB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;CAIhB"}
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ESM Element Loader
|
|
3
|
-
*
|
|
4
|
-
* Wraps EsmPieLoader to provide element-level loading abstraction.
|
|
5
|
-
* Aggregates elements from multiple items and loads them once using ESM modules.
|
|
6
|
-
*/
|
|
7
|
-
import { EsmPieLoader } from "../pie/esm-loader.js";
|
|
8
|
-
import { aggregateElements, } from "./ElementLoader.js";
|
|
9
|
-
/**
|
|
10
|
-
* Element loader for ESM (ES Modules) bundles
|
|
11
|
-
*
|
|
12
|
-
* This loader wraps EsmPieLoader and provides element aggregation capabilities.
|
|
13
|
-
* It eliminates duplicate bundle loads when multiple items use the same PIE elements.
|
|
14
|
-
* ESM is the modern, preferred loading mechanism with better browser support and features.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const loader = new EsmElementLoader({
|
|
19
|
-
* esmCdnUrl: 'https://esm.sh'
|
|
20
|
-
* });
|
|
21
|
-
*
|
|
22
|
-
* // Load elements from multiple items at once
|
|
23
|
-
* await loader.loadFromItems(section.items, {
|
|
24
|
-
* view: 'delivery',
|
|
25
|
-
* needsControllers: true
|
|
26
|
-
* });
|
|
27
|
-
*
|
|
28
|
-
* // Or load specific elements directly
|
|
29
|
-
* await loader.loadElements({
|
|
30
|
-
* 'pie-multiple-choice': '@pie-element/multiple-choice@11.0.1',
|
|
31
|
-
* 'pie-hotspot': '@pie-element/hotspot@9.0.0'
|
|
32
|
-
* }, {
|
|
33
|
-
* view: 'author' // Load author view for editing
|
|
34
|
-
* });
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
export class EsmElementLoader {
|
|
38
|
-
loader;
|
|
39
|
-
constructor(config) {
|
|
40
|
-
this.loader = new EsmPieLoader({
|
|
41
|
-
cdnBaseUrl: config.esmCdnUrl,
|
|
42
|
-
moduleResolution: config.moduleResolution,
|
|
43
|
-
debugEnabled: config.debugEnabled,
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Load elements directly from an element map
|
|
48
|
-
*
|
|
49
|
-
* @param elements - Map of element tag names to package versions
|
|
50
|
-
* @param options - Loading options
|
|
51
|
-
*/
|
|
52
|
-
async loadElements(elements, options) {
|
|
53
|
-
await this.loader.load({ elements }, document, {
|
|
54
|
-
view: options?.view || "delivery",
|
|
55
|
-
loadControllers: options?.needsControllers ?? true,
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Extract and load elements from items
|
|
60
|
-
*
|
|
61
|
-
* Automatically aggregates unique elements from all items and loads them once.
|
|
62
|
-
*
|
|
63
|
-
* @param items - Array of items to extract elements from
|
|
64
|
-
* @param options - Loading options
|
|
65
|
-
* @throws Error if element version conflicts are detected
|
|
66
|
-
*/
|
|
67
|
-
async loadFromItems(items, options) {
|
|
68
|
-
const elements = aggregateElements(items);
|
|
69
|
-
await this.loadElements(elements, options);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=EsmElementLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EsmElementLoader.js","sourceRoot":"","sources":["../../src/loaders/EsmElementLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEpD,OAAO,EACN,iBAAiB,GAIjB,MAAM,oBAAoB,CAAC;AAgB5B;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,gBAAgB;IACpB,MAAM,CAAe;IAE7B,YAAY,MAA8B;QACzC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC;YAC9B,UAAU,EAAE,MAAM,CAAC,SAAS;YAC5B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,YAAY,EAAE,MAAM,CAAC,YAAY;SACjC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CACjB,QAAoB,EACpB,OAAqB;QAErB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE;YAC9C,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,UAAU;YACjC,eAAe,EAAE,OAAO,EAAE,gBAAgB,IAAI,IAAI;SAClD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAClB,KAAmB,EACnB,OAAqB;QAErB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACD"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IIFE Element Loader
|
|
3
|
-
*
|
|
4
|
-
* Wraps IifePieLoader to provide element-level loading abstraction.
|
|
5
|
-
* Aggregates elements from multiple items and loads them once using IIFE bundles.
|
|
6
|
-
*/
|
|
7
|
-
import type { ItemEntity } from "../types/index.js";
|
|
8
|
-
import { type ElementLoaderInterface, type ElementMap, type LoadOptions } from "./ElementLoader.js";
|
|
9
|
-
/**
|
|
10
|
-
* Configuration for IIFE element loader
|
|
11
|
-
*/
|
|
12
|
-
export interface IifeElementLoaderConfig {
|
|
13
|
-
/** Base URL for bundle service (e.g., "https://bundles.pie.org") */
|
|
14
|
-
bundleHost: string;
|
|
15
|
-
/** Optional function to check if debug mode is enabled */
|
|
16
|
-
debugEnabled?: () => boolean;
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Element loader for IIFE (Immediately Invoked Function Expression) bundles
|
|
20
|
-
*
|
|
21
|
-
* This loader wraps IifePieLoader and provides element aggregation capabilities.
|
|
22
|
-
* It eliminates duplicate bundle loads when multiple items use the same PIE elements.
|
|
23
|
-
*
|
|
24
|
-
* @example
|
|
25
|
-
* ```typescript
|
|
26
|
-
* const loader = new IifeElementLoader({
|
|
27
|
-
* bundleHost: 'https://bundles.pie.org'
|
|
28
|
-
* });
|
|
29
|
-
*
|
|
30
|
-
* // Load elements from multiple items at once
|
|
31
|
-
* await loader.loadFromItems(section.items);
|
|
32
|
-
*
|
|
33
|
-
* // Or load specific elements directly
|
|
34
|
-
* await loader.loadElements({
|
|
35
|
-
* 'pie-multiple-choice': '@pie-element/multiple-choice@11.0.1',
|
|
36
|
-
* 'pie-hotspot': '@pie-element/hotspot@9.0.0'
|
|
37
|
-
* });
|
|
38
|
-
* ```
|
|
39
|
-
*/
|
|
40
|
-
export declare class IifeElementLoader implements ElementLoaderInterface {
|
|
41
|
-
private loader;
|
|
42
|
-
constructor(config: IifeElementLoaderConfig);
|
|
43
|
-
/**
|
|
44
|
-
* Load elements directly from an element map
|
|
45
|
-
*
|
|
46
|
-
* @param elements - Map of element tag names to package versions
|
|
47
|
-
* @param options - Loading options
|
|
48
|
-
*/
|
|
49
|
-
loadElements(elements: ElementMap, options?: LoadOptions): Promise<void>;
|
|
50
|
-
/**
|
|
51
|
-
* Extract and load elements from items
|
|
52
|
-
*
|
|
53
|
-
* Automatically aggregates unique elements from all items and loads them once.
|
|
54
|
-
*
|
|
55
|
-
* @param items - Array of items to extract elements from
|
|
56
|
-
* @param options - Loading options
|
|
57
|
-
* @throws Error if element version conflicts are detected
|
|
58
|
-
*/
|
|
59
|
-
loadFromItems(items: ItemEntity[], options?: LoadOptions): Promise<void>;
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=IifeElementLoader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IifeElementLoader.d.ts","sourceRoot":"","sources":["../../src/loaders/IifeElementLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAEN,KAAK,sBAAsB,EAC3B,KAAK,UAAU,EACf,KAAK,WAAW,EAChB,MAAM,oBAAoB,CAAC;AAE5B;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAC;IAEnB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,iBAAkB,YAAW,sBAAsB;IAC/D,OAAO,CAAC,MAAM,CAAgB;gBAElB,MAAM,EAAE,uBAAuB;IAO3C;;;;;OAKG;IACG,YAAY,CACjB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;IAShB;;;;;;;;OAQG;IACG,aAAa,CAClB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,IAAI,CAAC;CAIhB"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* IIFE Element Loader
|
|
3
|
-
*
|
|
4
|
-
* Wraps IifePieLoader to provide element-level loading abstraction.
|
|
5
|
-
* Aggregates elements from multiple items and loads them once using IIFE bundles.
|
|
6
|
-
*/
|
|
7
|
-
import { IifePieLoader } from "../pie/iife-loader.js";
|
|
8
|
-
import { BundleType } from "../pie/types.js";
|
|
9
|
-
import { aggregateElements, } from "./ElementLoader.js";
|
|
10
|
-
/**
|
|
11
|
-
* Element loader for IIFE (Immediately Invoked Function Expression) bundles
|
|
12
|
-
*
|
|
13
|
-
* This loader wraps IifePieLoader and provides element aggregation capabilities.
|
|
14
|
-
* It eliminates duplicate bundle loads when multiple items use the same PIE elements.
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
* ```typescript
|
|
18
|
-
* const loader = new IifeElementLoader({
|
|
19
|
-
* bundleHost: 'https://bundles.pie.org'
|
|
20
|
-
* });
|
|
21
|
-
*
|
|
22
|
-
* // Load elements from multiple items at once
|
|
23
|
-
* await loader.loadFromItems(section.items);
|
|
24
|
-
*
|
|
25
|
-
* // Or load specific elements directly
|
|
26
|
-
* await loader.loadElements({
|
|
27
|
-
* 'pie-multiple-choice': '@pie-element/multiple-choice@11.0.1',
|
|
28
|
-
* 'pie-hotspot': '@pie-element/hotspot@9.0.0'
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
export class IifeElementLoader {
|
|
33
|
-
loader;
|
|
34
|
-
constructor(config) {
|
|
35
|
-
this.loader = new IifePieLoader({
|
|
36
|
-
bundleHost: config.bundleHost,
|
|
37
|
-
debugEnabled: config.debugEnabled,
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Load elements directly from an element map
|
|
42
|
-
*
|
|
43
|
-
* @param elements - Map of element tag names to package versions
|
|
44
|
-
* @param options - Loading options
|
|
45
|
-
*/
|
|
46
|
-
async loadElements(elements, options) {
|
|
47
|
-
await this.loader.load({ elements }, document, options?.bundleType || BundleType.clientPlayer, options?.needsControllers ?? true);
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Extract and load elements from items
|
|
51
|
-
*
|
|
52
|
-
* Automatically aggregates unique elements from all items and loads them once.
|
|
53
|
-
*
|
|
54
|
-
* @param items - Array of items to extract elements from
|
|
55
|
-
* @param options - Loading options
|
|
56
|
-
* @throws Error if element version conflicts are detected
|
|
57
|
-
*/
|
|
58
|
-
async loadFromItems(items, options) {
|
|
59
|
-
const elements = aggregateElements(items);
|
|
60
|
-
await this.loadElements(elements, options);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=IifeElementLoader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IifeElementLoader.js","sourceRoot":"","sources":["../../src/loaders/IifeElementLoader.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EACN,iBAAiB,GAIjB,MAAM,oBAAoB,CAAC;AAa5B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,OAAO,iBAAiB;IACrB,MAAM,CAAgB;IAE9B,YAAY,MAA+B;QAC1C,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC;YAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;SACjC,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CACjB,QAAoB,EACpB,OAAqB;QAErB,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrB,EAAE,QAAQ,EAAE,EACZ,QAAQ,EACR,OAAO,EAAE,UAAU,IAAI,UAAU,CAAC,YAAY,EAC9C,OAAO,EAAE,gBAAgB,IAAI,IAAI,CACjC,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,aAAa,CAClB,KAAmB,EACnB,OAAqB;QAErB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;CACD"}
|
package/dist/pie/esm-loader.d.ts
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* ESM PIE Loader
|
|
3
|
-
*
|
|
4
|
-
* Dynamically loads PIE elements from ESM CDN (esm.sh, jsDelivr, etc.)
|
|
5
|
-
* using import maps for version resolution.
|
|
6
|
-
*
|
|
7
|
-
* Supports loading different views/variants of elements (delivery, author, print,
|
|
8
|
-
* or custom UI variants) by importing from different subpaths.
|
|
9
|
-
*
|
|
10
|
-
* Integrates with the existing PIE registry system to enable shared
|
|
11
|
-
* initialization code to work with ESM-loaded elements.
|
|
12
|
-
*/
|
|
13
|
-
export interface EsmLoaderConfig {
|
|
14
|
-
cdnBaseUrl: string;
|
|
15
|
-
debugEnabled?: () => boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Module resolution mode.
|
|
18
|
-
* - "url" (default): load using fully-qualified CDN URLs
|
|
19
|
-
* - "import-map": load using bare specifiers resolved by injected import maps
|
|
20
|
-
*/
|
|
21
|
-
moduleResolution?: "url" | "import-map";
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* View configuration for element loading
|
|
25
|
-
* Maps view names to their subpath and tag suffix
|
|
26
|
-
*/
|
|
27
|
-
export interface ViewConfig {
|
|
28
|
-
/** Subpath to import from (e.g., '/author', '/print', '/delivery-mobile') */
|
|
29
|
-
subpath: string;
|
|
30
|
-
/** Suffix to append to tag name (e.g., '-config', '-print', '') */
|
|
31
|
-
tagSuffix: string;
|
|
32
|
-
/** Optional fallback view if this view doesn't exist */
|
|
33
|
-
fallback?: string;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Options for loading elements
|
|
37
|
-
*/
|
|
38
|
-
export interface EsmLoadOptions {
|
|
39
|
-
/**
|
|
40
|
-
* View to load (e.g., 'delivery', 'author', 'print', 'delivery-mobile')
|
|
41
|
-
* Can be any subpath defined in the element's package.json exports
|
|
42
|
-
*/
|
|
43
|
-
view: string;
|
|
44
|
-
/** Whether to also load controller modules */
|
|
45
|
-
loadControllers?: boolean;
|
|
46
|
-
/** Custom view configuration (overrides built-in views) */
|
|
47
|
-
viewConfig?: ViewConfig;
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Built-in view configurations
|
|
51
|
-
* Extensible - elements can define custom views (e.g., 'delivery-mobile', 'delivery-a11y')
|
|
52
|
-
*/
|
|
53
|
-
export declare const BUILT_IN_VIEWS: Record<string, ViewConfig>;
|
|
54
|
-
export declare class EsmPieLoader {
|
|
55
|
-
private cdnBaseUrl;
|
|
56
|
-
private moduleResolution;
|
|
57
|
-
private importMapInjected;
|
|
58
|
-
constructor(config: EsmLoaderConfig);
|
|
59
|
-
private extractPackageName;
|
|
60
|
-
private generateImportMap;
|
|
61
|
-
private isJsDelivrNpm;
|
|
62
|
-
private resolvePackageUrl;
|
|
63
|
-
private resolveControllerUrl;
|
|
64
|
-
private resolveSubpathUrl;
|
|
65
|
-
private injectImportMap;
|
|
66
|
-
private assertRuntimeSupport;
|
|
67
|
-
private normalizeImportError;
|
|
68
|
-
private resolveElementSpecifier;
|
|
69
|
-
private resolveControllerSpecifier;
|
|
70
|
-
private loadElement;
|
|
71
|
-
getController(tag: string): any | null;
|
|
72
|
-
elementsHaveLoaded(elements: Array<{
|
|
73
|
-
name: string;
|
|
74
|
-
tag: string;
|
|
75
|
-
}>): Promise<{
|
|
76
|
-
elements: typeof elements;
|
|
77
|
-
val: boolean;
|
|
78
|
-
}>;
|
|
79
|
-
/**
|
|
80
|
-
* Load PIE elements with specified view/variant
|
|
81
|
-
*
|
|
82
|
-
* @param contentConfig - Item config with elements
|
|
83
|
-
* @param doc - Document to inject import maps into
|
|
84
|
-
* @param options - Loading options (view, controllers, etc.)
|
|
85
|
-
*
|
|
86
|
-
* @example
|
|
87
|
-
* // Load delivery view with controllers
|
|
88
|
-
* await loader.load(config, document, { view: 'delivery', loadControllers: true });
|
|
89
|
-
*
|
|
90
|
-
* @example
|
|
91
|
-
* // Load author view (configuration UI)
|
|
92
|
-
* await loader.load(config, document, { view: 'author', loadControllers: false });
|
|
93
|
-
*
|
|
94
|
-
* @example
|
|
95
|
-
* // Load custom mobile-optimized view with fallback
|
|
96
|
-
* await loader.load(config, document, {
|
|
97
|
-
* view: 'delivery-mobile',
|
|
98
|
-
* viewConfig: { subpath: '/delivery-mobile', tagSuffix: '', fallback: 'delivery' },
|
|
99
|
-
* loadControllers: true
|
|
100
|
-
* });
|
|
101
|
-
*/
|
|
102
|
-
load(contentConfig: any, doc: Document, options: EsmLoadOptions): Promise<void>;
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=esm-loader.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"esm-loader.d.ts","sourceRoot":"","sources":["../../src/pie/esm-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAWH,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,OAAO,CAAC;IAC7B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC;CACxC;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,6EAA6E;IAC7E,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAmBrD,CAAC;AAEF,qBAAa,YAAY;IACxB,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,MAAM,EAAE,eAAe;IAUnC,OAAO,CAAC,kBAAkB;IAO1B,OAAO,CAAC,iBAAiB;IA0CzB,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,oBAAoB;IAO5B,OAAO,CAAC,iBAAiB;IAUzB,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,oBAAoB;IA8B5B,OAAO,CAAC,oBAAoB;IAmC5B,OAAO,CAAC,uBAAuB;IAa/B,OAAO,CAAC,0BAA0B;YAUpB,WAAW;IAsJlB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAKhC,kBAAkB,CAC9B,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,GAC5C,OAAO,CAAC;QAAE,QAAQ,EAAE,OAAO,QAAQ,CAAC;QAAC,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IAUvD;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACU,IAAI,CAChB,aAAa,EAAE,GAAG,EAClB,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,cAAc,GACrB,OAAO,CAAC,IAAI,CAAC;CAwDhB"}
|