{"version":3,"sources":["jsdelivr-header.js","/npm/@shoelace-style/localize@3.2.2/dist/index.js"],"names":[],"mappings":"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","file":"/npm/@shoelace-style/localize@3.2.2/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@shoelace-style/localize@3.2.2/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const connectedElements = new Set();\nconst translations = new Map();\nlet fallback;\nlet documentDirection = 'ltr';\nlet documentLanguage = 'en';\nconst isClient = typeof MutationObserver !== 'undefined' &&\n    typeof document !== 'undefined' &&\n    typeof document.documentElement !== 'undefined';\nif (isClient) {\n    const documentElementObserver = new MutationObserver(update);\n    documentDirection = document.documentElement.dir || 'ltr';\n    documentLanguage = document.documentElement.lang || navigator.language;\n    documentElementObserver.observe(document.documentElement, {\n        attributes: true,\n        attributeFilter: ['dir', 'lang']\n    });\n}\nexport function registerTranslation(...translation) {\n    translation.map(t => {\n        const code = t.$code.toLowerCase();\n        if (translations.has(code)) {\n            translations.set(code, Object.assign(Object.assign({}, translations.get(code)), t));\n        }\n        else {\n            translations.set(code, t);\n        }\n        if (!fallback) {\n            fallback = t;\n        }\n    });\n    update();\n}\nexport function update() {\n    if (isClient) {\n        documentDirection = document.documentElement.dir || 'ltr';\n        documentLanguage = document.documentElement.lang || navigator.language;\n    }\n    [...connectedElements.keys()].map(el => {\n        if (typeof el.requestUpdate === 'function') {\n            el.requestUpdate();\n        }\n    });\n}\nexport class LocalizeController {\n    constructor(host) {\n        this.host = host;\n        this.host.addController(this);\n    }\n    hostConnected() {\n        connectedElements.add(this.host);\n    }\n    hostDisconnected() {\n        connectedElements.delete(this.host);\n    }\n    dir() {\n        return `${this.host.dir || documentDirection}`.toLowerCase();\n    }\n    lang() {\n        return `${this.host.lang || documentLanguage}`.toLowerCase();\n    }\n    getTranslationData(lang) {\n        var _a, _b;\n        let locale;\n        try {\n            locale = new Intl.Locale(lang.replace(/_/g, '-'));\n        }\n        catch (_c) {\n            return { locale: undefined, language: '', region: '', primary: undefined, secondary: undefined };\n        }\n        const language = locale.language.toLowerCase();\n        const region = (_b = (_a = locale.region) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== null && _b !== void 0 ? _b : '';\n        const primary = translations.get(`${language}-${region}`);\n        const secondary = translations.get(language);\n        return { locale, language, region, primary, secondary };\n    }\n    exists(key, options) {\n        var _a;\n        const { primary, secondary } = this.getTranslationData((_a = options.lang) !== null && _a !== void 0 ? _a : this.lang());\n        options = Object.assign({ includeFallback: false }, options);\n        if ((primary && primary[key]) ||\n            (secondary && secondary[key]) ||\n            (options.includeFallback && fallback && fallback[key])) {\n            return true;\n        }\n        return false;\n    }\n    term(key, ...args) {\n        const { primary, secondary } = this.getTranslationData(this.lang());\n        let term;\n        if (primary && primary[key]) {\n            term = primary[key];\n        }\n        else if (secondary && secondary[key]) {\n            term = secondary[key];\n        }\n        else if (fallback && fallback[key]) {\n            term = fallback[key];\n        }\n        else {\n            console.error(`No translation found for: ${String(key)}`);\n            return String(key);\n        }\n        if (typeof term === 'function') {\n            return term(...args);\n        }\n        return term;\n    }\n    date(dateToFormat, options) {\n        dateToFormat = new Date(dateToFormat);\n        return new Intl.DateTimeFormat(this.lang(), options).format(dateToFormat);\n    }\n    number(numberToFormat, options) {\n        numberToFormat = Number(numberToFormat);\n        return isNaN(numberToFormat) ? '' : new Intl.NumberFormat(this.lang(), options).format(numberToFormat);\n    }\n    relativeTime(value, unit, options) {\n        return new Intl.RelativeTimeFormat(this.lang(), options).format(value, unit);\n    }\n}\n"]}