@vertesia/ui 1.6.0-dev.20261019.172735Z → 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.
@@ -102,7 +102,7 @@ export function SelectBox({ options, optionLabel, groupBy, value, onChange, addN
102
102
  return (o) => String(getProperty(o, filterBy)).toLowerCase();
103
103
  }
104
104
  else {
105
- return filterBy;
105
+ return (o) => filterBy(o).toLowerCase();
106
106
  }
107
107
  }
108
108
  const filterLc = filterValue.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"selectBox.js","sourceRoot":"","sources":["../../../../src/core/components/shadcn/selectBox.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"selectBox.js","sourceRoot":"","sources":["../../../../src/core/components/shadcn/selectBox.tsx"],"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":"AAYA,MAAaA,EAAsB,CAC/B,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OACJ,EAGaC,kBAAgB,IAAI,IAAI,CAAC,KAAM,KAAM,KAAM,IAAI,CAAC,EAC7D,SAAgBC,EAAM,EAAK,CAGvB,OAFKC,EAEEF,EAAc,IAAIE,EAAI,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,EAD7C,EAEf,CClCA,SAAgBC,EAAkB,EAAU,CACxC,OAAOC,CACX,CACA,SAAgBC,EAAgB,EAAO,CACnC,OAAOC,EAAM,QAAQ,WAAa,IAAU,CAAE,IAAK,QAAS,IAAK,OAAQ,IAAK,OAAQ,IAAK,SAAU,IAAK,OAAQ,EAAA,CAAGC,IAASA,CAAI,CACtI,CACA,SAASC,EAAU,EAAO,CACtB,OAAO,KAAK,UAAUF,CAAK,CAAC,CAAC,QAAQ,KAAM,OAAO,CACtD,CACA,SAASG,EAAkB,EAAQ,CAC/B,IAAMC,EAAY,CACd,WAAY,CAAC,eAAgB,qBAAsB,SAAS,EAC5D,WAAY,CAAC,eAAgB,qBAAsB,SAAS,EAC5D,OAAQ,CAAC,SAAU,oBAAqB,eAAgB,yBAAyB,EACjF,OAAQ,CAAC,YAAa,kBAAmB,eAAgB,eAAe,EACxE,WAAY,CAAC,uBAAwB,6BAA8B,kBAAmB,oBAAoB,CAC9G,EACA,OAAO,OAAO,QAAQC,GAAU,CAAC,CAAC,CAAC,CAC9B,KAAK,CAACC,EAAKN,KAAW,CACvB,GAAI,CAAC,OAAO,OAAOI,EAAWE,CAAG,GAAK,UAAU,KAAKN,CAAK,EACtD,MAAU,MAAM,2BAA2BM,GAAK,EACpD,OAAOF,EAAUE,EAAI,CAAC,IAAK,GAAS,GAAGC,EAAK,GAAGP,EAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CACpE,CAAC,CAAC,CACG,KAAK,EAAE,CAChB,CAEA,SAAgBQ,EAAkB,EAAO,EAAW,UAAW,CAC3D,IAAMC,EAAYC,EAAM,aAAa,UAC/BC,EAAYD,EAAM,aAAa,WAAa,GAClD,GAAID,IAAc,IAAA,IAAa,UAAU,KAAKA,CAAS,EACnD,MAAU,MAAM,gCAAgC,EACpD,GAAI,OAAO,KAAKE,CAAS,EACrB,MAAU,MAAM,gCAAgC,EACpD,IAAMC,EAASH,IAAc,IAAA,GACvB,GACA,gCAAgCA,EAAU,2CAC1CI,EAAOH,EAAM,KAKnB,MAAO,GAJOG,EACR,4BAA4BX,EAAUW,EAAK,MAAM,EAAE,WAAWX,EAAUW,EAAK,OAAO,EAAE;EAC9FA,EAAK,KAAO,4BAA4BX,EAAUW,EAAK,MAAM,EAAE,WAAWX,EAAUW,EAAK,IAAI,EAAE,wCAA0C,KACjI,GACU;EAClBF,EAAU;EACVG,EAAS,KAAKF,IAAST,EAAkBO,EAAM,QAAQ,KAAK,IAAIG,EAAO,eAAeX,EAAUW,EAAK,MAAM,EAAE,GAAK,GAAG;QAC/GC,EAAS,GAAGA,EAAS,gBAAgBX,EAAkBO,EAAM,QAAQ,IAAI,EAAE;CAEnF,CACA,SAAgBK,EAAmB,EAAO,CACtC,MAAO,CACH,QAASL,EAAM,aAAa,MAC5B,YAAaA,EAAM,aAAa,KAChC,aAAcA,EAAM,MAAM,QAC1B,iBAAkBA,EAAM,MAAM,YAC9B,YAAaA,EAAM,MAAM,OACzB,KAAMA,EAAM,MAAM,KAClB,OAAQ,GAAGF,EAAkBE,EAAO,oBAAoB,EAAE;EAChEA,EAAM,QAAQ,OAAO,WAAa,oCAAoCA,EAAM,OAAO,MAAM,WAAW,GAAK,GAAG;EAC5GA,EAAM,QAAQ,MAAM,WAAa,yCAAyCA,EAAM,OAAO,KAAK,WAAW,GAAK,GAAG;EAC/GA,EAAM,MAAM,QAAU,IACpB,CACJ,CAEA,MAAaM,EAAmB,CAC5B,KAAM,WACN,KAAM,CAAE,MAAO,kBAAmB,KAAM,iBAAkB,IAAK,UAAW,EAC1E,YAAa,CAAE,MAAO,WAAY,EAClC,QAAS,WACb,EEnEaC,EAAY,CACrB,GAAI,CACA,QAAS,eACT,YAAa,+DACb,OAAQ,oBACZ,EACA,GAAI,CACA,QAAS,eACT,YAAa,oDACb,OAAQ,iBACZ,EACA,GAAI,CACA,QAAS,UACT,YAAa,oDACb,OAAQ,aACZ,EACA,GAAI,CACA,QAAS,WACT,YAAa,sDACb,OAAQ,oBACZ,EACA,GAAI,CACA,QAAS,aACT,YAAa,iEACb,OAAQ,mBACZ,EACA,GAAI,CACA,QAAS,cACT,YAAa,8DACb,OAAQ,oBACZ,EACA,GAAI,CACA,QAAS,QACT,YAAa,0BACb,OAAQ,WACZ,EACA,GAAI,CACA,QAAS,OACT,YAAa,mCACb,OAAQ,UACZ,EACA,GAAI,CACA,QAAS,aACT,YAAa,0DACb,OAAQ,qBACZ,EACA,GAAI,CACA,QAAS,WACT,YAAa,mEACb,OAAQ,wBACZ,EACA,GAAI,CACA,QAAS,aACT,YAAa,gDACb,OAAQ,uBACZ,EACA,GAAI,CACA,QAAS,OACT,YAAa,kBACb,OAAQ,QACZ,EACA,QAAS,CACL,QAAS,MACT,YAAa,kBACb,OAAQ,QACZ,CACJ,EC7DMC,EAAmBF,EAAiB,YAAY,MACzCG,EAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8ElC,SAASC,EAAW,EAAO,CACvB,OAAO,KAAK,UAAUpB,CAAK,CAAC,CAAC,WAAW,IAAK,SAAS,CAC1D,CACA,SAASqB,EAAkB,EAAS,CAChC,MAAO,CACH,GAAGC,EACH,WAAYA,EAAQ,YAAc,gBAClC,QAASA,EAAQ,SAAWJ,EAC5B,SAAUI,EAAQ,UAAY,OAC9B,UAAWA,EAAQ,WAAa,EACpC,CACJ,CAEA,SAASC,EAAS,EAAS,EAAU,CACjC,MAAO,CACH,QAASD,EAAQ,cAAgBL,EAAUO,EAAS,CAAC,QACrD,YAAaF,EAAQ,kBAAoBL,EAAUO,EAAS,CAAC,YAC7D,OAAQF,EAAQ,aAAeL,EAAUO,EAAS,CAAC,MACvD,CACJ,CAEA,SAASC,EAAU,EAAS,CACxB,IAAMC,EAAYJ,EAAQ,UAAYA,EAAQ,WAAa,OAAS,CAACA,EAAQ,QAAQ,EAAI7B,EACzF,OAAO,OAAO,YAAYiC,EAAU,IAAK,GAAa,CAACF,EAAUD,EAASD,EAASE,CAAQ,CAAC,CAAC,CAAC,CAClG,CAMA,SAAgBG,EAAyB,EAAU,CAAC,EAAG,CACnD,IAAMC,EAAgB,GAAU5B,EAAM,QAAQ,WAAa,IAAU,CAAE,IAAK,QAAS,IAAK,OAAQ,IAAK,OAAQ,IAAK,SAAU,IAAK,OAAQ,EAAA,CAAGC,IAASA,CAAI,EACrJ,CAAE,UAAS,YAAaoB,EAAkBC,CAAO,EACjDO,EAAON,EAASD,EAASE,IAAa,OAAS,KAAOA,CAAQ,EAC9DM,GAAQ,EAAK,EAAY,KAAO,2EAA2EC,EAAU,gCAAoEH,EAAaI,CAAG,EAAE,SAASJ,EAAaC,EAAK,OAAO,EAAE,8BACrP,MAAO,+DAA+DP,EAAQ,YAAcQ,EAAKG,EAAS,kBAAkB,EAAIH,EAAKR,EAAQ,YAAa,iBAAiB,EAAIQ,EAAKG,CAAO,EAAE;;kCAE/JL,EAAaC,EAAK,WAAW,EAAE;wIACuED,EAAaC,EAAK,MAAM,EAAE,4BAClK,CACA,SAAgBK,EAAwB,EAAU,CAAC,EAAG,CAClD,GAAM,CAAE,aAAY,OAAM,YAAab,EAAkBC,CAAO,EAC1Da,EAAcR,EAAyBL,CAAO,EACpD,MAAO;uBACYF,EAAWgB,CAAU,EAAE;;uBAEvBC,IAAS,IAAA,GAAY,YAAcjB,EAAWiB,CAAI,EAAE;qBACtDjB,EAAWK,EAAUH,CAAO,CAAC,EAAE;;;;;;;;;;qBAU/BF,EAAWI,CAAQ,EAAE;;;mDAGSJ,EAAW,sBAAoB,EAAE;;;;;;;sBAO9DA,EAAW3B,EAAoB,OAAQ,GAASE,EAAM2C,CAAI,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCAqE5ClB,EAAWe,CAAW,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuEhE,CACA,SAAgBI,EAAqB,EAAU,CAAC,EAAG,CAC/C,MAAO,oCAAoCpB,EAAmB,IAAIG,EAAQ,QAAU,GAAG,oBAAoBY,EAAwBZ,CAAO,EAAE,WAChJ,CACA,SAAgBkB,GAA8B,CAC1C,MAAO,iLACX,CACA,SAASC,EAAiB,EAAW,CACjC,OAAOC,IAAc,KAAOA,IAAc,KAAQA,IAAc;GAAQA,IAAc,MAAQA,IAAc,IAChH,CACA,SAASC,EAAa,EAAY,EAAe,CAC7C,IAAMC,EAAWC,EAAW,YAAY,EACpCC,EAAa,EACjB,KAAOA,EAAaF,EAAS,QAAQ,CACjC,IAAMG,EAAiBH,EAAS,QAAQI,EAAeF,CAAU,EACjE,GAAIC,IAAmB,GACnB,MAAO,GACX,IAAME,EAASL,EAASG,EAAiB,GACrCG,EAAaH,EAAiBC,EAAc,OAChD,KAAOP,EAAiBG,EAASM,EAAW,GACxC,GAAc,EAClB,GAAIT,EAAiBQ,CAAM,GAAKL,EAASM,KAAgB,IACrD,MAAO,GACX,EAAaH,EAAiBC,EAAc,MAChD,CACA,MAAO,EACX,CACA,SAASG,EAAkB,EAAM,EAAS,EAAe,CACrD,IAAMC,EAAYf,EAAK,YAAY,EAC7BgB,EAAW,IAAIC,IACjBR,EAAa,EACjB,KAAOA,EAAaM,EAAU,QAAQ,CAClC,IAAMG,EAAQH,EAAU,QAAQC,EAAUP,CAAU,EACpD,GAAIS,IAAU,GACV,OACJ,IAAMC,EAAWJ,EAAUG,EAAQF,EAAS,QAC5C,GAAIG,IAAa,KAAOf,EAAiBe,CAAQ,EAAG,CAChD,IAAMC,EAAML,EAAU,QAAQ,IAAKG,EAAQF,EAAS,MAAM,EAC1D,GAAII,IAAQ,GACR,OACJ,GAAI,CAACT,GAAiBL,EAAaS,EAAU,MAAMG,EAAOE,EAAM,CAAC,EAAGT,CAAa,EAC7E,OAAOS,EAAM,EACjB,EAAaA,EAAM,CACvB,KAEI,GAAaF,EAAQF,EAAS,MAEtC,CAEJ,CACA,SAASK,EAAS,EAAM,EAAO,EAAS,CACpC,MAAO,GAAGrB,EAAK,MAAM,EAAGsB,CAAK,IAAIC,IAAUvB,EAAK,MAAMsB,CAAK,GAC/D,CACA,SAAgBE,EAAqB,EAAM,EAAU,CAAC,EAAG,CACrD,IAAMC,EAAazC,EAAkBC,CAAO,EACtCyC,EAAOxB,EAAqBuB,CAAU,EACtCE,EAAiBb,EAAkBd,EAAM,OAAQ,SAAS,GAAKc,EAAkBd,EAAM,MAAM,EAC7F4B,EAAWD,IAAmB,IAAA,GAAY3B,EAAOqB,EAASrB,EAAM2B,EAAgB,KAAKD,GAAM,EACjG,GAAI,CAACD,EAAW,UACZ,OAAOG,EACX,IAAMC,EAAUD,EAAS,YAAY,CAAC,CAAC,QAAQ,SAAS,EACxD,OAAOC,IAAY,GAAKD,EAAWP,EAASO,EAAUC,EAAS,GAAG1B,EAA4B,EAAE,GAAG,CACvG,CACA,SAAgB2B,EAA2B,EAAU,CAAC,EAAG,CACrD,MAAO,CACH,KAAM,uBACN,mBAAqB,GAASN,EAAqBxB,EAAMf,CAAO,CACpE,CACJ"}
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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"}