From 5f8de423f190bbb79a62f804151bc24824fa32d8 Mon Sep 17 00:00:00 2001 From: "Matt A. Tobin" Date: Fri, 2 Feb 2018 04:16:08 -0500 Subject: Add m-esr52 at 52.6.0 --- devtools/client/responsive.html/types.js | 164 +++++++++++++++++++++++++++++++ 1 file changed, 164 insertions(+) create mode 100644 devtools/client/responsive.html/types.js (limited to 'devtools/client/responsive.html/types.js') diff --git a/devtools/client/responsive.html/types.js b/devtools/client/responsive.html/types.js new file mode 100644 index 000000000..2f03cdf65 --- /dev/null +++ b/devtools/client/responsive.html/types.js @@ -0,0 +1,164 @@ +/* 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("devtools/client/shared/vendor/react"); +const { createEnum } = require("./utils/enum"); + +// React PropTypes are used to describe the expected "shape" of various common +// objects that get passed down as props to components. + +/* GLOBAL */ + +/** + * The location of the document displayed in the viewport(s). + */ +exports.location = PropTypes.string; + +/* DEVICE */ + +/** + * A single device that can be displayed in the viewport. + */ +const device = { + + // The name of the device + name: PropTypes.string, + + // The width of the device + width: PropTypes.number, + + // The height of the device + height: PropTypes.number, + + // The pixel ratio of the device + pixelRatio: PropTypes.number, + + // The user agent string of the device + userAgent: PropTypes.string, + + // Whether or not it is a touch device + touch: PropTypes.bool, + + // The operating system of the device + os: PropTypes.String, + + // Whether or not the device is displayed in the device selector + displayed: PropTypes.bool, + +}; + +/** + * An enum containing the possible values for the device list state + */ +exports.deviceListState = createEnum([ + "INITIALIZED", + "LOADING", + "LOADED", + "ERROR", +]); + +/** + * A list of devices and their types that can be displayed in the viewport. + */ +exports.devices = { + + // An array of device types + types: PropTypes.arrayOf(PropTypes.string), + + // An array of phone devices + phones: PropTypes.arrayOf(PropTypes.shape(device)), + + // An array of tablet devices + tablets: PropTypes.arrayOf(PropTypes.shape(device)), + + // An array of laptop devices + laptops: PropTypes.arrayOf(PropTypes.shape(device)), + + // An array of television devices + televisions: PropTypes.arrayOf(PropTypes.shape(device)), + + // An array of console devices + consoles: PropTypes.arrayOf(PropTypes.shape(device)), + + // An array of watch devices + watches: PropTypes.arrayOf(PropTypes.shape(device)), + + // Whether or not the device modal is open + isModalOpen: PropTypes.bool, + + // Device list state, possible values are exported above in an enum + listState: PropTypes.oneOf(Object.keys(exports.deviceListState)), + +}; + +/* VIEWPORT */ + +/** + * Network throttling state for a given viewport. + */ +exports.networkThrottling = { + + // Whether or not network throttling is enabled + enabled: PropTypes.bool, + + // Name of the selected throttling profile + profile: PropTypes.string, + +}; + +/** + * Device pixel ratio for a given viewport. + */ +const pixelRatio = exports.pixelRatio = { + + // The device pixel ratio value + value: PropTypes.number, + +}; + +/** + * Touch simulation state for a given viewport. + */ +exports.touchSimulation = { + + // Whether or not touch simulation is enabled + enabled: PropTypes.bool, + +}; + +/** + * A single viewport displaying a document. + */ +exports.viewport = { + + // The id of the viewport + id: PropTypes.number, + + // The currently selected device applied to the viewport + device: PropTypes.string, + + // The width of the viewport + width: PropTypes.number, + + // The height of the viewport + height: PropTypes.number, + + // The devicePixelRatio of the viewport + pixelRatio: PropTypes.shape(pixelRatio), + +}; + +/* ACTIONS IN PROGRESS */ + +/** + * The progression of the screenshot. + */ +exports.screenshot = { + + // Whether screenshot capturing is in progress + isCapturing: PropTypes.bool, + +}; -- cgit v1.2.3