fontdue-js 3.5.1 → 3.7.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/CHANGELOG.md +19 -0
- package/README.md +2 -0
- package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.d.ts +3 -1
- package/dist/__generated__/CheckoutUpdateCustomerMutation.graphql.js +1 -1
- package/dist/__generated__/CustomerSignInRequestLoginCodeMutation.graphql.d.ts +24 -0
- package/dist/__generated__/CustomerSignInRequestLoginCodeMutation.graphql.js +71 -0
- package/dist/__generated__/CustomerSignInVerifyLoginCodeMutation.graphql.d.ts +30 -0
- package/dist/__generated__/CustomerSignInVerifyLoginCodeMutation.graphql.js +98 -0
- package/dist/__generated__/FontFamiliesQuery.graphql.d.ts +4 -1
- package/dist/__generated__/FontFamiliesQuery.graphql.js +46 -39
- package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.d.ts +3 -1
- package/dist/__generated__/NewsletterSignupUpdateCustomerMutation.graphql.js +1 -1
- package/dist/__generated__/PriceBar_node.graphql.d.ts +4 -1
- package/dist/__generated__/PriceBar_node.graphql.js +23 -16
- package/dist/__generated__/StoreModalFamily_collection.graphql.d.ts +3 -2
- package/dist/__generated__/StoreModalFamily_collection.graphql.js +3 -3
- package/dist/__generated__/StoreModalIndexPaginationQuery.graphql.d.ts +23 -0
- package/dist/__generated__/StoreModalIndexPaginationQuery.graphql.js +303 -0
- package/dist/__generated__/StoreModalIndexQuery.graphql.d.ts +4 -9
- package/dist/__generated__/StoreModalIndexQuery.graphql.js +90 -53
- package/dist/__generated__/StoreModalIndex_viewer.graphql.d.ts +24 -0
- package/dist/__generated__/StoreModalIndex_viewer.graphql.js +134 -0
- package/dist/__generated__/StoreModalProductContent_collection.graphql.d.ts +4 -1
- package/dist/__generated__/StoreModalProductContent_collection.graphql.js +12 -5
- package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.d.ts +2 -1
- package/dist/__generated__/StoreModalProductLicenseSelection_collection.graphql.js +27 -24
- package/dist/__generated__/StoreModalProductQuery.graphql.d.ts +2 -19
- package/dist/__generated__/StoreModalProductQuery.graphql.js +143 -174
- package/dist/__generated__/StoreModalProductRefetchQuery.graphql.d.ts +1 -1
- package/dist/__generated__/StoreModalProductRefetchQuery.graphql.js +54 -53
- package/dist/__generated__/StoreModalProductSlugQuery.graphql.d.ts +38 -0
- package/dist/__generated__/StoreModalProductSlugQuery.graphql.js +750 -0
- package/dist/__generated__/StoreModalProductViewer.graphql.d.ts +34 -0
- package/dist/__generated__/StoreModalProductViewer.graphql.js +149 -0
- package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.d.ts +3 -1
- package/dist/__generated__/StoreModalUnifiedCheckoutUpdateCustomerMutation.graphql.js +1 -1
- package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.d.ts +3 -1
- package/dist/__generated__/TestFontsFormUpdateCustomerMutation.graphql.js +1 -1
- package/dist/__generated__/TypeTestersIDQuery.graphql.d.ts +1 -1
- package/dist/__generated__/TypeTestersIDQuery.graphql.js +17 -10
- package/dist/__generated__/TypeTestersRefetchQuery.graphql.d.ts +1 -1
- package/dist/__generated__/TypeTestersRefetchQuery.graphql.js +17 -10
- package/dist/__generated__/TypeTestersSlugQuery.graphql.d.ts +1 -1
- package/dist/__generated__/TypeTestersSlugQuery.graphql.js +17 -10
- package/dist/__generated__/storefrontEventsTrackStorefrontEventMutation.graphql.d.ts +41 -0
- package/dist/__generated__/storefrontEventsTrackStorefrontEventMutation.graphql.js +65 -0
- package/dist/__generated__/useCurrentCustomerQuery.graphql.d.ts +23 -0
- package/dist/__generated__/{ServerConfigProviderQuery.graphql.js → useCurrentCustomerQuery.graphql.js} +24 -39
- package/dist/__tests__/bundleSelectionOrder.test.js +92 -0
- package/dist/__tests__/collectionBundleSelection.test.js +441 -1446
- package/dist/__tests__/customerSession.test.js +456 -0
- package/dist/__tests__/infiniteScroll.test.js +180 -0
- package/dist/__tests__/licenseExclusions.test.js +2 -1
- package/dist/__tests__/storeModalRoutes.test.js +118 -0
- package/dist/__tests__/storefrontEvents.test.js +167 -0
- package/dist/__tests__/stripeElements.test.js +173 -0
- package/dist/__tests__/typeTesterAutofitFeatures.test.js +138 -0
- package/dist/__tests__/typeTesterInitialSize.test.js +82 -0
- package/dist/__tests__/typeTesterTruncate.test.js +218 -0
- package/dist/auth/session.d.ts +42 -0
- package/dist/auth/session.js +139 -0
- package/dist/auth/tokenStore.d.ts +61 -0
- package/dist/auth/tokenStore.js +162 -0
- package/dist/components/Cart/Checkout.js +19 -9
- package/dist/components/Cart/storefrontEvents.d.ts +34 -0
- package/dist/components/Cart/storefrontEvents.js +138 -0
- package/dist/components/ConfigContext.d.ts +2 -2
- package/dist/components/CustomerSignIn/index.d.ts +33 -0
- package/dist/components/CustomerSignIn/index.js +170 -0
- package/dist/components/FontFamilies/index.js +4 -3
- package/dist/components/NewsletterSignup/index.js +5 -1
- package/dist/components/Precart/index.js +6 -0
- package/dist/components/PriceBar/index.js +5 -3
- package/dist/components/Root/index.js +4 -34
- package/dist/components/Root/productState.d.ts +2 -8
- package/dist/components/Root/productState.js +46 -57
- package/dist/components/SKUPrice/index.js +7 -8
- package/dist/components/StoreModal/StoreModalFamily.js +4 -2
- package/dist/components/StoreModal/StoreModalIndex.js +48 -7
- package/dist/components/StoreModal/StoreModalProduct.d.ts +5 -1
- package/dist/components/StoreModal/StoreModalProduct.js +69 -16
- package/dist/components/StoreModal/index.js +14 -14
- package/dist/components/StoreModal/routes.js +9 -1
- package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.d.ts +2 -1
- package/dist/components/StoreModalProductLicenseSelection/StoreModalProductLicense.js +8 -3
- package/dist/components/StoreModalProductLicenseSelection/index.js +3 -2
- package/dist/components/TestFontsForm/index.js +5 -1
- package/dist/components/TypeTester/TypeTesterContent.js +9 -2
- package/dist/components/TypeTester/TypeTesterContext.js +17 -4
- package/dist/components/TypeTester/TypeTesterFitter.js +7 -2
- package/dist/components/TypeTester/TypeTesterStandalone.d.ts +2 -0
- package/dist/components/TypeTester/TypeTesterStandalone.js +2 -0
- package/dist/components/TypeTester/TypeTesterStandaloneElement.d.ts +1 -0
- package/dist/components/TypeTester/TypeTesterStandaloneElement.js +4 -1
- package/dist/components/TypeTester/TypeTesterVariableAxes.js +16 -10
- package/dist/components/TypeTester/index.d.ts +3 -1
- package/dist/components/TypeTester/index.js +2 -1
- package/dist/components/TypeTester/truncate.d.ts +12 -0
- package/dist/components/TypeTester/truncate.js +95 -0
- package/dist/components/TypeTester/useTypeTesterStyler.d.ts +3 -1
- package/dist/components/TypeTester/useTypeTesterStyler.js +36 -7
- package/dist/components/TypeTesters/TypeTestersElement.d.ts +2 -1
- package/dist/components/TypeTesters/TypeTestersElement.js +4 -1
- package/dist/components/TypeTesters/index.d.ts +2 -0
- package/dist/components/elements/StoreModalContainer/StoreModalContainerContext.d.ts +1 -0
- package/dist/components/elements/StoreModalContainer/index.js +9 -4
- package/dist/components/elements/StoreModalIndexLoadMore/index.d.ts +8 -0
- package/dist/components/elements/StoreModalIndexLoadMore/index.js +21 -0
- package/dist/components/elements/StoreModalUnifiedCheckout.d.ts +1 -1
- package/dist/components/elements/StoreModalUnifiedCheckout.js +20 -17
- package/dist/components/useInfiniteScroll.d.ts +28 -0
- package/dist/components/useInfiniteScroll.js +50 -0
- package/dist/fontdue.css +63 -0
- package/dist/hooks/useAutofit.d.ts +2 -1
- package/dist/hooks/useAutofit.js +10 -4
- package/dist/hooks/useCurrentCustomer.d.ts +34 -0
- package/dist/hooks/useCurrentCustomer.js +93 -0
- package/dist/reducer.d.ts +5 -5
- package/dist/reducer.js +9 -87
- package/dist/relay/environment.js +91 -50
- package/dist/selection.d.ts +40 -0
- package/dist/selection.js +494 -0
- package/dist/storeModalRoutes.d.ts +38 -0
- package/dist/storeModalRoutes.js +110 -0
- package/dist/stripeElements.d.ts +18 -0
- package/dist/stripeElements.js +49 -0
- package/dist/utils.d.ts +1 -12
- package/dist/utils.js +1 -36
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/dist/__generated__/NodePasswordFormIDQuery.graphql.d.ts +0 -21
- package/dist/__generated__/NodePasswordFormIDQuery.graphql.js +0 -86
- package/dist/__generated__/NodePasswordFormSlugQuery.graphql.d.ts +0 -25
- package/dist/__generated__/NodePasswordFormSlugQuery.graphql.js +0 -108
- package/dist/__generated__/ServerConfigProviderQuery.graphql.d.ts +0 -24
- package/dist/__generated__/TestModeBannerQuery.graphql.d.ts +0 -20
- package/dist/__generated__/TestModeBannerQuery.graphql.js +0 -87
- package/dist/__generated__/ThemeConfigQuery.graphql.d.ts +0 -20
- package/dist/__generated__/ThemeConfigQuery.graphql.js +0 -87
- package/dist/components/CartButton/index.server.d.ts +0 -3
- package/dist/components/CartButton/index.server.js +0 -18
- package/dist/components/CorsErrorModal.d.ts +0 -1
- package/dist/components/CorsErrorModal.js +0 -92
- package/dist/components/FontdueProvider/FontdueProviderClientComponent.d.ts +0 -14
- package/dist/components/FontdueProvider/FontdueProviderClientComponent.js +0 -61
- package/dist/components/ThemeConfig/index.server.d.ts +0 -2
- package/dist/components/ThemeConfig/index.server.js +0 -17
- package/dist/components/TypeTester/features.d.ts +0 -5
- package/dist/components/TypeTester/features.js +0 -143
- package/dist/data/unicodeData.d.ts +0 -4
- package/dist/data/unicodeData.js +0 -1
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { createRoot } from 'react-dom/client';
|
|
3
|
-
const code = {
|
|
4
|
-
background: '#fef2f2',
|
|
5
|
-
padding: '2px 6px',
|
|
6
|
-
borderRadius: 3,
|
|
7
|
-
fontSize: 13
|
|
8
|
-
};
|
|
9
|
-
function CorsErrorModal(_ref) {
|
|
10
|
-
let {
|
|
11
|
-
origin,
|
|
12
|
-
fontdueUrl
|
|
13
|
-
} = _ref;
|
|
14
|
-
let settingsOrigin = fontdueUrl;
|
|
15
|
-
try {
|
|
16
|
-
settingsOrigin = new URL(fontdueUrl).origin;
|
|
17
|
-
} catch {
|
|
18
|
-
// keep as-is
|
|
19
|
-
}
|
|
20
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
21
|
-
style: {
|
|
22
|
-
position: 'fixed',
|
|
23
|
-
inset: 0,
|
|
24
|
-
zIndex: 99999,
|
|
25
|
-
display: 'flex',
|
|
26
|
-
alignItems: 'center',
|
|
27
|
-
justifyContent: 'center',
|
|
28
|
-
background: 'rgba(0,0,0,0.4)',
|
|
29
|
-
fontFamily: '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif',
|
|
30
|
-
fontSize: 14,
|
|
31
|
-
lineHeight: 1.6
|
|
32
|
-
}
|
|
33
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
34
|
-
style: {
|
|
35
|
-
background: 'white',
|
|
36
|
-
color: '#1f2937',
|
|
37
|
-
borderRadius: 12,
|
|
38
|
-
border: '2px solid #fca5a5',
|
|
39
|
-
padding: '28px 32px',
|
|
40
|
-
maxWidth: 520,
|
|
41
|
-
width: '90%',
|
|
42
|
-
boxShadow: '0 8px 30px rgba(0,0,0,0.12)',
|
|
43
|
-
textAlign: 'left'
|
|
44
|
-
}
|
|
45
|
-
}, /*#__PURE__*/React.createElement("strong", {
|
|
46
|
-
style: {
|
|
47
|
-
fontSize: 16,
|
|
48
|
-
color: '#dc2626'
|
|
49
|
-
}
|
|
50
|
-
}, "Cross-origin request blocked"), /*#__PURE__*/React.createElement("p", {
|
|
51
|
-
style: {
|
|
52
|
-
margin: '12px 0 0'
|
|
53
|
-
}
|
|
54
|
-
}, "Your website (", /*#__PURE__*/React.createElement("code", {
|
|
55
|
-
style: code
|
|
56
|
-
}, origin), ") is not allowed to connect to your Fontdue store."), /*#__PURE__*/React.createElement("p", {
|
|
57
|
-
style: {
|
|
58
|
-
margin: '12px 0 0'
|
|
59
|
-
}
|
|
60
|
-
}, "To fix this, go to", ' ', /*#__PURE__*/React.createElement("a", {
|
|
61
|
-
href: `${settingsOrigin}/admin/settings/security`,
|
|
62
|
-
target: "_blank",
|
|
63
|
-
rel: "noreferrer",
|
|
64
|
-
style: {
|
|
65
|
-
color: '#dc2626',
|
|
66
|
-
fontWeight: 500
|
|
67
|
-
}
|
|
68
|
-
}, "Settings \u2192 Security"), ' ', "in your Fontdue dashboard, and add ", /*#__PURE__*/React.createElement("code", {
|
|
69
|
-
style: code
|
|
70
|
-
}, origin), " to the", ' ', /*#__PURE__*/React.createElement("strong", null, "Cross-origin API access"), " field."), /*#__PURE__*/React.createElement("p", {
|
|
71
|
-
style: {
|
|
72
|
-
margin: '16px 0 0',
|
|
73
|
-
color: '#6b7280',
|
|
74
|
-
fontSize: 13
|
|
75
|
-
}
|
|
76
|
-
}, "This page will reload automatically once the origin is added.")));
|
|
77
|
-
}
|
|
78
|
-
function mount(origin, fontdueUrl) {
|
|
79
|
-
const container = document.createElement('div');
|
|
80
|
-
document.body.appendChild(container);
|
|
81
|
-
createRoot(container).render( /*#__PURE__*/React.createElement(CorsErrorModal, {
|
|
82
|
-
origin: origin,
|
|
83
|
-
fontdueUrl: fontdueUrl
|
|
84
|
-
}));
|
|
85
|
-
}
|
|
86
|
-
export function renderCorsErrorModal(origin, fontdueUrl) {
|
|
87
|
-
if (document.body) {
|
|
88
|
-
mount(origin, fontdueUrl);
|
|
89
|
-
} else {
|
|
90
|
-
document.addEventListener('DOMContentLoaded', () => mount(origin, fontdueUrl));
|
|
91
|
-
}
|
|
92
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Store } from 'redux';
|
|
3
|
-
import { Config } from '../ConfigContext';
|
|
4
|
-
import { FontdueAction, FontdueState } from '../../reducer';
|
|
5
|
-
import { Components } from '../ComponentsContext';
|
|
6
|
-
export interface FontdueProvider_props {
|
|
7
|
-
children?: React.ReactNode;
|
|
8
|
-
url?: string;
|
|
9
|
-
stripeIntegration?: 'card-element' | 'dynamic';
|
|
10
|
-
config?: Config;
|
|
11
|
-
components?: Components;
|
|
12
|
-
store?: Store<FontdueState, FontdueAction>;
|
|
13
|
-
}
|
|
14
|
-
export default function FontdueProviderClientComponent({ children, url, stripeIntegration, config, components, store, }: FontdueProvider_props): React.JSX.Element;
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
'use client';
|
|
3
|
-
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports.default = FontdueProviderClientComponent;
|
|
8
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
9
|
-
var _reactErrorBoundary = require("react-error-boundary");
|
|
10
|
-
var _reactRedux = require("react-redux");
|
|
11
|
-
var _reactRelay = require("react-relay");
|
|
12
|
-
var _environment = require("../../relay/environment");
|
|
13
|
-
var _ConfigContext = _interopRequireWildcard(require("../ConfigContext"));
|
|
14
|
-
var _reducer = require("../../reducer");
|
|
15
|
-
var _ComponentsContext = _interopRequireDefault(require("../ComponentsContext"));
|
|
16
|
-
var _UrlContext = _interopRequireDefault(require("../UrlContext"));
|
|
17
|
-
var _retryImport = _interopRequireDefault(require("../../retryImport"));
|
|
18
|
-
var _corsError = require("../../corsError");
|
|
19
|
-
var _TypeTesterFamilies = _interopRequireDefault(require("../TypeTester/TypeTesterFamilies"));
|
|
20
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
21
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
22
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
23
|
-
const ConsentBanner = /*#__PURE__*/(0, _react.lazy)(() => (0, _retryImport.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require('../ConsentBanner')))));
|
|
24
|
-
const Tracking = /*#__PURE__*/(0, _react.lazy)(() => (0, _retryImport.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require('../Tracking')))));
|
|
25
|
-
const ServerConfigProvider = /*#__PURE__*/(0, _react.lazy)(() => (0, _retryImport.default)(() => Promise.resolve().then(() => _interopRequireWildcard(require('../ServerConfigProvider')))));
|
|
26
|
-
function FontdueProviderClientComponent(_ref) {
|
|
27
|
-
let {
|
|
28
|
-
children,
|
|
29
|
-
url,
|
|
30
|
-
stripeIntegration,
|
|
31
|
-
config,
|
|
32
|
-
components,
|
|
33
|
-
store
|
|
34
|
-
} = _ref;
|
|
35
|
-
const environment = (0, _environment.useCurrentEnvironment)({
|
|
36
|
-
url,
|
|
37
|
-
stripeIntegration
|
|
38
|
-
});
|
|
39
|
-
const configValue = (0, _ConfigContext.makeConfig)(config);
|
|
40
|
-
(0, _corsError.setCorsModalEnabled)(configValue.corsErrorModal);
|
|
41
|
-
const storeRef = (0, _react.useRef)(store ?? (0, _reducer.createDefaultStore)(config));
|
|
42
|
-
return /*#__PURE__*/_react.default.createElement(_reactRelay.RelayEnvironmentProvider, {
|
|
43
|
-
environment: environment
|
|
44
|
-
}, /*#__PURE__*/_react.default.createElement(_reactRedux.Provider, {
|
|
45
|
-
store: storeRef.current
|
|
46
|
-
}, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
47
|
-
fallback: null
|
|
48
|
-
}, /*#__PURE__*/_react.default.createElement(_ConfigContext.default.Provider, {
|
|
49
|
-
value: configValue
|
|
50
|
-
}, /*#__PURE__*/_react.default.createElement(_UrlContext.default.Provider, {
|
|
51
|
-
value: url ?? (typeof process !== 'undefined' ? process.env.NEXT_PUBLIC_FONTDUE_URL : undefined) ?? ''
|
|
52
|
-
}, /*#__PURE__*/_react.default.createElement(_ComponentsContext.default.Provider, {
|
|
53
|
-
value: components ?? {}
|
|
54
|
-
}, /*#__PURE__*/_react.default.createElement(_TypeTesterFamilies.default, null, children), /*#__PURE__*/_react.default.createElement(_reactErrorBoundary.ErrorBoundary, {
|
|
55
|
-
fallback: null
|
|
56
|
-
}, /*#__PURE__*/_react.default.createElement(_react.Suspense, {
|
|
57
|
-
fallback: null
|
|
58
|
-
}, /*#__PURE__*/_react.default.createElement(ServerConfigProvider, {
|
|
59
|
-
codeConfig: config
|
|
60
|
-
}, /*#__PURE__*/_react.default.createElement(ConsentBanner, null), /*#__PURE__*/_react.default.createElement(Tracking, null))))))))));
|
|
61
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = ThemeConfig;
|
|
7
|
-
var _react = _interopRequireDefault(require("react"));
|
|
8
|
-
var _loadSerializableQuery = _interopRequireDefault(require("../../relay/loadSerializableQuery"));
|
|
9
|
-
var _index = require("./index");
|
|
10
|
-
var _ThemeConfigQuery = _interopRequireDefault(require("../../__generated__/ThemeConfigQuery.graphql"));
|
|
11
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
12
|
-
async function ThemeConfig() {
|
|
13
|
-
const preloadedQuery = await (0, _loadSerializableQuery.default)(_ThemeConfigQuery.default, {});
|
|
14
|
-
return /*#__PURE__*/_react.default.createElement(_index.ThemeConfigPreloadedQueryRenderer, {
|
|
15
|
-
preloadedQuery: preloadedQuery
|
|
16
|
-
});
|
|
17
|
-
}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
const features = {
|
|
2
|
-
aalt: 'Access All Alternates',
|
|
3
|
-
abvf: 'Above-base Forms',
|
|
4
|
-
abvm: 'Above-base Mark Positioning',
|
|
5
|
-
abvs: 'Above-base Substitutions',
|
|
6
|
-
afrc: 'Alternative Fractions',
|
|
7
|
-
akhn: 'Akhands',
|
|
8
|
-
blwf: 'Below-base Forms',
|
|
9
|
-
blwm: 'Below-base Mark Positioning',
|
|
10
|
-
blws: 'Below-base Substitutions',
|
|
11
|
-
calt: 'Contextual Alternates',
|
|
12
|
-
case: 'Case-Sensitive Forms',
|
|
13
|
-
ccmp: 'Glyph Composition / Decomposition',
|
|
14
|
-
cfar: 'Conjunct Form After Ro',
|
|
15
|
-
cjct: 'Conjunct Forms',
|
|
16
|
-
clig: 'Contextual Ligatures',
|
|
17
|
-
cpct: 'Centered CJK Punctuation',
|
|
18
|
-
cpsp: 'Capital Spacing',
|
|
19
|
-
cswh: 'Contextual Swash',
|
|
20
|
-
curs: 'Cursive Positioning',
|
|
21
|
-
c2pc: 'Petite Capitals From Capitals',
|
|
22
|
-
c2sc: 'Small Capitals From Capitals',
|
|
23
|
-
dist: 'Distances',
|
|
24
|
-
dlig: 'Discretionary Ligatures',
|
|
25
|
-
dnom: 'Denominators',
|
|
26
|
-
dtls: 'Dotless Forms',
|
|
27
|
-
expt: 'Expert Forms',
|
|
28
|
-
falt: 'Final Glyph on Line Alternates',
|
|
29
|
-
fin2: 'Terminal Forms #2',
|
|
30
|
-
fin3: 'Terminal Forms #3',
|
|
31
|
-
fina: 'Terminal Forms',
|
|
32
|
-
flac: 'Flattened accent forms',
|
|
33
|
-
frac: 'Fractions',
|
|
34
|
-
fwid: 'Full Widths',
|
|
35
|
-
half: 'Half Forms',
|
|
36
|
-
haln: 'Halant Forms',
|
|
37
|
-
halt: 'Alternate Half Widths',
|
|
38
|
-
hist: 'Historical Forms',
|
|
39
|
-
hkna: 'Horizontal Kana Alternates',
|
|
40
|
-
hlig: 'Historical Ligatures',
|
|
41
|
-
hngl: 'Hangul',
|
|
42
|
-
hojo: 'Hojo Kanji Forms',
|
|
43
|
-
hwid: 'Half Widths',
|
|
44
|
-
init: 'Initial Forms',
|
|
45
|
-
isol: 'Isolated Forms',
|
|
46
|
-
ital: 'Italics',
|
|
47
|
-
jalt: 'Justification Alternates',
|
|
48
|
-
jp78: 'JIS78 Forms',
|
|
49
|
-
jp83: 'JIS83 Forms',
|
|
50
|
-
jp90: 'JIS90 Forms',
|
|
51
|
-
jp04: 'JIS2004 Forms',
|
|
52
|
-
kern: 'Kerning',
|
|
53
|
-
lfbd: 'Left Bounds',
|
|
54
|
-
liga: 'Standard Ligatures',
|
|
55
|
-
ljmo: 'Leading Jamo Forms',
|
|
56
|
-
lnum: 'Lining Figures',
|
|
57
|
-
locl: 'Localized Forms',
|
|
58
|
-
ltra: 'Left-to-right alternates',
|
|
59
|
-
ltrm: 'Left-to-right mirrored forms',
|
|
60
|
-
mark: 'Mark Positioning',
|
|
61
|
-
med2: 'Medial Forms #2',
|
|
62
|
-
medi: 'Medial Forms',
|
|
63
|
-
mgrk: 'Mathematical Greek',
|
|
64
|
-
mkmk: 'Mark to Mark Positioning',
|
|
65
|
-
mset: 'Mark Positioning via Substitution',
|
|
66
|
-
nalt: 'Alternate Annotation Forms',
|
|
67
|
-
nlck: 'NLC Kanji Forms',
|
|
68
|
-
nukt: 'Nukta Forms',
|
|
69
|
-
numr: 'Numerators',
|
|
70
|
-
onum: 'Oldstyle Figures',
|
|
71
|
-
opbd: 'Optical Bounds',
|
|
72
|
-
ordn: 'Ordinals',
|
|
73
|
-
ornm: 'Ornaments',
|
|
74
|
-
palt: 'Proportional Alternate Widths',
|
|
75
|
-
pcap: 'Petite Capitals',
|
|
76
|
-
pkna: 'Proportional Kana',
|
|
77
|
-
pnum: 'Proportional Figures',
|
|
78
|
-
pref: 'Pre-Base Forms',
|
|
79
|
-
pres: 'Pre-base Substitutions',
|
|
80
|
-
pstf: 'Post-base Forms',
|
|
81
|
-
psts: 'Post-base Substitutions',
|
|
82
|
-
pwid: 'Proportional Widths',
|
|
83
|
-
qwid: 'Quarter Widths',
|
|
84
|
-
rand: 'Randomize',
|
|
85
|
-
rclt: 'Required Contextual Alternates',
|
|
86
|
-
rkrf: 'Rakar Forms',
|
|
87
|
-
rlig: 'Required Ligatures',
|
|
88
|
-
rphf: 'Reph Forms',
|
|
89
|
-
rtbd: 'Right Bounds',
|
|
90
|
-
rtla: 'Right-to-left alternates',
|
|
91
|
-
rtlm: 'Right-to-left mirrored forms',
|
|
92
|
-
ruby: 'Ruby Notation Forms',
|
|
93
|
-
rvrn: 'Required Variation Alternates',
|
|
94
|
-
salt: 'Stylistic Alternates',
|
|
95
|
-
sinf: 'Scientific Inferiors',
|
|
96
|
-
size: 'Optical size',
|
|
97
|
-
smcp: 'Small Capitals',
|
|
98
|
-
smpl: 'Simplified Forms',
|
|
99
|
-
ss01: 'Stylistic Set 1',
|
|
100
|
-
ss02: 'Stylistic Set 2',
|
|
101
|
-
ss03: 'Stylistic Set 3',
|
|
102
|
-
ss04: 'Stylistic Set 4',
|
|
103
|
-
ss05: 'Stylistic Set 5',
|
|
104
|
-
ss06: 'Stylistic Set 6',
|
|
105
|
-
ss07: 'Stylistic Set 7',
|
|
106
|
-
ss08: 'Stylistic Set 8',
|
|
107
|
-
ss09: 'Stylistic Set 9',
|
|
108
|
-
ss10: 'Stylistic Set 10',
|
|
109
|
-
ss11: 'Stylistic Set 11',
|
|
110
|
-
ss12: 'Stylistic Set 12',
|
|
111
|
-
ss13: 'Stylistic Set 13',
|
|
112
|
-
ss14: 'Stylistic Set 14',
|
|
113
|
-
ss15: 'Stylistic Set 15',
|
|
114
|
-
ss16: 'Stylistic Set 16',
|
|
115
|
-
ss17: 'Stylistic Set 17',
|
|
116
|
-
ss18: 'Stylistic Set 18',
|
|
117
|
-
ss19: 'Stylistic Set 19',
|
|
118
|
-
ss20: 'Stylistic Set 20',
|
|
119
|
-
ssty: 'Math script style alternates',
|
|
120
|
-
stch: 'Stretching Glyph Decomposition',
|
|
121
|
-
subs: 'Subscript',
|
|
122
|
-
sups: 'Superscript',
|
|
123
|
-
swsh: 'Swash',
|
|
124
|
-
titl: 'Titling',
|
|
125
|
-
tjmo: 'Trailing Jamo Forms',
|
|
126
|
-
tnam: 'Traditional Name Forms',
|
|
127
|
-
tnum: 'Tabular Figures',
|
|
128
|
-
trad: 'Traditional Forms',
|
|
129
|
-
twid: 'Third Widths',
|
|
130
|
-
unic: 'Unicase',
|
|
131
|
-
valt: 'Alternate Vertical Metrics',
|
|
132
|
-
vatu: 'Vattu Variants',
|
|
133
|
-
vert: 'Vertical Writing',
|
|
134
|
-
vhal: 'Alternate Vertical Half Metrics',
|
|
135
|
-
vjmo: 'Vowel Jamo Forms',
|
|
136
|
-
vkna: 'Vertical Kana Alternates',
|
|
137
|
-
vkrn: 'Vertical Kerning',
|
|
138
|
-
vpal: 'Proportional Alternate Vertical Metrics',
|
|
139
|
-
vrt2: 'Vertical Alternates and Rotation',
|
|
140
|
-
vrtr: 'Vertical Alternates for Rotation',
|
|
141
|
-
zero: 'Slashed Zero'
|
|
142
|
-
};
|
|
143
|
-
export default features;
|