react-native-unit-components 1.7.1 → 1.8.0
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.
- package/lib/commonjs/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -1
- package/lib/commonjs/scripts/html/fontFaces.js +56 -0
- package/lib/commonjs/scripts/html/fontFaces.js.map +1 -0
- package/lib/commonjs/styles/fonts.js +71 -0
- package/lib/commonjs/styles/fonts.js.map +1 -0
- package/lib/commonjs/types/shared/fonts.types.js +20 -0
- package/lib/commonjs/types/shared/fonts.types.js.map +1 -0
- package/lib/commonjs/types/shared/index.js +22 -0
- package/lib/commonjs/types/shared/index.js.map +1 -1
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js +6 -1
- package/lib/commonjs/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/commonjs/webComponent/WebComponent.js +4 -1
- package/lib/commonjs/webComponent/WebComponent.js.map +1 -1
- package/lib/commonjs/webComponent/html.js +11 -2
- package/lib/commonjs/webComponent/html.js.map +1 -1
- package/lib/module/helpers/pushProvisioningService/hooks/useCardWallet.js.map +1 -1
- package/lib/module/scripts/html/fontFaces.js +49 -0
- package/lib/module/scripts/html/fontFaces.js.map +1 -0
- package/lib/module/styles/fonts.js +64 -0
- package/lib/module/styles/fonts.js.map +1 -0
- package/lib/module/types/shared/fonts.types.js +13 -0
- package/lib/module/types/shared/fonts.types.js.map +1 -0
- package/lib/module/types/shared/index.js +2 -0
- package/lib/module/types/shared/index.js.map +1 -1
- package/lib/module/unitSdkManager/UnitSdkManager.js +6 -1
- package/lib/module/unitSdkManager/UnitSdkManager.js.map +1 -1
- package/lib/module/webComponent/WebComponent.js +4 -1
- package/lib/module/webComponent/WebComponent.js.map +1 -1
- package/lib/module/webComponent/html.js +11 -2
- package/lib/module/webComponent/html.js.map +1 -1
- package/lib/typescript/scripts/html/fontFaces.d.ts +2 -0
- package/lib/typescript/styles/fonts.d.ts +1 -0
- package/lib/typescript/types/shared/fonts.types.d.ts +23 -0
- package/lib/typescript/types/shared/index.d.ts +2 -0
- package/lib/typescript/unitSdkManager/UnitSdkManager.d.ts +4 -1
- package/lib/typescript/webComponent/html.d.ts +1 -0
- package/package.json +1 -1
- package/src/helpers/pushProvisioningService/hooks/useCardWallet.ts +2 -2
- package/src/scripts/html/fontFaces.ts +56 -0
- package/src/styles/fonts.ts +70 -0
- package/src/types/shared/fonts.types.ts +28 -0
- package/src/types/shared/index.ts +2 -0
- package/src/unitSdkManager/UnitSdkManager.ts +9 -1
- package/src/webComponent/WebComponent.tsx +6 -1
- package/src/webComponent/html.ts +11 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_wallet","_UnitSdkManager","_UNWalletPayloadRequest","useCardWallet","cardId","currentUNWallet","setCurrentUNWallet","useState","useEffect","getEncryptedPayload","env","UnitSDK","getEnv","customerToken","getCustomerToken","encryptedPayload","getMobileWalletPayload","getCardWalletData","currentProvisioningModule","getPushProvisionModule","walletsResponse","launchGetWallets","JSON","stringify","encPayload","unWallet","parseWalletsResponse","error","Promise","reject","exports","parsedWalletsResponse","parse","wallets","code","UNWalletCode","Apple","name","UNWalletName","status","googleWallet","filter","wallet","Google","Error"],"sources":["useCardWallet.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { UNWalletCode, type UNWallet, UNWalletName } from '../../../types/shared/wallet.types';\nimport { UnitSDK } from '../../../unitSdkManager/UnitSdkManager';\nimport { getMobileWalletPayload } from '../../../networking/requests/UNWalletPayloadRequest';\n\nexport type CardToEncryptedPayload = {\n [cardId: string]: string;\n};\n\nexport const useCardWallet = (cardId: string) => {\n const [currentUNWallet, setCurrentUNWallet] = useState<UNWallet>();\n\n useEffect(() => {\n const getEncryptedPayload = async () => {\n const env = UnitSDK.getEnv();\n const customerToken = UnitSDK.getCustomerToken();\n if (!env || !customerToken) return;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n return encryptedPayload;\n };\n\n const getCardWalletData = async ()
|
|
1
|
+
{"version":3,"names":["_react","require","_wallet","_UnitSdkManager","_UNWalletPayloadRequest","useCardWallet","cardId","currentUNWallet","setCurrentUNWallet","useState","useEffect","getEncryptedPayload","env","UnitSDK","getEnv","customerToken","getCustomerToken","encryptedPayload","getMobileWalletPayload","getCardWalletData","currentProvisioningModule","getPushProvisionModule","walletsResponse","launchGetWallets","JSON","stringify","encPayload","unWallet","parseWalletsResponse","error","Promise","reject","exports","parsedWalletsResponse","parse","wallets","code","UNWalletCode","Apple","name","UNWalletName","status","googleWallet","filter","wallet","Google","Error"],"sources":["useCardWallet.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { UNWalletCode, type UNWallet, UNWalletName } from '../../../types/shared/wallet.types';\nimport { UnitSDK } from '../../../unitSdkManager/UnitSdkManager';\nimport { getMobileWalletPayload } from '../../../networking/requests/UNWalletPayloadRequest';\n\nexport type CardToEncryptedPayload = {\n [cardId: string]: string;\n};\n\nexport const useCardWallet = (cardId: string) => {\n const [currentUNWallet, setCurrentUNWallet] = useState<UNWallet>();\n\n useEffect(() => {\n const getEncryptedPayload = async () => {\n const env = UnitSDK.getEnv();\n const customerToken = UnitSDK.getCustomerToken();\n if (!env || !customerToken) return;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n return encryptedPayload;\n };\n\n const getCardWalletData = async () => {\n const currentProvisioningModule = UnitSDK.getPushProvisionModule();\n if (!currentProvisioningModule) return;\n try {\n const encryptedPayload = await getEncryptedPayload();\n const walletsResponse = await currentProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));\n\n const unWallet: UNWallet | null = parseWalletsResponse(walletsResponse);\n if (!unWallet) return;\n setCurrentUNWallet(unWallet);\n return;\n } catch (error) {\n return Promise.reject(error);\n }\n };\n\n getCardWalletData();\n\n }, [cardId]);\n\n return {\n currentUNWallet\n };\n\n};\n\nconst parseWalletsResponse = (walletsResponse: string): UNWallet | null => {\n try {\n const parsedWalletsResponse = JSON.parse(walletsResponse);\n const wallets = parsedWalletsResponse.wallets;\n\n if (!wallets) return null;\n if (wallets[0].code === UNWalletCode.Apple) {\n return ({ name: UNWalletName.Apple, code: UNWalletCode.Apple, status: wallets[0].status });\n } else {\n const googleWallet = wallets.filter((wallet: { name: UNWalletName }) => {\n return wallet.name === UNWalletName.Google;\n });\n if (!googleWallet) return null;\n return ({ name: UNWalletName.Google, code: UNWalletCode.Google, status: googleWallet[0].status });\n }\n } catch (error) {\n throw new Error('Error parsing wallet response');\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AAMO,MAAMI,aAAa,GAAIC,MAAc,IAAK;EAC/C,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAG,IAAAC,eAAQ,GAAY;EAElE,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,mBAAmB,GAAG,MAAAA,CAAA,KAAY;MACtC,MAAMC,GAAG,GAAGC,uBAAO,CAACC,MAAM,EAAE;MAC5B,MAAMC,aAAa,GAAGF,uBAAO,CAACG,gBAAgB,EAAE;MAChD,IAAI,CAACJ,GAAG,IAAI,CAACG,aAAa,EAAE;MAE5B,MAAME,gBAAgB,GAAG,MAAM,IAAAC,8CAAsB,EAACH,aAAa,EAAET,MAAM,EAAEM,GAAG,CAAC;MACjF,OAAOK,gBAAgB;IACzB,CAAC;IAED,MAAME,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpC,MAAMC,yBAAyB,GAAGP,uBAAO,CAACQ,sBAAsB,EAAE;MAClE,IAAI,CAACD,yBAAyB,EAAE;MAChC,IAAI;QACF,MAAMH,gBAAgB,GAAG,MAAMN,mBAAmB,EAAE;QACpD,MAAMW,eAAe,GAAG,MAAMF,yBAAyB,CAACG,gBAAgB,CAACC,IAAI,CAACC,SAAS,CAAC;UAAEC,UAAU,EAAET;QAAiB,CAAC,CAAC,CAAC;QAE1H,MAAMU,QAAyB,GAAGC,oBAAoB,CAACN,eAAe,CAAC;QACvE,IAAI,CAACK,QAAQ,EAAE;QACfnB,kBAAkB,CAACmB,QAAQ,CAAC;QAC5B;MACF,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,OAAOC,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;MAC9B;IACF,CAAC;IAEDV,iBAAiB,EAAE;EAErB,CAAC,EAAE,CAACb,MAAM,CAAC,CAAC;EAEZ,OAAO;IACLC;EACF,CAAC;AAEH,CAAC;AAACyB,OAAA,CAAA3B,aAAA,GAAAA,aAAA;AAEF,MAAMuB,oBAAoB,GAAIN,eAAuB,IAAsB;EACzE,IAAI;IACF,MAAMW,qBAAqB,GAAGT,IAAI,CAACU,KAAK,CAACZ,eAAe,CAAC;IACzD,MAAMa,OAAO,GAAGF,qBAAqB,CAACE,OAAO;IAE7C,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;IACzB,IAAIA,OAAO,CAAC,CAAC,CAAC,CAACC,IAAI,KAAKC,oBAAY,CAACC,KAAK,EAAE;MAC1C,OAAQ;QAAEC,IAAI,EAAEC,oBAAY,CAACF,KAAK;QAAEF,IAAI,EAAEC,oBAAY,CAACC,KAAK;QAAEG,MAAM,EAAEN,OAAO,CAAC,CAAC,CAAC,CAACM;MAAO,CAAC;IAC3F,CAAC,MAAM;MACL,MAAMC,YAAY,GAAGP,OAAO,CAACQ,MAAM,CAAEC,MAA8B,IAAK;QACtE,OAAOA,MAAM,CAACL,IAAI,KAAKC,oBAAY,CAACK,MAAM;MAC5C,CAAC,CAAC;MACF,IAAI,CAACH,YAAY,EAAE,OAAO,IAAI;MAC9B,OAAQ;QAAEH,IAAI,EAAEC,oBAAY,CAACK,MAAM;QAAET,IAAI,EAAEC,oBAAY,CAACQ,MAAM;QAAEJ,MAAM,EAAEC,YAAY,CAAC,CAAC,CAAC,CAACD;MAAO,CAAC;IAClG;EACF,CAAC,CAAC,OAAOZ,KAAK,EAAE;IACd,MAAM,IAAIiB,KAAK,CAAC,+BAA+B,CAAC;EAClD;AACF,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFontFacesString = void 0;
|
|
7
|
+
var _reactNative = require("react-native");
|
|
8
|
+
const getUrl = source => {
|
|
9
|
+
if (_reactNative.Platform.OS == 'ios') {
|
|
10
|
+
return `url('${source.fileName}')`;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// Handle '/' of dir Relative path
|
|
14
|
+
let relativeDirPath = source.assetDirRelativePath;
|
|
15
|
+
if (source.assetDirRelativePath[-1] !== '/') {
|
|
16
|
+
relativeDirPath = `${source.assetDirRelativePath}/`;
|
|
17
|
+
}
|
|
18
|
+
if (source.assetDirRelativePath[0] !== '/') {
|
|
19
|
+
relativeDirPath = `/${source.assetDirRelativePath}`;
|
|
20
|
+
}
|
|
21
|
+
return `url('file:///android_asset${relativeDirPath}${source.fileName}')`;
|
|
22
|
+
};
|
|
23
|
+
const getFontFace = (fontFamily, fontWeight, sources) => {
|
|
24
|
+
const numOfSources = sources.length;
|
|
25
|
+
const sourcesString = sources.map((source, index) => {
|
|
26
|
+
const suffix = index === numOfSources - 1 ? ';' : ',';
|
|
27
|
+
const url = getUrl(source);
|
|
28
|
+
const format = source !== null && source !== void 0 && source.format ? `format('${source.format}')` : '';
|
|
29
|
+
return `${url} ${format}${suffix}`;
|
|
30
|
+
}).join('\n');
|
|
31
|
+
return `
|
|
32
|
+
@font-face {
|
|
33
|
+
font-family: '${fontFamily}';
|
|
34
|
+
src: ${sourcesString}
|
|
35
|
+
font-weight: ${fontWeight.valueOf()};
|
|
36
|
+
}
|
|
37
|
+
`;
|
|
38
|
+
};
|
|
39
|
+
const getFontFacesString = fonts => {
|
|
40
|
+
if (!fonts) return '';
|
|
41
|
+
const fontFaces = [];
|
|
42
|
+
|
|
43
|
+
// Iterate over all the fonts and their variants
|
|
44
|
+
// create font-face for each variant
|
|
45
|
+
Object.entries(fonts).forEach(_ref => {
|
|
46
|
+
let [familyName, familyFonts] = _ref;
|
|
47
|
+
familyFonts.forEach(fontData => {
|
|
48
|
+
fontFaces.push(getFontFace(familyName, fontData.fontWeight, fontData.sources));
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
// Combine all the font faces into a single string
|
|
53
|
+
return fontFaces.join('\n');
|
|
54
|
+
};
|
|
55
|
+
exports.getFontFacesString = getFontFacesString;
|
|
56
|
+
//# sourceMappingURL=fontFaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactNative","require","getUrl","source","Platform","OS","fileName","relativeDirPath","assetDirRelativePath","getFontFace","fontFamily","fontWeight","sources","numOfSources","length","sourcesString","map","index","suffix","url","format","join","valueOf","getFontFacesString","fonts","fontFaces","Object","entries","forEach","_ref","familyName","familyFonts","fontData","push","exports"],"sources":["fontFaces.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport type { FontWeight, UNFonts, UNFontSource, UNFontData } from '../../types/shared/fonts.types';\n\nconst getUrl = (source: UNFontSource): string => {\n if (Platform.OS == 'ios') {\n return `url('${source.fileName}')`;\n }\n\n // Handle '/' of dir Relative path\n let relativeDirPath = source.assetDirRelativePath;\n if (source.assetDirRelativePath[-1] !== '/') {\n relativeDirPath = `${source.assetDirRelativePath}/`;\n }\n if (source.assetDirRelativePath[0] !== '/') {\n relativeDirPath = `/${source.assetDirRelativePath}`;\n }\n\n return `url('file:///android_asset${relativeDirPath}${source.fileName}')`;\n};\nconst getFontFace = (fontFamily: string, fontWeight: FontWeight, sources: UNFontSource[]): string => {\n const numOfSources = sources.length;\n\n const sourcesString = sources\n .map((source, index) => {\n const suffix = index === numOfSources - 1 ? ';' : ',';\n const url = getUrl(source);\n const format = source?.format ? `format('${source.format}')` : '';\n return `${url} ${format}${suffix}`;\n })\n .join('\\n');\n\n return `\n @font-face {\n font-family: '${fontFamily}';\n src: ${sourcesString}\n font-weight: ${fontWeight.valueOf()};\n }\n `;\n};\n\nexport const getFontFacesString = (fonts?: UNFonts): string => {\n if (!fonts) return '';\n\n const fontFaces: string[] = [];\n\n // Iterate over all the fonts and their variants\n // create font-face for each variant\n Object.entries(fonts).forEach(([familyName, familyFonts]) => {\n familyFonts.forEach((fontData: UNFontData) => {\n fontFaces.push(getFontFace(familyName, fontData.fontWeight, fontData.sources));\n });\n });\n\n // Combine all the font faces into a single string\n return fontFaces.join('\\n');\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAGA,MAAMC,MAAM,GAAIC,MAAoB,IAAa;EAC/C,IAAIC,qBAAQ,CAACC,EAAE,IAAI,KAAK,EAAE;IACxB,OAAQ,QAAOF,MAAM,CAACG,QAAS,IAAG;EACpC;;EAEA;EACA,IAAIC,eAAe,GAAGJ,MAAM,CAACK,oBAAoB;EACjD,IAAIL,MAAM,CAACK,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAC3CD,eAAe,GAAI,GAAEJ,MAAM,CAACK,oBAAqB,GAAE;EACrD;EACA,IAAIL,MAAM,CAACK,oBAAoB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAC1CD,eAAe,GAAI,IAAGJ,MAAM,CAACK,oBAAqB,EAAC;EACrD;EAEA,OAAQ,6BAA4BD,eAAgB,GAAEJ,MAAM,CAACG,QAAS,IAAG;AAC3E,CAAC;AACD,MAAMG,WAAW,GAAGA,CAACC,UAAkB,EAAEC,UAAsB,EAAEC,OAAuB,KAAa;EACnG,MAAMC,YAAY,GAAGD,OAAO,CAACE,MAAM;EAEnC,MAAMC,aAAa,GAAGH,OAAO,CAC1BI,GAAG,CAAC,CAACb,MAAM,EAAEc,KAAK,KAAK;IACtB,MAAMC,MAAM,GAAGD,KAAK,KAAKJ,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;IACrD,MAAMM,GAAG,GAAGjB,MAAM,CAACC,MAAM,CAAC;IAC1B,MAAMiB,MAAM,GAAGjB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEiB,MAAM,GAAI,WAAUjB,MAAM,CAACiB,MAAO,IAAG,GAAG,EAAE;IACjE,OAAQ,GAAED,GAAI,IAAGC,MAAO,GAAEF,MAAO,EAAC;EACpC,CAAC,CAAC,CACDG,IAAI,CAAC,IAAI,CAAC;EAEb,OAAQ;AACV;AACA,sBAAsBX,UAAW;AACjC,aAAaK,aAAc;AAC3B,qBAAqBJ,UAAU,CAACW,OAAO,EAAG;AAC1C;AACA,GAAG;AACH,CAAC;AAEM,MAAMC,kBAAkB,GAAIC,KAAe,IAAa;EAC7D,IAAI,CAACA,KAAK,EAAE,OAAO,EAAE;EAErB,MAAMC,SAAmB,GAAG,EAAE;;EAE9B;EACA;EACAC,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,CAACI,OAAO,CAACC,IAAA,IAA+B;IAAA,IAA9B,CAACC,UAAU,EAAEC,WAAW,CAAC,GAAAF,IAAA;IACtDE,WAAW,CAACH,OAAO,CAAEI,QAAoB,IAAK;MAC5CP,SAAS,CAACQ,IAAI,CAACxB,WAAW,CAACqB,UAAU,EAAEE,QAAQ,CAACrB,UAAU,EAAEqB,QAAQ,CAACpB,OAAO,CAAC,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;EACA,OAAOa,SAAS,CAACJ,IAAI,CAAC,IAAI,CAAC;AAC7B,CAAC;AAACa,OAAA,CAAAX,kBAAA,GAAAA,kBAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getFontName = void 0;
|
|
7
|
+
var _shared = require("../types/shared");
|
|
8
|
+
var _UnitSdkManager = require("../unitSdkManager/UnitSdkManager");
|
|
9
|
+
const getFontWeightName = (familyFonts, fontWeight) => {
|
|
10
|
+
/**
|
|
11
|
+
* Given family variants and the required weight
|
|
12
|
+
* Return the closet font that defined by the client.
|
|
13
|
+
*/
|
|
14
|
+
if (!fontWeight || fontWeight === 'normal') return 'Regular';
|
|
15
|
+
if (fontWeight === 'bold') return 'Bold';
|
|
16
|
+
const fontWeightNumber = Number(fontWeight);
|
|
17
|
+
|
|
18
|
+
// Select the closet variant
|
|
19
|
+
let selectedFontWeight = _shared.FontWeight.Regular.valueOf();
|
|
20
|
+
let minDistance = 1000;
|
|
21
|
+
familyFonts.forEach(fontData => {
|
|
22
|
+
const currDistance = Math.abs(fontData.fontWeight - fontWeightNumber);
|
|
23
|
+
if (currDistance < minDistance) {
|
|
24
|
+
minDistance = currDistance;
|
|
25
|
+
selectedFontWeight = fontData.fontWeight.valueOf();
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
|
|
29
|
+
// FontWeight to String
|
|
30
|
+
switch (selectedFontWeight) {
|
|
31
|
+
case _shared.FontWeight.Thin:
|
|
32
|
+
return 'Thin';
|
|
33
|
+
case _shared.FontWeight.ExtraLight:
|
|
34
|
+
return 'ExtraLight';
|
|
35
|
+
case _shared.FontWeight.Light:
|
|
36
|
+
return 'Light';
|
|
37
|
+
case _shared.FontWeight.Regular:
|
|
38
|
+
return 'Regular';
|
|
39
|
+
case _shared.FontWeight.Medium:
|
|
40
|
+
return 'Medium';
|
|
41
|
+
case _shared.FontWeight.SemiBold:
|
|
42
|
+
return 'SemiBold';
|
|
43
|
+
case _shared.FontWeight.Bold:
|
|
44
|
+
return 'Bold';
|
|
45
|
+
case _shared.FontWeight.ExtraBold:
|
|
46
|
+
return 'ExtraBold';
|
|
47
|
+
case _shared.FontWeight.Black:
|
|
48
|
+
return 'Black';
|
|
49
|
+
default:
|
|
50
|
+
return 'Regular';
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const getFontName = (fontFamily, fontWeight) => {
|
|
54
|
+
/*
|
|
55
|
+
* Get the font family name and the font weight name from the THEME object.
|
|
56
|
+
* Then, return a possible font.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
const fontsInApp = _UnitSdkManager.UnitSDK.getFonts();
|
|
60
|
+
if (!fontsInApp) {
|
|
61
|
+
throw new Error('Fonts are not found in the app');
|
|
62
|
+
}
|
|
63
|
+
const familyFonts = fontsInApp[fontFamily];
|
|
64
|
+
if (!familyFonts) {
|
|
65
|
+
throw new Error(`Font family ${fontFamily} not found in the app's fonts`);
|
|
66
|
+
}
|
|
67
|
+
const fontWeightName = getFontWeightName(familyFonts, fontWeight);
|
|
68
|
+
return `${fontFamily}-${fontWeightName}`;
|
|
69
|
+
};
|
|
70
|
+
exports.getFontName = getFontName;
|
|
71
|
+
//# sourceMappingURL=fonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_shared","require","_UnitSdkManager","getFontWeightName","familyFonts","fontWeight","fontWeightNumber","Number","selectedFontWeight","FontWeight","Regular","valueOf","minDistance","forEach","fontData","currDistance","Math","abs","Thin","ExtraLight","Light","Medium","SemiBold","Bold","ExtraBold","Black","getFontName","fontFamily","fontsInApp","UnitSDK","getFonts","Error","fontWeightName","exports"],"sources":["fonts.ts"],"sourcesContent":["import { FontWeight, UNFontData } from '../types/shared';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\n\nconst getFontWeightName = (familyFonts: UNFontData[], fontWeight?: number | string) => {\n /**\n * Given family variants and the required weight\n * Return the closet font that defined by the client.\n */\n if (!fontWeight || fontWeight === 'normal') return 'Regular';\n\n if (fontWeight === 'bold') return 'Bold';\n\n const fontWeightNumber = Number(fontWeight);\n\n // Select the closet variant\n let selectedFontWeight = FontWeight.Regular.valueOf();\n let minDistance = 1000;\n\n familyFonts.forEach((fontData: UNFontData) => {\n const currDistance = Math.abs(fontData.fontWeight - fontWeightNumber);\n if (currDistance < minDistance) {\n minDistance = currDistance;\n selectedFontWeight = fontData.fontWeight.valueOf();\n }\n });\n\n // FontWeight to String\n switch (selectedFontWeight) {\n case FontWeight.Thin:\n return 'Thin';\n case FontWeight.ExtraLight:\n return 'ExtraLight';\n case FontWeight.Light:\n return 'Light';\n case FontWeight.Regular:\n return 'Regular';\n case FontWeight.Medium:\n return 'Medium';\n case FontWeight.SemiBold:\n return 'SemiBold';\n case FontWeight.Bold:\n return 'Bold';\n case FontWeight.ExtraBold:\n return 'ExtraBold';\n case FontWeight.Black:\n return 'Black';\n default:\n return 'Regular';\n }\n};\n\nexport const getFontName = (fontFamily: string, fontWeight: number | string): string => {\n /*\n * Get the font family name and the font weight name from the THEME object.\n * Then, return a possible font.\n */\n\n const fontsInApp = UnitSDK.getFonts();\n if (!fontsInApp) {\n throw new Error('Fonts are not found in the app');\n }\n\n const familyFonts = fontsInApp[fontFamily];\n if (!familyFonts) {\n throw new Error(`Font family ${fontFamily} not found in the app's fonts`);\n }\n\n const fontWeightName = getFontWeightName(familyFonts, fontWeight);\n return `${fontFamily}-${fontWeightName}`;\n};\n"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AAEA,MAAME,iBAAiB,GAAGA,CAACC,WAAyB,EAAEC,UAA4B,KAAK;EACrF;AACF;AACA;AACA;EACE,IAAI,CAACA,UAAU,IAAIA,UAAU,KAAK,QAAQ,EAAE,OAAO,SAAS;EAE5D,IAAIA,UAAU,KAAK,MAAM,EAAE,OAAO,MAAM;EAExC,MAAMC,gBAAgB,GAAGC,MAAM,CAACF,UAAU,CAAC;;EAE3C;EACA,IAAIG,kBAAkB,GAAGC,kBAAU,CAACC,OAAO,CAACC,OAAO,EAAE;EACrD,IAAIC,WAAW,GAAG,IAAI;EAEtBR,WAAW,CAACS,OAAO,CAAEC,QAAoB,IAAK;IAC5C,MAAMC,YAAY,GAAGC,IAAI,CAACC,GAAG,CAACH,QAAQ,CAACT,UAAU,GAAGC,gBAAgB,CAAC;IACrE,IAAIS,YAAY,GAAGH,WAAW,EAAE;MAC9BA,WAAW,GAAGG,YAAY;MAC1BP,kBAAkB,GAAGM,QAAQ,CAACT,UAAU,CAACM,OAAO,EAAE;IACpD;EACF,CAAC,CAAC;;EAEF;EACA,QAAQH,kBAAkB;IACxB,KAAKC,kBAAU,CAACS,IAAI;MAClB,OAAO,MAAM;IACf,KAAMT,kBAAU,CAACU,UAAU;MACzB,OAAO,YAAY;IACrB,KAAKV,kBAAU,CAACW,KAAK;MACnB,OAAO,OAAO;IAChB,KAAKX,kBAAU,CAACC,OAAO;MACrB,OAAO,SAAS;IAClB,KAAKD,kBAAU,CAACY,MAAM;MACpB,OAAO,QAAQ;IACjB,KAAKZ,kBAAU,CAACa,QAAQ;MACtB,OAAO,UAAU;IACnB,KAAKb,kBAAU,CAACc,IAAI;MAClB,OAAO,MAAM;IACf,KAAKd,kBAAU,CAACe,SAAS;MACvB,OAAO,WAAW;IACpB,KAAKf,kBAAU,CAACgB,KAAK;MACnB,OAAO,OAAO;IAChB;MACE,OAAO,SAAS;EAAC;AAEvB,CAAC;AAEM,MAAMC,WAAW,GAAGA,CAACC,UAAkB,EAAEtB,UAA2B,KAAa;EACtF;AACF;AACA;AACA;;EAEE,MAAMuB,UAAU,GAAGC,uBAAO,CAACC,QAAQ,EAAE;EACrC,IAAI,CAACF,UAAU,EAAE;IACf,MAAM,IAAIG,KAAK,CAAC,gCAAgC,CAAC;EACnD;EAEA,MAAM3B,WAAW,GAAGwB,UAAU,CAACD,UAAU,CAAC;EAC1C,IAAI,CAACvB,WAAW,EAAE;IAChB,MAAM,IAAI2B,KAAK,CAAE,eAAcJ,UAAW,+BAA8B,CAAC;EAC3E;EAEA,MAAMK,cAAc,GAAG7B,iBAAiB,CAACC,WAAW,EAAEC,UAAU,CAAC;EACjE,OAAQ,GAAEsB,UAAW,IAAGK,cAAe,EAAC;AAC1C,CAAC;AAACC,OAAA,CAAAP,WAAA,GAAAA,WAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.FontWeight = void 0;
|
|
7
|
+
let FontWeight;
|
|
8
|
+
exports.FontWeight = FontWeight;
|
|
9
|
+
(function (FontWeight) {
|
|
10
|
+
FontWeight[FontWeight["Thin"] = 100] = "Thin";
|
|
11
|
+
FontWeight[FontWeight["ExtraLight"] = 200] = "ExtraLight";
|
|
12
|
+
FontWeight[FontWeight["Light"] = 300] = "Light";
|
|
13
|
+
FontWeight[FontWeight["Regular"] = 400] = "Regular";
|
|
14
|
+
FontWeight[FontWeight["Medium"] = 500] = "Medium";
|
|
15
|
+
FontWeight[FontWeight["SemiBold"] = 600] = "SemiBold";
|
|
16
|
+
FontWeight[FontWeight["Bold"] = 700] = "Bold";
|
|
17
|
+
FontWeight[FontWeight["ExtraBold"] = 800] = "ExtraBold";
|
|
18
|
+
FontWeight[FontWeight["Black"] = 900] = "Black";
|
|
19
|
+
})(FontWeight || (exports.FontWeight = FontWeight = {}));
|
|
20
|
+
//# sourceMappingURL=fonts.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["FontWeight","exports"],"sources":["fonts.types.ts"],"sourcesContent":["export type UNFonts = {\n [fontFamily: string]: UNFontData[];\n}\n\nexport type UNFontData = {\n // Using 'field' instead of 'key' to account for potential variants unrelated to font weight.\n fontWeight: FontWeight;\n sources: UNFontSource[];\n}\n\nexport type UNFontSource = {\n // using the fileName for iOS and relative path for Android\n fileName: string;\n assetDirRelativePath: string;\n format?: string;\n}\n\nexport enum FontWeight {\n Thin = 100,\n ExtraLight = 200,\n Light = 300,\n Regular = 400,\n Medium = 500,\n SemiBold = 600,\n Bold = 700,\n ExtraBold = 800,\n Black = 900\n}\n"],"mappings":";;;;;;IAiBYA,UAAU;AAAAC,OAAA,CAAAD,UAAA,GAAAA,UAAA;AAAA,WAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;EAAVA,UAAU,CAAVA,UAAU;AAAA,GAAVA,UAAU,KAAAC,OAAA,CAAAD,UAAA,GAAVA,UAAU"}
|
|
@@ -80,4 +80,26 @@ Object.keys(_checkDeposit).forEach(function (key) {
|
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
82
|
});
|
|
83
|
+
var _activity = require("./activity.types");
|
|
84
|
+
Object.keys(_activity).forEach(function (key) {
|
|
85
|
+
if (key === "default" || key === "__esModule") return;
|
|
86
|
+
if (key in exports && exports[key] === _activity[key]) return;
|
|
87
|
+
Object.defineProperty(exports, key, {
|
|
88
|
+
enumerable: true,
|
|
89
|
+
get: function () {
|
|
90
|
+
return _activity[key];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
var _fonts = require("./fonts.types");
|
|
95
|
+
Object.keys(_fonts).forEach(function (key) {
|
|
96
|
+
if (key === "default" || key === "__esModule") return;
|
|
97
|
+
if (key in exports && exports[key] === _fonts[key]) return;
|
|
98
|
+
Object.defineProperty(exports, key, {
|
|
99
|
+
enumerable: true,
|
|
100
|
+
get: function () {
|
|
101
|
+
return _fonts[key];
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
});
|
|
83
105
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bookPayment","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_card","_onLoadResponse","_achCredit","_payments","_account","_checkDeposit"],"sources":["index.ts"],"sourcesContent":["export * from './bookPayment.types';\nexport * from './card.types';\nexport * from './onLoadResponse.types';\nexport * from './achCredit.types';\nexport * from './payments.types';\nexport * from './account.types';\nexport * from './checkDeposit.types';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_bookPayment","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get","_card","_onLoadResponse","_achCredit","_payments","_account","_checkDeposit","_activity","_fonts"],"sources":["index.ts"],"sourcesContent":["export * from './bookPayment.types';\nexport * from './card.types';\nexport * from './onLoadResponse.types';\nexport * from './achCredit.types';\nexport * from './payments.types';\nexport * from './account.types';\nexport * from './checkDeposit.types';\nexport * from './activity.types';\nexport * from './fonts.types';\n"],"mappings":";;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,YAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,YAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,YAAA,CAAAK,GAAA;IAAA;EAAA;AAAA;AACA,IAAAK,KAAA,GAAAT,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAO,KAAA,EAAAN,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAK,KAAA,CAAAL,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,KAAA,CAAAL,GAAA;IAAA;EAAA;AAAA;AACA,IAAAM,eAAA,GAAAV,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAQ,eAAA,EAAAP,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAM,eAAA,CAAAN,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAE,eAAA,CAAAN,GAAA;IAAA;EAAA;AAAA;AACA,IAAAO,UAAA,GAAAX,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAS,UAAA,EAAAR,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAO,UAAA,CAAAP,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAG,UAAA,CAAAP,GAAA;IAAA;EAAA;AAAA;AACA,IAAAQ,SAAA,GAAAZ,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAU,SAAA,EAAAT,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAQ,SAAA,CAAAR,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAI,SAAA,CAAAR,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,GAAAb,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAK,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AACA,IAAAU,aAAA,GAAAd,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAY,aAAA,EAAAX,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAU,aAAA,CAAAV,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAM,aAAA,CAAAV,GAAA;IAAA;EAAA;AAAA;AACA,IAAAW,SAAA,GAAAf,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAa,SAAA,EAAAZ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAW,SAAA,CAAAX,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAO,SAAA,CAAAX,GAAA;IAAA;EAAA;AAAA;AACA,IAAAY,MAAA,GAAAhB,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAc,MAAA,EAAAb,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAY,MAAA,CAAAZ,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAQ,MAAA,CAAAZ,GAAA;IAAA;EAAA;AAAA"}
|
|
@@ -30,14 +30,16 @@ _defineProperty(UnitSDK, "env", void 0);
|
|
|
30
30
|
_defineProperty(UnitSDK, "customerToken", void 0);
|
|
31
31
|
_defineProperty(UnitSDK, "theme", void 0);
|
|
32
32
|
_defineProperty(UnitSDK, "language", void 0);
|
|
33
|
+
_defineProperty(UnitSDK, "fonts", void 0);
|
|
33
34
|
_defineProperty(UnitSDK, "signedNonce", void 0);
|
|
34
35
|
_defineProperty(UnitSDK, "pushProvisionModule", void 0);
|
|
35
36
|
_defineProperty(UnitSDK, "ui", void 0);
|
|
36
|
-
_defineProperty(UnitSDK, "init", async (env, theme, language) => {
|
|
37
|
+
_defineProperty(UnitSDK, "init", async (env, theme, language, fonts) => {
|
|
37
38
|
try {
|
|
38
39
|
UnitSDK.env = env;
|
|
39
40
|
UnitSDK.theme = theme;
|
|
40
41
|
UnitSDK.language = language;
|
|
42
|
+
UnitSDK.fonts = fonts;
|
|
41
43
|
UnitSDK.ui = new _unitUiManager.UnitUiManager();
|
|
42
44
|
await (0, _UnitSdk.fetchUnitScript)();
|
|
43
45
|
_EventBus.default.Instance.event(_sdkMessage.SDKMessage.IS_SDK_INITIALIZED, {});
|
|
@@ -63,6 +65,9 @@ _defineProperty(UnitSDK, "getTheme", () => {
|
|
|
63
65
|
_defineProperty(UnitSDK, "getLanguage", () => {
|
|
64
66
|
return UnitSDK.language;
|
|
65
67
|
});
|
|
68
|
+
_defineProperty(UnitSDK, "getFonts", () => {
|
|
69
|
+
return UnitSDK.fonts;
|
|
70
|
+
});
|
|
66
71
|
_defineProperty(UnitSDK, "getSignedNonce", () => {
|
|
67
72
|
return UnitSDK.signedNonce;
|
|
68
73
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_EventBus","_interopRequireDefault","require","_sdkMessage","_UnitSdk","_unitUiManager","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","UNEnvironment","exports","UNIT_WEB_VERSION","UNIT_SCRIPT_URL","sandbox","production","UnitSDK","env","theme","language","ui","UnitUiManager","fetchUnitScript","EventBus","Instance","event","SDKMessage","IS_SDK_INITIALIZED","e","console","log","pushProvisionModule","signedNonce","customerToken"],"sources":["UnitSdkManager.ts"],"sourcesContent":["import type { NativeModules } from 'react-native';\nimport EventBus from '../helpers/EventBus';\nimport { SDKMessage } from '../messages/nativeMessages/sdkMessage';\nimport { fetchUnitScript } from './UnitSdk.api';\nimport { UnitUiManager } from './unitUiManager/unitUiManager';\n\nexport enum UNEnvironment {\n sandbox = 'sandbox',\n production = 'production'\n}\n\nconst UNIT_WEB_VERSION = '1';\n\nexport const UNIT_SCRIPT_URL = {\n [UNEnvironment.sandbox]: `https://ui.s.unit.sh/release/${UNIT_WEB_VERSION}/components.js`,\n [UNEnvironment.production]: `https://ui.unit.co/release/${UNIT_WEB_VERSION}/components.js`\n};\nexport class UnitSDK {\n protected static env?: UNEnvironment;\n protected static customerToken?: string;\n protected static theme?: string;\n protected static language?: string;\n\n protected static signedNonce?: string;\n protected static pushProvisionModule?: typeof NativeModules;\n\n public static ui: UnitUiManager;\n\n public static init = async (env: UNEnvironment, theme?: string, language?: string) => {\n try {\n this.env = env;\n this.theme = theme;\n this.language = language;\n this.ui = new UnitUiManager();\n await fetchUnitScript();\n EventBus.Instance.event(SDKMessage.IS_SDK_INITIALIZED, {});\n } catch (e) {\n console.log(e);\n }\n };\n\n public static setPushProvisioningModule = (pushProvisionModule: typeof NativeModules) => {\n this.pushProvisionModule = pushProvisionModule;\n };\n\n public static getPushProvisionModule = () => {\n return this.pushProvisionModule;\n };\n\n public static setSignedNonce = (signedNonce: string) => {\n this.signedNonce = signedNonce;\n };\n\n public static getEnv = () => {\n return this.env;\n };\n\n public static getTheme = () => {\n return this.theme;\n };\n\n public static getLanguage = () => {\n return this.language;\n };\n\n public static getSignedNonce = () => {\n return this.signedNonce;\n };\n\n public static setCustomerToken = (customerToken: string) => {\n this.customerToken = customerToken;\n };\n\n public static getCustomerToken = () => {\n return this.customerToken;\n };\n}\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,cAAA,GAAAH,OAAA;AAA8D,SAAAD,uBAAAK,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,GAAA,QAAAR,GAAA,GAAAS,YAAA,CAAAD,GAAA,2BAAAR,GAAA,gBAAAA,GAAA,GAAAU,MAAA,CAAAV,GAAA;AAAA,SAAAS,aAAAE,KAAA,EAAAC,IAAA,eAAAD,KAAA,iBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAK,IAAA,CAAAP,KAAA,EAAAC,IAAA,2BAAAK,GAAA,sBAAAA,GAAA,YAAAE,SAAA,4DAAAP,IAAA,gBAAAF,MAAA,GAAAU,MAAA,EAAAT,KAAA;AAAA,
|
|
1
|
+
{"version":3,"names":["_EventBus","_interopRequireDefault","require","_sdkMessage","_UnitSdk","_unitUiManager","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","UNEnvironment","exports","UNIT_WEB_VERSION","UNIT_SCRIPT_URL","sandbox","production","UnitSDK","env","theme","language","fonts","ui","UnitUiManager","fetchUnitScript","EventBus","Instance","event","SDKMessage","IS_SDK_INITIALIZED","e","console","log","pushProvisionModule","signedNonce","customerToken"],"sources":["UnitSdkManager.ts"],"sourcesContent":["import type { NativeModules } from 'react-native';\nimport EventBus from '../helpers/EventBus';\nimport { SDKMessage } from '../messages/nativeMessages/sdkMessage';\nimport { fetchUnitScript } from './UnitSdk.api';\nimport { UnitUiManager } from './unitUiManager/unitUiManager';\nimport type { UNFonts } from '../types/shared/fonts.types';\n\nexport enum UNEnvironment {\n sandbox = 'sandbox',\n production = 'production'\n}\n\nconst UNIT_WEB_VERSION = '1';\n\nexport const UNIT_SCRIPT_URL = {\n [UNEnvironment.sandbox]: `https://ui.s.unit.sh/release/${UNIT_WEB_VERSION}/components.js`,\n [UNEnvironment.production]: `https://ui.unit.co/release/${UNIT_WEB_VERSION}/components.js`\n};\nexport class UnitSDK {\n protected static env?: UNEnvironment;\n protected static customerToken?: string;\n protected static theme?: string;\n protected static language?: string;\n protected static fonts?: UNFonts;\n\n protected static signedNonce?: string;\n protected static pushProvisionModule?: typeof NativeModules;\n\n public static ui: UnitUiManager;\n\n public static init = async (env: UNEnvironment, theme?: string, language?: string, fonts?: UNFonts) => {\n try {\n this.env = env;\n this.theme = theme;\n this.language = language;\n this.fonts = fonts;\n\n this.ui = new UnitUiManager();\n await fetchUnitScript();\n EventBus.Instance.event(SDKMessage.IS_SDK_INITIALIZED, {});\n } catch (e) {\n console.log(e);\n }\n };\n\n public static setPushProvisioningModule = (pushProvisionModule: typeof NativeModules) => {\n this.pushProvisionModule = pushProvisionModule;\n };\n\n public static getPushProvisionModule = () => {\n return this.pushProvisionModule;\n };\n\n public static setSignedNonce = (signedNonce: string) => {\n this.signedNonce = signedNonce;\n };\n\n public static getEnv = () => {\n return this.env;\n };\n\n public static getTheme = () => {\n return this.theme;\n };\n\n public static getLanguage = () => {\n return this.language;\n };\n\n public static getFonts = () => {\n return this.fonts;\n };\n\n public static getSignedNonce = () => {\n return this.signedNonce;\n };\n\n public static setCustomerToken = (customerToken: string) => {\n this.customerToken = customerToken;\n };\n\n public static getCustomerToken = () => {\n return this.customerToken;\n };\n}\n"],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ var _UnitSdk = require("../unitSdkManager/UnitSdk.api");
|
|
|
16
16
|
var _UnitSdkManager = require("../unitSdkManager/UnitSdkManager");
|
|
17
17
|
var _sdkMessage = require("../messages/nativeMessages/sdkMessage");
|
|
18
18
|
var _WebComponent = require("./WebComponent.utils");
|
|
19
|
+
var _fontFaces = require("../scripts/html/fontFaces");
|
|
19
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
20
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
21
22
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -71,7 +72,9 @@ const WebComponent = /*#__PURE__*/_react.default.forwardRef(function WebComponen
|
|
|
71
72
|
const themeParam = componentCurrentTheme ? ` theme="${componentCurrentTheme}"` : '';
|
|
72
73
|
const languageParam = componentCurrentLanguage ? ` language="${componentCurrentLanguage}"` : '';
|
|
73
74
|
const componentParams = (props.params || '') + themeParam + languageParam;
|
|
75
|
+
const fontFaces = (0, _fontFaces.getFontFacesString)(_UnitSdkManager.UnitSDK.getFonts());
|
|
74
76
|
let newHtml = _html.default.replace(_html.HTML_PLACEHOLDER.BODY, (0, _bodyHtml.getHtmlBody)(props.type.valueOf(), componentParams, props.presentationMode));
|
|
77
|
+
newHtml = newHtml.replace(_html.HTML_PLACEHOLDER.FONT_FACES, fontFaces);
|
|
75
78
|
newHtml = newHtml.replace(_html.HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');
|
|
76
79
|
newHtml = newHtml.replace(_html.HTML_PLACEHOLDER.WINDOW_PARAMS, props.windowParams || '');
|
|
77
80
|
setSourceHtml(newHtml);
|
|
@@ -120,7 +123,7 @@ const WebComponent = /*#__PURE__*/_react.default.forwardRef(function WebComponen
|
|
|
120
123
|
},
|
|
121
124
|
source: {
|
|
122
125
|
html: sourceHtml,
|
|
123
|
-
baseUrl: `https://${baseName}`
|
|
126
|
+
baseUrl: _reactNative.Platform.OS === 'android' ? `https://${baseName}` : ''
|
|
124
127
|
},
|
|
125
128
|
onMessage: onMessage,
|
|
126
129
|
androidHardwareAccelerationDisabled: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_EventBus","_interopRequireDefault","_html","_unitMessages","_listenerToBus","_bodyHtml","_UnitSdk","_UnitSdkManager","_sdkMessage","_WebComponent","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAppInfo","NativeModules","WebComponent","React","forwardRef","props","webRef","unitScript","setUnitScript","useState","globalUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","UnitSDK","getTheme","componentCurrentLanguage","setComponentCurrentLanguage","language","getLanguage","baseName","setBaseName","updateUnitScript","data","updateInitializedParams","useListenerToBus","busEventKey","SDKMessage","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","useEffect","getAppName","Platform","OS","name","getBundleName","replace","error","console","fetchUnitScript","themeParam","languageParam","componentParams","params","newHtml","html","HTML_PLACEHOLDER","BODY","getHtmlBody","type","valueOf","presentationMode","SCRIPT_FROM_NATIVE","script","WINDOW_PARAMS","windowParams","onMessage","e","message","JSON","parse","nativeEvent","UnitMessage","UNIT_REQUEST_REFRESH","details","EventBus","Instance","event","UNIT_REQUEST_DOWNLOAD","handleRequestDownload","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","createElement","WebView","ref","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","cacheEnabled","scrollEnabled","isScrollable","nestedScrollEnabled","onScroll","overScrollMode","injectedJavaScript","style","width","flex","opacity","backgroundColor","source","baseUrl","androidHardwareAccelerationDisabled","exports"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\nimport type { PresentationMode, WebComponentType } from '../types/internal/webComponent.types';\n\nconst { UNAppInfo } = NativeModules;\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n language?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n windowParams?: string;\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const [componentCurrentLanguage, setComponentCurrentLanguage] = useState<string | undefined>(props.language ?? UnitSDK.getLanguage());\n const [baseName, setBaseName] = useState<string>();\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n setComponentCurrentLanguage(props.language ?? UnitSDK.getLanguage());\n };\n\n useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });\n useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });\n\n useEffect(() => {\n\n const getAppName = async () => {\n // For iOS, we extend the app name from the HTML to display a prettier access request message.\n // On Android, there is no request message sent from HTML.\n try {\n if (Platform.OS == 'ios') {\n const name = await UNAppInfo.getBundleName();\n setBaseName(name.replace(/ /g, '-'));\n } else { // android\n setBaseName('unit');\n }\n } catch (error: any) {\n console.error(error);\n }\n };\n\n getAppName();\n }, []);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const themeParam = componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '';\n const languageParam = componentCurrentLanguage ? ` language=\"${componentCurrentLanguage}\"` : '';\n\n const componentParams = (props.params || '') + themeParam + languageParam;\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n newHtml = newHtml.replace(HTML_PLACEHOLDER.WINDOW_PARAMS, props.windowParams || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, componentCurrentLanguage, props.script, props.windowParams]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW, {});\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n if (!baseName) {\n return null;\n }\n\n return (\n <WebView\n ref={webRef}\n originWhitelist={['*']}\n mediaPlaybackRequiresUserAction={false}\n allowsInlineMediaPlayback={true}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: '100%', flex: 1, opacity: 0.99, backgroundColor: 'transparent' }}\n source={{ html: sourceHtml, baseUrl: `https://${baseName}` }}\n onMessage={onMessage}\n androidHardwareAccelerationDisabled\n />\n );\n});\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeWebview","_EventBus","_interopRequireDefault","_html","_unitMessages","_listenerToBus","_bodyHtml","_UnitSdk","_UnitSdkManager","_sdkMessage","_WebComponent","_fontFaces","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","UNAppInfo","NativeModules","WebComponent","React","forwardRef","props","webRef","unitScript","setUnitScript","useState","globalUnitScript","sourceHtml","setSourceHtml","componentCurrentTheme","setComponentCurrentTheme","theme","UnitSDK","getTheme","componentCurrentLanguage","setComponentCurrentLanguage","language","getLanguage","baseName","setBaseName","updateUnitScript","data","updateInitializedParams","useListenerToBus","busEventKey","SDKMessage","IS_SCRIPT_FETCHED","action","IS_SDK_INITIALIZED","useEffect","getAppName","Platform","OS","name","getBundleName","replace","error","console","fetchUnitScript","themeParam","languageParam","componentParams","params","fontFaces","getFontFacesString","getFonts","newHtml","html","HTML_PLACEHOLDER","BODY","getHtmlBody","type","valueOf","presentationMode","FONT_FACES","SCRIPT_FROM_NATIVE","script","WINDOW_PARAMS","windowParams","onMessage","e","message","JSON","parse","nativeEvent","UnitMessage","UNIT_REQUEST_REFRESH","details","EventBus","Instance","event","UNIT_REQUEST_DOWNLOAD","handleRequestDownload","UNIT_REQUEST_CLOSE_FLOW","_onScroll","handleScroll","createElement","WebView","ref","originWhitelist","mediaPlaybackRequiresUserAction","allowsInlineMediaPlayback","cacheEnabled","scrollEnabled","isScrollable","nestedScrollEnabled","onScroll","overScrollMode","injectedJavaScript","style","width","flex","opacity","backgroundColor","source","baseUrl","androidHardwareAccelerationDisabled","exports"],"sources":["WebComponent.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport React, { useEffect, useState } from 'react';\nimport { NativeModules, Platform } from 'react-native';\nimport { WebView, WebViewMessageEvent } from 'react-native-webview';\nimport EventBus from '../helpers/EventBus';\nimport html, { HTML_PLACEHOLDER } from './html';\nimport { RequestRefreshEvent, UnitMessage, RequestDownloadEvent } from '../messages/webMessages/unitMessages';\nimport { useListenerToBus } from '../hooks/listenerToBus';\nimport { getHtmlBody } from '../scripts/html/bodyHtml';\nimport { fetchUnitScript, globalUnitScript } from '../unitSdkManager/UnitSdk.api';\nimport { UnitSDK } from '../unitSdkManager/UnitSdkManager';\nimport type { WebViewMessage } from '../messages/webMessages';\nimport { SDKMessage, SdkScriptFetched } from '../messages/nativeMessages/sdkMessage';\nimport { handleRequestDownload } from './WebComponent.utils';\nimport type { PresentationMode, WebComponentType } from '../types/internal/webComponent.types';\nimport { getFontFacesString } from '../scripts/html/fontFaces';\n\nconst { UNAppInfo } = NativeModules;\n\nexport interface WebComponentProps {\n type: WebComponentType;\n presentationMode?: PresentationMode,\n params?: string;\n theme?: string;\n language?: string;\n onMessage?: (message: WebViewMessage) => void;\n script?: string;\n isScrollable?: boolean,\n nestedScrollEnabled?: boolean,\n handleScroll?: (event: any) => void,\n windowParams?: string;\n}\n\nexport const WebComponent = React.forwardRef<WebView, WebComponentProps>(function WebComponent(props, webRef) {\n const [unitScript, setUnitScript] = useState<string | undefined>(globalUnitScript);\n const [sourceHtml, setSourceHtml] = useState<string | null>(null);\n const [componentCurrentTheme, setComponentCurrentTheme] = useState<string | undefined>(props.theme ?? UnitSDK.getTheme());\n const [componentCurrentLanguage, setComponentCurrentLanguage] = useState<string | undefined>(props.language ?? UnitSDK.getLanguage());\n const [baseName, setBaseName] = useState<string>();\n\n const updateUnitScript = (data: SdkScriptFetched) => {\n setUnitScript(data.unitScript);\n };\n\n const updateInitializedParams = () => {\n setComponentCurrentTheme(props.theme ?? UnitSDK.getTheme());\n setComponentCurrentLanguage(props.language ?? UnitSDK.getLanguage());\n };\n\n useListenerToBus({ busEventKey: SDKMessage.IS_SCRIPT_FETCHED, action: updateUnitScript });\n useListenerToBus({ busEventKey: SDKMessage.IS_SDK_INITIALIZED, action: updateInitializedParams });\n\n useEffect(() => {\n\n const getAppName = async () => {\n // For iOS, we extend the app name from the HTML to display a prettier access request message.\n // On Android, there is no request message sent from HTML.\n try {\n if (Platform.OS == 'ios') {\n const name = await UNAppInfo.getBundleName();\n setBaseName(name.replace(/ /g, '-'));\n } else { // android\n setBaseName('unit');\n }\n } catch (error: any) {\n console.error(error);\n }\n };\n\n getAppName();\n }, []);\n\n useEffect(() => {\n if (!unitScript) {\n fetchUnitScript();\n return;\n }\n\n const themeParam = componentCurrentTheme ? ` theme=\"${componentCurrentTheme}\"` : '';\n const languageParam = componentCurrentLanguage ? ` language=\"${componentCurrentLanguage}\"` : '';\n\n const componentParams = (props.params || '') + themeParam + languageParam;\n\n const fontFaces = getFontFacesString(UnitSDK.getFonts());\n\n let newHtml = html.replace(HTML_PLACEHOLDER.BODY, getHtmlBody(props.type.valueOf(), componentParams, props.presentationMode));\n newHtml = newHtml.replace(HTML_PLACEHOLDER.FONT_FACES, fontFaces);\n newHtml = newHtml.replace(HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE, props.script || '');\n newHtml = newHtml.replace(HTML_PLACEHOLDER.WINDOW_PARAMS, props.windowParams || '');\n setSourceHtml(newHtml);\n }, [props.params, unitScript, props.presentationMode, componentCurrentTheme, componentCurrentLanguage, props.script, props.windowParams]);\n\n const onMessage = (e: WebViewMessageEvent) => {\n const message = JSON.parse(e.nativeEvent.data) as WebViewMessage;\n switch (message.type) {\n case UnitMessage.UNIT_REQUEST_REFRESH:\n message.details &&\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_REFRESH, message.details as RequestRefreshEvent);\n break;\n case UnitMessage.UNIT_REQUEST_DOWNLOAD:\n message.details &&\n handleRequestDownload(message.details as RequestDownloadEvent, () => {\n EventBus.Instance.event(UnitMessage.UNIT_REQUEST_CLOSE_FLOW, {});\n });\n break;\n default:\n props.onMessage && props.onMessage(message);\n }\n };\n\n if (!sourceHtml) return null;\n\n const _onScroll = (event: any) => {\n if (props.handleScroll) {\n props.handleScroll(event);\n }\n\n return null;\n };\n\n if (!baseName) {\n return null;\n }\n\n return (\n <WebView\n ref={webRef}\n originWhitelist={['*']}\n mediaPlaybackRequiresUserAction={false}\n allowsInlineMediaPlayback={true}\n cacheEnabled={false}\n scrollEnabled={props.isScrollable}\n nestedScrollEnabled={props.nestedScrollEnabled}\n onScroll={_onScroll}\n overScrollMode=\"never\"\n injectedJavaScript={unitScript}\n style={{ width: '100%', flex: 1, opacity: 0.99, backgroundColor: 'transparent' }}\n source={{ html: sourceHtml, baseUrl: Platform.OS === 'android' ? `https://${baseName}` : ''}}\n onMessage={onMessage}\n androidHardwareAccelerationDisabled\n />\n );\n});\n"],"mappings":"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"}
|
|
@@ -10,7 +10,8 @@ const HTML_PLACEHOLDER = {
|
|
|
10
10
|
SCRIPT_UNIT: '<SCRIPT_UNIT>',
|
|
11
11
|
BODY: '<BODY_HTML_CODE>',
|
|
12
12
|
SCRIPT_FROM_NATIVE: '<SCRIPT_FROM_NATIVE>',
|
|
13
|
-
WINDOW_PARAMS: '<WINDOW_PARAMS>'
|
|
13
|
+
WINDOW_PARAMS: '<WINDOW_PARAMS>',
|
|
14
|
+
FONT_FACES: '<FONT_FACES>'
|
|
14
15
|
};
|
|
15
16
|
exports.HTML_PLACEHOLDER = HTML_PLACEHOLDER;
|
|
16
17
|
const htmlText = `
|
|
@@ -28,9 +29,17 @@ const htmlText = `
|
|
|
28
29
|
${HTML_PLACEHOLDER.WINDOW_PARAMS}
|
|
29
30
|
</script>
|
|
30
31
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0">
|
|
32
|
+
|
|
33
|
+
<style type="text/css">
|
|
34
|
+
${HTML_PLACEHOLDER.FONT_FACES}
|
|
35
|
+
|
|
36
|
+
body {
|
|
37
|
+
margin: 0;
|
|
38
|
+
}
|
|
39
|
+
</style>
|
|
31
40
|
</head>
|
|
32
41
|
|
|
33
|
-
<body
|
|
42
|
+
<body>
|
|
34
43
|
${HTML_PLACEHOLDER.BODY}
|
|
35
44
|
|
|
36
45
|
<script>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_bodyScript","HTML_PLACEHOLDER","SCRIPT_UNIT","BODY","SCRIPT_FROM_NATIVE","WINDOW_PARAMS","exports","htmlText","Platform","OS","POST_MESSAGE_TO_SDK","POST_PAGE_HEIGHT","LISTENERS","isPageLoaded","onLoad","unitRequestDownload","requestRendering","requestOpenLink","requestCloseFlow","cardActivated","cardStatusChange","unitRequestExternalSdk","unitAccountChanged","unitActivityFiltersChanged","DISPATCH_RENDERING_EVENT","DISPATCH_OPEN_ACTIONS_MENU","DISPATCH_REQUEST_CARD_ACTION","DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT","DISPATCH_REQUEST_ACCOUNT_ACTION","_default","default"],"sources":["html.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport { DISPATCH_RENDERING_EVENT, LISTENERS, POST_MESSAGE_TO_SDK, POST_PAGE_HEIGHT, DISPATCH_REQUEST_CARD_ACTION, DISPATCH_OPEN_ACTIONS_MENU, DISPATCH_REQUEST_ACCOUNT_ACTION, DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT } from '../scripts/html/bodyScript';\n\nexport const HTML_PLACEHOLDER = {\n SCRIPT_UNIT: '<SCRIPT_UNIT>',\n BODY: '<BODY_HTML_CODE>',\n SCRIPT_FROM_NATIVE: '<SCRIPT_FROM_NATIVE>',\n WINDOW_PARAMS: '<WINDOW_PARAMS>'\n};\n\nconst htmlText = `\n <!DOCTYPE html>\n <html lang=\"en\">\n\n <head lang=\"en\">\n <title>Unit Web SDK Demo</title>\n <script>\n window.UnitMobileSDK = true\n window.UnitMobileSDKConfig = {\n os: \"${Platform.OS}\",\n walletName: \"${Platform.OS === 'ios' ? 'Apple' : 'Google'}\",\n }\n ${HTML_PLACEHOLDER.WINDOW_PARAMS}\n </script>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=0\">\n
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_bodyScript","HTML_PLACEHOLDER","SCRIPT_UNIT","BODY","SCRIPT_FROM_NATIVE","WINDOW_PARAMS","FONT_FACES","exports","htmlText","Platform","OS","POST_MESSAGE_TO_SDK","POST_PAGE_HEIGHT","LISTENERS","isPageLoaded","onLoad","unitRequestDownload","requestRendering","requestOpenLink","requestCloseFlow","cardActivated","cardStatusChange","unitRequestExternalSdk","unitAccountChanged","unitActivityFiltersChanged","DISPATCH_RENDERING_EVENT","DISPATCH_OPEN_ACTIONS_MENU","DISPATCH_REQUEST_CARD_ACTION","DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT","DISPATCH_REQUEST_ACCOUNT_ACTION","_default","default"],"sources":["html.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport { DISPATCH_RENDERING_EVENT, LISTENERS, POST_MESSAGE_TO_SDK, POST_PAGE_HEIGHT, DISPATCH_REQUEST_CARD_ACTION, DISPATCH_OPEN_ACTIONS_MENU, DISPATCH_REQUEST_ACCOUNT_ACTION, DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT } from '../scripts/html/bodyScript';\n\nexport const HTML_PLACEHOLDER = {\n SCRIPT_UNIT: '<SCRIPT_UNIT>',\n BODY: '<BODY_HTML_CODE>',\n SCRIPT_FROM_NATIVE: '<SCRIPT_FROM_NATIVE>',\n WINDOW_PARAMS: '<WINDOW_PARAMS>',\n FONT_FACES: '<FONT_FACES>'\n};\n\nconst htmlText = `\n <!DOCTYPE html>\n <html lang=\"en\">\n\n <head lang=\"en\">\n <title>Unit Web SDK Demo</title>\n <script>\n window.UnitMobileSDK = true\n window.UnitMobileSDKConfig = {\n os: \"${Platform.OS}\",\n walletName: \"${Platform.OS === 'ios' ? 'Apple' : 'Google'}\",\n }\n ${HTML_PLACEHOLDER.WINDOW_PARAMS}\n </script>\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=0\">\n\n <style type=\"text/css\">\n ${HTML_PLACEHOLDER.FONT_FACES}\n\n body {\n margin: 0;\n }\n </style>\n </head>\n\n <body>\n ${HTML_PLACEHOLDER.BODY}\n\n <script>\n ${POST_MESSAGE_TO_SDK}\n\n ${POST_PAGE_HEIGHT}\n\n ${LISTENERS.isPageLoaded}\n\n ${LISTENERS.onLoad}\n\n ${LISTENERS.unitRequestDownload}\n\n ${LISTENERS.requestRendering}\n\n ${LISTENERS.requestOpenLink}\n\n ${LISTENERS.requestCloseFlow}\n\n ${LISTENERS.cardActivated}\n\n ${LISTENERS.cardStatusChange}\n\n ${LISTENERS.unitRequestExternalSdk}\n\n ${LISTENERS.unitAccountChanged}\n\n ${LISTENERS.unitActivityFiltersChanged}\n\n ${DISPATCH_RENDERING_EVENT}\n\n ${DISPATCH_OPEN_ACTIONS_MENU}\n\n ${DISPATCH_REQUEST_CARD_ACTION}\n\n ${DISPATCH_ACTIVITY_FILTER_CHANGED_EVENT}\n\n ${DISPATCH_REQUEST_ACCOUNT_ACTION}\n\n ${HTML_PLACEHOLDER.SCRIPT_FROM_NATIVE}\n </script>\n </body>\n </html>\n`;\n\nexport default htmlText;\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAEO,MAAME,gBAAgB,GAAG;EAC9BC,WAAW,EAAE,eAAe;EAC5BC,IAAI,EAAE,kBAAkB;EACxBC,kBAAkB,EAAE,sBAAsB;EAC1CC,aAAa,EAAE,iBAAiB;EAChCC,UAAU,EAAE;AACd,CAAC;AAACC,OAAA,CAAAN,gBAAA,GAAAA,gBAAA;AAEF,MAAMO,QAAQ,GAAI;AAClB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAaC,qBAAQ,CAACC,EAAG;AACzB,qBAAqBD,qBAAQ,CAACC,EAAE,KAAK,KAAK,GAAG,OAAO,GAAG,QAAS;AAChE;AACA,MAAMT,gBAAgB,CAACI,aAAc;AACrC;AACA;AACA;AACA;AACA,QAAQJ,gBAAgB,CAACK,UAAW;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAML,gBAAgB,CAACE,IAAK;AAC5B;AACA;AACA,QAAQQ,+BAAoB;AAC5B;AACA,QAAQC,4BAAiB;AACzB;AACA,QAAQC,qBAAS,CAACC,YAAa;AAC/B;AACA,QAAQD,qBAAS,CAACE,MAAO;AACzB;AACA,QAAQF,qBAAS,CAACG,mBAAoB;AACtC;AACA,QAAQH,qBAAS,CAACI,gBAAiB;AACnC;AACA,QAAQJ,qBAAS,CAACK,eAAgB;AAClC;AACA,QAAQL,qBAAS,CAACM,gBAAiB;AACnC;AACA,QAAQN,qBAAS,CAACO,aAAc;AAChC;AACA,QAAQP,qBAAS,CAACQ,gBAAiB;AACnC;AACA,QAAQR,qBAAS,CAACS,sBAAuB;AACzC;AACA,QAAQT,qBAAS,CAACU,kBAAmB;AACrC;AACA,QAAQV,qBAAS,CAACW,0BAA2B;AAC7C;AACA,QAAQC,oCAAyB;AACjC;AACA,QAAQC,sCAA2B;AACnC;AACA,QAAQC,wCAA6B;AACrC;AACA,QAAQC,kDAAuC;AAC/C;AACA,QAAQC,2CAAgC;AACxC;AACA,QAAQ5B,gBAAgB,CAACG,kBAAmB;AAC5C;AACA;AACA;AACA,CAAC;AAAC,IAAA0B,QAAA,GAEatB,QAAQ;AAAAD,OAAA,CAAAwB,OAAA,GAAAD,QAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useState","UNWalletCode","UNWalletName","UnitSDK","getMobileWalletPayload","useCardWallet","cardId","currentUNWallet","setCurrentUNWallet","getEncryptedPayload","env","getEnv","customerToken","getCustomerToken","encryptedPayload","getCardWalletData","currentProvisioningModule","getPushProvisionModule","walletsResponse","launchGetWallets","JSON","stringify","encPayload","unWallet","parseWalletsResponse","error","Promise","reject","parsedWalletsResponse","parse","wallets","code","Apple","name","status","googleWallet","filter","wallet","Google","Error"],"sources":["useCardWallet.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { UNWalletCode, type UNWallet, UNWalletName } from '../../../types/shared/wallet.types';\nimport { UnitSDK } from '../../../unitSdkManager/UnitSdkManager';\nimport { getMobileWalletPayload } from '../../../networking/requests/UNWalletPayloadRequest';\n\nexport type CardToEncryptedPayload = {\n [cardId: string]: string;\n};\n\nexport const useCardWallet = (cardId: string) => {\n const [currentUNWallet, setCurrentUNWallet] = useState<UNWallet>();\n\n useEffect(() => {\n const getEncryptedPayload = async () => {\n const env = UnitSDK.getEnv();\n const customerToken = UnitSDK.getCustomerToken();\n if (!env || !customerToken) return;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n return encryptedPayload;\n };\n\n const getCardWalletData = async ()
|
|
1
|
+
{"version":3,"names":["useEffect","useState","UNWalletCode","UNWalletName","UnitSDK","getMobileWalletPayload","useCardWallet","cardId","currentUNWallet","setCurrentUNWallet","getEncryptedPayload","env","getEnv","customerToken","getCustomerToken","encryptedPayload","getCardWalletData","currentProvisioningModule","getPushProvisionModule","walletsResponse","launchGetWallets","JSON","stringify","encPayload","unWallet","parseWalletsResponse","error","Promise","reject","parsedWalletsResponse","parse","wallets","code","Apple","name","status","googleWallet","filter","wallet","Google","Error"],"sources":["useCardWallet.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\nimport { UNWalletCode, type UNWallet, UNWalletName } from '../../../types/shared/wallet.types';\nimport { UnitSDK } from '../../../unitSdkManager/UnitSdkManager';\nimport { getMobileWalletPayload } from '../../../networking/requests/UNWalletPayloadRequest';\n\nexport type CardToEncryptedPayload = {\n [cardId: string]: string;\n};\n\nexport const useCardWallet = (cardId: string) => {\n const [currentUNWallet, setCurrentUNWallet] = useState<UNWallet>();\n\n useEffect(() => {\n const getEncryptedPayload = async () => {\n const env = UnitSDK.getEnv();\n const customerToken = UnitSDK.getCustomerToken();\n if (!env || !customerToken) return;\n\n const encryptedPayload = await getMobileWalletPayload(customerToken, cardId, env);\n return encryptedPayload;\n };\n\n const getCardWalletData = async () => {\n const currentProvisioningModule = UnitSDK.getPushProvisionModule();\n if (!currentProvisioningModule) return;\n try {\n const encryptedPayload = await getEncryptedPayload();\n const walletsResponse = await currentProvisioningModule.launchGetWallets(JSON.stringify({ encPayload: encryptedPayload }));\n\n const unWallet: UNWallet | null = parseWalletsResponse(walletsResponse);\n if (!unWallet) return;\n setCurrentUNWallet(unWallet);\n return;\n } catch (error) {\n return Promise.reject(error);\n }\n };\n\n getCardWalletData();\n\n }, [cardId]);\n\n return {\n currentUNWallet\n };\n\n};\n\nconst parseWalletsResponse = (walletsResponse: string): UNWallet | null => {\n try {\n const parsedWalletsResponse = JSON.parse(walletsResponse);\n const wallets = parsedWalletsResponse.wallets;\n\n if (!wallets) return null;\n if (wallets[0].code === UNWalletCode.Apple) {\n return ({ name: UNWalletName.Apple, code: UNWalletCode.Apple, status: wallets[0].status });\n } else {\n const googleWallet = wallets.filter((wallet: { name: UNWalletName }) => {\n return wallet.name === UNWalletName.Google;\n });\n if (!googleWallet) return null;\n return ({ name: UNWalletName.Google, code: UNWalletCode.Google, status: googleWallet[0].status });\n }\n } catch (error) {\n throw new Error('Error parsing wallet response');\n }\n};\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAC3C,SAASC,YAAY,EAAiBC,YAAY,QAAQ,oCAAoC;AAC9F,SAASC,OAAO,QAAQ,wCAAwC;AAChE,SAASC,sBAAsB,QAAQ,qDAAqD;AAM5F,OAAO,MAAMC,aAAa,GAAIC,MAAc,IAAK;EAC/C,MAAM,CAACC,eAAe,EAAEC,kBAAkB,CAAC,GAAGR,QAAQ,EAAY;EAElED,SAAS,CAAC,MAAM;IACd,MAAMU,mBAAmB,GAAG,MAAAA,CAAA,KAAY;MACtC,MAAMC,GAAG,GAAGP,OAAO,CAACQ,MAAM,EAAE;MAC5B,MAAMC,aAAa,GAAGT,OAAO,CAACU,gBAAgB,EAAE;MAChD,IAAI,CAACH,GAAG,IAAI,CAACE,aAAa,EAAE;MAE5B,MAAME,gBAAgB,GAAG,MAAMV,sBAAsB,CAACQ,aAAa,EAAEN,MAAM,EAAEI,GAAG,CAAC;MACjF,OAAOI,gBAAgB;IACzB,CAAC;IAED,MAAMC,iBAAiB,GAAG,MAAAA,CAAA,KAAY;MACpC,MAAMC,yBAAyB,GAAGb,OAAO,CAACc,sBAAsB,EAAE;MAClE,IAAI,CAACD,yBAAyB,EAAE;MAChC,IAAI;QACF,MAAMF,gBAAgB,GAAG,MAAML,mBAAmB,EAAE;QACpD,MAAMS,eAAe,GAAG,MAAMF,yBAAyB,CAACG,gBAAgB,CAACC,IAAI,CAACC,SAAS,CAAC;UAAEC,UAAU,EAAER;QAAiB,CAAC,CAAC,CAAC;QAE1H,MAAMS,QAAyB,GAAGC,oBAAoB,CAACN,eAAe,CAAC;QACvE,IAAI,CAACK,QAAQ,EAAE;QACff,kBAAkB,CAACe,QAAQ,CAAC;QAC5B;MACF,CAAC,CAAC,OAAOE,KAAK,EAAE;QACd,OAAOC,OAAO,CAACC,MAAM,CAACF,KAAK,CAAC;MAC9B;IACF,CAAC;IAEDV,iBAAiB,EAAE;EAErB,CAAC,EAAE,CAACT,MAAM,CAAC,CAAC;EAEZ,OAAO;IACLC;EACF,CAAC;AAEH,CAAC;AAED,MAAMiB,oBAAoB,GAAIN,eAAuB,IAAsB;EACzE,IAAI;IACF,MAAMU,qBAAqB,GAAGR,IAAI,CAACS,KAAK,CAACX,eAAe,CAAC;IACzD,MAAMY,OAAO,GAAGF,qBAAqB,CAACE,OAAO;IAE7C,IAAI,CAACA,OAAO,EAAE,OAAO,IAAI;IACzB,IAAIA,OAAO,CAAC,CAAC,CAAC,CAACC,IAAI,KAAK9B,YAAY,CAAC+B,KAAK,EAAE;MAC1C,OAAQ;QAAEC,IAAI,EAAE/B,YAAY,CAAC8B,KAAK;QAAED,IAAI,EAAE9B,YAAY,CAAC+B,KAAK;QAAEE,MAAM,EAAEJ,OAAO,CAAC,CAAC,CAAC,CAACI;MAAO,CAAC;IAC3F,CAAC,MAAM;MACL,MAAMC,YAAY,GAAGL,OAAO,CAACM,MAAM,CAAEC,MAA8B,IAAK;QACtE,OAAOA,MAAM,CAACJ,IAAI,KAAK/B,YAAY,CAACoC,MAAM;MAC5C,CAAC,CAAC;MACF,IAAI,CAACH,YAAY,EAAE,OAAO,IAAI;MAC9B,OAAQ;QAAEF,IAAI,EAAE/B,YAAY,CAACoC,MAAM;QAAEP,IAAI,EAAE9B,YAAY,CAACqC,MAAM;QAAEJ,MAAM,EAAEC,YAAY,CAAC,CAAC,CAAC,CAACD;MAAO,CAAC;IAClG;EACF,CAAC,CAAC,OAAOT,KAAK,EAAE;IACd,MAAM,IAAIc,KAAK,CAAC,+BAA+B,CAAC;EAClD;AACF,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Platform } from 'react-native';
|
|
2
|
+
const getUrl = source => {
|
|
3
|
+
if (Platform.OS == 'ios') {
|
|
4
|
+
return `url('${source.fileName}')`;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// Handle '/' of dir Relative path
|
|
8
|
+
let relativeDirPath = source.assetDirRelativePath;
|
|
9
|
+
if (source.assetDirRelativePath[-1] !== '/') {
|
|
10
|
+
relativeDirPath = `${source.assetDirRelativePath}/`;
|
|
11
|
+
}
|
|
12
|
+
if (source.assetDirRelativePath[0] !== '/') {
|
|
13
|
+
relativeDirPath = `/${source.assetDirRelativePath}`;
|
|
14
|
+
}
|
|
15
|
+
return `url('file:///android_asset${relativeDirPath}${source.fileName}')`;
|
|
16
|
+
};
|
|
17
|
+
const getFontFace = (fontFamily, fontWeight, sources) => {
|
|
18
|
+
const numOfSources = sources.length;
|
|
19
|
+
const sourcesString = sources.map((source, index) => {
|
|
20
|
+
const suffix = index === numOfSources - 1 ? ';' : ',';
|
|
21
|
+
const url = getUrl(source);
|
|
22
|
+
const format = source !== null && source !== void 0 && source.format ? `format('${source.format}')` : '';
|
|
23
|
+
return `${url} ${format}${suffix}`;
|
|
24
|
+
}).join('\n');
|
|
25
|
+
return `
|
|
26
|
+
@font-face {
|
|
27
|
+
font-family: '${fontFamily}';
|
|
28
|
+
src: ${sourcesString}
|
|
29
|
+
font-weight: ${fontWeight.valueOf()};
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
};
|
|
33
|
+
export const getFontFacesString = fonts => {
|
|
34
|
+
if (!fonts) return '';
|
|
35
|
+
const fontFaces = [];
|
|
36
|
+
|
|
37
|
+
// Iterate over all the fonts and their variants
|
|
38
|
+
// create font-face for each variant
|
|
39
|
+
Object.entries(fonts).forEach(_ref => {
|
|
40
|
+
let [familyName, familyFonts] = _ref;
|
|
41
|
+
familyFonts.forEach(fontData => {
|
|
42
|
+
fontFaces.push(getFontFace(familyName, fontData.fontWeight, fontData.sources));
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
|
|
46
|
+
// Combine all the font faces into a single string
|
|
47
|
+
return fontFaces.join('\n');
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=fontFaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Platform","getUrl","source","OS","fileName","relativeDirPath","assetDirRelativePath","getFontFace","fontFamily","fontWeight","sources","numOfSources","length","sourcesString","map","index","suffix","url","format","join","valueOf","getFontFacesString","fonts","fontFaces","Object","entries","forEach","_ref","familyName","familyFonts","fontData","push"],"sources":["fontFaces.ts"],"sourcesContent":["import { Platform } from 'react-native';\nimport type { FontWeight, UNFonts, UNFontSource, UNFontData } from '../../types/shared/fonts.types';\n\nconst getUrl = (source: UNFontSource): string => {\n if (Platform.OS == 'ios') {\n return `url('${source.fileName}')`;\n }\n\n // Handle '/' of dir Relative path\n let relativeDirPath = source.assetDirRelativePath;\n if (source.assetDirRelativePath[-1] !== '/') {\n relativeDirPath = `${source.assetDirRelativePath}/`;\n }\n if (source.assetDirRelativePath[0] !== '/') {\n relativeDirPath = `/${source.assetDirRelativePath}`;\n }\n\n return `url('file:///android_asset${relativeDirPath}${source.fileName}')`;\n};\nconst getFontFace = (fontFamily: string, fontWeight: FontWeight, sources: UNFontSource[]): string => {\n const numOfSources = sources.length;\n\n const sourcesString = sources\n .map((source, index) => {\n const suffix = index === numOfSources - 1 ? ';' : ',';\n const url = getUrl(source);\n const format = source?.format ? `format('${source.format}')` : '';\n return `${url} ${format}${suffix}`;\n })\n .join('\\n');\n\n return `\n @font-face {\n font-family: '${fontFamily}';\n src: ${sourcesString}\n font-weight: ${fontWeight.valueOf()};\n }\n `;\n};\n\nexport const getFontFacesString = (fonts?: UNFonts): string => {\n if (!fonts) return '';\n\n const fontFaces: string[] = [];\n\n // Iterate over all the fonts and their variants\n // create font-face for each variant\n Object.entries(fonts).forEach(([familyName, familyFonts]) => {\n familyFonts.forEach((fontData: UNFontData) => {\n fontFaces.push(getFontFace(familyName, fontData.fontWeight, fontData.sources));\n });\n });\n\n // Combine all the font faces into a single string\n return fontFaces.join('\\n');\n};\n"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AAGvC,MAAMC,MAAM,GAAIC,MAAoB,IAAa;EAC/C,IAAIF,QAAQ,CAACG,EAAE,IAAI,KAAK,EAAE;IACxB,OAAQ,QAAOD,MAAM,CAACE,QAAS,IAAG;EACpC;;EAEA;EACA,IAAIC,eAAe,GAAGH,MAAM,CAACI,oBAAoB;EACjD,IAAIJ,MAAM,CAACI,oBAAoB,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAC3CD,eAAe,GAAI,GAAEH,MAAM,CAACI,oBAAqB,GAAE;EACrD;EACA,IAAIJ,MAAM,CAACI,oBAAoB,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;IAC1CD,eAAe,GAAI,IAAGH,MAAM,CAACI,oBAAqB,EAAC;EACrD;EAEA,OAAQ,6BAA4BD,eAAgB,GAAEH,MAAM,CAACE,QAAS,IAAG;AAC3E,CAAC;AACD,MAAMG,WAAW,GAAGA,CAACC,UAAkB,EAAEC,UAAsB,EAAEC,OAAuB,KAAa;EACnG,MAAMC,YAAY,GAAGD,OAAO,CAACE,MAAM;EAEnC,MAAMC,aAAa,GAAGH,OAAO,CAC1BI,GAAG,CAAC,CAACZ,MAAM,EAAEa,KAAK,KAAK;IACtB,MAAMC,MAAM,GAAGD,KAAK,KAAKJ,YAAY,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;IACrD,MAAMM,GAAG,GAAGhB,MAAM,CAACC,MAAM,CAAC;IAC1B,MAAMgB,MAAM,GAAGhB,MAAM,aAANA,MAAM,eAANA,MAAM,CAAEgB,MAAM,GAAI,WAAUhB,MAAM,CAACgB,MAAO,IAAG,GAAG,EAAE;IACjE,OAAQ,GAAED,GAAI,IAAGC,MAAO,GAAEF,MAAO,EAAC;EACpC,CAAC,CAAC,CACDG,IAAI,CAAC,IAAI,CAAC;EAEb,OAAQ;AACV;AACA,sBAAsBX,UAAW;AACjC,aAAaK,aAAc;AAC3B,qBAAqBJ,UAAU,CAACW,OAAO,EAAG;AAC1C;AACA,GAAG;AACH,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAIC,KAAe,IAAa;EAC7D,IAAI,CAACA,KAAK,EAAE,OAAO,EAAE;EAErB,MAAMC,SAAmB,GAAG,EAAE;;EAE9B;EACA;EACAC,MAAM,CAACC,OAAO,CAACH,KAAK,CAAC,CAACI,OAAO,CAACC,IAAA,IAA+B;IAAA,IAA9B,CAACC,UAAU,EAAEC,WAAW,CAAC,GAAAF,IAAA;IACtDE,WAAW,CAACH,OAAO,CAAEI,QAAoB,IAAK;MAC5CP,SAAS,CAACQ,IAAI,CAACxB,WAAW,CAACqB,UAAU,EAAEE,QAAQ,CAACrB,UAAU,EAAEqB,QAAQ,CAACpB,OAAO,CAAC,CAAC;IAChF,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;EACA,OAAOa,SAAS,CAACJ,IAAI,CAAC,IAAI,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { FontWeight } from '../types/shared';
|
|
2
|
+
import { UnitSDK } from '../unitSdkManager/UnitSdkManager';
|
|
3
|
+
const getFontWeightName = (familyFonts, fontWeight) => {
|
|
4
|
+
/**
|
|
5
|
+
* Given family variants and the required weight
|
|
6
|
+
* Return the closet font that defined by the client.
|
|
7
|
+
*/
|
|
8
|
+
if (!fontWeight || fontWeight === 'normal') return 'Regular';
|
|
9
|
+
if (fontWeight === 'bold') return 'Bold';
|
|
10
|
+
const fontWeightNumber = Number(fontWeight);
|
|
11
|
+
|
|
12
|
+
// Select the closet variant
|
|
13
|
+
let selectedFontWeight = FontWeight.Regular.valueOf();
|
|
14
|
+
let minDistance = 1000;
|
|
15
|
+
familyFonts.forEach(fontData => {
|
|
16
|
+
const currDistance = Math.abs(fontData.fontWeight - fontWeightNumber);
|
|
17
|
+
if (currDistance < minDistance) {
|
|
18
|
+
minDistance = currDistance;
|
|
19
|
+
selectedFontWeight = fontData.fontWeight.valueOf();
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
// FontWeight to String
|
|
24
|
+
switch (selectedFontWeight) {
|
|
25
|
+
case FontWeight.Thin:
|
|
26
|
+
return 'Thin';
|
|
27
|
+
case FontWeight.ExtraLight:
|
|
28
|
+
return 'ExtraLight';
|
|
29
|
+
case FontWeight.Light:
|
|
30
|
+
return 'Light';
|
|
31
|
+
case FontWeight.Regular:
|
|
32
|
+
return 'Regular';
|
|
33
|
+
case FontWeight.Medium:
|
|
34
|
+
return 'Medium';
|
|
35
|
+
case FontWeight.SemiBold:
|
|
36
|
+
return 'SemiBold';
|
|
37
|
+
case FontWeight.Bold:
|
|
38
|
+
return 'Bold';
|
|
39
|
+
case FontWeight.ExtraBold:
|
|
40
|
+
return 'ExtraBold';
|
|
41
|
+
case FontWeight.Black:
|
|
42
|
+
return 'Black';
|
|
43
|
+
default:
|
|
44
|
+
return 'Regular';
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const getFontName = (fontFamily, fontWeight) => {
|
|
48
|
+
/*
|
|
49
|
+
* Get the font family name and the font weight name from the THEME object.
|
|
50
|
+
* Then, return a possible font.
|
|
51
|
+
*/
|
|
52
|
+
|
|
53
|
+
const fontsInApp = UnitSDK.getFonts();
|
|
54
|
+
if (!fontsInApp) {
|
|
55
|
+
throw new Error('Fonts are not found in the app');
|
|
56
|
+
}
|
|
57
|
+
const familyFonts = fontsInApp[fontFamily];
|
|
58
|
+
if (!familyFonts) {
|
|
59
|
+
throw new Error(`Font family ${fontFamily} not found in the app's fonts`);
|
|
60
|
+
}
|
|
61
|
+
const fontWeightName = getFontWeightName(familyFonts, fontWeight);
|
|
62
|
+
return `${fontFamily}-${fontWeightName}`;
|
|
63
|
+
};
|
|
64
|
+
//# sourceMappingURL=fonts.js.map
|