Website : rimsha.abasa.com
backdoor
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
var
/
canvas
/
node_modules
/
@instructure
/
ui-progress
/
es
/
ProgressCircle
/
Filename :
theme.js
back
Copy
/* * The MIT License (MIT) * * Copyright (c) 2015 - present Instructure, Inc. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. */ const radius = { xSmall: 1, small: 1.8, medium: 2.75, large: 3.5 }; const size = { xSmall: 3, small: 5, medium: 7, large: 9 }; const strokeWidth = { xSmall: 0.185, small: 0.5, medium: 0.625, large: 0.875 }; // Necessary to get the 1px border line to go "under" the meter // strokeWidth is divided in half because SVG strokeWidth is // centered along the path of the stroke, unlike CSS const borderWidth = 0.0625; const borderOffsetRadius = { xSmall: radius.xSmall - strokeWidth.xSmall / 2 + borderWidth, small: radius.small - strokeWidth.small / 2 + borderWidth, medium: radius.medium - strokeWidth.medium / 2 + borderWidth, large: radius.large - strokeWidth.large / 2 + borderWidth }; const circumference = function (r) { return (2 * Math.PI * r).toFixed(3); }; const transform = function (s) { return s / 2; }; /** * Generates the theme object for the component from the theme and provided additional information * @param {Object} theme The actual theme object. * @return {Object} The final theme object with the overrides and component variables */ const generateComponentTheme = theme => { const colors = theme.colors, typography = theme.typography, themeName = theme.key; const themeSpecificStyle = { canvas: { color: theme['ic-brand-font-color-dark'], meterColorBrand: theme['ic-brand-primary'] }, 'canvas-high-contrast': { meterColorBrandInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest, meterColorSuccessInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest, meterColorInfoInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest, meterColorAlertInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest, meterColorWarningInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest, meterColorDangerInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest } }; const componentVariables = { fontFamily: typography === null || typography === void 0 ? void 0 : typography.fontFamily, fontWeight: typography === null || typography === void 0 ? void 0 : typography.fontWeightNormal, lineHeight: typography === null || typography === void 0 ? void 0 : typography.lineHeightCondensed, xSmallSize: `${size.xSmall}em`, xSmallRadius: `${radius.xSmall}em`, xSmallCircumference: `${circumference(radius.xSmall)}em`, xSmallTransform: `${transform(size.xSmall)}em`, xSmallStrokeWidth: `${strokeWidth.xSmall}em`, xSmallBorderOffset: `${borderOffsetRadius.xSmall}em`, smallSize: `${size.small}em`, smallRadius: `${radius.small}em`, smallCircumference: `${circumference(radius.small)}em`, smallTransform: `${transform(size.small)}em`, smallStrokeWidth: `${strokeWidth.small}em`, smallBorderOffset: `${borderOffsetRadius.small}em`, mediumSize: `${size.medium}em`, mediumRadius: `${radius.medium}em`, mediumCircumference: `${circumference(radius.medium)}em`, mediumTransform: `${transform(size.medium)}em`, mediumStrokeWidth: `${strokeWidth.medium}em`, mediumBorderOffset: `${borderOffsetRadius.medium}em`, largeSize: `${size.large}em`, largeRadius: `${radius.large}em`, largeCircumference: `${circumference(radius.large)}em`, largeTransform: `${transform(size.large)}em`, largeStrokeWidth: `${strokeWidth.large}em`, largeBorderOffset: `${borderOffsetRadius.large}em`, color: colors === null || colors === void 0 ? void 0 : colors.textDarkest, colorInverse: colors === null || colors === void 0 ? void 0 : colors.textLightest, trackColor: colors === null || colors === void 0 ? void 0 : colors.backgroundLightest, trackColorInverse: 'transparent', trackBorderColor: colors === null || colors === void 0 ? void 0 : colors.borderMedium, trackBorderColorInverse: colors === null || colors === void 0 ? void 0 : colors.borderLightest, // variables are split out for inverse to allow // color value changes for inverse-high-contrast meterColorBrand: colors === null || colors === void 0 ? void 0 : colors.backgroundBrand, meterColorBrandInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundBrand, meterColorInfo: colors === null || colors === void 0 ? void 0 : colors.backgroundInfo, meterColorInfoInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundInfo, meterColorSuccess: colors === null || colors === void 0 ? void 0 : colors.backgroundSuccess, meterColorSuccessInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundSuccess, meterColorDanger: colors === null || colors === void 0 ? void 0 : colors.backgroundDanger, meterColorDangerInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundDanger, meterColorAlert: colors === null || colors === void 0 ? void 0 : colors.backgroundAlert, meterColorAlertInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundAlert, meterColorWarning: colors === null || colors === void 0 ? void 0 : colors.backgroundWarning, meterColorWarningInverse: colors === null || colors === void 0 ? void 0 : colors.backgroundWarning }; return { ...componentVariables, ...themeSpecificStyle[themeName] }; }; export default generateComponentTheme;