@pie-players/pie-players-shared 0.3.28 → 0.3.30

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 (146) hide show
  1. package/{src → dist}/components/PieItemPlayer.svelte +156 -88
  2. package/dist/i18n/translations/en/tools.json +1 -1
  3. package/{src → dist}/i18n/use-i18n-standalone.svelte.ts +1 -0
  4. package/{src → dist}/i18n/use-i18n.svelte.ts +1 -0
  5. package/dist/index.d.ts +2 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +2 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/loader-config.d.ts +25 -0
  10. package/dist/loader-config.d.ts.map +1 -1
  11. package/dist/loader-config.js +5 -0
  12. package/dist/loader-config.js.map +1 -1
  13. package/dist/pie/config.d.ts.map +1 -1
  14. package/dist/pie/config.js +12 -5
  15. package/dist/pie/config.js.map +1 -1
  16. package/dist/pie/custom-element-define.d.ts +1 -1
  17. package/dist/pie/custom-element-define.d.ts.map +1 -1
  18. package/dist/pie/custom-element-define.js +2 -2
  19. package/dist/pie/custom-element-define.js.map +1 -1
  20. package/dist/pie/iife-loader.d.ts +35 -0
  21. package/dist/pie/iife-loader.d.ts.map +1 -1
  22. package/dist/pie/iife-loader.js +138 -2
  23. package/dist/pie/iife-loader.js.map +1 -1
  24. package/dist/pie/index.d.ts +3 -1
  25. package/dist/pie/index.d.ts.map +1 -1
  26. package/dist/pie/index.js +1 -0
  27. package/dist/pie/index.js.map +1 -1
  28. package/dist/pie/overrides.d.ts +9 -0
  29. package/dist/pie/overrides.d.ts.map +1 -1
  30. package/dist/pie/overrides.js +36 -0
  31. package/dist/pie/overrides.js.map +1 -1
  32. package/dist/pie/resource-monitor.d.ts +17 -0
  33. package/dist/pie/resource-monitor.d.ts.map +1 -1
  34. package/dist/pie/resource-monitor.js +284 -81
  35. package/dist/pie/resource-monitor.js.map +1 -1
  36. package/dist/pie/updates.d.ts.map +1 -1
  37. package/dist/pie/updates.js +65 -2
  38. package/dist/pie/updates.js.map +1 -1
  39. package/dist/security/index.d.ts +5 -0
  40. package/dist/security/index.d.ts.map +1 -0
  41. package/dist/security/index.js +5 -0
  42. package/dist/security/index.js.map +1 -0
  43. package/dist/security/sanitize-item-markup.d.ts +46 -0
  44. package/dist/security/sanitize-item-markup.d.ts.map +1 -0
  45. package/dist/security/sanitize-item-markup.js +174 -0
  46. package/dist/security/sanitize-item-markup.js.map +1 -0
  47. package/dist/security/sanitize-svg-icon.d.ts +15 -0
  48. package/dist/security/sanitize-svg-icon.d.ts.map +1 -0
  49. package/dist/security/sanitize-svg-icon.js +89 -0
  50. package/dist/security/sanitize-svg-icon.js.map +1 -0
  51. package/dist/security/validate-style-url.d.ts +28 -0
  52. package/dist/security/validate-style-url.d.ts.map +1 -0
  53. package/dist/security/validate-style-url.js +58 -0
  54. package/dist/security/validate-style-url.js.map +1 -0
  55. package/dist/security/wrap-overwide-images.d.ts +31 -0
  56. package/dist/security/wrap-overwide-images.d.ts.map +1 -0
  57. package/dist/security/wrap-overwide-images.js +92 -0
  58. package/dist/security/wrap-overwide-images.js.map +1 -0
  59. package/dist/server/npm-registry.d.ts +8 -0
  60. package/dist/server/npm-registry.d.ts.map +1 -0
  61. package/dist/server/npm-registry.js +60 -0
  62. package/dist/server/npm-registry.js.map +1 -0
  63. package/dist/types/index.d.ts +10 -0
  64. package/dist/types/index.d.ts.map +1 -1
  65. package/dist/types/index.js.map +1 -1
  66. package/dist/ui/first-focusable.d.ts +21 -0
  67. package/dist/ui/first-focusable.d.ts.map +1 -0
  68. package/dist/ui/first-focusable.js +73 -0
  69. package/dist/ui/first-focusable.js.map +1 -0
  70. package/dist/ui/focus-trap.d.ts.map +1 -1
  71. package/dist/ui/focus-trap.js +2 -13
  72. package/dist/ui/focus-trap.js.map +1 -1
  73. package/package.json +44 -34
  74. package/dist/i18n/scripts/check-coverage.d.ts +0 -16
  75. package/dist/i18n/scripts/check-coverage.d.ts.map +0 -1
  76. package/dist/i18n/scripts/check-coverage.js +0 -262
  77. package/dist/i18n/scripts/check-coverage.js.map +0 -1
  78. package/dist/i18n/scripts/scan-hardcoded.d.ts +0 -16
  79. package/dist/i18n/scripts/scan-hardcoded.d.ts.map +0 -1
  80. package/dist/i18n/scripts/scan-hardcoded.js +0 -266
  81. package/dist/i18n/scripts/scan-hardcoded.js.map +0 -1
  82. package/dist/i18n/use-i18n-standalone.svelte.d.ts +0 -87
  83. package/dist/i18n/use-i18n-standalone.svelte.d.ts.map +0 -1
  84. package/dist/i18n/use-i18n-standalone.svelte.js +0 -151
  85. package/dist/i18n/use-i18n-standalone.svelte.js.map +0 -1
  86. package/dist/i18n/use-i18n.svelte.d.ts +0 -67
  87. package/dist/i18n/use-i18n.svelte.d.ts.map +0 -1
  88. package/dist/i18n/use-i18n.svelte.js +0 -144
  89. package/dist/i18n/use-i18n.svelte.js.map +0 -1
  90. package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts +0 -170
  91. package/dist/instrumentation/providers/DataDogInstrumentationProvider.d.ts.map +0 -1
  92. package/dist/instrumentation/providers/DataDogInstrumentationProvider.js +0 -183
  93. package/dist/instrumentation/providers/DataDogInstrumentationProvider.js.map +0 -1
  94. package/dist/theming/css-variables.d.ts +0 -7
  95. package/dist/theming/css-variables.d.ts.map +0 -1
  96. package/dist/theming/css-variables.js +0 -43
  97. package/dist/theming/css-variables.js.map +0 -1
  98. package/dist/theming/index.d.ts +0 -4
  99. package/dist/theming/index.d.ts.map +0 -1
  100. package/dist/theming/index.js +0 -3
  101. package/dist/theming/index.js.map +0 -1
  102. package/dist/theming/presets.d.ts +0 -7
  103. package/dist/theming/presets.d.ts.map +0 -1
  104. package/dist/theming/presets.js +0 -146
  105. package/dist/theming/presets.js.map +0 -1
  106. package/dist/theming/types.d.ts +0 -5
  107. package/dist/theming/types.d.ts.map +0 -1
  108. package/dist/theming/types.js +0 -2
  109. package/dist/theming/types.js.map +0 -1
  110. package/dist/types/custom-elements.d.ts +0 -158
  111. package/dist/types/custom-elements.d.ts.map +0 -1
  112. package/dist/types/custom-elements.js +0 -8
  113. package/dist/types/custom-elements.js.map +0 -1
  114. package/dist/types/search.d.ts +0 -105
  115. package/dist/types/search.d.ts.map +0 -1
  116. package/dist/types/search.js +0 -12
  117. package/dist/types/search.js.map +0 -1
  118. package/dist/types/transform.d.ts +0 -48
  119. package/dist/types/transform.d.ts.map +0 -1
  120. package/dist/types/transform.js +0 -21
  121. package/dist/types/transform.js.map +0 -1
  122. package/src/i18n/README.md +0 -223
  123. package/src/i18n/index.ts +0 -26
  124. package/src/i18n/loader.ts +0 -156
  125. package/src/i18n/scripts/check-coverage.ts +0 -345
  126. package/src/i18n/scripts/scan-hardcoded.ts +0 -342
  127. package/src/i18n/simple-i18n.ts +0 -236
  128. package/src/i18n/translations/ar/common.json +0 -36
  129. package/src/i18n/translations/ar/toolkit.json +0 -48
  130. package/src/i18n/translations/ar/tools.json +0 -103
  131. package/src/i18n/translations/en/common.json +0 -36
  132. package/src/i18n/translations/en/toolkit.json +0 -48
  133. package/src/i18n/translations/en/tools.json +0 -103
  134. package/src/i18n/translations/es/common.json +0 -36
  135. package/src/i18n/translations/es/toolkit.json +0 -48
  136. package/src/i18n/translations/es/tools.json +0 -103
  137. package/src/i18n/translations/zh/common.json +0 -36
  138. package/src/i18n/translations/zh/toolkit.json +0 -48
  139. package/src/i18n/translations/zh/tools.json +0 -103
  140. package/src/i18n/types.ts +0 -66
  141. /package/{src → dist}/components/PiePreviewLayout.svelte +0 -0
  142. /package/{src → dist}/components/PiePreviewToggle.svelte +0 -0
  143. /package/{src → dist}/components/PieSpinner.svelte +0 -0
  144. /package/{src → dist}/components/ToolSettingsButton.svelte +0 -0
  145. /package/{src → dist}/components/ToolSettingsPanel.svelte +0 -0
  146. /package/{src → dist}/components/index.ts +0 -0
@@ -8,8 +8,14 @@
8
8
  -->
9
9
  <script lang="ts">
10
10
  import { onDestroy, tick, untrack } from "svelte";
11
+ import { isInstrumentationProvider } from "../instrumentation/provider-guards.js";
11
12
  import type { LoaderConfig } from "../loader-config.js";
12
13
  import { DEFAULT_LOADER_CONFIG } from "../loader-config.js";
14
+ import {
15
+ buildAuthoringAllowList,
16
+ createDefaultItemMarkupSanitizer,
17
+ type ItemMarkupSanitizer,
18
+ } from "../security/index.js";
13
19
  import {
14
20
  AssetEventManager,
15
21
  createDefaultImageDeleteHandler,
@@ -24,6 +30,7 @@
24
30
  } from "../pie/correct-response-env.js";
25
31
  import { initializePiesFromLoadedBundle } from "../pie/initialization.js";
26
32
  import { createPieLogger, isGlobalDebugEnabled } from "../pie/logger.js";
33
+ import { resolveInstrumentationProvider } from "../pie/instrumentation-provider-resolution.js";
27
34
  import { findPieController } from "../pie/scoring.js";
28
35
  import type { AuthoringEnv } from "../pie/types.js";
29
36
  import { BundleType } from "../pie/types.js";
@@ -37,16 +44,6 @@
37
44
  SoundHandler,
38
45
  } from "../types/index.js";
39
46
 
40
- type RetrySuccessDetail = {
41
- url?: string;
42
- resourceType?: string;
43
- duration?: number;
44
- size?: number;
45
- retryCount?: number;
46
- maxRetries?: number;
47
- error?: string;
48
- };
49
-
50
47
  // Create logger (respects global debug flag - pass function for dynamic checking)
51
48
  const logger = createPieLogger("pie-item-player", () =>
52
49
  isGlobalDebugEnabled()
@@ -68,6 +65,9 @@
68
65
  mode = "view" as "view" | "author",
69
66
  configuration = {} as Record<string, any>,
70
67
  authoringBackend = "demo" as "demo" | "required",
68
+ // Security: sanitize markup before {@html} injection unless the host opts out.
69
+ trustMarkup = false,
70
+ sanitizeMarkup,
71
71
  // Asset handler callbacks
72
72
  onInsertImage,
73
73
  onDeleteImage,
@@ -93,6 +93,9 @@
93
93
  mode?: "view" | "author";
94
94
  configuration?: Record<string, any>;
95
95
  authoringBackend?: "demo" | "required";
96
+ // Markup-trust controls
97
+ trustMarkup?: boolean;
98
+ sanitizeMarkup?: ItemMarkupSanitizer;
96
99
  // Asset handlers
97
100
  onInsertImage?: (handler: ImageHandler) => void;
98
101
  onDeleteImage?: (src: string, done: (err?: Error) => void) => void;
@@ -112,6 +115,7 @@
112
115
  let assetEventManager: AssetEventManager | null = $state(null);
113
116
  let authoringBlockedError: string | null = $state(null);
114
117
  let lastReportedAuthoringError: string | null = $state(null);
118
+ let runtimePlayerError: string | null = $state(null);
115
119
 
116
120
  // Transform markup for authoring mode (append -config suffix)
117
121
  function transformMarkupForAuthoring(
@@ -130,29 +134,103 @@
130
134
  return result;
131
135
  }
132
136
 
137
+ // Custom-element allow-list derived from the item/passage `elements` maps.
138
+ // Includes both the raw tag names and their authoring-mode `-config`
139
+ // rewrites so `transformMarkupForAuthoring` output still passes the
140
+ // sanitizer.
141
+ const itemAllowList = $derived.by<string[]>(() => {
142
+ const elements = itemConfig?.elements ?? {};
143
+ return buildAuthoringAllowList(Object.keys(elements));
144
+ });
145
+
146
+ const passageAllowList = $derived.by<string[]>(() => {
147
+ const elements = passageConfig?.elements ?? {};
148
+ return buildAuthoringAllowList(Object.keys(elements));
149
+ });
150
+
151
+ function applySanitizer(markup: string, allowList: string[]): string {
152
+ if (!markup) return "";
153
+ if (trustMarkup) return markup;
154
+ if (sanitizeMarkup) return sanitizeMarkup(markup);
155
+ const sanitizer = createDefaultItemMarkupSanitizer({
156
+ allowedCustomElements: allowList,
157
+ });
158
+ return sanitizer(markup);
159
+ }
160
+
133
161
  // Get appropriate markup based on mode
134
162
  const itemMarkup = $derived.by(() => {
135
163
  if (!itemConfig?.markup) return "";
136
- if (mode === "author" && itemConfig.elements) {
137
- return transformMarkupForAuthoring(
138
- itemConfig.markup,
139
- itemConfig.elements
140
- );
141
- }
142
- return itemConfig.markup;
164
+ const raw =
165
+ mode === "author" && itemConfig.elements
166
+ ? transformMarkupForAuthoring(itemConfig.markup, itemConfig.elements)
167
+ : itemConfig.markup;
168
+ return applySanitizer(raw, itemAllowList);
143
169
  });
144
170
 
145
171
  const passageMarkup = $derived.by(() => {
146
172
  if (!passageConfig?.markup) return "";
147
- if (mode === "author" && passageConfig.elements) {
148
- return transformMarkupForAuthoring(
149
- passageConfig.markup,
150
- passageConfig.elements
151
- );
152
- }
153
- return passageConfig.markup;
173
+ const raw =
174
+ mode === "author" && passageConfig.elements
175
+ ? transformMarkupForAuthoring(
176
+ passageConfig.markup,
177
+ passageConfig.elements
178
+ )
179
+ : passageConfig.markup;
180
+ return applySanitizer(raw, passageAllowList);
154
181
  });
155
182
 
183
+ function normalizePlayerErrorDetail(
184
+ detail: unknown,
185
+ fallbackCode = "ITEM_PLAYER_RUNTIME_ERROR"
186
+ ) {
187
+ if (detail && typeof detail === "object") {
188
+ const detailObject = detail as Record<string, unknown>;
189
+ const message =
190
+ typeof detailObject.message === "string" && detailObject.message.trim().length > 0
191
+ ? detailObject.message
192
+ : "Unknown PIE runtime error";
193
+ const code =
194
+ typeof detailObject.code === "string" && detailObject.code.trim().length > 0
195
+ ? detailObject.code
196
+ : fallbackCode;
197
+ return { ...detailObject, message, code };
198
+ }
199
+ const message =
200
+ typeof detail === "string" && detail.trim().length > 0
201
+ ? detail
202
+ : "Unknown PIE runtime error";
203
+ return { code: fallbackCode, message };
204
+ }
205
+
206
+ function trackPlayerError(detail: Record<string, unknown>) {
207
+ const resolvedProvider = resolveInstrumentationProvider({
208
+ player: { loaderConfig },
209
+ component: "pie-item-player",
210
+ debug: isGlobalDebugEnabled(),
211
+ });
212
+ if (!isInstrumentationProvider(resolvedProvider) || !resolvedProvider.isReady()) return;
213
+ const message =
214
+ typeof detail.message === "string" ? detail.message : "Unknown PIE runtime error";
215
+ const code =
216
+ typeof detail.code === "string" && detail.code.length > 0
217
+ ? detail.code
218
+ : "ITEM_PLAYER_RUNTIME_ERROR";
219
+ resolvedProvider.trackError(new Error(message), {
220
+ component: "pie-item-player",
221
+ errorType: code,
222
+ ...detail,
223
+ });
224
+ }
225
+
226
+ function reportPlayerError(detail: unknown, fallbackCode = "ITEM_PLAYER_RUNTIME_ERROR") {
227
+ const normalizedDetail = normalizePlayerErrorDetail(detail, fallbackCode);
228
+ runtimePlayerError = normalizedDetail.message as string;
229
+ logger.error("[PieItemPlayer] Runtime error:", normalizedDetail);
230
+ trackPlayerError(normalizedDetail);
231
+ dispatch("player-error", normalizedDetail);
232
+ }
233
+
156
234
  // Dispatch events (will add more as needed)
157
235
  const dispatch = (type: string, detail?: any) => {
158
236
  // Call callback prop if provided (Svelte 5 pattern)
@@ -185,8 +263,7 @@
185
263
  function reportAuthoringErrorOnce(message: string) {
186
264
  if (lastReportedAuthoringError === message) return;
187
265
  lastReportedAuthoringError = message;
188
- logger.error(`[PieItemPlayer] ${message}`);
189
- dispatch("player-error", {
266
+ reportPlayerError({
190
267
  code: "AUTHORING_BACKEND_CONFIG_ERROR",
191
268
  message,
192
269
  });
@@ -381,46 +458,6 @@
381
458
  // Root element reference for resource monitor
382
459
  let rootElement: HTMLElement | null = $state(null);
383
460
 
384
- function normalizeResourceUrl(url: string): string {
385
- try {
386
- const parsed = new URL(url, window.location.href);
387
- parsed.searchParams.delete("retry");
388
- parsed.searchParams.delete("t");
389
- return parsed.toString();
390
- } catch {
391
- return url;
392
- }
393
- }
394
-
395
- function dispatchMediaRetryReady(detail: RetrySuccessDetail) {
396
- if (!rootElement) return;
397
- if (!detail || (detail.resourceType !== "audio" && detail.resourceType !== "video")) {
398
- return;
399
- }
400
- const url = typeof detail.url === "string" ? detail.url : "";
401
- if (!url) return;
402
- const normalizedTargetUrl = normalizeResourceUrl(url);
403
- const selector = detail.resourceType === "audio" ? "audio[src]" : "video[src]";
404
- const mediaElements = Array.from(
405
- rootElement.querySelectorAll<HTMLAudioElement | HTMLVideoElement>(selector)
406
- );
407
- for (const mediaEl of mediaElements) {
408
- const currentSrc = mediaEl.currentSrc || mediaEl.src;
409
- if (!currentSrc) continue;
410
- if (normalizeResourceUrl(currentSrc) !== normalizedTargetUrl) continue;
411
- mediaEl.dispatchEvent(
412
- new CustomEvent("pie-media-retry-ready", {
413
- detail: {
414
- ...detail,
415
- mediaTag: detail.resourceType,
416
- },
417
- bubbles: true,
418
- composed: true,
419
- })
420
- );
421
- }
422
- }
423
-
424
461
  // Resource monitor (handles initialization and cleanup automatically)
425
462
  useResourceMonitor(
426
463
  () => rootElement,
@@ -429,26 +466,6 @@
429
466
  "pie-item-player"
430
467
  );
431
468
 
432
- // Bridge resource-monitor retry success events to media-level recovery hooks so
433
- // item elements can clear local disabled/error UI without coupling to player internals.
434
- $effect(() => {
435
- if (!rootElement) return;
436
- const handleRetrySuccess = (event: Event) => {
437
- const customEvent = event as CustomEvent<RetrySuccessDetail>;
438
- dispatchMediaRetryReady(customEvent.detail ?? {});
439
- };
440
- rootElement.addEventListener(
441
- "pie-resource-retry-success",
442
- handleRetrySuccess as EventListener
443
- );
444
- return () => {
445
- rootElement?.removeEventListener(
446
- "pie-resource-retry-success",
447
- handleRetrySuccess as EventListener
448
- );
449
- };
450
- });
451
-
452
469
  // Initialize PIE elements AFTER markup is rendered (reactive pattern like PieItemPreview)
453
470
  $effect(() => {
454
471
  if (!itemConfig || initialized) return;
@@ -460,6 +477,7 @@
460
477
  // Wait for DOM to update (markup to render)
461
478
  tick().then(async () => {
462
479
  try {
480
+ runtimePlayerError = null;
463
481
  logger.debug("[PieItemPlayer] DOM ready, initializing PIE elements");
464
482
  logger.debug("[PieItemPlayer] Config:", {
465
483
  itemElements: Object.keys(itemConfig.elements || {}),
@@ -737,8 +755,14 @@
737
755
  );
738
756
  dispatch("load-complete");
739
757
  } catch (e: any) {
740
- logger.error("[PieItemPlayer] Error initializing:", e);
741
- dispatch("player-error", e.message);
758
+ reportPlayerError(
759
+ {
760
+ code: "ITEM_PLAYER_INITIALIZATION_ERROR",
761
+ message: e instanceof Error ? e.message : String(e),
762
+ cause: e instanceof Error ? e.stack || e.message : String(e),
763
+ },
764
+ "ITEM_PLAYER_INITIALIZATION_ERROR"
765
+ );
742
766
  }
743
767
  });
744
768
  });
@@ -797,16 +821,60 @@
797
821
  if (passageConfig) {
798
822
  updatePieElements(passageConfig, session, env, rootElement ?? undefined);
799
823
  }
824
+ } catch (e: any) {
825
+ reportPlayerError(
826
+ {
827
+ code: "ITEM_PLAYER_UPDATE_ERROR",
828
+ message: e instanceof Error ? e.message : String(e),
829
+ cause: e instanceof Error ? e.stack || e.message : String(e),
830
+ },
831
+ "ITEM_PLAYER_UPDATE_ERROR"
832
+ );
800
833
  } finally {
801
834
  isUpdating = false;
802
835
  }
803
836
  });
804
837
  });
805
838
 
839
+ $effect(() => {
840
+ if (!rootElement) return;
841
+ const handleControllerError = (event: Event) => {
842
+ const customEvent = event as CustomEvent;
843
+ reportPlayerError(customEvent.detail, "PIE_CONTROLLER_RUNTIME_ERROR");
844
+ };
845
+ rootElement.addEventListener(
846
+ "pie-controller-error",
847
+ handleControllerError as EventListener
848
+ );
849
+ return () => {
850
+ rootElement?.removeEventListener(
851
+ "pie-controller-error",
852
+ handleControllerError as EventListener
853
+ );
854
+ };
855
+ });
856
+
806
857
  // Note: Resource monitor cleanup is handled automatically by useResourceMonitor's onDestroy
807
858
  </script>
808
859
 
809
860
  <div class="pie-item-player" bind:this={rootElement}>
861
+ {#if runtimePlayerError}
862
+ <div
863
+ class="pie-player-error"
864
+ style="
865
+ padding: 20px;
866
+ margin: 20px 0;
867
+ border: 2px solid #d32f2f;
868
+ border-radius: 4px;
869
+ background-color: #ffebee;
870
+ color: #c62828;
871
+ font-family: sans-serif;
872
+ "
873
+ >
874
+ <h3 style="margin: 0 0 10px 0">Player Error</h3>
875
+ <p style="margin: 0">{runtimePlayerError}</p>
876
+ </div>
877
+ {/if}
810
878
  {#if authoringBlockedError}
811
879
  <div
812
880
  class="pie-player-error"
@@ -43,7 +43,7 @@
43
43
  },
44
44
  "calculator": {
45
45
  "title": "Calculator",
46
- "aria_label": "Calculator tool - Use Alt+Arrow keys to move, Escape to close",
46
+ "aria_label": "Calculator tool - Tab to reach title bar controls. On the title bar, Arrow keys move the window, Shift+Arrow resizes it, Home re-centers, and Escape closes.",
47
47
  "settings": "Calculator settings",
48
48
  "close": "Close calculator",
49
49
  "settings_title": "Calculator Settings",
@@ -25,6 +25,7 @@
25
25
  * ```
26
26
  */
27
27
 
28
+ /// <reference types="svelte" />
28
29
  import { BUNDLED_TRANSLATIONS, loadTranslations } from "./loader.js";
29
30
  import { SimpleI18n } from "./simple-i18n.js";
30
31
 
@@ -20,6 +20,7 @@
20
20
  * ```
21
21
  */
22
22
 
23
+ /// <reference types="svelte" />
23
24
  import type { I18nServiceApi } from "./types.js";
24
25
 
25
26
  /**
package/dist/index.d.ts CHANGED
@@ -2,12 +2,14 @@ export * from "./config/profile.js";
2
2
  export * from "./instrumentation/index.js";
3
3
  export * from "./loader-config.js";
4
4
  export * from "./player-strategy.js";
5
+ export * from "./security/index.js";
5
6
  export * from "./loaders/index.js";
6
7
  export * from "./object/index.js";
7
8
  export * from "./pie/index.js";
8
9
  export type { AssessmentEntity, AssessmentItemRef, AssessmentSection, ConfigEntity, Env, ItemConfig, ItemEntity, LegacyAssessmentSection, OutcomeResponse, PassageEntity, PieController, PieModel, QuestionEntity, RubricBlock, SectionQuestionRef, TestPart, } from "./types/index.js";
9
10
  export { editorPostFix } from "./types/index.js";
10
11
  export * from "./ui/focus-trap.js";
12
+ export * from "./ui/first-focusable.js";
11
13
  export * from "./ui/debug-panel-persistence.js";
12
14
  export * from "./ui/safe-storage.js";
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,QAAQ,GACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAElC,cAAc,gBAAgB,CAAC;AAC/B,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,UAAU,EACV,UAAU,EACV,uBAAuB,EACvB,eAAe,EACf,aAAa,EACb,aAAa,EACb,QAAQ,EACR,cAAc,EACd,WAAW,EACX,kBAAkB,EAClB,QAAQ,GACR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
package/dist/index.js CHANGED
@@ -2,12 +2,14 @@ export * from "./config/profile.js";
2
2
  export * from "./instrumentation/index.js";
3
3
  export * from "./loader-config.js";
4
4
  export * from "./player-strategy.js";
5
+ export * from "./security/index.js";
5
6
  export * from "./loaders/index.js";
6
7
  export * from "./object/index.js";
7
8
  // Barrel export for PIE runtime utilities
8
9
  export * from "./pie/index.js";
9
10
  export { editorPostFix } from "./types/index.js";
10
11
  export * from "./ui/focus-trap.js";
12
+ export * from "./ui/first-focusable.js";
11
13
  export * from "./ui/debug-panel-persistence.js";
12
14
  export * from "./ui/safe-storage.js";
13
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,0CAA0C;AAC1C,cAAc,gBAAgB,CAAC;AAmB/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,0CAA0C;AAC1C,cAAc,gBAAgB,CAAC;AAmB/B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,iCAAiC,CAAC;AAChD,cAAc,sBAAsB,CAAC"}
@@ -4,6 +4,16 @@
4
4
  * Mirrors the `LoaderConfig` used by PIEOneer's custom element tags.
5
5
  */
6
6
  import type { InstrumentationProvider } from "./instrumentation/types.js";
7
+ export type IifeBundleRetryConfig = {
8
+ /**
9
+ * Delay in ms between IIFE bundle retry attempts.
10
+ */
11
+ retryDelayMs?: number;
12
+ /**
13
+ * Total timeout in ms before IIFE bundle load retries fail permanently.
14
+ */
15
+ timeoutMs?: number;
16
+ };
7
17
  export type LoaderConfig = {
8
18
  /**
9
19
  * Enable tracking page actions/events.
@@ -47,11 +57,26 @@ export type LoaderConfig = {
47
57
  * Initial delay in ms before first resource retry attempt (exponential backoff).
48
58
  */
49
59
  resourceRetryDelay?: number;
60
+ /**
61
+ * Retry policy for IIFE bundle loads.
62
+ *
63
+ * Kept separate from resource retry settings so bundle-build polling can be tuned
64
+ * independently from media/resource retries.
65
+ */
66
+ iifeBundleRetry?: IifeBundleRetryConfig;
67
+ };
68
+ export declare const DEFAULT_IIFE_BUNDLE_RETRY_CONFIG: {
69
+ readonly retryDelayMs: 3000;
70
+ readonly timeoutMs: 120000;
50
71
  };
51
72
  export declare const DEFAULT_LOADER_CONFIG: {
52
73
  readonly trackPageActions: false;
53
74
  readonly instrumentationProvider: undefined;
54
75
  readonly maxResourceRetries: 3;
55
76
  readonly resourceRetryDelay: 500;
77
+ readonly iifeBundleRetry: {
78
+ readonly retryDelayMs: 3000;
79
+ readonly timeoutMs: 120000;
80
+ };
56
81
  };
57
82
  //# sourceMappingURL=loader-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader-config.d.ts","sourceRoot":"","sources":["../src/loader-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC"}
1
+ {"version":3,"file":"loader-config.d.ts","sourceRoot":"","sources":["../src/loader-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,MAAM,qBAAqB,GAAG;IACnC;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAElD;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,gCAAgC;;;CAGnC,CAAC;AAEX,eAAO,MAAM,qBAAqB;;;;;;;;;CAMxB,CAAC"}
@@ -3,10 +3,15 @@
3
3
  *
4
4
  * Mirrors the `LoaderConfig` used by PIEOneer's custom element tags.
5
5
  */
6
+ export const DEFAULT_IIFE_BUNDLE_RETRY_CONFIG = {
7
+ retryDelayMs: 3000,
8
+ timeoutMs: 120000,
9
+ };
6
10
  export const DEFAULT_LOADER_CONFIG = {
7
11
  trackPageActions: false,
8
12
  instrumentationProvider: undefined,
9
13
  maxResourceRetries: 3,
10
14
  resourceRetryDelay: 500,
15
+ iifeBundleRetry: DEFAULT_IIFE_BUNDLE_RETRY_CONFIG,
11
16
  };
12
17
  //# sourceMappingURL=loader-config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loader-config.js","sourceRoot":"","sources":["../src/loader-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAoDH,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,gBAAgB,EAAE,KAAK;IACvB,uBAAuB,EAAE,SAAS;IAClC,kBAAkB,EAAE,CAAC;IACrB,kBAAkB,EAAE,GAAG;CACd,CAAC"}
1
+ {"version":3,"file":"loader-config.js","sourceRoot":"","sources":["../src/loader-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwEH,MAAM,CAAC,MAAM,gCAAgC,GAAG;IAC/C,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE,MAAM;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACpC,gBAAgB,EAAE,KAAK;IACvB,uBAAuB,EAAE,SAAS;IAClC,kBAAkB,EAAE,CAAC;IACrB,kBAAkB,EAAE,GAAG;IACvB,eAAe,EAAE,gCAAgC;CACxC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pie/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,yBAAyB,GACrC,QAAQ,OAAO,KACb,iCAqFF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,OAAO,KAAG,IAIzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC5B,YAAY,YAAY,EACxB,YAAY,MAAM,KAChB,QAAQ,EASV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC7B,YAAY,YAAY,EACxB,YAAY,MAAM,KAChB,MAeF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC/B,QAAQ,YAAY,EACpB,YAAY,MAAM,EAClB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,KAC3D,YAoBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,YAAY,KAAG,YAazD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,qBAAqB,EAC7D,WAAW,CAAC,KACV,CAiHF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/pie/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGvF,MAAM,MAAM,iCAAiC,GAAG;IAC/C,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAiBF,eAAO,MAAM,yBAAyB,GACrC,QAAQ,OAAO,KACb,iCAqFF,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,QAAQ,OAAO,KAAG,IAIzD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAC5B,YAAY,YAAY,EACxB,YAAY,MAAM,KAChB,QAAQ,EASV,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAC7B,YAAY,YAAY,EACxB,YAAY,MAAM,KAChB,MAeF,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,GAC/B,QAAQ,YAAY,EACpB,YAAY,MAAM,EAClB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,KAC3D,YAoBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,SAAS,YAAY,KAAG,YAazD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,CAAC,SAAS,qBAAqB,EAC7D,WAAW,CAAC,KACV,CA2HF,CAAC"}
@@ -186,20 +186,27 @@ export const addRubricIfNeeded = (content) => {
186
186
  */
187
187
  export const makeUniqueTags = (container) => {
188
188
  const VERSION_DELIMITER = "--version-";
189
+ const TAG_VERSION_PATTERN = "[0-9A-Za-z-]+";
190
+ const encodeVersionForTag = (version) => version
191
+ .trim()
192
+ .replace(/[.+]/g, "-")
193
+ .replace(/[^0-9A-Za-z-]/g, "-")
194
+ .replace(/-{2,}/g, "-");
189
195
  const parseElementName = (elName) => {
190
- const versionMatch = elName.match(`${VERSION_DELIMITER}(\\d+-\\d+-\\d+)$`);
196
+ const versionMatch = elName.match(new RegExp(`${VERSION_DELIMITER}(${TAG_VERSION_PATTERN})$`));
191
197
  return versionMatch
192
198
  ? {
193
199
  baseName: elName.replace(`${VERSION_DELIMITER}${versionMatch[1]}`, ""),
194
- existingVersion: versionMatch[1].replace(/-/g, "."),
200
+ existingEncodedVersion: versionMatch[1],
195
201
  }
196
202
  : { baseName: elName };
197
203
  };
198
204
  const createVersionedName = (elName, pkg) => {
199
- const { baseName, existingVersion } = parseElementName(elName);
205
+ const { baseName, existingEncodedVersion } = parseElementName(elName);
200
206
  const { version } = parsePackageName(pkg);
201
- if (existingVersion !== version) {
202
- return `${baseName}${VERSION_DELIMITER}${version.replace(/\./g, "-")}`;
207
+ const targetEncodedVersion = encodeVersionForTag(version);
208
+ if (existingEncodedVersion !== targetEncodedVersion) {
209
+ return `${baseName}${VERSION_DELIMITER}${targetEncodedVersion}`;
203
210
  }
204
211
  return elName;
205
212
  };
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pie/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/pie/config.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@ export type SafeDefineResult = {
3
3
  status: SafeDefineStatus;
4
4
  tagName: string;
5
5
  };
6
- export declare const defineCustomElementSafely: (tagName: string, constructor: CustomElementConstructor, context?: string) => SafeDefineResult;
6
+ export declare const defineCustomElementSafely: (tagName: string, elementConstructor: CustomElementConstructor, context?: string) => SafeDefineResult;
7
7
  //# sourceMappingURL=custom-element-define.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-element-define.d.ts","sourceRoot":"","sources":["../../src/pie/custom-element-define.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAiBF,eAAO,MAAM,yBAAyB,GACrC,SAAS,MAAM,EACf,aAAa,wBAAwB,EACrC,gBAA8B,KAC5B,gBAoBF,CAAC"}
1
+ {"version":3,"file":"custom-element-define.d.ts","sourceRoot":"","sources":["../../src/pie/custom-element-define.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,SAAS,CAAC;AAE7D,MAAM,MAAM,gBAAgB,GAAG;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CAChB,CAAC;AAiBF,eAAO,MAAM,yBAAyB,GACrC,SAAS,MAAM,EACf,oBAAoB,wBAAwB,EAC5C,gBAA8B,KAC5B,gBAoBF,CAAC"}
@@ -9,13 +9,13 @@ const isDuplicateDefineError = (error) => {
9
9
  : "";
10
10
  return maybeName === "NotSupportedError";
11
11
  };
12
- export const defineCustomElementSafely = (tagName, constructor, context = "custom element tag") => {
12
+ export const defineCustomElementSafely = (tagName, elementConstructor, context = "custom element tag") => {
13
13
  const validTagName = validateCustomElementTag(tagName, context);
14
14
  if (customElements.get(validTagName)) {
15
15
  return { status: "already-defined", tagName: validTagName };
16
16
  }
17
17
  try {
18
- customElements.define(validTagName, constructor);
18
+ customElements.define(validTagName, elementConstructor);
19
19
  return { status: "defined", tagName: validTagName };
20
20
  }
21
21
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"custom-element-define.js","sourceRoot":"","sources":["../../src/pie/custom-element-define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAS1D,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC1D,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAC1E,OAAO,CACN,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAClC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,iBAAiB,CAC7C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GACd,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QAC7D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,SAAS,KAAK,mBAAmB,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,OAAe,EACf,WAAqC,EACrC,OAAO,GAAG,oBAAoB,EACX,EAAE;IACrB,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACJ,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACjD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACb,CAAC;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"custom-element-define.js","sourceRoot":"","sources":["../../src/pie/custom-element-define.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAS1D,MAAM,sBAAsB,GAAG,CAAC,KAAc,EAAW,EAAE;IAC1D,IAAI,OAAO,YAAY,KAAK,WAAW,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;QAC1E,OAAO,CACN,KAAK,CAAC,IAAI,KAAK,mBAAmB;YAClC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,iBAAiB,CAC7C,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GACd,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,IAAI,KAAK;QAC7D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,IAAI,CAAC;QAC5C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,SAAS,KAAK,mBAAmB,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACxC,OAAe,EACf,kBAA4C,EAC5C,OAAO,GAAG,oBAAoB,EACX,EAAE;IACrB,MAAM,YAAY,GAAG,wBAAwB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IAC7D,CAAC;IAED,IAAI,CAAC;QACJ,cAAc,CAAC,MAAM,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;IACrD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,EAAE,CAAC;YACpC,MAAM,KAAK,CAAC;QACb,CAAC;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;QAC7D,CAAC;QAED,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC,CAAC"}