diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /devtools/client/inspector/fonts/types.js | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'devtools/client/inspector/fonts/types.js')
-rw-r--r-- | devtools/client/inspector/fonts/types.js | 109 |
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)), +}; |