define(["require", "exports", "@fluentui/merge-styles", "./FluentFonts", "./createFontStyles", "@fluentui/utilities"], function (require, exports, merge_styles_1, FluentFonts_1, createFontStyles_1, utilities_1) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerDefaultFontFaces = exports.DefaultFontStyles = void 0; // Default urls. var DefaultBaseUrl = 'https://res-1.cdn.office.net/files/fabric-cdn-prod_20230815.002/assets'; // Standard font styling. exports.DefaultFontStyles = (0, createFontStyles_1.createFontStyles)((0, utilities_1.getLanguage)()); function _registerFontFace(fontFamily, url, fontWeight, localFontName) { fontFamily = "'".concat(fontFamily, "'"); var localFontSrc = localFontName !== undefined ? "local('".concat(localFontName, "'),") : ''; (0, merge_styles_1.fontFace)({ fontFamily: fontFamily, src: localFontSrc + "url('".concat(url, ".woff2') format('woff2'),") + "url('".concat(url, ".woff') format('woff')"), fontWeight: fontWeight, fontStyle: 'normal', fontDisplay: 'swap', }); } function _registerFontFaceSet(baseUrl, fontFamily, cdnFolder, cdnFontName, localFontName) { if (cdnFontName === void 0) { cdnFontName = 'segoeui'; } var urlBase = "".concat(baseUrl, "/").concat(cdnFolder, "/").concat(cdnFontName); _registerFontFace(fontFamily, urlBase + '-light', FluentFonts_1.FontWeights.light, localFontName && localFontName + ' Light'); _registerFontFace(fontFamily, urlBase + '-semilight', FluentFonts_1.FontWeights.semilight, localFontName && localFontName + ' SemiLight'); _registerFontFace(fontFamily, urlBase + '-regular', FluentFonts_1.FontWeights.regular, localFontName); _registerFontFace(fontFamily, urlBase + '-semibold', FluentFonts_1.FontWeights.semibold, localFontName && localFontName + ' SemiBold'); _registerFontFace(fontFamily, urlBase + '-bold', FluentFonts_1.FontWeights.bold, localFontName && localFontName + ' Bold'); } function registerDefaultFontFaces(baseUrl) { if (baseUrl) { var fontUrl = "".concat(baseUrl, "/fonts"); // Produce @font-face definitions for all supported web fonts. _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Thai, 'leelawadeeui-thai', 'leelawadeeui'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Arabic, 'segoeui-arabic'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Cyrillic, 'segoeui-cyrillic'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.EastEuropean, 'segoeui-easteuropean'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Greek, 'segoeui-greek'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Hebrew, 'segoeui-hebrew'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Vietnamese, 'segoeui-vietnamese'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.WestEuropean, 'segoeui-westeuropean', 'segoeui', 'Segoe UI'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontFamilies.Selawik, 'selawik', 'selawik'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Armenian, 'segoeui-armenian'); _registerFontFaceSet(fontUrl, FluentFonts_1.LocalizedFontNames.Georgian, 'segoeui-georgian'); // Leelawadee UI (Thai) does not have a 'light' weight, so we override // the font-face generated above to use the 'semilight' weight instead. _registerFontFace('Leelawadee UI Web', "".concat(fontUrl, "/leelawadeeui-thai/leelawadeeui-semilight"), FluentFonts_1.FontWeights.light); // Leelawadee UI (Thai) does not have a 'semibold' weight, so we override // the font-face generated above to use the 'bold' weight instead. _registerFontFace('Leelawadee UI Web', "".concat(fontUrl, "/leelawadeeui-thai/leelawadeeui-bold"), FluentFonts_1.FontWeights.semibold); } } exports.registerDefaultFontFaces = registerDefaultFontFaces; /** * Reads the fontBaseUrl from window.FabricConfig.fontBaseUrl or falls back to a default. */ function _getFontBaseUrl() { var _a, _b; // eslint-disable-next-line @typescript-eslint/no-explicit-any var fabricConfig = (_a = (0, utilities_1.getWindow)()) === null || _a === void 0 ? void 0 : _a.FabricConfig; return (_b = fabricConfig === null || fabricConfig === void 0 ? void 0 : fabricConfig.fontBaseUrl) !== null && _b !== void 0 ? _b : DefaultBaseUrl; } /** * Register the font faces. */ registerDefaultFontFaces(_getFontBaseUrl()); }); //# sourceMappingURL=DefaultFontStyles.js.map