@vertesia/ui 1.6.0-dev.20261014.015055Z → 1.6.0-dev.20261022.120426Z

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 (62) hide show
  1. package/lib/core/components/shadcn/selectBox.js +1 -1
  2. package/lib/core/components/shadcn/selectBox.js.map +1 -1
  3. package/lib/features/agent/PayloadBuilder.d.ts +1 -1
  4. package/lib/features/oauth/useMcpConnections.d.ts.map +1 -1
  5. package/lib/features/oauth/useMcpConnections.js +21 -8
  6. package/lib/features/oauth/useMcpConnections.js.map +1 -1
  7. package/lib/features/store/objects/DocumentTable.d.ts.map +1 -1
  8. package/lib/features/store/objects/DocumentTable.js +0 -9
  9. package/lib/features/store/objects/DocumentTable.js.map +1 -1
  10. package/lib/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  11. package/lib/features/store/objects/components/ContentOverview.js +2 -30
  12. package/lib/features/store/objects/components/ContentOverview.js.map +1 -1
  13. package/lib/features/store/objects/components/VectorSearchWidget.d.ts.map +1 -1
  14. package/lib/features/store/objects/components/VectorSearchWidget.js +1 -1
  15. package/lib/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  16. package/lib/features/store/objects/components/textPanelSource.d.ts +14 -0
  17. package/lib/features/store/objects/components/textPanelSource.d.ts.map +1 -0
  18. package/lib/features/store/objects/components/textPanelSource.js +52 -0
  19. package/lib/features/store/objects/components/textPanelSource.js.map +1 -0
  20. package/lib/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  21. package/lib/features/store/objects/upload/DocumentUploadModal.js +13 -9
  22. package/lib/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  23. package/lib/session/auth/oauth.d.ts.map +1 -1
  24. package/lib/session/auth/oauth.js +18 -10
  25. package/lib/session/auth/oauth.js.map +1 -1
  26. package/lib/vertesia-ui-boot.js.map +1 -1
  27. package/lib/vertesia-ui-core.js +76 -76
  28. package/lib/vertesia-ui-core.js.map +1 -1
  29. package/lib/vertesia-ui-env.js.map +1 -1
  30. package/lib/vertesia-ui-features.js +339 -339
  31. package/lib/vertesia-ui-features.js.map +1 -1
  32. package/lib/vertesia-ui-i18n.js +1 -1
  33. package/lib/vertesia-ui-i18n.js.map +1 -1
  34. package/lib/vertesia-ui-layout.js +16 -16
  35. package/lib/vertesia-ui-layout.js.map +1 -1
  36. package/lib/vertesia-ui-rich-text.js +118 -118
  37. package/lib/vertesia-ui-rich-text.js.map +1 -1
  38. package/lib/vertesia-ui-router.js +1 -1
  39. package/lib/vertesia-ui-router.js.map +1 -1
  40. package/lib/vertesia-ui-session.js +1 -1
  41. package/lib/vertesia-ui-session.js.map +1 -1
  42. package/lib/vertesia-ui-shell.js +26 -26
  43. package/lib/vertesia-ui-shell.js.map +1 -1
  44. package/lib/vertesia-ui-widgets.js +148 -148
  45. package/lib/vertesia-ui-widgets.js.map +1 -1
  46. package/lib/widgets/markdown/MermaidDiagram.d.ts.map +1 -1
  47. package/lib/widgets/markdown/MermaidDiagram.js +5 -2
  48. package/lib/widgets/markdown/MermaidDiagram.js.map +1 -1
  49. package/lib/widgets/upload/DropZone.d.ts.map +1 -1
  50. package/lib/widgets/upload/DropZone.js +1 -0
  51. package/lib/widgets/upload/DropZone.js.map +1 -1
  52. package/package.json +46 -41
  53. package/src/core/components/shadcn/selectBox.tsx +1 -1
  54. package/src/features/oauth/useMcpConnections.ts +26 -8
  55. package/src/features/store/objects/DocumentTable.tsx +0 -9
  56. package/src/features/store/objects/components/ContentOverview.tsx +2 -34
  57. package/src/features/store/objects/components/VectorSearchWidget.tsx +4 -2
  58. package/src/features/store/objects/components/textPanelSource.ts +58 -0
  59. package/src/features/store/objects/upload/DocumentUploadModal.tsx +14 -10
  60. package/src/session/auth/oauth.ts +18 -9
  61. package/src/widgets/markdown/MermaidDiagram.tsx +5 -2
  62. package/src/widgets/upload/DropZone.tsx +1 -0
@@ -0,0 +1,52 @@
1
+ import { isDocumentEditingContentType } from './documentEditingRun.js';
2
+ /**
3
+ * Check if text content appears to be markdown based on common patterns.
4
+ */
5
+ export function looksLikeMarkdown(text) {
6
+ if (!text)
7
+ return false;
8
+ return (text.includes('\n# ') ||
9
+ text.includes('\n## ') ||
10
+ text.includes('\n### ') ||
11
+ text.includes('\n* ') ||
12
+ text.includes('\n- ') ||
13
+ text.includes('\n+ ') ||
14
+ text.includes('![') ||
15
+ text.includes(']('));
16
+ }
17
+ function isTextualContentType(contentType) {
18
+ return !!contentType && (contentType.startsWith('text/') || contentType.startsWith('application/json'));
19
+ }
20
+ /**
21
+ * Build the document-viewer source for the Text panel, which renders the object's extracted text.
22
+ * For binary content (image/png, application/pdf, ...) the text is rendered as markdown, and the
23
+ * source must not carry the content's MIME type or path: the viewer would resolve the file and
24
+ * render it instead of the text.
25
+ */
26
+ export function getTextPanelSource(object, text) {
27
+ const content = object.content;
28
+ const contentProcessorType = object.metadata?.content_processor?.type;
29
+ const isXml = contentProcessorType === 'xml' || content?.type === 'application/xml' || content?.type === 'text/xml';
30
+ const isTextual = isXml || isTextualContentType(content?.type);
31
+ // Render as markdown for binary or markdown/text content, or text that looks like markdown (but not XML)
32
+ const shouldRenderAsMarkdown = !isXml && (!isTextual || isDocumentEditingContentType(content?.type) || looksLikeMarkdown(text));
33
+ let contentType;
34
+ if (isXml) {
35
+ contentType = 'text/xml';
36
+ }
37
+ else if (shouldRenderAsMarkdown) {
38
+ contentType = 'text/markdown';
39
+ }
40
+ else {
41
+ contentType = content?.type;
42
+ }
43
+ return {
44
+ id: object.id,
45
+ title: object.name,
46
+ fileName: content?.name || object.name,
47
+ contentType,
48
+ content: text,
49
+ sourcePath: isTextual ? content?.source : undefined,
50
+ };
51
+ }
52
+ //# sourceMappingURL=textPanelSource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textPanelSource.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/components/textPanelSource.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,yBAAyB,CAAC;AAEvE;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAwB;IACtD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,OAAO,CACH,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;QACtB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACtB,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,WAA+B;IACzD,OAAO,CAAC,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAqB,EAAE,IAAwB;IAC9E,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;IAC/B,MAAM,oBAAoB,GAAI,MAAM,CAAC,QAAyC,EAAE,iBAAiB,EAAE,IAAI,CAAC;IACxG,MAAM,KAAK,GAAG,oBAAoB,KAAK,KAAK,IAAI,OAAO,EAAE,IAAI,KAAK,iBAAiB,IAAI,OAAO,EAAE,IAAI,KAAK,UAAU,CAAC;IACpH,MAAM,SAAS,GAAG,KAAK,IAAI,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC/D,yGAAyG;IACzG,MAAM,sBAAsB,GACxB,CAAC,KAAK,IAAI,CAAC,CAAC,SAAS,IAAI,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC;IAErG,IAAI,WAA+B,CAAC;IACpC,IAAI,KAAK,EAAE,CAAC;QACR,WAAW,GAAG,UAAU,CAAC;IAC7B,CAAC;SAAM,IAAI,sBAAsB,EAAE,CAAC;QAChC,WAAW,GAAG,eAAe,CAAC;IAClC,CAAC;SAAM,CAAC;QACJ,WAAW,GAAG,OAAO,EAAE,IAAI,CAAC;IAChC,CAAC;IAED,OAAO;QACH,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC,IAAI;QAClB,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,MAAM,CAAC,IAAI;QACtC,WAAW;QACX,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS;KACtD,CAAC;AACN,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentUploadModal.d.ts","sourceRoot":"","sources":["../../../../../src/features/store/objects/upload/DocumentUploadModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAgE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkBjH,OAAO,EAAE,KAAK,SAAS,EAA6C,MAAM,OAAO,CAAC;AAGlF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAe/D;;GAEG;AACH,UAAU,wBAAwB;IAC9B,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,UAAU,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,MAAM,EACN,OAAO,EACP,KAAK,EAAE,YAAY,EACnB,YAAY,EACZ,cAAc,EACd,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAyB,EACzB,qBAA6B,EAC7B,YAAmB,EACnB,aAAa,EACb,iBAAiB,GACpB,EAAE,wBAAwB,+BAq1B1B"}
1
+ {"version":3,"file":"DocumentUploadModal.d.ts","sourceRoot":"","sources":["../../../../../src/features/store/objects/upload/DocumentUploadModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiC,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAkBlF,OAAO,EAAE,KAAK,SAAS,EAAqD,MAAM,OAAO,CAAC;AAG1F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAe/D;;GAEG;AACH,UAAU,wBAAwB;IAC9B,gCAAgC;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,iCAAiC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,CAAC;IAC1D,0EAA0E;IAC1E,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,yEAAyE;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oEAAoE;IACpE,iBAAiB,CAAC,EAAE,UAAU,CAAC;CAClC;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,EAChC,MAAM,EACN,OAAO,EACP,KAAK,EAAE,YAAY,EACnB,YAAY,EACZ,cAAc,EACd,KAAK,EACL,QAAQ,EACR,gBAAgB,EAChB,iBAAyB,EACzB,qBAA6B,EAC7B,YAAmB,EACnB,aAAa,EACb,iBAAiB,GACpB,EAAE,wBAAwB,+BAy1B1B"}
@@ -4,7 +4,7 @@ import { useUITranslation } from '@vertesia/ui/i18n';
4
4
  import { useUserSession } from '@vertesia/ui/session';
5
5
  import { DropZone, UploadSummary } from '@vertesia/ui/widgets';
6
6
  import { AlertCircleIcon, CheckCircleIcon, FileIcon, FolderIcon, Info, UploadIcon, XCircleIcon } from 'lucide-react';
7
- import { useCallback, useEffect, useMemo, useState } from 'react';
7
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
8
8
  import { useTypeRegistry } from '../../types/TypeRegistryProvider.js';
9
9
  import { FileUploadAction, useSmartFileUploadProcessing } from './useSmartFileUploadProcessing';
10
10
  /**
@@ -24,7 +24,9 @@ export function DocumentUploadModal({ isOpen, onClose, files: initialFiles, coll
24
24
  const [files, setFiles] = useState([]);
25
25
  const [processedFiles, setProcessedFiles] = useState([]);
26
26
  const [processingDone, setProcessingDone] = useState(false);
27
- const [selectedType, setSelectedType] = useState(null);
27
+ const [selectedTypeId, setSelectedTypeId] = useState(null);
28
+ const selectedType = selectedTypeId ? (typeRegistry?.getType(selectedTypeId) ?? null) : null;
29
+ const wasOpen = useRef(false);
28
30
  const [fileStatuses, setFileStatuses] = useState([]);
29
31
  const [isUploading, setIsUploading] = useState(false);
30
32
  const [uploadComplete, setUploadComplete] = useState(false);
@@ -116,13 +118,15 @@ export function DocumentUploadModal({ isOpen, onClose, files: initialFiles, coll
116
118
  });
117
119
  }
118
120
  }, [checkDocumentProcessing, collectionId, selectedFolder, t, toast]);
119
- // Reset state when modal opens/closes
121
+ // Initialize once per opening; registry/session refreshes must not discard selected files.
120
122
  useEffect(() => {
121
- if (isOpen) {
123
+ const opening = isOpen && !wasOpen.current;
124
+ wasOpen.current = isOpen;
125
+ if (opening) {
122
126
  // Always reset state first
123
127
  setProcessedFiles([]);
124
128
  setProcessingDone(false);
125
- setSelectedType(initialTypeId ? (typeRegistry?.getType(initialTypeId) ?? null) : null);
129
+ setSelectedTypeId(initialTypeId ?? null);
126
130
  setFileStatuses([]);
127
131
  setIsUploading(false);
128
132
  setUploadComplete(false);
@@ -142,14 +146,14 @@ export function DocumentUploadModal({ isOpen, onClose, files: initialFiles, coll
142
146
  // Create a new key to ensure the modal is fresh
143
147
  setModalKey(Date.now());
144
148
  }
145
- }, [initialFiles, initialTypeId, isOpen, processFiles, resolvedTitle, typeRegistry]);
149
+ }, [initialFiles, initialTypeId, isOpen, processFiles, resolvedTitle]);
146
150
  // Complete cleanup when modal closes
147
151
  const handleClose = () => {
148
152
  // Reset all state to initial values to prevent memory leaks
149
153
  setFiles([]);
150
154
  setProcessedFiles([]);
151
155
  setProcessingDone(false);
152
- setSelectedType(null);
156
+ setSelectedTypeId(null);
153
157
  setFileStatuses([]);
154
158
  setIsUploading(false);
155
159
  setUploadComplete(false);
@@ -407,7 +411,7 @@ export function DocumentUploadModal({ isOpen, onClose, files: initialFiles, coll
407
411
  setResult(result);
408
412
  };
409
413
  const typeSelection = () => {
410
- return (_jsxs("div", { className: "mb-4", children: [_jsxs("div", { className: "block text-sm font-medium mb-2", children: [t('store.contentType'), " ", _jsx("span", { className: "text-muted font-normal", children: t('store.optional') }), _jsx(VTooltip, { description: t('upload.contentTypeTooltip'), placement: "top", size: "xs", children: _jsx(Info, { className: "size-3 ms-2" }) })] }), _jsx(SelectBox, { options: types, value: selectedType, optionLabel: (type) => (type ? type.name : t('store.selectContentTypeLabel')), placeholder: t('store.selectContentTypeAuto'), onChange: (selected) => setSelectedType(selected === undefined ? null : selected), filterBy: "name", isClearable: true }), !selectedType && (_jsx("div", { className: "p-2 rounded-md", children: _jsxs("div", { className: "flex items-center text-attention", children: [_jsx(CheckCircleIcon, { className: "size-4 me-1" }), t('store.automaticTypeDetection'), _jsx(VTooltip, { description: t('store.automaticTypeDetectionDescription'), placement: "top", size: "xs", children: _jsx(Info, { className: "size-3 ms-2" }) })] }) }))] }));
414
+ return (_jsxs("div", { className: "mb-4", children: [_jsxs("div", { className: "block text-sm font-medium mb-2", children: [t('store.contentType'), " ", _jsx("span", { className: "text-muted font-normal", children: t('store.optional') }), _jsx(VTooltip, { description: t('upload.contentTypeTooltip'), placement: "top", size: "xs", children: _jsx(Info, { className: "size-3 ms-2" }) })] }), _jsx(SelectBox, { options: types, value: selectedType, optionLabel: (type) => (type ? type.name : t('store.selectContentTypeLabel')), placeholder: t('store.selectContentTypeAuto'), onChange: (selected) => setSelectedTypeId(selected?.id ?? null), filterBy: "name", isClearable: true }), !selectedType && (_jsx("div", { className: "p-2 rounded-md", children: _jsxs("div", { className: "flex items-center text-attention", children: [_jsx(CheckCircleIcon, { className: "size-4 me-1" }), t('store.automaticTypeDetection'), _jsx(VTooltip, { description: t('store.automaticTypeDetectionDescription'), placement: "top", size: "xs", children: _jsx(Info, { className: "size-3 ms-2" }) })] }) }))] }));
411
415
  };
412
416
  // Determine what content to show based on the current state
413
417
  const renderModalContent = () => {
@@ -508,7 +512,7 @@ export function DocumentUploadModal({ isOpen, onClose, files: initialFiles, coll
508
512
  setFiles([]);
509
513
  setProcessedFiles([]);
510
514
  setProcessingDone(false);
511
- setSelectedType(null);
515
+ setSelectedTypeId(null);
512
516
  setFileStatuses([]);
513
517
  setIsUploading(false);
514
518
  setUploadComplete(false);
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentUploadModal.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/upload/DocumentUploadModal.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DocumentUploadModal.js","sourceRoot":"","sources":["../../../../../src/features/store/objects/upload/DocumentUploadModal.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/session/auth/oauth.ts"],"names":[],"mappings":"AAyBA,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAa7C,wBAAgB,YAAY,IAAI,OAAO,CAQtC;AA8BD,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAkRD,wBAAgB,gBAAgB,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAKtE;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AACD,eAAO,MAAM,kBAAkB,yBAAmB,CAAC;AAEnD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3D"}
1
+ {"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/session/auth/oauth.ts"],"names":[],"mappings":"AA0BA,qBAAa,eAAgB,SAAQ,KAAK;CAAG;AAa7C,wBAAgB,YAAY,IAAI,OAAO,CAQtC;AAkCD,wBAAgB,aAAa,IAAI,IAAI,CAIpC;AAsRD,wBAAgB,gBAAgB,CAAC,YAAY,UAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAKtE;AAED,wBAAgB,sBAAsB,IAAI,OAAO,CAEhD;AACD,eAAO,MAAM,kBAAkB,yBAAmB,CAAC;AAEnD,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3D"}
@@ -6,6 +6,7 @@ import { markCentralAuthRoundTripStarted } from './authRoundTrip';
6
6
  import { verifyAuthState } from './authState';
7
7
  import { usesGatewaySession } from './gateway';
8
8
  import { isStsTokenIssuer } from './tokenIssuer';
9
+ import { isLoopbackHostname } from './vertesiaHosts';
9
10
  const TRANSACTION_KEY = 'vertesia.oauth.transaction';
10
11
  const TOKEN_KEY = 'vertesia.oauth.access';
11
12
  const MAX_TRANSACTION_AGE = 10 * 60_000;
@@ -42,10 +43,13 @@ function base64url(bytes) {
42
43
  function randomValue() {
43
44
  return base64url(crypto.getRandomValues(new Uint8Array(32)));
44
45
  }
45
- function httpsUrl(value) {
46
+ /** Validate a public protocol endpoint URL. The returned URL is routing metadata, not a credential. */
47
+ function validatedEndpointUrl(value) {
46
48
  const url = new URL(value);
47
- if (url.protocol !== 'https:' || url.username || url.password)
48
- throw new Error('OAuth endpoint must use HTTPS');
49
+ const localHttp = Env.isLocalDev && url.protocol === 'http:' && isLoopbackHostname(url.hostname);
50
+ if ((url.protocol !== 'https:' && !localHttp) || url.username || url.password) {
51
+ throw new Error('OAuth endpoint must use HTTPS or local-development loopback HTTP');
52
+ }
49
53
  return url;
50
54
  }
51
55
  export function clearAppOAuth() {
@@ -72,11 +76,13 @@ async function acquireToken(forceRefresh = false) {
72
76
  const redirectUri = redirect.toString();
73
77
  if (new URL(redirectUri).origin !== window.location.origin)
74
78
  throw new Error('OAuth callback must be same-origin');
75
- const issuer = (config.issuer ? httpsUrl(config.issuer).toString() : Env.endpoints.sts).replace(/\/+$/, '');
79
+ const issuer = validatedEndpointUrl(config.issuer ?? Env.endpoints.sts)
80
+ .toString()
81
+ .replace(/\/+$/, '');
76
82
  // A token is issued for one audience. The default audience follows the issuer, which is already part of every
77
83
  // stored credential's identity; a configured one is recorded alongside it, so changing it never reuses a token,
78
84
  // refresh session or login transaction issued for the previous audience.
79
- const configuredResource = config.resource ? httpsUrl(config.resource).toString() : undefined;
85
+ const configuredResource = config.resource ? validatedEndpointUrl(config.resource).toString() : undefined;
80
86
  const sameClient = (stored) => stored.clientId === clientId && stored.issuer === issuer && stored.resource === configuredResource;
81
87
  let current = new URL(window.location.href);
82
88
  let { accountId, projectId } = resolveAuthSelection(current);
@@ -144,9 +150,11 @@ async function acquireToken(forceRefresh = false) {
144
150
  const metadata = await discovery.json();
145
151
  if (metadata.issuer.replace(/\/+$/, '') !== issuer)
146
152
  throw new Error('OAuth issuer mismatch');
147
- const authorize = httpsUrl(metadata.authorization_endpoint);
148
- const tokenEndpoint = httpsUrl(metadata.token_endpoint);
149
- const revocationEndpoint = metadata.revocation_endpoint === undefined ? undefined : httpsUrl(metadata.revocation_endpoint).toString();
153
+ const authorize = validatedEndpointUrl(metadata.authorization_endpoint);
154
+ const tokenEndpoint = validatedEndpointUrl(metadata.token_endpoint);
155
+ const revocationEndpoint = metadata.revocation_endpoint === undefined
156
+ ? undefined
157
+ : validatedEndpointUrl(metadata.revocation_endpoint).toString();
150
158
  const resource = configuredResource ?? new URL(metadata.issuer).toString();
151
159
  if (refreshCredential) {
152
160
  try {
@@ -253,7 +261,7 @@ async function acquireToken(forceRefresh = false) {
253
261
  }
254
262
  let scopes = config.scopes ?? ['openid', 'profile'];
255
263
  if (clientId.startsWith('https://')) {
256
- const documentResponse = await fetch(httpsUrl(clientId), { cache: 'no-store' });
264
+ const documentResponse = await fetch(validatedEndpointUrl(clientId), { cache: 'no-store' });
257
265
  if (!documentResponse.ok)
258
266
  throw new Error(`Application CIMD unavailable (${documentResponse.status})`);
259
267
  const document = await documentResponse.json();
@@ -318,7 +326,7 @@ export async function revokeAppOAuthSession() {
318
326
  clearAppOAuth();
319
327
  if (!cached)
320
328
  return;
321
- const revoke = httpsUrl(cached.revocationEndpoint ?? cached.tokenEndpoint);
329
+ const revoke = validatedEndpointUrl(cached.revocationEndpoint ?? cached.tokenEndpoint);
322
330
  if (cached.revocationEndpoint === undefined)
323
331
  revoke.pathname = revoke.pathname.replace(/\/token$/, '/revoke');
324
332
  await fetch(revoke, {
@@ -1 +1 @@
1
- {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/session/auth/oauth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/session/auth/oauth.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"vertesia-ui-boot.js","names":["SUPPORTED_LANGUAGES","RTL_LANGUAGES","isRTL","lng","defineAppBranding","branding","escapeBrandHtml","value","char","cssString","colorDeclarations","variables","colors","key","name","renderBrandStyles","animation","brand","keyframes","motion","font","selector","brandedBootOptions","vertesiaBranding","BOOT_TEXT","DEFAULT_ICON_SRC","BOOT_SCREEN_STYLES","inlineJson","normalizedOptions","options","bootText","language","bootTexts","languages","renderDefaultBootContent","escapeMarkup","text","icon","className","src","iconSrc","renderBootScreenRuntime","defaultHtml","storageKey","html","code","renderBootScreenHead","renderBootScreenInitializer","isHtmlWhitespace","character","hasAttribute","lowerTag","openingTag","searchFrom","attributeIndex","attributeName","before","afterIndex","findOpeningTagEnd","lowerHtml","tagStart","tagName","start","boundary","end","insertAt","index","content","injectBootScreenHtml","normalized","head","insertionPoint","withHead","bodyEnd","createBootScreenVitePlugin"],"sources":["i18n/rtl.js","boot/branding.js","boot/loading.js","boot/text.js","boot/index.js"],"sourcesContent":["/**\n * RTL detection and language resolution for the @vertesia/ui locale set.\n *\n * SUPPORTED_LANGUAGES is the single source of truth for what locales the\n * switcher offers, and must stay in sync with the resources registered in\n * `./instance.ts`. A divergence-guard test (`./rtl.test.ts`) fails the build\n * if the two diverge.\n *\n * RTL_LANGUAGES is deliberately broader than SUPPORTED_LANGUAGES so that\n * dir=\"rtl\" handling is forward-compatible when new RTL locales (he, fa, ur,\n * ...) are added to instance.ts later.\n */\nexport const SUPPORTED_LANGUAGES = [\n 'ar',\n 'de',\n 'en',\n 'es',\n 'fr',\n 'it',\n 'ja',\n 'ko',\n 'pt',\n 'ru',\n 'tr',\n 'zh',\n 'zh-TW',\n];\n/** Where `LanguageProvider` persists the chosen language; the boot runtime reads it too. */\nexport const LANGUAGE_STORAGE_KEY = 'vertesia-ui-language';\nexport const RTL_LANGUAGES = new Set(['ar', 'he', 'fa', 'ur']);\nexport function isRTL(lng) {\n if (!lng)\n return false;\n return RTL_LANGUAGES.has(lng.split('-')[0].toLowerCase());\n}\n/**\n * Resolve any raw language code (BCP-47 or bare) to a SupportedLanguage:\n * 1. exact match against SUPPORTED_LANGUAGES (preserves `zh-TW` vs `zh`)\n * 2. base-language fallback (`pt-BR` -> `pt`)\n * 3. `'en'` fallback\n *\n * The pre-React boot runtime (`../boot/index.ts`) reimplements this same logic\n * in its inline script, which runs before any bundle loads.\n */\nexport function resolveLanguage(raw) {\n if (!raw)\n return 'en';\n const list = SUPPORTED_LANGUAGES;\n if (list.includes(raw))\n return raw;\n const base = raw.split('-')[0];\n if (list.includes(base))\n return base;\n return 'en';\n}\n//# sourceMappingURL=rtl.js.map","export function defineAppBranding(branding) {\n return branding;\n}\nexport function escapeBrandHtml(value) {\n return value.replace(/[&<>\"']/g, (char) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[char] ?? char);\n}\nfunction cssString(value) {\n return JSON.stringify(value).replace(/</g, '\\\\3c ');\n}\nfunction colorDeclarations(colors) {\n const variables = {\n background: ['--background', '--color-background', '--vb-bg'],\n foreground: ['--foreground', '--color-foreground', '--vb-fg'],\n accent: ['--info', '--info-foreground', '--color-info', '--color-info-foreground'],\n button: ['--primary', '--color-primary', '--vb-primary', '--auth-button'],\n buttonText: ['--primary-foreground', '--color-primary-foreground', '--vb-primary-fg', '--auth-button-text'],\n };\n return Object.entries(colors ?? {})\n .map(([key, value]) => {\n if (!Object.hasOwn(variables, key) || /[;{}<>]/.test(value))\n throw new Error(`Invalid branding color: ${key}`);\n return variables[key].map((name) => `${name}:${value};`).join('');\n })\n .join('');\n}\n/** Theme tokens only: branding must never replace the shared page layout. */\nexport function renderBrandStyles(brand, selector = '.vbrand') {\n const animation = brand.loadingIcon?.animation;\n const keyframes = brand.loadingIcon?.keyframes ?? '';\n if (animation !== undefined && /[;{}<>]/.test(animation))\n throw new Error('Invalid loading icon animation');\n if (/[<>]/.test(keyframes))\n throw new Error('Invalid loading icon keyframes');\n const motion = animation === undefined\n ? ''\n : `--vertesia-loading-animation:${animation};--vertesia-loading-pulse-animation:none;`;\n const font = brand.font;\n const faces = font\n ? `@font-face { font-family:${cssString(font.family)};src:url(${cssString(font.regular)});font-weight:400;font-display:swap; }\n${font.bold ? `@font-face { font-family:${cssString(font.family)};src:url(${cssString(font.bold)});font-weight:700;font-display:swap; }` : ''}`\n : '';\n return `${faces}\n${keyframes}\n${selector} { ${motion}${colorDeclarations(brand.colors?.light)}${font ? `font-family:${cssString(font.family)};` : ''} }\n.dark ${selector},${selector}.vboot-dark { ${colorDeclarations(brand.colors?.dark)} }\n`;\n}\nexport function brandedBootOptions(brand) {\n return {\n iconSrc: brand.loadingIcon?.light,\n darkIconSrc: brand.loadingIcon?.dark,\n loadingLabel: brand.copy?.loading,\n slowLoadingLabel: brand.copy?.slowLoading,\n reloadLabel: brand.copy?.reload,\n html: brand.boot?.html,\n styles: `${renderBrandStyles(brand, '#loading-indicator')}\n${brand.colors?.light?.background ? `:root{--vertesia-boot-background:${brand.colors.light.background}}` : ''}\n${brand.colors?.dark?.background ? `:root.dark{--vertesia-boot-background:${brand.colors.dark.background}}` : ''}\n${brand.boot?.styles ?? ''}`,\n };\n}\n/** Platform defaults shared by boot markup and Firebase/OAuth React screens. */\nexport const vertesiaBranding = {\n name: 'Vertesia',\n logo: { light: '/logo-light.png', dark: '/logo-dark.png', alt: 'Vertesia' },\n loadingIcon: { light: '/icon.svg' },\n favicon: '/icon.svg',\n};\n//# sourceMappingURL=branding.js.map","/** Shared by server-rendered boot markup and React auth loaders. No React dependency. */\nexport const LOADING_ICON_SIZE = 40;\nexport const LOADING_INDICATOR_STYLES = `\n@keyframes vertesia-loading-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n.vertesia-loading-motion {\n animation: var(--vertesia-loading-animation, vertesia-loading-spin 2s linear infinite);\n}\n.vertesia-loading-icon {\n width: ${LOADING_ICON_SIZE}px !important;\n min-width: ${LOADING_ICON_SIZE}px !important;\n max-width: ${LOADING_ICON_SIZE}px !important;\n height: ${LOADING_ICON_SIZE}px !important;\n min-height: ${LOADING_ICON_SIZE}px !important;\n max-height: ${LOADING_ICON_SIZE}px !important;\n margin: 0;\n padding: 0;\n object-fit: contain;\n flex: none;\n border-radius: 100% !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .vertesia-loading-motion { animation: none !important; }\n}\n`;\n//# sourceMappingURL=loading.js.map","export const BOOT_TEXT = {\n ar: {\n loading: 'جارٍ التحميل',\n slowLoading: 'لا يزال التحميل جاريًا — يستغرق الأمر وقتًا أطول من المعتاد.',\n reload: 'إعادة تحميل الصفحة',\n },\n de: {\n loading: 'Wird geladen',\n slowLoading: 'Wird noch geladen – das dauert länger als üblich.',\n reload: 'Seite neu laden',\n },\n en: {\n loading: 'Loading',\n slowLoading: 'Still loading — this is taking longer than usual.',\n reload: 'Reload page',\n },\n es: {\n loading: 'Cargando',\n slowLoading: 'Todavía cargando: está tardando más de lo habitual.',\n reload: 'Recargar la página',\n },\n fr: {\n loading: 'Chargement',\n slowLoading: 'Chargement en cours — cela prend plus de temps que d’habitude.',\n reload: 'Recharger la page',\n },\n it: {\n loading: 'Caricamento',\n slowLoading: 'Caricamento ancora in corso: ci vuole più tempo del solito.',\n reload: 'Ricarica la pagina',\n },\n ja: {\n loading: '読み込み中',\n slowLoading: '読み込み中です。通常より時間がかかっています。',\n reload: 'ページを再読み込み',\n },\n ko: {\n loading: '로드 중',\n slowLoading: '아직 로드 중입니다. 평소보다 시간이 더 걸리고 있습니다.',\n reload: '페이지 새로고침',\n },\n pt: {\n loading: 'Carregando',\n slowLoading: 'Ainda carregando — está demorando mais do que o normal.',\n reload: 'Recarregar a página',\n },\n ru: {\n loading: 'Загрузка',\n slowLoading: 'Загрузка продолжается — это занимает больше времени, чем обычно.',\n reload: 'Перезагрузить страницу',\n },\n tr: {\n loading: 'Yükleniyor',\n slowLoading: 'Hâlâ yükleniyor — bu, normalden uzun sürüyor.',\n reload: 'Sayfayı yeniden yükle',\n },\n zh: {\n loading: '正在加载',\n slowLoading: '仍在加载,所需时间比平时更长。',\n reload: '重新加载页面',\n },\n 'zh-TW': {\n loading: '載入中',\n slowLoading: '仍在載入,所需時間比平常更長。',\n reload: '重新載入頁面',\n },\n};\n//# sourceMappingURL=text.js.map","import { isRTL, LANGUAGE_STORAGE_KEY, SUPPORTED_LANGUAGES } from '../i18n/rtl.js';\nimport { vertesiaBranding } from './branding.js';\nimport { LOADING_ICON_SIZE, LOADING_INDICATOR_STYLES } from './loading.js';\nimport { BOOT_TEXT } from './text.js';\nconst DEFAULT_STORAGE_KEY = 'vite-ui-theme';\nconst DEFAULT_ICON_SRC = vertesiaBranding.loadingIcon.light;\nexport const BOOT_SCREEN_STYLES = `\n${LOADING_INDICATOR_STYLES}\n .vboot {\n --vb-bg: #ffffff;\n --vb-fg: #0a0a0a;\n --vb-muted: #636363;\n --vb-muted-bg: #f5f5f5;\n --vb-border: #e5e5e5;\n --vb-primary: #0048bd;\n --vb-primary-fg: #ffffff;\n --vb-glow: rgba(50, 49, 189, 0.12);\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;\n color: var(--vb-fg);\n }\n .vboot.vboot-dark {\n --vb-bg: #0a0a0a;\n --vb-fg: #fafafa;\n --vb-muted: #a1a1a1;\n --vb-muted-bg: #262626;\n --vb-border: rgba(255, 255, 255, 0.1);\n --vb-primary: #2b69d1;\n --vb-primary-fg: #fafafa;\n --vb-glow: rgba(79, 70, 229, 0.2);\n }\n .vboot-overlay {\n position: absolute !important;\n inset: 0 !important;\n box-sizing: border-box !important;\n width: 100% !important;\n height: 100% !important;\n margin: 0 !important;\n padding: 0 !important;\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 1.5rem !important;\n transform: none !important;\n background: var(--vb-bg) !important;\n }\n #loading-indicator {\n position: fixed !important;\n inset: 0 !important;\n z-index: 2147483647 !important;\n box-sizing: border-box !important;\n width: 100vw !important;\n height: 100vh !important;\n margin: 0 !important;\n padding: 0 !important;\n transform: none !important;\n }\n .vboot-icon-dark { display: none; }\n .vboot-dark .vboot-icon-light { display: none; }\n .vboot-dark .vboot-icon-dark { display: block; }\n .vboot-slow {\n text-align: center;\n }\n .vboot-slow p {\n color: var(--vb-muted);\n font-size: 0.875rem;\n margin: 0 0 0.75rem;\n }\n .vboot-btn {\n display: inline-block;\n padding: 0.5rem 1rem;\n background: var(--vb-primary);\n color: var(--vb-primary-fg);\n border: none;\n border-radius: 0.375rem;\n font: inherit;\n font-size: 0.875rem;\n font-weight: 500;\n cursor: pointer;\n }\n .vboot-btn:hover {\n opacity: 0.9;\n }\n`;\nfunction inlineJson(value) {\n return JSON.stringify(value).replaceAll('<', '\\\\u003c');\n}\nfunction normalizedOptions(options) {\n return {\n ...options,\n storageKey: options.storageKey ?? DEFAULT_STORAGE_KEY,\n iconSrc: options.iconSrc ?? DEFAULT_ICON_SRC,\n language: options.language ?? 'auto',\n autoStart: options.autoStart ?? true,\n };\n}\n/** An app-supplied label wins in every language. */\nfunction bootText(options, language) {\n return {\n loading: options.loadingLabel ?? BOOT_TEXT[language].loading,\n slowLoading: options.slowLoadingLabel ?? BOOT_TEXT[language].slowLoading,\n reload: options.reloadLabel ?? BOOT_TEXT[language].reload,\n };\n}\n/** The copy of every language the runtime may pick: only the pinned one, or all of them. */\nfunction bootTexts(options) {\n const languages = options.language && options.language !== 'auto' ? [options.language] : SUPPORTED_LANGUAGES;\n return Object.fromEntries(languages.map((language) => [language, bootText(options, language)]));\n}\n/**\n * Default markup shared by Studio and configurable applications. It carries the copy of the pinned\n * language (English under `'auto'`); `data-boot-text` and `data-boot-alt` let the runtime swap in\n * the language it resolves at page load. Custom `html` may use the same attributes.\n */\nexport function renderDefaultBootContent(options = {}) {\n const escapeMarkup = (value) => value.replace(/[&<>\"']/g, (char) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[char] ?? char);\n const { iconSrc, language } = normalizedOptions(options);\n const text = bootText(options, language === 'auto' ? 'en' : language);\n const icon = (src, className = '') => `<img class=\"vboot-spinner vertesia-loading-icon vertesia-loading-motion ${className}\" width=\"${LOADING_ICON_SIZE}\" height=\"${LOADING_ICON_SIZE}\" src=\"${escapeMarkup(src)}\" alt=\"${escapeMarkup(text.loading)}\" data-boot-alt=\"loading\" />`;\n return `<div class=\"vboot-overlay\" role=\"status\" aria-live=\"polite\">${options.darkIconSrc ? icon(iconSrc, 'vboot-icon-light') + icon(options.darkIconSrc, 'vboot-icon-dark') : icon(iconSrc)}\n<div id=\"loading-slow-notice\" class=\"vboot-slow\" style=\"display: none;\">\n<p data-boot-text=\"slowLoading\">${escapeMarkup(text.slowLoading)}</p>\n<div id=\"loading-slow-reload\" style=\"display: none;\"><button type=\"button\" class=\"vboot-btn\" data-boot-reload data-boot-text=\"reload\">${escapeMarkup(text.reload)}</button></div></div></div>`;\n}\nexport function renderBootScreenRuntime(options = {}) {\n const { storageKey, html, language } = normalizedOptions(options);\n const defaultHtml = renderDefaultBootContent(options);\n return `(() => {\n const storageKey = ${inlineJson(storageKey)};\n\n const customHtml = ${html === undefined ? 'undefined' : inlineJson(html)};\n const bootText = ${inlineJson(bootTexts(options))};\n // Mirrors resolveLanguage and LanguageProvider's initial read (i18n/rtl.ts, i18n/LanguageProvider.tsx).\n const hasText = (code) => Object.prototype.hasOwnProperty.call(bootText, code);\n const resolveLanguage = (raw) => {\n if (!raw) return 'en';\n if (hasText(raw)) return raw;\n const base = String(raw).split('-')[0];\n return hasText(base) ? base : 'en';\n };\n const language = (() => {\n const pinned = ${inlineJson(language)};\n if (pinned !== 'auto') return pinned;\n try {\n const stored = window.localStorage.getItem(${inlineJson(LANGUAGE_STORAGE_KEY)});\n if (stored) return resolveLanguage(stored);\n } catch (_error) {\n // Storage can be unavailable in private or restricted browsing contexts.\n }\n return resolveLanguage(window.navigator && window.navigator.language);\n })();\n const direction = ${inlineJson(SUPPORTED_LANGUAGES.filter((code) => isRTL(code)))}.includes(language) ? 'rtl' : 'ltr';\n const localize = (container) => {\n const text = bootText[language];\n container.querySelectorAll('[data-boot-text]').forEach((node) => {\n const value = text[node.getAttribute('data-boot-text')];\n if (value) node.textContent = value;\n });\n container.querySelectorAll('[data-boot-alt]').forEach((node) => {\n const value = text[node.getAttribute('data-boot-alt')];\n if (value) node.setAttribute('alt', value);\n });\n };\n let slowNoticeTimer;\n let slowReloadTimer;\n const previewTheme = (() => {\n try {\n const value = new URL(window.location.href).searchParams.get('__vertesia_boot_theme');\n return value === 'dark' || value === 'light' ? value : null;\n } catch (_error) {\n return null;\n }\n })();\n const prefersDarkTheme = () => {\n if (previewTheme) return previewTheme === 'dark';\n try {\n const stored = window.localStorage.getItem(storageKey);\n if (stored === 'dark') return true;\n if (stored === 'light') return false;\n } catch (_error) {\n // Storage can be unavailable in private or restricted browsing contexts.\n }\n try {\n return typeof window.matchMedia === 'function' && window.matchMedia('(prefers-color-scheme: dark)').matches;\n } catch (_error) {\n return false;\n }\n };\n const applyTheme = () => {\n const dark = prefersDarkTheme();\n const root = document.documentElement;\n root.classList.remove('light', 'dark');\n root.classList.add(dark ? 'dark' : 'light');\n return dark;\n };\n const paintDocumentBackground = () => {\n const dark = applyTheme();\n const root = document.documentElement;\n const background = window.getComputedStyle(root).getPropertyValue('--vertesia-boot-background').trim()\n || (dark ? '#0a0a0a' : '#ffffff');\n root.style.backgroundColor = background;\n root.style.colorScheme = dark ? 'dark' : 'light';\n if (document.body) document.body.style.backgroundColor = background;\n };\n const restoreDocumentBackground = () => {\n applyTheme();\n const root = document.documentElement;\n root.style.removeProperty('background-color');\n root.style.removeProperty('color-scheme');\n if (document.body) document.body.style.removeProperty('background-color');\n };\n const bootThemeClass = () => prefersDarkTheme() ? 'vboot vboot-dark' : 'vboot';\n const ensureLoadingIndicator = () => {\n if (document.getElementById('loading-indicator') || !document.body) return;\n paintDocumentBackground();\n const loading = document.createElement('div');\n loading.id = 'loading-indicator';\n loading.className = bootThemeClass();\n loading.lang = language;\n loading.dir = direction;\n loading.innerHTML = customHtml ?? ${inlineJson(defaultHtml)};\n localize(loading);\n loading.querySelectorAll('[data-boot-title]').forEach((heading) => {\n if (document.title) heading.textContent = document.title;\n });\n loading.querySelectorAll('[data-boot-reload]').forEach((button) => {\n button.addEventListener('click', () => window.location.reload());\n });\n // Custom landmarks and controls must stay in body to enter the accessibility tree.\n const loadingParent = customHtml === undefined && typeof document.documentElement.appendChild === 'function'\n ? document.documentElement\n : document.body;\n loadingParent.appendChild(loading);\n };\n const hideLoadingIndicator = () => {\n clearTimeout(slowNoticeTimer);\n clearTimeout(slowReloadTimer);\n const loading = document.getElementById('loading-indicator');\n if (loading) loading.style.display = 'none';\n };\n const hasAppRendered = (rootId = 'root') => {\n const root = document.getElementById(rootId);\n return Boolean(root && root.innerHTML && root.innerHTML.trim() !== '');\n };\n const hideLoadingIndicatorOnFirstRender = (rootId = 'root') => {\n if (typeof MutationObserver !== 'function') return;\n const root = document.getElementById(rootId);\n if (!root) return;\n if (hasAppRendered(rootId)) {\n hideLoadingIndicator();\n restoreDocumentBackground();\n return;\n }\n const observer = new MutationObserver(() => {\n if (!hasAppRendered(rootId)) return;\n hideLoadingIndicator();\n restoreDocumentBackground();\n observer.disconnect();\n });\n observer.observe(root, { childList: true });\n };\n // Used by standalone apps. Hosts with their own error handler keep autoStart disabled.\n const scheduleSlowLoadingNotice = () => {\n clearTimeout(slowNoticeTimer);\n clearTimeout(slowReloadTimer);\n if (hasAppRendered()) return;\n slowNoticeTimer = setTimeout(() => {\n const notice = document.getElementById('loading-slow-notice');\n if (notice) notice.style.display = '';\n }, 10000);\n slowReloadTimer = setTimeout(() => {\n const reload = document.getElementById('loading-slow-reload');\n if (reload) reload.style.display = '';\n }, 30000);\n };\n window.__vertesiaBoot = {\n direction,\n language,\n scheduleSlowLoadingNotice,\n applyTheme,\n bootThemeClass,\n ensureLoadingIndicator,\n hasAppRendered,\n hideLoadingIndicator,\n hideLoadingIndicatorOnFirstRender,\n paintDocumentBackground,\n prefersDarkTheme,\n restoreDocumentBackground,\n };\n paintDocumentBackground();\n})();`;\n}\nexport function renderBootScreenHead(options = {}) {\n return `<style id=\"vertesia-boot-styles\">${BOOT_SCREEN_STYLES}\\n${options.styles ?? ''}</style>\\n<script>${renderBootScreenRuntime(options)}</script>`;\n}\nexport function renderBootScreenInitializer() {\n return `<script>window.__vertesiaBoot.ensureLoadingIndicator(); window.__vertesiaBoot.hideLoadingIndicatorOnFirstRender(); window.__vertesiaBoot.scheduleSlowLoadingNotice();</script>`;\n}\nfunction isHtmlWhitespace(character) {\n return character === ' ' || character === '\\t' || character === '\\n' || character === '\\r' || character === '\\f';\n}\nfunction hasAttribute(openingTag, attributeName) {\n const lowerTag = openingTag.toLowerCase();\n let searchFrom = 0;\n while (searchFrom < lowerTag.length) {\n const attributeIndex = lowerTag.indexOf(attributeName, searchFrom);\n if (attributeIndex === -1)\n return false;\n const before = lowerTag[attributeIndex - 1];\n let afterIndex = attributeIndex + attributeName.length;\n while (isHtmlWhitespace(lowerTag[afterIndex]))\n afterIndex += 1;\n if (isHtmlWhitespace(before) && lowerTag[afterIndex] === '=')\n return true;\n searchFrom = attributeIndex + attributeName.length;\n }\n return false;\n}\nfunction findOpeningTagEnd(html, tagName, attributeName) {\n const lowerHtml = html.toLowerCase();\n const tagStart = `<${tagName}`;\n let searchFrom = 0;\n while (searchFrom < lowerHtml.length) {\n const start = lowerHtml.indexOf(tagStart, searchFrom);\n if (start === -1)\n return undefined;\n const boundary = lowerHtml[start + tagStart.length];\n if (boundary === '>' || isHtmlWhitespace(boundary)) {\n const end = lowerHtml.indexOf('>', start + tagStart.length);\n if (end === -1)\n return undefined;\n if (!attributeName || hasAttribute(lowerHtml.slice(start, end + 1), attributeName))\n return end + 1;\n searchFrom = end + 1;\n }\n else {\n searchFrom = start + tagStart.length;\n }\n }\n return undefined;\n}\nfunction insertAt(html, index, content) {\n return `${html.slice(0, index)}${content}${html.slice(index)}`;\n}\nexport function injectBootScreenHtml(html, options = {}) {\n const normalized = normalizedOptions(options);\n const head = renderBootScreenHead(normalized);\n const insertionPoint = findOpeningTagEnd(html, 'meta', 'charset') ?? findOpeningTagEnd(html, 'head');\n const withHead = insertionPoint === undefined ? html : insertAt(html, insertionPoint, `\\n${head}`);\n if (!normalized.autoStart)\n return withHead;\n const bodyEnd = withHead.toLowerCase().indexOf('</body>');\n return bodyEnd === -1 ? withHead : insertAt(withHead, bodyEnd, `${renderBootScreenInitializer()}\\n`);\n}\nexport function createBootScreenVitePlugin(options = {}) {\n return {\n name: 'vertesia-boot-screen',\n transformIndexHtml: (html) => injectBootScreenHtml(html, options),\n };\n}\nexport * from './branding.js';\n//# sourceMappingURL=index.js.map"],"mappings":"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"}
1
+ {"version":3,"file":"vertesia-ui-boot.js","names":["SUPPORTED_LANGUAGES","RTL_LANGUAGES","isRTL","lng","defineAppBranding","branding","escapeBrandHtml","value","char","cssString","colorDeclarations","variables","colors","key","name","renderBrandStyles","animation","brand","keyframes","motion","font","selector","brandedBootOptions","vertesiaBranding","BOOT_TEXT","DEFAULT_ICON_SRC","BOOT_SCREEN_STYLES","inlineJson","normalizedOptions","options","bootText","language","bootTexts","languages","renderDefaultBootContent","escapeMarkup","text","icon","className","src","iconSrc","renderBootScreenRuntime","defaultHtml","storageKey","html","code","renderBootScreenHead","renderBootScreenInitializer","isHtmlWhitespace","character","hasAttribute","lowerTag","openingTag","searchFrom","attributeIndex","attributeName","before","afterIndex","findOpeningTagEnd","lowerHtml","tagStart","tagName","start","boundary","end","insertAt","index","content","injectBootScreenHtml","normalized","head","insertionPoint","withHead","bodyEnd","createBootScreenVitePlugin"],"sources":["i18n/rtl.js","boot/branding.js","boot/loading.js","boot/text.js","boot/index.js"],"sourcesContent":["/**\n * RTL detection and language resolution for the @vertesia/ui locale set.\n *\n * SUPPORTED_LANGUAGES is the single source of truth for what locales the\n * switcher offers, and must stay in sync with the resources registered in\n * `./instance.ts`. A divergence-guard test (`./rtl.test.ts`) fails the build\n * if the two diverge.\n *\n * RTL_LANGUAGES is deliberately broader than SUPPORTED_LANGUAGES so that\n * dir=\"rtl\" handling is forward-compatible when new RTL locales (he, fa, ur,\n * ...) are added to instance.ts later.\n */\nexport const SUPPORTED_LANGUAGES = [\n 'ar',\n 'de',\n 'en',\n 'es',\n 'fr',\n 'it',\n 'ja',\n 'ko',\n 'pt',\n 'ru',\n 'tr',\n 'zh',\n 'zh-TW',\n];\n/** Where `LanguageProvider` persists the chosen language; the boot runtime reads it too. */\nexport const LANGUAGE_STORAGE_KEY = 'vertesia-ui-language';\nexport const RTL_LANGUAGES = new Set(['ar', 'he', 'fa', 'ur']);\nexport function isRTL(lng) {\n if (!lng)\n return false;\n return RTL_LANGUAGES.has(lng.split('-')[0].toLowerCase());\n}\n/**\n * Resolve any raw language code (BCP-47 or bare) to a SupportedLanguage:\n * 1. exact match against SUPPORTED_LANGUAGES (preserves `zh-TW` vs `zh`)\n * 2. base-language fallback (`pt-BR` -> `pt`)\n * 3. `'en'` fallback\n *\n * The pre-React boot runtime (`../boot/index.ts`) reimplements this same logic\n * in its inline script, which runs before any bundle loads.\n */\nexport function resolveLanguage(raw) {\n if (!raw)\n return 'en';\n const list = SUPPORTED_LANGUAGES;\n if (list.includes(raw))\n return raw;\n const base = raw.split('-')[0];\n if (list.includes(base))\n return base;\n return 'en';\n}\n//# sourceMappingURL=rtl.js.map","export function defineAppBranding(branding) {\n return branding;\n}\nexport function escapeBrandHtml(value) {\n return value.replace(/[&<>\"']/g, (char) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[char] ?? char);\n}\nfunction cssString(value) {\n return JSON.stringify(value).replace(/</g, '\\\\3c ');\n}\nfunction colorDeclarations(colors) {\n const variables = {\n background: ['--background', '--color-background', '--vb-bg'],\n foreground: ['--foreground', '--color-foreground', '--vb-fg'],\n accent: ['--info', '--info-foreground', '--color-info', '--color-info-foreground'],\n button: ['--primary', '--color-primary', '--vb-primary', '--auth-button'],\n buttonText: ['--primary-foreground', '--color-primary-foreground', '--vb-primary-fg', '--auth-button-text'],\n };\n return Object.entries(colors ?? {})\n .map(([key, value]) => {\n if (!Object.hasOwn(variables, key) || /[;{}<>]/.test(value))\n throw new Error(`Invalid branding color: ${key}`);\n return variables[key].map((name) => `${name}:${value};`).join('');\n })\n .join('');\n}\n/** Theme tokens only: branding must never replace the shared page layout. */\nexport function renderBrandStyles(brand, selector = '.vbrand') {\n const animation = brand.loadingIcon?.animation;\n const keyframes = brand.loadingIcon?.keyframes ?? '';\n if (animation !== undefined && /[;{}<>]/.test(animation))\n throw new Error('Invalid loading icon animation');\n if (/[<>]/.test(keyframes))\n throw new Error('Invalid loading icon keyframes');\n const motion = animation === undefined\n ? ''\n : `--vertesia-loading-animation:${animation};--vertesia-loading-pulse-animation:none;`;\n const font = brand.font;\n const faces = font\n ? `@font-face { font-family:${cssString(font.family)};src:url(${cssString(font.regular)});font-weight:400;font-display:swap; }\n${font.bold ? `@font-face { font-family:${cssString(font.family)};src:url(${cssString(font.bold)});font-weight:700;font-display:swap; }` : ''}`\n : '';\n return `${faces}\n${keyframes}\n${selector} { ${motion}${colorDeclarations(brand.colors?.light)}${font ? `font-family:${cssString(font.family)};` : ''} }\n.dark ${selector},${selector}.vboot-dark { ${colorDeclarations(brand.colors?.dark)} }\n`;\n}\nexport function brandedBootOptions(brand) {\n return {\n iconSrc: brand.loadingIcon?.light,\n darkIconSrc: brand.loadingIcon?.dark,\n loadingLabel: brand.copy?.loading,\n slowLoadingLabel: brand.copy?.slowLoading,\n reloadLabel: brand.copy?.reload,\n html: brand.boot?.html,\n styles: `${renderBrandStyles(brand, '#loading-indicator')}\n${brand.colors?.light?.background ? `:root{--vertesia-boot-background:${brand.colors.light.background}}` : ''}\n${brand.colors?.dark?.background ? `:root.dark{--vertesia-boot-background:${brand.colors.dark.background}}` : ''}\n${brand.boot?.styles ?? ''}`,\n };\n}\n/** Platform defaults shared by boot markup and Firebase/OAuth React screens. */\nexport const vertesiaBranding = {\n name: 'Vertesia',\n logo: { light: '/logo-light.png', dark: '/logo-dark.png', alt: 'Vertesia' },\n loadingIcon: { light: '/icon.svg' },\n favicon: '/icon.svg',\n};\n//# sourceMappingURL=branding.js.map","/** Shared by server-rendered boot markup and React auth loaders. No React dependency. */\nexport const LOADING_ICON_SIZE = 40;\nexport const LOADING_INDICATOR_STYLES = `\n@keyframes vertesia-loading-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n.vertesia-loading-motion {\n animation: var(--vertesia-loading-animation, vertesia-loading-spin 2s linear infinite);\n}\n.vertesia-loading-icon {\n width: ${LOADING_ICON_SIZE}px !important;\n min-width: ${LOADING_ICON_SIZE}px !important;\n max-width: ${LOADING_ICON_SIZE}px !important;\n height: ${LOADING_ICON_SIZE}px !important;\n min-height: ${LOADING_ICON_SIZE}px !important;\n max-height: ${LOADING_ICON_SIZE}px !important;\n margin: 0;\n padding: 0;\n object-fit: contain;\n flex: none;\n border-radius: 100% !important;\n}\n@media (prefers-reduced-motion: reduce) {\n .vertesia-loading-motion { animation: none !important; }\n}\n`;\n//# sourceMappingURL=loading.js.map","export const BOOT_TEXT = {\n ar: {\n loading: 'جارٍ التحميل',\n slowLoading: 'لا يزال التحميل جاريًا — يستغرق الأمر وقتًا أطول من المعتاد.',\n reload: 'إعادة تحميل الصفحة',\n },\n de: {\n loading: 'Wird geladen',\n slowLoading: 'Wird noch geladen – das dauert länger als üblich.',\n reload: 'Seite neu laden',\n },\n en: {\n loading: 'Loading',\n slowLoading: 'Still loading — this is taking longer than usual.',\n reload: 'Reload page',\n },\n es: {\n loading: 'Cargando',\n slowLoading: 'Todavía cargando: está tardando más de lo habitual.',\n reload: 'Recargar la página',\n },\n fr: {\n loading: 'Chargement',\n slowLoading: 'Chargement en cours — cela prend plus de temps que d’habitude.',\n reload: 'Recharger la page',\n },\n it: {\n loading: 'Caricamento',\n slowLoading: 'Caricamento ancora in corso: ci vuole più tempo del solito.',\n reload: 'Ricarica la pagina',\n },\n ja: {\n loading: '読み込み中',\n slowLoading: '読み込み中です。通常より時間がかかっています。',\n reload: 'ページを再読み込み',\n },\n ko: {\n loading: '로드 중',\n slowLoading: '아직 로드 중입니다. 평소보다 시간이 더 걸리고 있습니다.',\n reload: '페이지 새로고침',\n },\n pt: {\n loading: 'Carregando',\n slowLoading: 'Ainda carregando — está demorando mais do que o normal.',\n reload: 'Recarregar a página',\n },\n ru: {\n loading: 'Загрузка',\n slowLoading: 'Загрузка продолжается — это занимает больше времени, чем обычно.',\n reload: 'Перезагрузить страницу',\n },\n tr: {\n loading: 'Yükleniyor',\n slowLoading: 'Hâlâ yükleniyor — bu, normalden uzun sürüyor.',\n reload: 'Sayfayı yeniden yükle',\n },\n zh: {\n loading: '正在加载',\n slowLoading: '仍在加载,所需时间比平时更长。',\n reload: '重新加载页面',\n },\n 'zh-TW': {\n loading: '載入中',\n slowLoading: '仍在載入,所需時間比平常更長。',\n reload: '重新載入頁面',\n },\n};\n//# sourceMappingURL=text.js.map","import { isRTL, LANGUAGE_STORAGE_KEY, SUPPORTED_LANGUAGES } from '../i18n/rtl.js';\nimport { vertesiaBranding } from './branding.js';\nimport { LOADING_ICON_SIZE, LOADING_INDICATOR_STYLES } from './loading.js';\nimport { BOOT_TEXT } from './text.js';\nconst DEFAULT_STORAGE_KEY = 'vite-ui-theme';\nconst DEFAULT_ICON_SRC = vertesiaBranding.loadingIcon.light;\nexport const BOOT_SCREEN_STYLES = `\n${LOADING_INDICATOR_STYLES}\n .vboot {\n --vb-bg: #ffffff;\n --vb-fg: #0a0a0a;\n --vb-muted: #636363;\n --vb-muted-bg: #f5f5f5;\n --vb-border: #e5e5e5;\n --vb-primary: #0048bd;\n --vb-primary-fg: #ffffff;\n --vb-glow: rgba(50, 49, 189, 0.12);\n font-family: Inter, ui-sans-serif, system-ui, -apple-system, 'Segoe UI', sans-serif;\n color: var(--vb-fg);\n }\n .vboot.vboot-dark {\n --vb-bg: #0a0a0a;\n --vb-fg: #fafafa;\n --vb-muted: #a1a1a1;\n --vb-muted-bg: #262626;\n --vb-border: rgba(255, 255, 255, 0.1);\n --vb-primary: #2b69d1;\n --vb-primary-fg: #fafafa;\n --vb-glow: rgba(79, 70, 229, 0.2);\n }\n .vboot-overlay {\n position: absolute !important;\n inset: 0 !important;\n box-sizing: border-box !important;\n width: 100% !important;\n height: 100% !important;\n margin: 0 !important;\n padding: 0 !important;\n display: flex !important;\n flex-direction: column !important;\n align-items: center !important;\n justify-content: center !important;\n gap: 1.5rem !important;\n transform: none !important;\n background: var(--vb-bg) !important;\n }\n #loading-indicator {\n position: fixed !important;\n inset: 0 !important;\n z-index: 2147483647 !important;\n box-sizing: border-box !important;\n width: 100vw !important;\n height: 100vh !important;\n margin: 0 !important;\n padding: 0 !important;\n transform: none !important;\n }\n .vboot-icon-dark { display: none; }\n .vboot-dark .vboot-icon-light { display: none; }\n .vboot-dark .vboot-icon-dark { display: block; }\n .vboot-slow {\n text-align: center;\n }\n .vboot-slow p {\n color: var(--vb-muted);\n font-size: 0.875rem;\n margin: 0 0 0.75rem;\n }\n .vboot-btn {\n display: inline-block;\n padding: 0.5rem 1rem;\n background: var(--vb-primary);\n color: var(--vb-primary-fg);\n border: none;\n border-radius: 0.375rem;\n font: inherit;\n font-size: 0.875rem;\n font-weight: 500;\n cursor: pointer;\n }\n .vboot-btn:hover {\n opacity: 0.9;\n }\n`;\nfunction inlineJson(value) {\n return JSON.stringify(value).replaceAll('<', '\\\\u003c');\n}\nfunction normalizedOptions(options) {\n return {\n ...options,\n storageKey: options.storageKey ?? DEFAULT_STORAGE_KEY,\n iconSrc: options.iconSrc ?? DEFAULT_ICON_SRC,\n language: options.language ?? 'auto',\n autoStart: options.autoStart ?? true,\n };\n}\n/** An app-supplied label wins in every language. */\nfunction bootText(options, language) {\n return {\n loading: options.loadingLabel ?? BOOT_TEXT[language].loading,\n slowLoading: options.slowLoadingLabel ?? BOOT_TEXT[language].slowLoading,\n reload: options.reloadLabel ?? BOOT_TEXT[language].reload,\n };\n}\n/** The copy of every language the runtime may pick: only the pinned one, or all of them. */\nfunction bootTexts(options) {\n const languages = options.language && options.language !== 'auto' ? [options.language] : SUPPORTED_LANGUAGES;\n return Object.fromEntries(languages.map((language) => [language, bootText(options, language)]));\n}\n/**\n * Default markup shared by Studio and configurable applications. It carries the copy of the pinned\n * language (English under `'auto'`); `data-boot-text` and `data-boot-alt` let the runtime swap in\n * the language it resolves at page load. Custom `html` may use the same attributes.\n */\nexport function renderDefaultBootContent(options = {}) {\n const escapeMarkup = (value) => value.replace(/[&<>\"']/g, (char) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' })[char] ?? char);\n const { iconSrc, language } = normalizedOptions(options);\n const text = bootText(options, language === 'auto' ? 'en' : language);\n const icon = (src, className = '') => `<img class=\"vboot-spinner vertesia-loading-icon vertesia-loading-motion ${className}\" width=\"${LOADING_ICON_SIZE}\" height=\"${LOADING_ICON_SIZE}\" src=\"${escapeMarkup(src)}\" alt=\"${escapeMarkup(text.loading)}\" data-boot-alt=\"loading\" />`;\n return `<div class=\"vboot-overlay\" role=\"status\" aria-live=\"polite\">${options.darkIconSrc ? icon(iconSrc, 'vboot-icon-light') + icon(options.darkIconSrc, 'vboot-icon-dark') : icon(iconSrc)}\n<div id=\"loading-slow-notice\" class=\"vboot-slow\" style=\"display: none;\">\n<p data-boot-text=\"slowLoading\">${escapeMarkup(text.slowLoading)}</p>\n<div id=\"loading-slow-reload\" style=\"display: none;\"><button type=\"button\" class=\"vboot-btn\" data-boot-reload data-boot-text=\"reload\">${escapeMarkup(text.reload)}</button></div></div></div>`;\n}\nexport function renderBootScreenRuntime(options = {}) {\n const { storageKey, html, language } = normalizedOptions(options);\n const defaultHtml = renderDefaultBootContent(options);\n return `(() => {\n const storageKey = ${inlineJson(storageKey)};\n\n const customHtml = ${html === undefined ? 'undefined' : inlineJson(html)};\n const bootText = ${inlineJson(bootTexts(options))};\n // Mirrors resolveLanguage and LanguageProvider's initial read (i18n/rtl.ts, i18n/LanguageProvider.tsx).\n const hasText = (code) => Object.prototype.hasOwnProperty.call(bootText, code);\n const resolveLanguage = (raw) => {\n if (!raw) return 'en';\n if (hasText(raw)) return raw;\n const base = String(raw).split('-')[0];\n return hasText(base) ? base : 'en';\n };\n const language = (() => {\n const pinned = ${inlineJson(language)};\n if (pinned !== 'auto') return pinned;\n try {\n const stored = window.localStorage.getItem(${inlineJson(LANGUAGE_STORAGE_KEY)});\n if (stored) return resolveLanguage(stored);\n } catch (_error) {\n // Storage can be unavailable in private or restricted browsing contexts.\n }\n return resolveLanguage(window.navigator && window.navigator.language);\n })();\n const direction = ${inlineJson(SUPPORTED_LANGUAGES.filter((code) => isRTL(code)))}.includes(language) ? 'rtl' : 'ltr';\n const localize = (container) => {\n const text = bootText[language];\n container.querySelectorAll('[data-boot-text]').forEach((node) => {\n const value = text[node.getAttribute('data-boot-text')];\n if (value) node.textContent = value;\n });\n container.querySelectorAll('[data-boot-alt]').forEach((node) => {\n const value = text[node.getAttribute('data-boot-alt')];\n if (value) node.setAttribute('alt', value);\n });\n };\n let slowNoticeTimer;\n let slowReloadTimer;\n const previewTheme = (() => {\n try {\n const value = new URL(window.location.href).searchParams.get('__vertesia_boot_theme');\n return value === 'dark' || value === 'light' ? value : null;\n } catch (_error) {\n return null;\n }\n })();\n const prefersDarkTheme = () => {\n if (previewTheme) return previewTheme === 'dark';\n try {\n const stored = window.localStorage.getItem(storageKey);\n if (stored === 'dark') return true;\n if (stored === 'light') return false;\n } catch (_error) {\n // Storage can be unavailable in private or restricted browsing contexts.\n }\n try {\n return typeof window.matchMedia === 'function' && window.matchMedia('(prefers-color-scheme: dark)').matches;\n } catch (_error) {\n return false;\n }\n };\n const applyTheme = () => {\n const dark = prefersDarkTheme();\n const root = document.documentElement;\n root.classList.remove('light', 'dark');\n root.classList.add(dark ? 'dark' : 'light');\n return dark;\n };\n const paintDocumentBackground = () => {\n const dark = applyTheme();\n const root = document.documentElement;\n const background = window.getComputedStyle(root).getPropertyValue('--vertesia-boot-background').trim()\n || (dark ? '#0a0a0a' : '#ffffff');\n root.style.backgroundColor = background;\n root.style.colorScheme = dark ? 'dark' : 'light';\n if (document.body) document.body.style.backgroundColor = background;\n };\n const restoreDocumentBackground = () => {\n applyTheme();\n const root = document.documentElement;\n root.style.removeProperty('background-color');\n root.style.removeProperty('color-scheme');\n if (document.body) document.body.style.removeProperty('background-color');\n };\n const bootThemeClass = () => prefersDarkTheme() ? 'vboot vboot-dark' : 'vboot';\n const ensureLoadingIndicator = () => {\n if (document.getElementById('loading-indicator') || !document.body) return;\n paintDocumentBackground();\n const loading = document.createElement('div');\n loading.id = 'loading-indicator';\n loading.className = bootThemeClass();\n loading.lang = language;\n loading.dir = direction;\n loading.innerHTML = customHtml ?? ${inlineJson(defaultHtml)};\n localize(loading);\n loading.querySelectorAll('[data-boot-title]').forEach((heading) => {\n if (document.title) heading.textContent = document.title;\n });\n loading.querySelectorAll('[data-boot-reload]').forEach((button) => {\n button.addEventListener('click', () => window.location.reload());\n });\n // Custom landmarks and controls must stay in body to enter the accessibility tree.\n const loadingParent = customHtml === undefined && typeof document.documentElement.appendChild === 'function'\n ? document.documentElement\n : document.body;\n loadingParent.appendChild(loading);\n };\n const hideLoadingIndicator = () => {\n clearTimeout(slowNoticeTimer);\n clearTimeout(slowReloadTimer);\n const loading = document.getElementById('loading-indicator');\n if (loading) loading.style.display = 'none';\n };\n const hasAppRendered = (rootId = 'root') => {\n const root = document.getElementById(rootId);\n return Boolean(root && root.innerHTML && root.innerHTML.trim() !== '');\n };\n const hideLoadingIndicatorOnFirstRender = (rootId = 'root') => {\n if (typeof MutationObserver !== 'function') return;\n const root = document.getElementById(rootId);\n if (!root) return;\n if (hasAppRendered(rootId)) {\n hideLoadingIndicator();\n restoreDocumentBackground();\n return;\n }\n const observer = new MutationObserver(() => {\n if (!hasAppRendered(rootId)) return;\n hideLoadingIndicator();\n restoreDocumentBackground();\n observer.disconnect();\n });\n observer.observe(root, { childList: true });\n };\n // Used by standalone apps. Hosts with their own error handler keep autoStart disabled.\n const scheduleSlowLoadingNotice = () => {\n clearTimeout(slowNoticeTimer);\n clearTimeout(slowReloadTimer);\n if (hasAppRendered()) return;\n slowNoticeTimer = setTimeout(() => {\n const notice = document.getElementById('loading-slow-notice');\n if (notice) notice.style.display = '';\n }, 10000);\n slowReloadTimer = setTimeout(() => {\n const reload = document.getElementById('loading-slow-reload');\n if (reload) reload.style.display = '';\n }, 30000);\n };\n window.__vertesiaBoot = {\n direction,\n language,\n scheduleSlowLoadingNotice,\n applyTheme,\n bootThemeClass,\n ensureLoadingIndicator,\n hasAppRendered,\n hideLoadingIndicator,\n hideLoadingIndicatorOnFirstRender,\n paintDocumentBackground,\n prefersDarkTheme,\n restoreDocumentBackground,\n };\n paintDocumentBackground();\n})();`;\n}\nexport function renderBootScreenHead(options = {}) {\n return `<style id=\"vertesia-boot-styles\">${BOOT_SCREEN_STYLES}\\n${options.styles ?? ''}</style>\\n<script>${renderBootScreenRuntime(options)}</script>`;\n}\nexport function renderBootScreenInitializer() {\n return `<script>window.__vertesiaBoot.ensureLoadingIndicator(); window.__vertesiaBoot.hideLoadingIndicatorOnFirstRender(); window.__vertesiaBoot.scheduleSlowLoadingNotice();</script>`;\n}\nfunction isHtmlWhitespace(character) {\n return character === ' ' || character === '\\t' || character === '\\n' || character === '\\r' || character === '\\f';\n}\nfunction hasAttribute(openingTag, attributeName) {\n const lowerTag = openingTag.toLowerCase();\n let searchFrom = 0;\n while (searchFrom < lowerTag.length) {\n const attributeIndex = lowerTag.indexOf(attributeName, searchFrom);\n if (attributeIndex === -1)\n return false;\n const before = lowerTag[attributeIndex - 1];\n let afterIndex = attributeIndex + attributeName.length;\n while (isHtmlWhitespace(lowerTag[afterIndex]))\n afterIndex += 1;\n if (isHtmlWhitespace(before) && lowerTag[afterIndex] === '=')\n return true;\n searchFrom = attributeIndex + attributeName.length;\n }\n return false;\n}\nfunction findOpeningTagEnd(html, tagName, attributeName) {\n const lowerHtml = html.toLowerCase();\n const tagStart = `<${tagName}`;\n let searchFrom = 0;\n while (searchFrom < lowerHtml.length) {\n const start = lowerHtml.indexOf(tagStart, searchFrom);\n if (start === -1)\n return undefined;\n const boundary = lowerHtml[start + tagStart.length];\n if (boundary === '>' || isHtmlWhitespace(boundary)) {\n const end = lowerHtml.indexOf('>', start + tagStart.length);\n if (end === -1)\n return undefined;\n if (!attributeName || hasAttribute(lowerHtml.slice(start, end + 1), attributeName))\n return end + 1;\n searchFrom = end + 1;\n }\n else {\n searchFrom = start + tagStart.length;\n }\n }\n return undefined;\n}\nfunction insertAt(html, index, content) {\n return `${html.slice(0, index)}${content}${html.slice(index)}`;\n}\nexport function injectBootScreenHtml(html, options = {}) {\n const normalized = normalizedOptions(options);\n const head = renderBootScreenHead(normalized);\n const insertionPoint = findOpeningTagEnd(html, 'meta', 'charset') ?? findOpeningTagEnd(html, 'head');\n const withHead = insertionPoint === undefined ? html : insertAt(html, insertionPoint, `\\n${head}`);\n if (!normalized.autoStart)\n return withHead;\n const bodyEnd = withHead.toLowerCase().indexOf('</body>');\n return bodyEnd === -1 ? withHead : insertAt(withHead, bodyEnd, `${renderBootScreenInitializer()}\\n`);\n}\nexport function createBootScreenVitePlugin(options = {}) {\n return {\n name: 'vertesia-boot-screen',\n transformIndexHtml: (html) => injectBootScreenHtml(html, options),\n };\n}\nexport * from './branding.js';\n//# sourceMappingURL=index.js.map"],"mappings":"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"}