@tap-payments/apple-pay-button 0.0.82-development → 0.0.83-development

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +240 -240
  3. package/build/@types/ApplePayButtonProps.d.ts +129 -129
  4. package/build/@types/ApplePayButtonProps.js +1 -1
  5. package/build/@types/charge.d.ts +57 -57
  6. package/build/@types/charge.js +1 -1
  7. package/build/@types/checkoutProfile.d.ts +216 -195
  8. package/build/@types/checkoutProfile.js +1 -1
  9. package/build/@types/enums.d.ts +65 -65
  10. package/build/@types/enums.js +76 -76
  11. package/build/@types/index.d.ts +6 -6
  12. package/build/@types/index.js +6 -6
  13. package/build/@types/tapLocalisation.d.ts +193 -193
  14. package/build/@types/tapLocalisation.js +1 -1
  15. package/build/@types/tapTheme.d.ts +842 -842
  16. package/build/@types/tapTheme.js +1 -1
  17. package/build/api.d.ts +29 -29
  18. package/build/api.js +244 -244
  19. package/build/constants/index.d.ts +3 -3
  20. package/build/constants/index.js +3 -3
  21. package/build/features/ApplePayButton/ApplePayButton.d.ts +4 -4
  22. package/build/features/ApplePayButton/ApplePayButton.js +49 -49
  23. package/build/features/ApplePayButton/index.d.ts +3 -3
  24. package/build/features/ApplePayButton/index.js +2 -2
  25. package/build/hooks/index.d.ts +1 -1
  26. package/build/hooks/index.js +1 -1
  27. package/build/hooks/useApplePay.d.ts +93 -93
  28. package/build/hooks/useApplePay.js +447 -447
  29. package/build/hooks/useMerchantApplePay.d.ts +20 -20
  30. package/build/hooks/useMerchantApplePay.js +176 -176
  31. package/build/index.d.ts +4 -4
  32. package/build/index.js +13 -13
  33. package/build/utils/config.d.ts +14 -14
  34. package/build/utils/config.js +65 -65
  35. package/build/utils/defaultValues.d.ts +2 -2
  36. package/build/utils/defaultValues.js +27 -27
  37. package/build/utils/html.d.ts +1 -1
  38. package/build/utils/html.js +9 -9
  39. package/build/utils/index.d.ts +4 -4
  40. package/build/utils/index.js +4 -4
  41. package/build/utils/theme.d.ts +12 -12
  42. package/build/utils/theme.js +61 -61
  43. package/package.json +109 -109
@@ -1,27 +1,27 @@
1
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
- if (ar || !(i in from)) {
4
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
- ar[i] = from[i];
6
- }
7
- }
8
- return to.concat(ar || Array.prototype.slice.call(from));
9
- };
10
- import { MerchantCapabilities } from '../@types/enums';
11
- export var getMerchantCapabilities = function (supportedCards) {
12
- var merchantCapabilities = [MerchantCapabilities.Supports3DS];
13
- if (!supportedCards) {
14
- merchantCapabilities = __spreadArray(__spreadArray([], merchantCapabilities, true), [
15
- MerchantCapabilities.SupportsCredit,
16
- MerchantCapabilities.SupportsDebit
17
- ], false);
18
- return merchantCapabilities;
19
- }
20
- if (supportedCards.includes('CREDIT')) {
21
- merchantCapabilities.push(MerchantCapabilities.SupportsCredit);
22
- }
23
- if (supportedCards.includes('DEBIT')) {
24
- merchantCapabilities.push(MerchantCapabilities.SupportsDebit);
25
- }
26
- return merchantCapabilities;
27
- };
1
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
2
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
3
+ if (ar || !(i in from)) {
4
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
5
+ ar[i] = from[i];
6
+ }
7
+ }
8
+ return to.concat(ar || Array.prototype.slice.call(from));
9
+ };
10
+ import { MerchantCapabilities } from '../@types/enums';
11
+ export var getMerchantCapabilities = function (supportedCards) {
12
+ var merchantCapabilities = [MerchantCapabilities.Supports3DS];
13
+ if (!supportedCards) {
14
+ merchantCapabilities = __spreadArray(__spreadArray([], merchantCapabilities, true), [
15
+ MerchantCapabilities.SupportsCredit,
16
+ MerchantCapabilities.SupportsDebit
17
+ ], false);
18
+ return merchantCapabilities;
19
+ }
20
+ if (supportedCards.includes('CREDIT')) {
21
+ merchantCapabilities.push(MerchantCapabilities.SupportsCredit);
22
+ }
23
+ if (supportedCards.includes('DEBIT')) {
24
+ merchantCapabilities.push(MerchantCapabilities.SupportsDebit);
25
+ }
26
+ return merchantCapabilities;
27
+ };
@@ -1 +1 @@
1
- export declare const findOrCreateElementAndInject: (id: string) => HTMLElement;
1
+ export declare const findOrCreateElementAndInject: (id: string) => HTMLElement;
@@ -1,9 +1,9 @@
1
- export var findOrCreateElementAndInject = function (id) {
2
- var findElement = document.getElementById(id);
3
- if (findElement)
4
- return findElement;
5
- var element = document.createElement('div');
6
- element.setAttribute('id', id);
7
- document.body.appendChild(element);
8
- return element;
9
- };
1
+ export var findOrCreateElementAndInject = function (id) {
2
+ var findElement = document.getElementById(id);
3
+ if (findElement)
4
+ return findElement;
5
+ var element = document.createElement('div');
6
+ element.setAttribute('id', id);
7
+ document.body.appendChild(element);
8
+ return element;
9
+ };
@@ -1,4 +1,4 @@
1
- export * from './html';
2
- export * from './theme';
3
- export * from './config';
4
- export * from './defaultValues';
1
+ export * from './html';
2
+ export * from './theme';
3
+ export * from './config';
4
+ export * from './defaultValues';
@@ -1,4 +1,4 @@
1
- export * from './html';
2
- export * from './theme';
3
- export * from './config';
4
- export * from './defaultValues';
1
+ export * from './html';
2
+ export * from './theme';
3
+ export * from './config';
4
+ export * from './defaultValues';
@@ -1,12 +1,12 @@
1
- import { TapThemeResponse } from '../@types';
2
- import { ColorStyle, FullThemeMode, Locale, ThemeMode } from '../@types/enums';
3
- import { ApplePayButtonProps } from '..';
4
- export declare const mappingInterface: (interfaceParam?: ApplePayButtonProps['interface']) => ApplePayButtonProps['interface'];
5
- export declare const getDefaultThemeMode: (themeMode?: ThemeMode) => ThemeMode;
6
- export declare const getDefaultLocale: (locale?: Locale) => Locale;
7
- export declare const getFullThemeMode: (themeMode?: ThemeMode, colorStyle?: ColorStyle) => FullThemeMode;
8
- export declare const appendColors: (colors: Record<string, string>) => void;
9
- export declare const getTapThemeValue: ({ tapTheme, value }: {
10
- tapTheme: TapThemeResponse | null;
11
- value?: string | undefined;
12
- }) => string;
1
+ import { TapThemeResponse } from '../@types';
2
+ import { ColorStyle, FullThemeMode, Locale, ThemeMode } from '../@types/enums';
3
+ import { ApplePayButtonProps } from '..';
4
+ export declare const mappingInterface: (interfaceParam?: ApplePayButtonProps['interface']) => ApplePayButtonProps['interface'];
5
+ export declare const getDefaultThemeMode: (themeMode?: ThemeMode) => ThemeMode;
6
+ export declare const getDefaultLocale: (locale?: Locale) => Locale;
7
+ export declare const getFullThemeMode: (themeMode?: ThemeMode, colorStyle?: ColorStyle) => FullThemeMode;
8
+ export declare const appendColors: (colors: Record<string, string>) => void;
9
+ export declare const getTapThemeValue: ({ tapTheme, value }: {
10
+ tapTheme: TapThemeResponse | null;
11
+ value?: string | undefined;
12
+ }) => string;
@@ -1,61 +1,61 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { ColorStyle, Edges, FullThemeMode, Locale, ThemeMode } from '../@types/enums';
13
- export var mappingInterface = function (interfaceParam) {
14
- return __assign(__assign({ edges: Edges.CURVED, colorStyle: ColorStyle.COLORED, loader: true }, interfaceParam), { locale: getDefaultLocale(interfaceParam === null || interfaceParam === void 0 ? void 0 : interfaceParam.locale), theme: getDefaultThemeMode(interfaceParam === null || interfaceParam === void 0 ? void 0 : interfaceParam.theme) });
15
- };
16
- export var getDefaultThemeMode = function (themeMode) {
17
- return themeMode === ThemeMode.DYNAMIC || themeMode === undefined
18
- ? window.matchMedia('(prefers-color-scheme: dark)').matches
19
- ? ThemeMode.DARK
20
- : ThemeMode.LIGHT
21
- : themeMode;
22
- };
23
- export var getDefaultLocale = function (locale) {
24
- var _a;
25
- return locale === Locale.DYNAMIC || locale === undefined
26
- ? (_a = window.navigator.language.split('-')) === null || _a === void 0 ? void 0 : _a[0]
27
- : locale;
28
- };
29
- export var getFullThemeMode = function (themeMode, colorStyle) {
30
- var themeModeValue = getDefaultThemeMode(themeMode);
31
- if (themeModeValue === ThemeMode.DARK) {
32
- return colorStyle === ColorStyle.MONOCHROME ? FullThemeMode.DARK : FullThemeMode.DARK_COLORED;
33
- }
34
- else {
35
- return colorStyle === ColorStyle.MONOCHROME ? FullThemeMode.LIGHT_MONO : FullThemeMode.LIGHT;
36
- }
37
- };
38
- export var appendColors = function (colors) {
39
- try {
40
- var root_1 = document.documentElement;
41
- Object.entries(colors).forEach(function (_a) {
42
- var key = _a[0], value = _a[1];
43
- root_1.style.setProperty("--".concat(key), value);
44
- });
45
- }
46
- catch (e) {
47
- throw e;
48
- }
49
- };
50
- export var getTapThemeValue = function (_a) {
51
- var tapTheme = _a.tapTheme, value = _a.value;
52
- if (!tapTheme)
53
- return '';
54
- if (!value)
55
- return '';
56
- if (value[0] === '#')
57
- return value;
58
- var colorsObject = tapTheme === null || tapTheme === void 0 ? void 0 : tapTheme.GlobalValues.Colors;
59
- var valueFromGlobalColors = colorsObject === null || colorsObject === void 0 ? void 0 : colorsObject[value];
60
- return valueFromGlobalColors !== null && valueFromGlobalColors !== void 0 ? valueFromGlobalColors : '';
61
- };
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { ColorStyle, Edges, FullThemeMode, Locale, ThemeMode } from '../@types/enums';
13
+ export var mappingInterface = function (interfaceParam) {
14
+ return __assign(__assign({ edges: Edges.CURVED, colorStyle: ColorStyle.COLORED, loader: true }, interfaceParam), { locale: getDefaultLocale(interfaceParam === null || interfaceParam === void 0 ? void 0 : interfaceParam.locale), theme: getDefaultThemeMode(interfaceParam === null || interfaceParam === void 0 ? void 0 : interfaceParam.theme) });
15
+ };
16
+ export var getDefaultThemeMode = function (themeMode) {
17
+ return themeMode === ThemeMode.DYNAMIC || themeMode === undefined
18
+ ? window.matchMedia('(prefers-color-scheme: dark)').matches
19
+ ? ThemeMode.DARK
20
+ : ThemeMode.LIGHT
21
+ : themeMode;
22
+ };
23
+ export var getDefaultLocale = function (locale) {
24
+ var _a;
25
+ return locale === Locale.DYNAMIC || locale === undefined
26
+ ? (_a = window.navigator.language.split('-')) === null || _a === void 0 ? void 0 : _a[0]
27
+ : locale;
28
+ };
29
+ export var getFullThemeMode = function (themeMode, colorStyle) {
30
+ var themeModeValue = getDefaultThemeMode(themeMode);
31
+ if (themeModeValue === ThemeMode.DARK) {
32
+ return colorStyle === ColorStyle.MONOCHROME ? FullThemeMode.DARK : FullThemeMode.DARK_COLORED;
33
+ }
34
+ else {
35
+ return colorStyle === ColorStyle.MONOCHROME ? FullThemeMode.LIGHT_MONO : FullThemeMode.LIGHT;
36
+ }
37
+ };
38
+ export var appendColors = function (colors) {
39
+ try {
40
+ var root_1 = document.documentElement;
41
+ Object.entries(colors).forEach(function (_a) {
42
+ var key = _a[0], value = _a[1];
43
+ root_1.style.setProperty("--".concat(key), value);
44
+ });
45
+ }
46
+ catch (e) {
47
+ throw e;
48
+ }
49
+ };
50
+ export var getTapThemeValue = function (_a) {
51
+ var tapTheme = _a.tapTheme, value = _a.value;
52
+ if (!tapTheme)
53
+ return '';
54
+ if (!value)
55
+ return '';
56
+ if (value[0] === '#')
57
+ return value;
58
+ var colorsObject = tapTheme === null || tapTheme === void 0 ? void 0 : tapTheme.GlobalValues.Colors;
59
+ var valueFromGlobalColors = colorsObject === null || colorsObject === void 0 ? void 0 : colorsObject[value];
60
+ return valueFromGlobalColors !== null && valueFromGlobalColors !== void 0 ? valueFromGlobalColors : '';
61
+ };
package/package.json CHANGED
@@ -1,109 +1,109 @@
1
- {
2
- "name": "@tap-payments/apple-pay-button",
3
- "version": "0.0.82-development",
4
- "description": "Apple Pay Button React Component",
5
- "main": "build/index.js",
6
- "module": "build/index.js",
7
- "types": "build/index.d.ts",
8
- "files": [
9
- "build",
10
- "README.md"
11
- ],
12
- "scripts": {
13
- "start": "cross-env NODE_ENV=development webpack serve",
14
- "prepare": "npx husky install",
15
- "prettier": "prettier --list-different \"src/**/*.{md,mdx,ts,js,tsx,jsx,json}\" *.json *.js",
16
- "prettier:fix": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md,css,json}\" *.json *.js",
17
- "lint": "eslint src --color --ext .js,.jsx,.ts,.tsx,.json",
18
- "lint:fix": "eslint src --ext .js,.jsx,.ts,.tsx --fix",
19
- "build": "cross-env NODE_ENV=production webpack",
20
- "copy:files": "copyfiles -u 1 src/**/*.gif build/ && copyfiles -u 1 src/**/*.css build/",
21
- "tsc:alias": "tsc-alias -p tsconfig.json",
22
- "ts:build": "rm -rf build && tsc && yarn tsc:alias && yarn copy:files",
23
- "push": "npm publish --access public --tag development"
24
- },
25
- "keywords": [],
26
- "author": {
27
- "name": "Ahmed Elsharkawy",
28
- "email": "a.elsharkawy@tap.company"
29
- },
30
- "license": "ISC",
31
- "dependencies": {
32
- "@tap-payments/acceptance-sdk": "^0.0.46",
33
- "@tap-payments/browser-info": "^1.0.2",
34
- "@tap-payments/web-error-handing": "^1.0.1",
35
- "axios": "^1.2.2",
36
- "framer-motion": "^10.16.5",
37
- "jsencrypt": "^3.3.2",
38
- "lottie-react": "^2.4.0",
39
- "react": "^18.2.0",
40
- "react-dom": "^18.2.0"
41
- },
42
- "devDependencies": {
43
- "@babel/core": "^7.18.6",
44
- "@babel/preset-env": "^7.18.6",
45
- "@babel/preset-react": "^7.18.6",
46
- "@babel/preset-typescript": "^7.18.6",
47
- "@types/applepayjs": "^14.0.3",
48
- "@types/crypto-js": "^4.1.1",
49
- "@types/react": "^18.0.15",
50
- "@types/react-dom": "^18.0.6",
51
- "@typescript-eslint/eslint-plugin": "^5.30.5",
52
- "@typescript-eslint/parser": "^5.30.5",
53
- "babel-loader": "^8.2.5",
54
- "copyfiles": "^2.4.1",
55
- "cross-env": "^7.0.3",
56
- "css-loader": "^6.7.1",
57
- "css-minimizer-webpack-plugin": "^4.0.0",
58
- "eslint": "^8.19.0",
59
- "eslint-config-airbnb": "^19.0.4",
60
- "eslint-config-prettier": "^8.5.0",
61
- "eslint-plugin-import": "^2.26.0",
62
- "eslint-plugin-jsx-a11y": "^6.6.0",
63
- "eslint-plugin-node": "^11.1.0",
64
- "eslint-plugin-prettier": "^4.2.1",
65
- "eslint-plugin-react": "^7.30.1",
66
- "eslint-plugin-react-hooks": "^4.6.0",
67
- "file-loader": "^6.2.0",
68
- "fork-ts-checker-webpack-plugin": "^7.2.12",
69
- "html-loader": "^3.1.2",
70
- "html-webpack-plugin": "^5.5.0",
71
- "husky": "^8.0.1",
72
- "lint-staged": "^13.0.3",
73
- "mini-css-extract-plugin": "^2.6.1",
74
- "prettier": "^2.7.1",
75
- "sass": "^1.53.0",
76
- "sass-loader": "^13.0.2",
77
- "style-loader": "^3.3.1",
78
- "terser-webpack-plugin": "^5.3.3",
79
- "tsc-alias": "^1.6.11",
80
- "typescript": "^4.7.4",
81
- "webpack": "^5.73.0",
82
- "webpack-cli": "^4.10.0",
83
- "webpack-dev-server": "^4.9.3",
84
- "webpack-merge": "^5.8.0"
85
- },
86
- "peerDependencies": {
87
- "react": ">=17.0.2",
88
- "react-dom": ">=17.0.2"
89
- },
90
- "lint-staged": {
91
- "src/**/*.{ts,tsx,json,js,jsx}": [
92
- "yarn run prettier:fix",
93
- "yarn run lint",
94
- "git add ."
95
- ]
96
- },
97
- "browserslist": {
98
- "production": [
99
- ">0.2%",
100
- "not dead",
101
- "not op_mini all"
102
- ],
103
- "development": [
104
- "last 1 chrome version",
105
- "last 1 firefox version",
106
- "last 1 safari version"
107
- ]
108
- }
109
- }
1
+ {
2
+ "name": "@tap-payments/apple-pay-button",
3
+ "version": "0.0.83-development",
4
+ "description": "Apple Pay Button React Component",
5
+ "main": "build/index.js",
6
+ "module": "build/index.js",
7
+ "types": "build/index.d.ts",
8
+ "files": [
9
+ "build",
10
+ "README.md"
11
+ ],
12
+ "scripts": {
13
+ "start": "cross-env NODE_ENV=development webpack serve",
14
+ "prepare": "npx husky install",
15
+ "prettier": "prettier --list-different \"src/**/*.{md,mdx,ts,js,tsx,jsx,json}\" *.json *.js",
16
+ "prettier:fix": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,md,css,json}\" *.json *.js",
17
+ "lint": "eslint src --color --ext .js,.jsx,.ts,.tsx,.json",
18
+ "lint:fix": "eslint src --ext .js,.jsx,.ts,.tsx --fix",
19
+ "build": "cross-env NODE_ENV=production webpack",
20
+ "copy:files": "copyfiles -u 1 src/**/*.gif build/ && copyfiles -u 1 src/**/*.css build/",
21
+ "tsc:alias": "tsc-alias -p tsconfig.json",
22
+ "ts:build": "rm -rf build && tsc && yarn tsc:alias && yarn copy:files",
23
+ "push": "npm publish --access public --tag development"
24
+ },
25
+ "keywords": [],
26
+ "author": {
27
+ "name": "Ahmed Elsharkawy",
28
+ "email": "a.elsharkawy@tap.company"
29
+ },
30
+ "license": "ISC",
31
+ "dependencies": {
32
+ "@tap-payments/acceptance-sdk": "^0.0.46",
33
+ "@tap-payments/browser-info": "^1.0.2",
34
+ "@tap-payments/web-error-handing": "^1.0.1",
35
+ "axios": "^1.2.2",
36
+ "framer-motion": "^10.16.5",
37
+ "jsencrypt": "^3.3.2",
38
+ "lottie-react": "^2.4.0",
39
+ "react": "^18.2.0",
40
+ "react-dom": "^18.2.0"
41
+ },
42
+ "devDependencies": {
43
+ "@babel/core": "^7.18.6",
44
+ "@babel/preset-env": "^7.18.6",
45
+ "@babel/preset-react": "^7.18.6",
46
+ "@babel/preset-typescript": "^7.18.6",
47
+ "@types/applepayjs": "^14.0.3",
48
+ "@types/crypto-js": "^4.1.1",
49
+ "@types/react": "^18.0.15",
50
+ "@types/react-dom": "^18.0.6",
51
+ "@typescript-eslint/eslint-plugin": "^5.30.5",
52
+ "@typescript-eslint/parser": "^5.30.5",
53
+ "babel-loader": "^8.2.5",
54
+ "copyfiles": "^2.4.1",
55
+ "cross-env": "^7.0.3",
56
+ "css-loader": "^6.7.1",
57
+ "css-minimizer-webpack-plugin": "^4.0.0",
58
+ "eslint": "^8.19.0",
59
+ "eslint-config-airbnb": "^19.0.4",
60
+ "eslint-config-prettier": "^8.5.0",
61
+ "eslint-plugin-import": "^2.26.0",
62
+ "eslint-plugin-jsx-a11y": "^6.6.0",
63
+ "eslint-plugin-node": "^11.1.0",
64
+ "eslint-plugin-prettier": "^4.2.1",
65
+ "eslint-plugin-react": "^7.30.1",
66
+ "eslint-plugin-react-hooks": "^4.6.0",
67
+ "file-loader": "^6.2.0",
68
+ "fork-ts-checker-webpack-plugin": "^7.2.12",
69
+ "html-loader": "^3.1.2",
70
+ "html-webpack-plugin": "^5.5.0",
71
+ "husky": "^8.0.1",
72
+ "lint-staged": "^13.0.3",
73
+ "mini-css-extract-plugin": "^2.6.1",
74
+ "prettier": "^2.7.1",
75
+ "sass": "^1.53.0",
76
+ "sass-loader": "^13.0.2",
77
+ "style-loader": "^3.3.1",
78
+ "terser-webpack-plugin": "^5.3.3",
79
+ "tsc-alias": "^1.6.11",
80
+ "typescript": "^4.7.4",
81
+ "webpack": "^5.73.0",
82
+ "webpack-cli": "^4.10.0",
83
+ "webpack-dev-server": "^4.9.3",
84
+ "webpack-merge": "^5.8.0"
85
+ },
86
+ "peerDependencies": {
87
+ "react": ">=17.0.2",
88
+ "react-dom": ">=17.0.2"
89
+ },
90
+ "lint-staged": {
91
+ "src/**/*.{ts,tsx,json,js,jsx}": [
92
+ "yarn run prettier:fix",
93
+ "yarn run lint",
94
+ "git add ."
95
+ ]
96
+ },
97
+ "browserslist": {
98
+ "production": [
99
+ ">0.2%",
100
+ "not dead",
101
+ "not op_mini all"
102
+ ],
103
+ "development": [
104
+ "last 1 chrome version",
105
+ "last 1 firefox version",
106
+ "last 1 safari version"
107
+ ]
108
+ }
109
+ }