summaryrefslogtreecommitdiffstats
path: root/devtools/client/inspector/fonts/types.js
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--devtools/client/inspector/fonts/types.js109
1 files changed, 109 insertions, 0 deletions
diff --git a/devtools/client/inspector/fonts/types.js b/devtools/client/inspector/fonts/types.js
new file mode 100644
index 0000000000..f27625f742
--- /dev/null
+++ b/devtools/client/inspector/fonts/types.js
@@ -0,0 +1,109 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+"use strict";
+
+const PropTypes = require("resource://devtools/client/shared/vendor/react-prop-types.js");
+
+/**
+ * A font variation axis.
+ */
+const fontVariationAxis = (exports.fontVariationAxis = {
+ // The OpenType tag name of the variation axis
+ tag: PropTypes.string,
+
+ // The axis name of the variation axis
+ name: PropTypes.string,
+
+ // The minimum value of the variation axis
+ minValue: PropTypes.number,
+
+ // The maximum value of the variation axis
+ maxValue: PropTypes.number,
+
+ // The default value of the variation axis
+ defaultValue: PropTypes.number,
+});
+
+const fontVariationInstanceValue = (exports.fontVariationInstanceValue = {
+ // The axis name of the variation axis
+ axis: PropTypes.string,
+
+ // The value of the variation axis
+ value: PropTypes.number,
+});
+
+/**
+ * A font variation instance.
+ */
+const fontVariationInstance = (exports.fontVariationInstance = {
+ // The variation instance name of the font
+ name: PropTypes.string,
+
+ // The font variation values for the variation instance of the font
+ values: PropTypes.arrayOf(PropTypes.shape(fontVariationInstanceValue)),
+});
+
+/**
+ * A single font.
+ */
+const font = (exports.font = {
+ // Font family name
+ CSSFamilyName: PropTypes.string,
+
+ // The format of the font
+ format: PropTypes.string,
+
+ // The name of the font
+ name: PropTypes.string,
+
+ // URL for the font preview
+ previewUrl: PropTypes.string,
+
+ // Object containing the CSS rule for the font
+ rule: PropTypes.object,
+
+ // The text of the CSS rule
+ ruleText: PropTypes.string,
+
+ // The URI of the font file
+ URI: PropTypes.string,
+
+ // The variation axes of the font
+ variationAxes: PropTypes.arrayOf(PropTypes.shape(fontVariationAxis)),
+
+ // The variation instances of the font
+ variationInstances: PropTypes.arrayOf(PropTypes.shape(fontVariationInstance)),
+});
+
+exports.fontOptions = {
+ // The current preview text
+ previewText: PropTypes.string,
+};
+
+exports.fontEditor = {
+ // Variable font axes and their values
+ axes: PropTypes.object,
+
+ // Axes values changed at runtime structured like the "values" property
+ // of a fontVariationInstance
+ customInstanceValues: PropTypes.array,
+
+ // Fonts used on the selected element
+ fonts: PropTypes.arrayOf(PropTypes.shape(font)),
+
+ // Font variation instance currently selected
+ instance: PropTypes.shape(fontVariationInstance),
+
+ // CSS font properties defined on the element
+ properties: PropTypes.object,
+};
+
+/**
+ * Font data.
+ */
+exports.fontData = {
+ // All fonts on the current page.
+ allFonts: PropTypes.arrayOf(PropTypes.shape(font)),
+};