mirror of
https://github.com/agam778/MS-365-Electron.git
synced 2026-02-17 09:02:10 +00:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b4341704c6 | ||
|
|
1852e5410a | ||
|
|
84af34fc63 | ||
|
|
159d3b9304 | ||
|
|
49f410a6b9 |
2
.github/workflows/build.yml
vendored
2
.github/workflows/build.yml
vendored
@@ -1,6 +1,6 @@
|
||||
name: Build/release
|
||||
|
||||
on: push
|
||||
on: workflow_dispatch
|
||||
|
||||
jobs:
|
||||
release:
|
||||
|
||||
3
.prettierignore
Normal file
3
.prettierignore
Normal file
@@ -0,0 +1,3 @@
|
||||
yarn.lock
|
||||
node_modules/
|
||||
README.md
|
||||
@@ -1,21 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Agampreet Singh
|
||||
|
||||
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
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2022 Agampreet Singh
|
||||
|
||||
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.
|
||||
@@ -9,7 +9,7 @@
|
||||
<a href="https://electronjs.org">
|
||||
<img align="center" src="https://img.shields.io/badge/Developed%20With-Electron-red?logo=Electron&logoColor=white&style=flat">
|
||||
</a>
|
||||
<a href="https://github.com/agam778/MS-Office-Electron/blob/main/license.txt">
|
||||
<a href="https://github.com/agam778/MS-Office-Electron/blob/main/LICENSE">
|
||||
<img align="center" src="https://img.shields.io/github/license/agam778/MS-Office-Electron?style=flat">
|
||||
</a>
|
||||
<a href="https://github.com/agam778/MS-Office-Electron/releases/">
|
||||
|
||||
@@ -1,9 +1,7 @@
|
||||
# MS-Office-Electron
|
||||
|
||||
A Microsoft Office Online Desktop Client made with Electron. Free of Cost.
|
||||
|
||||
# Website Branch
|
||||
Just a website for the MS-Office-Electron App, nothing much<br>
|
||||
Includes the loading screen for now [here](https://agam778.github.io/MS-Office-Electron/loading/)
|
||||
# Website
|
||||
|
||||
# Todo:
|
||||
- [ ] Add description about the app
|
||||
Just a website for the MS-Office-Electron App, nothing much
|
||||
|
||||
4395
docs/assets/css/fontawesome-all.min.css
vendored
4395
docs/assets/css/fontawesome-all.min.css
vendored
File diff suppressed because one or more lines are too long
150
docs/assets/js/breakpoints.min.js
vendored
150
docs/assets/js/breakpoints.min.js
vendored
@@ -1,2 +1,150 @@
|
||||
/* breakpoints.js v1.0 | @ajlkn | MIT licensed */
|
||||
var breakpoints=function(){"use strict";function e(e){t.init(e)}var t={list:null,media:{},events:[],init:function(e){t.list=e,window.addEventListener("resize",t.poll),window.addEventListener("orientationchange",t.poll),window.addEventListener("load",t.poll),window.addEventListener("fullscreenchange",t.poll)},active:function(e){var n,a,s,i,r,d,c;if(!(e in t.media)){if(">="==e.substr(0,2)?(a="gte",n=e.substr(2)):"<="==e.substr(0,2)?(a="lte",n=e.substr(2)):">"==e.substr(0,1)?(a="gt",n=e.substr(1)):"<"==e.substr(0,1)?(a="lt",n=e.substr(1)):"!"==e.substr(0,1)?(a="not",n=e.substr(1)):(a="eq",n=e),n&&n in t.list)if(i=t.list[n],Array.isArray(i)){if(r=parseInt(i[0]),d=parseInt(i[1]),isNaN(r)){if(isNaN(d))return;c=i[1].substr(String(d).length)}else c=i[0].substr(String(r).length);if(isNaN(r))switch(a){case"gte":s="screen";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: -1px)";break;case"not":s="screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (max-width: "+d+c+")"}else if(isNaN(d))switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen";break;case"gt":s="screen and (max-width: -1px)";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+")";break;default:s="screen and (min-width: "+r+c+")"}else switch(a){case"gte":s="screen and (min-width: "+r+c+")";break;case"lte":s="screen and (max-width: "+d+c+")";break;case"gt":s="screen and (min-width: "+(d+1)+c+")";break;case"lt":s="screen and (max-width: "+(r-1)+c+")";break;case"not":s="screen and (max-width: "+(r-1)+c+"), screen and (min-width: "+(d+1)+c+")";break;default:s="screen and (min-width: "+r+c+") and (max-width: "+d+c+")"}}else s="("==i.charAt(0)?"screen and "+i:i;t.media[e]=!!s&&s}return t.media[e]!==!1&&window.matchMedia(t.media[e]).matches},on:function(e,n){t.events.push({query:e,handler:n,state:!1}),t.active(e)&&n()},poll:function(){var e,n;for(e=0;e<t.events.length;e++)n=t.events[e],t.active(n.query)?n.state||(n.state=!0,n.handler()):n.state&&(n.state=!1)}};return e._=t,e.on=function(e,n){t.on(e,n)},e.active=function(e){return t.active(e)},e}();!function(e,t){"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?module.exports=t():e.breakpoints=t()}(this,function(){return breakpoints});
|
||||
var breakpoints = (function () {
|
||||
"use strict";
|
||||
function e(e) {
|
||||
t.init(e);
|
||||
}
|
||||
var t = {
|
||||
list: null,
|
||||
media: {},
|
||||
events: [],
|
||||
init: function (e) {
|
||||
(t.list = e),
|
||||
window.addEventListener("resize", t.poll),
|
||||
window.addEventListener("orientationchange", t.poll),
|
||||
window.addEventListener("load", t.poll),
|
||||
window.addEventListener("fullscreenchange", t.poll);
|
||||
},
|
||||
active: function (e) {
|
||||
var n, a, s, i, r, d, c;
|
||||
if (!(e in t.media)) {
|
||||
if (
|
||||
(">=" == e.substr(0, 2)
|
||||
? ((a = "gte"), (n = e.substr(2)))
|
||||
: "<=" == e.substr(0, 2)
|
||||
? ((a = "lte"), (n = e.substr(2)))
|
||||
: ">" == e.substr(0, 1)
|
||||
? ((a = "gt"), (n = e.substr(1)))
|
||||
: "<" == e.substr(0, 1)
|
||||
? ((a = "lt"), (n = e.substr(1)))
|
||||
: "!" == e.substr(0, 1)
|
||||
? ((a = "not"), (n = e.substr(1)))
|
||||
: ((a = "eq"), (n = e)),
|
||||
n && n in t.list)
|
||||
)
|
||||
if (((i = t.list[n]), Array.isArray(i))) {
|
||||
if (((r = parseInt(i[0])), (d = parseInt(i[1])), isNaN(r))) {
|
||||
if (isNaN(d)) return;
|
||||
c = i[1].substr(String(d).length);
|
||||
} else c = i[0].substr(String(r).length);
|
||||
if (isNaN(r))
|
||||
switch (a) {
|
||||
case "gte":
|
||||
s = "screen";
|
||||
break;
|
||||
case "lte":
|
||||
s = "screen and (max-width: " + d + c + ")";
|
||||
break;
|
||||
case "gt":
|
||||
s = "screen and (min-width: " + (d + 1) + c + ")";
|
||||
break;
|
||||
case "lt":
|
||||
s = "screen and (max-width: -1px)";
|
||||
break;
|
||||
case "not":
|
||||
s = "screen and (min-width: " + (d + 1) + c + ")";
|
||||
break;
|
||||
default:
|
||||
s = "screen and (max-width: " + d + c + ")";
|
||||
}
|
||||
else if (isNaN(d))
|
||||
switch (a) {
|
||||
case "gte":
|
||||
s = "screen and (min-width: " + r + c + ")";
|
||||
break;
|
||||
case "lte":
|
||||
s = "screen";
|
||||
break;
|
||||
case "gt":
|
||||
s = "screen and (max-width: -1px)";
|
||||
break;
|
||||
case "lt":
|
||||
s = "screen and (max-width: " + (r - 1) + c + ")";
|
||||
break;
|
||||
case "not":
|
||||
s = "screen and (max-width: " + (r - 1) + c + ")";
|
||||
break;
|
||||
default:
|
||||
s = "screen and (min-width: " + r + c + ")";
|
||||
}
|
||||
else
|
||||
switch (a) {
|
||||
case "gte":
|
||||
s = "screen and (min-width: " + r + c + ")";
|
||||
break;
|
||||
case "lte":
|
||||
s = "screen and (max-width: " + d + c + ")";
|
||||
break;
|
||||
case "gt":
|
||||
s = "screen and (min-width: " + (d + 1) + c + ")";
|
||||
break;
|
||||
case "lt":
|
||||
s = "screen and (max-width: " + (r - 1) + c + ")";
|
||||
break;
|
||||
case "not":
|
||||
s =
|
||||
"screen and (max-width: " +
|
||||
(r - 1) +
|
||||
c +
|
||||
"), screen and (min-width: " +
|
||||
(d + 1) +
|
||||
c +
|
||||
")";
|
||||
break;
|
||||
default:
|
||||
s =
|
||||
"screen and (min-width: " +
|
||||
r +
|
||||
c +
|
||||
") and (max-width: " +
|
||||
d +
|
||||
c +
|
||||
")";
|
||||
}
|
||||
} else s = "(" == i.charAt(0) ? "screen and " + i : i;
|
||||
t.media[e] = !!s && s;
|
||||
}
|
||||
return t.media[e] !== !1 && window.matchMedia(t.media[e]).matches;
|
||||
},
|
||||
on: function (e, n) {
|
||||
t.events.push({ query: e, handler: n, state: !1 }), t.active(e) && n();
|
||||
},
|
||||
poll: function () {
|
||||
var e, n;
|
||||
for (e = 0; e < t.events.length; e++)
|
||||
(n = t.events[e]),
|
||||
t.active(n.query)
|
||||
? n.state || ((n.state = !0), n.handler())
|
||||
: n.state && (n.state = !1);
|
||||
},
|
||||
};
|
||||
return (
|
||||
(e._ = t),
|
||||
(e.on = function (e, n) {
|
||||
t.on(e, n);
|
||||
}),
|
||||
(e.active = function (e) {
|
||||
return t.active(e);
|
||||
}),
|
||||
e
|
||||
);
|
||||
})();
|
||||
!(function (e, t) {
|
||||
"function" == typeof define && define.amd
|
||||
? define([], t)
|
||||
: "object" == typeof exports
|
||||
? (module.exports = t())
|
||||
: (e.breakpoints = t());
|
||||
})(this, function () {
|
||||
return breakpoints;
|
||||
});
|
||||
|
||||
118
docs/assets/js/browser.min.js
vendored
118
docs/assets/js/browser.min.js
vendored
@@ -1,2 +1,118 @@
|
||||
/* browser.js v1.0 | @ajlkn | MIT licensed */
|
||||
var browser=function(){"use strict";var e={name:null,version:null,os:null,osVersion:null,touch:null,mobile:null,_canUse:null,canUse:function(n){e._canUse||(e._canUse=document.createElement("div"));var o=e._canUse.style,r=n.charAt(0).toUpperCase()+n.slice(1);return n in o||"Moz"+r in o||"Webkit"+r in o||"O"+r in o||"ms"+r in o},init:function(){var n,o,r,i,t=navigator.userAgent;for(n="other",o=0,r=[["firefox",/Firefox\/([0-9\.]+)/],["bb",/BlackBerry.+Version\/([0-9\.]+)/],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/],["opera",/OPR\/([0-9\.]+)/],["opera",/Opera\/([0-9\.]+)/],["edge",/Edge\/([0-9\.]+)/],["safari",/Version\/([0-9\.]+).+Safari/],["chrome",/Chrome\/([0-9\.]+)/],["ie",/MSIE ([0-9]+)/],["ie",/Trident\/.+rv:([0-9]+)/]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(RegExp.$1);break}for(e.name=n,e.version=o,n="other",o=0,r=[["ios",/([0-9_]+) like Mac OS X/,function(e){return e.replace("_",".").replace("_","")}],["ios",/CPU like Mac OS X/,function(e){return 0}],["wp",/Windows Phone ([0-9\.]+)/,null],["android",/Android ([0-9\.]+)/,null],["mac",/Macintosh.+Mac OS X ([0-9_]+)/,function(e){return e.replace("_",".").replace("_","")}],["windows",/Windows NT ([0-9\.]+)/,null],["bb",/BlackBerry.+Version\/([0-9\.]+)/,null],["bb",/BB[0-9]+.+Version\/([0-9\.]+)/,null],["linux",/Linux/,null],["bsd",/BSD/,null],["unix",/X11/,null]],i=0;i<r.length;i++)if(t.match(r[i][1])){n=r[i][0],o=parseFloat(r[i][2]?r[i][2](RegExp.$1):RegExp.$1);break}e.os=n,e.osVersion=o,e.touch="wp"==e.os?navigator.msMaxTouchPoints>0:!!("ontouchstart"in window),e.mobile="wp"==e.os||"android"==e.os||"ios"==e.os||"bb"==e.os}};return e.init(),e}();!function(e,n){"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?module.exports=n():e.browser=n()}(this,function(){return browser});
|
||||
var browser = (function () {
|
||||
"use strict";
|
||||
var e = {
|
||||
name: null,
|
||||
version: null,
|
||||
os: null,
|
||||
osVersion: null,
|
||||
touch: null,
|
||||
mobile: null,
|
||||
_canUse: null,
|
||||
canUse: function (n) {
|
||||
e._canUse || (e._canUse = document.createElement("div"));
|
||||
var o = e._canUse.style,
|
||||
r = n.charAt(0).toUpperCase() + n.slice(1);
|
||||
return (
|
||||
n in o ||
|
||||
"Moz" + r in o ||
|
||||
"Webkit" + r in o ||
|
||||
"O" + r in o ||
|
||||
"ms" + r in o
|
||||
);
|
||||
},
|
||||
init: function () {
|
||||
var n,
|
||||
o,
|
||||
r,
|
||||
i,
|
||||
t = navigator.userAgent;
|
||||
for (
|
||||
n = "other",
|
||||
o = 0,
|
||||
r = [
|
||||
["firefox", /Firefox\/([0-9\.]+)/],
|
||||
["bb", /BlackBerry.+Version\/([0-9\.]+)/],
|
||||
["bb", /BB[0-9]+.+Version\/([0-9\.]+)/],
|
||||
["opera", /OPR\/([0-9\.]+)/],
|
||||
["opera", /Opera\/([0-9\.]+)/],
|
||||
["edge", /Edge\/([0-9\.]+)/],
|
||||
["safari", /Version\/([0-9\.]+).+Safari/],
|
||||
["chrome", /Chrome\/([0-9\.]+)/],
|
||||
["ie", /MSIE ([0-9]+)/],
|
||||
["ie", /Trident\/.+rv:([0-9]+)/],
|
||||
],
|
||||
i = 0;
|
||||
i < r.length;
|
||||
i++
|
||||
)
|
||||
if (t.match(r[i][1])) {
|
||||
(n = r[i][0]), (o = parseFloat(RegExp.$1));
|
||||
break;
|
||||
}
|
||||
for (
|
||||
e.name = n,
|
||||
e.version = o,
|
||||
n = "other",
|
||||
o = 0,
|
||||
r = [
|
||||
[
|
||||
"ios",
|
||||
/([0-9_]+) like Mac OS X/,
|
||||
function (e) {
|
||||
return e.replace("_", ".").replace("_", "");
|
||||
},
|
||||
],
|
||||
[
|
||||
"ios",
|
||||
/CPU like Mac OS X/,
|
||||
function (e) {
|
||||
return 0;
|
||||
},
|
||||
],
|
||||
["wp", /Windows Phone ([0-9\.]+)/, null],
|
||||
["android", /Android ([0-9\.]+)/, null],
|
||||
[
|
||||
"mac",
|
||||
/Macintosh.+Mac OS X ([0-9_]+)/,
|
||||
function (e) {
|
||||
return e.replace("_", ".").replace("_", "");
|
||||
},
|
||||
],
|
||||
["windows", /Windows NT ([0-9\.]+)/, null],
|
||||
["bb", /BlackBerry.+Version\/([0-9\.]+)/, null],
|
||||
["bb", /BB[0-9]+.+Version\/([0-9\.]+)/, null],
|
||||
["linux", /Linux/, null],
|
||||
["bsd", /BSD/, null],
|
||||
["unix", /X11/, null],
|
||||
],
|
||||
i = 0;
|
||||
i < r.length;
|
||||
i++
|
||||
)
|
||||
if (t.match(r[i][1])) {
|
||||
(n = r[i][0]),
|
||||
(o = parseFloat(r[i][2] ? r[i][2](RegExp.$1) : RegExp.$1));
|
||||
break;
|
||||
}
|
||||
(e.os = n),
|
||||
(e.osVersion = o),
|
||||
(e.touch =
|
||||
"wp" == e.os
|
||||
? navigator.msMaxTouchPoints > 0
|
||||
: !!("ontouchstart" in window)),
|
||||
(e.mobile =
|
||||
"wp" == e.os || "android" == e.os || "ios" == e.os || "bb" == e.os);
|
||||
},
|
||||
};
|
||||
return e.init(), e;
|
||||
})();
|
||||
!(function (e, n) {
|
||||
"function" == typeof define && define.amd
|
||||
? define([], n)
|
||||
: "object" == typeof exports
|
||||
? (module.exports = n())
|
||||
: (e.browser = n());
|
||||
})(this, function () {
|
||||
return browser;
|
||||
});
|
||||
|
||||
5512
docs/assets/js/jquery.min.js
vendored
5512
docs/assets/js/jquery.min.js
vendored
File diff suppressed because one or more lines are too long
611
docs/assets/js/jquery.poptrox.min.js
vendored
611
docs/assets/js/jquery.poptrox.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -4,114 +4,105 @@
|
||||
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
|
||||
*/
|
||||
|
||||
(function($) {
|
||||
(function ($) {
|
||||
var $window = $(window),
|
||||
$body = $("body"),
|
||||
$header = $("#header"),
|
||||
$footer = $("#footer"),
|
||||
$main = $("#main"),
|
||||
settings = {
|
||||
// Parallax background effect?
|
||||
parallax: true,
|
||||
|
||||
var $window = $(window),
|
||||
$body = $('body'),
|
||||
$header = $('#header'),
|
||||
$footer = $('#footer'),
|
||||
$main = $('#main'),
|
||||
settings = {
|
||||
// Parallax factor (lower = more intense, higher = less intense).
|
||||
parallaxFactor: 20,
|
||||
};
|
||||
|
||||
// Parallax background effect?
|
||||
parallax: true,
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: ["1281px", "1800px"],
|
||||
large: ["981px", "1280px"],
|
||||
medium: ["737px", "980px"],
|
||||
small: ["481px", "736px"],
|
||||
xsmall: [null, "480px"],
|
||||
});
|
||||
|
||||
// Parallax factor (lower = more intense, higher = less intense).
|
||||
parallaxFactor: 20
|
||||
// Play initial animations on page load.
|
||||
$window.on("load", function () {
|
||||
window.setTimeout(function () {
|
||||
$body.removeClass("is-preload");
|
||||
}, 100);
|
||||
});
|
||||
|
||||
};
|
||||
// Touch?
|
||||
if (browser.mobile) {
|
||||
// Turn on touch mode.
|
||||
$body.addClass("is-touch");
|
||||
|
||||
// Breakpoints.
|
||||
breakpoints({
|
||||
xlarge: [ '1281px', '1800px' ],
|
||||
large: [ '981px', '1280px' ],
|
||||
medium: [ '737px', '980px' ],
|
||||
small: [ '481px', '736px' ],
|
||||
xsmall: [ null, '480px' ],
|
||||
});
|
||||
// Height fix (mostly for iOS).
|
||||
window.setTimeout(function () {
|
||||
$window.scrollTop($window.scrollTop() + 1);
|
||||
}, 0);
|
||||
}
|
||||
|
||||
// Play initial animations on page load.
|
||||
$window.on('load', function() {
|
||||
window.setTimeout(function() {
|
||||
$body.removeClass('is-preload');
|
||||
}, 100);
|
||||
});
|
||||
// Footer.
|
||||
breakpoints.on("<=medium", function () {
|
||||
$footer.insertAfter($main);
|
||||
});
|
||||
|
||||
// Touch?
|
||||
if (browser.mobile) {
|
||||
breakpoints.on(">medium", function () {
|
||||
$footer.appendTo($header);
|
||||
});
|
||||
|
||||
// Turn on touch mode.
|
||||
$body.addClass('is-touch');
|
||||
// Header.
|
||||
|
||||
// Height fix (mostly for iOS).
|
||||
window.setTimeout(function() {
|
||||
$window.scrollTop($window.scrollTop() + 1);
|
||||
}, 0);
|
||||
// Parallax background.
|
||||
|
||||
}
|
||||
// Disable parallax on IE (smooth scrolling is jerky), and on mobile platforms (= better performance).
|
||||
if (browser.name == "ie" || browser.mobile) settings.parallax = false;
|
||||
|
||||
// Footer.
|
||||
breakpoints.on('<=medium', function() {
|
||||
$footer.insertAfter($main);
|
||||
});
|
||||
if (settings.parallax) {
|
||||
breakpoints.on("<=medium", function () {
|
||||
$window.off("scroll.strata_parallax");
|
||||
$header.css("background-position", "");
|
||||
});
|
||||
|
||||
breakpoints.on('>medium', function() {
|
||||
$footer.appendTo($header);
|
||||
});
|
||||
breakpoints.on(">medium", function () {
|
||||
$header.css("background-position", "left 0px");
|
||||
|
||||
// Header.
|
||||
$window.on("scroll.strata_parallax", function () {
|
||||
$header.css(
|
||||
"background-position",
|
||||
"left " +
|
||||
-1 * (parseInt($window.scrollTop()) / settings.parallaxFactor) +
|
||||
"px"
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
// Parallax background.
|
||||
$window.on("load", function () {
|
||||
$window.triggerHandler("scroll");
|
||||
});
|
||||
}
|
||||
|
||||
// Disable parallax on IE (smooth scrolling is jerky), and on mobile platforms (= better performance).
|
||||
if (browser.name == 'ie'
|
||||
|| browser.mobile)
|
||||
settings.parallax = false;
|
||||
// Main Sections: Two.
|
||||
|
||||
if (settings.parallax) {
|
||||
|
||||
breakpoints.on('<=medium', function() {
|
||||
|
||||
$window.off('scroll.strata_parallax');
|
||||
$header.css('background-position', '');
|
||||
|
||||
});
|
||||
|
||||
breakpoints.on('>medium', function() {
|
||||
|
||||
$header.css('background-position', 'left 0px');
|
||||
|
||||
$window.on('scroll.strata_parallax', function() {
|
||||
$header.css('background-position', 'left ' + (-1 * (parseInt($window.scrollTop()) / settings.parallaxFactor)) + 'px');
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$window.on('load', function() {
|
||||
$window.triggerHandler('scroll');
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
// Main Sections: Two.
|
||||
|
||||
// Lightbox gallery.
|
||||
$window.on('load', function() {
|
||||
|
||||
$('#two').poptrox({
|
||||
caption: function($a) { return $a.next('h3').text(); },
|
||||
overlayColor: '#2c2c2c',
|
||||
overlayOpacity: 0.85,
|
||||
popupCloserText: '',
|
||||
popupLoaderText: '',
|
||||
selector: '.work-item a.image',
|
||||
usePopupCaption: true,
|
||||
usePopupDefaultStyling: false,
|
||||
usePopupEasyClose: false,
|
||||
usePopupNav: true,
|
||||
windowMargin: (breakpoints.active('<=small') ? 0 : 50)
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
})(jQuery);
|
||||
// Lightbox gallery.
|
||||
$window.on("load", function () {
|
||||
$("#two").poptrox({
|
||||
caption: function ($a) {
|
||||
return $a.next("h3").text();
|
||||
},
|
||||
overlayColor: "#2c2c2c",
|
||||
overlayOpacity: 0.85,
|
||||
popupCloserText: "",
|
||||
popupLoaderText: "",
|
||||
selector: ".work-item a.image",
|
||||
usePopupCaption: true,
|
||||
usePopupDefaultStyling: false,
|
||||
usePopupEasyClose: false,
|
||||
usePopupNav: true,
|
||||
windowMargin: breakpoints.active("<=small") ? 0 : 50,
|
||||
});
|
||||
});
|
||||
})(jQuery);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,222 +2,201 @@
|
||||
|
||||
// Vars.
|
||||
|
||||
/// Breakpoints.
|
||||
/// @var {list}
|
||||
$breakpoints: () !global;
|
||||
/// Breakpoints.
|
||||
/// @var {list}
|
||||
$breakpoints: () !global;
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Sets breakpoints.
|
||||
/// @param {map} $x Breakpoints.
|
||||
@mixin breakpoints($x: ()) {
|
||||
$breakpoints: $x !global;
|
||||
}
|
||||
/// Sets breakpoints.
|
||||
/// @param {map} $x Breakpoints.
|
||||
@mixin breakpoints($x: ()) {
|
||||
$breakpoints: $x !global;
|
||||
}
|
||||
|
||||
/// Wraps @content in a @media block targeting a specific orientation.
|
||||
/// @param {string} $orientation Orientation.
|
||||
@mixin orientation($orientation) {
|
||||
@media screen and (orientation: #{$orientation}) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
/// Wraps @content in a @media block targeting a specific orientation.
|
||||
/// @param {string} $orientation Orientation.
|
||||
@mixin orientation($orientation) {
|
||||
@media screen and (orientation: #{$orientation}) {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
/// Wraps @content in a @media block using a given query.
|
||||
/// @param {string} $query Query.
|
||||
@mixin breakpoint($query: null) {
|
||||
/// Wraps @content in a @media block using a given query.
|
||||
/// @param {string} $query Query.
|
||||
@mixin breakpoint($query: null) {
|
||||
$breakpoint: null;
|
||||
$op: null;
|
||||
$media: null;
|
||||
|
||||
$breakpoint: null;
|
||||
$op: null;
|
||||
$media: null;
|
||||
// Determine operator, breakpoint.
|
||||
|
||||
// Determine operator, breakpoint.
|
||||
// Greater than or equal.
|
||||
@if (str-slice($query, 0, 2) == ">=") {
|
||||
$op: "gte";
|
||||
$breakpoint: str-slice($query, 3);
|
||||
}
|
||||
|
||||
// Greater than or equal.
|
||||
@if (str-slice($query, 0, 2) == '>=') {
|
||||
// Less than or equal.
|
||||
@elseif (str-slice($query, 0, 2) == '<=') {
|
||||
$op: "lte";
|
||||
$breakpoint: str-slice($query, 3);
|
||||
}
|
||||
|
||||
$op: 'gte';
|
||||
$breakpoint: str-slice($query, 3);
|
||||
// Greater than.
|
||||
@elseif (str-slice($query, 0, 1) == '>') {
|
||||
$op: "gt";
|
||||
$breakpoint: str-slice($query, 2);
|
||||
}
|
||||
|
||||
}
|
||||
// Less than.
|
||||
@elseif (str-slice($query, 0, 1) == '<') {
|
||||
$op: "lt";
|
||||
$breakpoint: str-slice($query, 2);
|
||||
}
|
||||
|
||||
// Less than or equal.
|
||||
@elseif (str-slice($query, 0, 2) == '<=') {
|
||||
// Not.
|
||||
@elseif (str-slice($query, 0, 1) == '!') {
|
||||
$op: "not";
|
||||
$breakpoint: str-slice($query, 2);
|
||||
}
|
||||
|
||||
$op: 'lte';
|
||||
$breakpoint: str-slice($query, 3);
|
||||
// Equal.
|
||||
@else {
|
||||
$op: "eq";
|
||||
$breakpoint: $query;
|
||||
}
|
||||
|
||||
}
|
||||
// Build media.
|
||||
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
|
||||
$a: map-get($breakpoints, $breakpoint);
|
||||
|
||||
// Greater than.
|
||||
@elseif (str-slice($query, 0, 1) == '>') {
|
||||
// Range.
|
||||
@if (type-of($a) == "list") {
|
||||
$x: nth($a, 1);
|
||||
$y: nth($a, 2);
|
||||
|
||||
$op: 'gt';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
// Max only.
|
||||
@if ($x == null) {
|
||||
// Greater than or equal (>= 0 / anything)
|
||||
@if ($op == "gte") {
|
||||
$media: "screen";
|
||||
}
|
||||
|
||||
}
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: "screen and (max-width: " + $y + ")";
|
||||
}
|
||||
|
||||
// Less than.
|
||||
@elseif (str-slice($query, 0, 1) == '<') {
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: "screen and (min-width: " + ($y + 1) + ")";
|
||||
}
|
||||
|
||||
$op: 'lt';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
// Less than (< 0 / invalid)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: "screen and (max-width: -1px)";
|
||||
}
|
||||
|
||||
}
|
||||
// Not (> y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: "screen and (min-width: " + ($y + 1) + ")";
|
||||
}
|
||||
|
||||
// Not.
|
||||
@elseif (str-slice($query, 0, 1) == '!') {
|
||||
// Equal (<= y)
|
||||
@else {
|
||||
$media: "screen and (max-width: " + $y + ")";
|
||||
}
|
||||
}
|
||||
|
||||
$op: 'not';
|
||||
$breakpoint: str-slice($query, 2);
|
||||
// Min only.
|
||||
@else if ($y == null) {
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == "gte") {
|
||||
$media: "screen and (min-width: " + $x + ")";
|
||||
}
|
||||
|
||||
}
|
||||
// Less than or equal (<= inf / anything)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: "screen";
|
||||
}
|
||||
|
||||
// Equal.
|
||||
@else {
|
||||
// Greater than (> inf / invalid)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: "screen and (max-width: -1px)";
|
||||
}
|
||||
|
||||
$op: 'eq';
|
||||
$breakpoint: $query;
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: "screen and (max-width: " + ($x - 1) + ")";
|
||||
}
|
||||
|
||||
}
|
||||
// Not (< x)
|
||||
@elseif ($op == 'not') {
|
||||
$media: "screen and (max-width: " + ($x - 1) + ")";
|
||||
}
|
||||
|
||||
// Build media.
|
||||
@if ($breakpoint and map-has-key($breakpoints, $breakpoint)) {
|
||||
// Equal (>= x)
|
||||
@else {
|
||||
$media: "screen and (min-width: " + $x + ")";
|
||||
}
|
||||
}
|
||||
|
||||
$a: map-get($breakpoints, $breakpoint);
|
||||
// Min and max.
|
||||
@else {
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == "gte") {
|
||||
$media: "screen and (min-width: " + $x + ")";
|
||||
}
|
||||
|
||||
// Range.
|
||||
@if (type-of($a) == 'list') {
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: "screen and (max-width: " + $y + ")";
|
||||
}
|
||||
|
||||
$x: nth($a, 1);
|
||||
$y: nth($a, 2);
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: "screen and (min-width: " + ($y + 1) + ")";
|
||||
}
|
||||
|
||||
// Max only.
|
||||
@if ($x == null) {
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: "screen and (max-width: " + ($x - 1) + ")";
|
||||
}
|
||||
|
||||
// Greater than or equal (>= 0 / anything)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen';
|
||||
}
|
||||
// Not (< x and > y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: "screen and (max-width: " + ($x - 1) +
|
||||
"), screen and (min-width: " + ($y + 1) + ")";
|
||||
}
|
||||
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
// Equal (>= x and <= y)
|
||||
@else {
|
||||
$media: "screen and (min-width: " +
|
||||
$x +
|
||||
") and (max-width: " +
|
||||
$y +
|
||||
")";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
// String.
|
||||
@else {
|
||||
// Missing a media type? Prefix with "screen".
|
||||
@if (str-slice($a, 0, 1) == "(") {
|
||||
$media: "screen and " + $a;
|
||||
}
|
||||
|
||||
// Less than (< 0 / invalid)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: -1px)';
|
||||
}
|
||||
// Otherwise, use as-is.
|
||||
@else {
|
||||
$media: $a;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Not (> y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (<= y)
|
||||
@else {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Min only.
|
||||
@else if ($y == null) {
|
||||
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
// Less than or equal (<= inf / anything)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen';
|
||||
}
|
||||
|
||||
// Greater than (> inf / invalid)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (max-width: -1px)';
|
||||
}
|
||||
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Not (< x)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (>= x)
|
||||
@else {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Min and max.
|
||||
@else {
|
||||
|
||||
// Greater than or equal (>= x)
|
||||
@if ($op == 'gte') {
|
||||
$media: 'screen and (min-width: ' + $x + ')';
|
||||
}
|
||||
|
||||
// Less than or equal (<= y)
|
||||
@elseif ($op == 'lte') {
|
||||
$media: 'screen and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
// Greater than (> y)
|
||||
@elseif ($op == 'gt') {
|
||||
$media: 'screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Less than (< x)
|
||||
@elseif ($op == 'lt') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + ')';
|
||||
}
|
||||
|
||||
// Not (< x and > y)
|
||||
@elseif ($op == 'not') {
|
||||
$media: 'screen and (max-width: ' + ($x - 1) + '), screen and (min-width: ' + ($y + 1) + ')';
|
||||
}
|
||||
|
||||
// Equal (>= x and <= y)
|
||||
@else {
|
||||
$media: 'screen and (min-width: ' + $x + ') and (max-width: ' + $y + ')';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// String.
|
||||
@else {
|
||||
|
||||
// Missing a media type? Prefix with "screen".
|
||||
@if (str-slice($a, 0, 1) == '(') {
|
||||
$media: 'screen and ' + $a;
|
||||
}
|
||||
|
||||
// Otherwise, use as-is.
|
||||
@else {
|
||||
$media: $a;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// Output.
|
||||
@media #{$media} {
|
||||
@content;
|
||||
}
|
||||
|
||||
}
|
||||
// Output.
|
||||
@media #{$media} {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,35 +4,26 @@
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
$result: null;
|
||||
|
||||
$result: null;
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
} @else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
} @else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
} @else {
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@return $result;
|
||||
@for $i from 1 through length($list) {
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@return $result;
|
||||
}
|
||||
|
||||
/// Gets a value from a map.
|
||||
@@ -41,50 +32,48 @@
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function val($map, $keys...) {
|
||||
@if nth($keys, 1) == null {
|
||||
$keys: remove-nth($keys, 1);
|
||||
}
|
||||
|
||||
@if nth($keys, 1) == null {
|
||||
$keys: remove-nth($keys, 1);
|
||||
}
|
||||
|
||||
@each $key in $keys {
|
||||
$map: map-get($map, $key);
|
||||
}
|
||||
|
||||
@return $map;
|
||||
@each $key in $keys {
|
||||
$map: map-get($map, $key);
|
||||
}
|
||||
|
||||
@return $map;
|
||||
}
|
||||
|
||||
/// Gets a duration value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _duration($keys...) {
|
||||
@return val($duration, $keys...);
|
||||
@return val($duration, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a font value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _font($keys...) {
|
||||
@return val($font, $keys...);
|
||||
@return val($font, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a misc value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _misc($keys...) {
|
||||
@return val($misc, $keys...);
|
||||
@return val($misc, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a palette value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _palette($keys...) {
|
||||
@return val($palette, $keys...);
|
||||
@return val($palette, $keys...);
|
||||
}
|
||||
|
||||
/// Gets a size value.
|
||||
/// @param {string} $keys Key(s).
|
||||
/// @return {string} Value.
|
||||
@function _size($keys...) {
|
||||
@return val($size, $keys...);
|
||||
}
|
||||
@return val($size, $keys...);
|
||||
}
|
||||
|
||||
@@ -2,148 +2,137 @@
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Initializes the current element as an HTML grid.
|
||||
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
||||
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
||||
@mixin html-grid($gutters: 1.5em, $suffix: '') {
|
||||
/// Initializes the current element as an HTML grid.
|
||||
/// @param {mixed} $gutters Gutters (either a single number to set both column/row gutters, or a list to set them individually).
|
||||
/// @param {mixed} $suffix Column class suffix (optional; either a single suffix or a list).
|
||||
@mixin html-grid($gutters: 1.5em, $suffix: "") {
|
||||
// Initialize.
|
||||
$cols: 12;
|
||||
$multipliers: 0, 0.25, 0.5, 1, 1.5, 2;
|
||||
$unit: 100% / $cols;
|
||||
|
||||
// Initialize.
|
||||
$cols: 12;
|
||||
$multipliers: 0, 0.25, 0.5, 1, 1.50, 2.00;
|
||||
$unit: 100% / $cols;
|
||||
// Suffixes.
|
||||
$suffixes: null;
|
||||
|
||||
// Suffixes.
|
||||
$suffixes: null;
|
||||
@if (type-of($suffix) == "list") {
|
||||
$suffixes: $suffix;
|
||||
} @else {
|
||||
$suffixes: ($suffix);
|
||||
}
|
||||
|
||||
@if (type-of($suffix) == 'list') {
|
||||
$suffixes: $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffixes: ($suffix);
|
||||
}
|
||||
// Gutters.
|
||||
$guttersCols: null;
|
||||
$guttersRows: null;
|
||||
|
||||
// Gutters.
|
||||
$guttersCols: null;
|
||||
$guttersRows: null;
|
||||
@if (type-of($gutters) == "list") {
|
||||
$guttersCols: nth($gutters, 1);
|
||||
$guttersRows: nth($gutters, 2);
|
||||
} @else {
|
||||
$guttersCols: $gutters;
|
||||
$guttersRows: 0;
|
||||
}
|
||||
|
||||
@if (type-of($gutters) == 'list') {
|
||||
// Row.
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
box-sizing: border-box;
|
||||
align-items: stretch;
|
||||
|
||||
$guttersCols: nth($gutters, 1);
|
||||
$guttersRows: nth($gutters, 2);
|
||||
// Columns.
|
||||
> * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
}
|
||||
@else {
|
||||
// Gutters.
|
||||
&.gtr-uniform {
|
||||
> * {
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$guttersCols: $gutters;
|
||||
$guttersRows: 0;
|
||||
// Alignment.
|
||||
&.aln-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
}
|
||||
&.aln-center {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
// Row.
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
box-sizing: border-box;
|
||||
align-items: stretch;
|
||||
&.aln-right {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
|
||||
// Columns.
|
||||
> * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
&.aln-top {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
// Gutters.
|
||||
&.gtr-uniform {
|
||||
> * {
|
||||
> :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.aln-middle {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
// Alignment.
|
||||
&.aln-left {
|
||||
justify-content: flex-start;
|
||||
}
|
||||
&.aln-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
|
||||
&.aln-center {
|
||||
justify-content: center;
|
||||
}
|
||||
// Step through suffixes.
|
||||
@each $suffix in $suffixes {
|
||||
// Suffix.
|
||||
@if ($suffix != "") {
|
||||
$suffix: "-" + $suffix;
|
||||
} @else {
|
||||
$suffix: "";
|
||||
}
|
||||
|
||||
&.aln-right {
|
||||
justify-content: flex-end;
|
||||
}
|
||||
// Row.
|
||||
|
||||
&.aln-top {
|
||||
align-items: flex-start;
|
||||
}
|
||||
// Important.
|
||||
> .imp#{$suffix} {
|
||||
order: -1;
|
||||
}
|
||||
|
||||
&.aln-middle {
|
||||
align-items: center;
|
||||
}
|
||||
// Columns, offsets.
|
||||
@for $i from 1 through $cols {
|
||||
> .col-#{$i}#{$suffix} {
|
||||
width: $unit * $i;
|
||||
}
|
||||
|
||||
&.aln-bottom {
|
||||
align-items: flex-end;
|
||||
}
|
||||
> .off-#{$i}#{$suffix} {
|
||||
margin-left: $unit * $i;
|
||||
}
|
||||
}
|
||||
|
||||
// Step through suffixes.
|
||||
@each $suffix in $suffixes {
|
||||
// Step through multipliers.
|
||||
@each $multiplier in $multipliers {
|
||||
// Gutters.
|
||||
$class: null;
|
||||
|
||||
// Suffix.
|
||||
@if ($suffix != '') {
|
||||
$suffix: '-' + $suffix;
|
||||
}
|
||||
@else {
|
||||
$suffix: '';
|
||||
}
|
||||
@if ($multiplier != 1) {
|
||||
$class: ".gtr-" + ($multiplier * 100);
|
||||
}
|
||||
|
||||
// Row.
|
||||
&#{$class} {
|
||||
margin-top: ($guttersRows * $multiplier * -1);
|
||||
margin-left: ($guttersCols * $multiplier * -1);
|
||||
|
||||
// Important.
|
||||
> .imp#{$suffix} {
|
||||
order: -1;
|
||||
}
|
||||
> * {
|
||||
padding: ($guttersRows * $multiplier)
|
||||
0
|
||||
0
|
||||
($guttersCols * $multiplier);
|
||||
}
|
||||
|
||||
// Columns, offsets.
|
||||
@for $i from 1 through $cols {
|
||||
> .col-#{$i}#{$suffix} {
|
||||
width: $unit * $i;
|
||||
}
|
||||
// Uniform.
|
||||
&.gtr-uniform {
|
||||
margin-top: $guttersCols * $multiplier * -1;
|
||||
|
||||
> .off-#{$i}#{$suffix} {
|
||||
margin-left: $unit * $i;
|
||||
}
|
||||
}
|
||||
|
||||
// Step through multipliers.
|
||||
@each $multiplier in $multipliers {
|
||||
|
||||
// Gutters.
|
||||
$class: null;
|
||||
|
||||
@if ($multiplier != 1) {
|
||||
$class: '.gtr-' + ($multiplier * 100);
|
||||
}
|
||||
|
||||
&#{$class} {
|
||||
margin-top: ($guttersRows * $multiplier * -1);
|
||||
margin-left: ($guttersCols * $multiplier * -1);
|
||||
|
||||
> * {
|
||||
padding: ($guttersRows * $multiplier) 0 0 ($guttersCols * $multiplier);
|
||||
}
|
||||
|
||||
// Uniform.
|
||||
&.gtr-uniform {
|
||||
margin-top: $guttersCols * $multiplier * -1;
|
||||
|
||||
> * {
|
||||
padding-top: $guttersCols * $multiplier;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
> * {
|
||||
padding-top: $guttersCols * $multiplier;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,38 +3,33 @@
|
||||
/// @param {string} $category Optional category to use.
|
||||
/// @param {string} $where Optional pseudoelement to target (before or after).
|
||||
@mixin icon($content: false, $category: regular, $where: before) {
|
||||
text-decoration: none;
|
||||
|
||||
text-decoration: none;
|
||||
&:#{$where} {
|
||||
@if $content {
|
||||
content: $content;
|
||||
}
|
||||
|
||||
&:#{$where} {
|
||||
|
||||
@if $content {
|
||||
content: $content;
|
||||
}
|
||||
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
text-transform: none !important;
|
||||
|
||||
@if ($category == brands) {
|
||||
font-family: 'Font Awesome 5 Brands';
|
||||
}
|
||||
@elseif ($category == solid) {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 900;
|
||||
}
|
||||
@else {
|
||||
font-family: 'Font Awesome 5 Free';
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
}
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
display: inline-block;
|
||||
font-style: normal;
|
||||
font-variant: normal;
|
||||
text-rendering: auto;
|
||||
line-height: 1;
|
||||
text-transform: none !important;
|
||||
|
||||
@if ($category == brands) {
|
||||
font-family: "Font Awesome 5 Brands";
|
||||
}
|
||||
@elseif ($category == solid) {
|
||||
font-family: "Font Awesome 5 Free";
|
||||
font-weight: 900;
|
||||
} @else {
|
||||
font-family: "Font Awesome 5 Free";
|
||||
font-weight: 400;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// Applies padding to an element, taking the current element-margin value into account.
|
||||
@@ -42,37 +37,34 @@
|
||||
/// @param {mixed} $lr Left/right padding.
|
||||
/// @param {list} $pad Optional extra padding (in the following order top, right, bottom, left)
|
||||
/// @param {bool} $important If true, adds !important.
|
||||
@mixin padding($tb, $lr, $pad: (0,0,0,0), $important: null) {
|
||||
@mixin padding($tb, $lr, $pad: (0, 0, 0, 0), $important: null) {
|
||||
@if $important {
|
||||
$important: "!important";
|
||||
}
|
||||
|
||||
@if $important {
|
||||
$important: '!important';
|
||||
}
|
||||
$x: 0.1em;
|
||||
|
||||
$x: 0.1em;
|
||||
|
||||
@if unit(_size(element-margin)) == 'rem' {
|
||||
$x: 0.1rem;
|
||||
}
|
||||
|
||||
padding: ($tb + nth($pad,1)) ($lr + nth($pad,2)) max($x, $tb - _size(element-margin) + nth($pad,3)) ($lr + nth($pad,4)) #{$important};
|
||||
@if unit(_size(element-margin)) == "rem" {
|
||||
$x: 0.1rem;
|
||||
}
|
||||
|
||||
padding: ($tb + nth($pad, 1)) ($lr + nth($pad, 2))
|
||||
max($x, $tb - _size(element-margin) + nth($pad, 3)) ($lr + nth($pad, 4)) #{$important};
|
||||
}
|
||||
|
||||
/// Encodes a SVG data URL so IE doesn't choke (via codepen.io/jakob-e/pen/YXXBrp).
|
||||
/// @param {string} $svg SVG data URL.
|
||||
/// @return {string} Encoded SVG data URL.
|
||||
@function svg-url($svg) {
|
||||
$svg: str-replace($svg, '"', "'");
|
||||
$svg: str-replace($svg, "%", "%25");
|
||||
$svg: str-replace($svg, "<", "%3C");
|
||||
$svg: str-replace($svg, ">", "%3E");
|
||||
$svg: str-replace($svg, "&", "%26");
|
||||
$svg: str-replace($svg, "#", "%23");
|
||||
$svg: str-replace($svg, "{", "%7B");
|
||||
$svg: str-replace($svg, "}", "%7D");
|
||||
$svg: str-replace($svg, ";", "%3B");
|
||||
|
||||
$svg: str-replace($svg, '"', '\'');
|
||||
$svg: str-replace($svg, '%', '%25');
|
||||
$svg: str-replace($svg, '<', '%3C');
|
||||
$svg: str-replace($svg, '>', '%3E');
|
||||
$svg: str-replace($svg, '&', '%26');
|
||||
$svg: str-replace($svg, '#', '%23');
|
||||
$svg: str-replace($svg, '{', '%7B');
|
||||
$svg: str-replace($svg, '}', '%7D');
|
||||
$svg: str-replace($svg, ';', '%3B');
|
||||
|
||||
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
|
||||
|
||||
}
|
||||
@return url("data:image/svg+xml;charset=utf8,#{$svg}");
|
||||
}
|
||||
|
||||
@@ -1,59 +1,64 @@
|
||||
// Misc.
|
||||
$misc: (
|
||||
z-index-base: 10000
|
||||
);
|
||||
$misc: (
|
||||
z-index-base: 10000,
|
||||
);
|
||||
|
||||
// Duration.
|
||||
$duration: (
|
||||
transition: 0.2s
|
||||
);
|
||||
$duration: (
|
||||
transition: 0.2s,
|
||||
);
|
||||
|
||||
// Size.
|
||||
$size: (
|
||||
border-radius: 0.35em,
|
||||
element-height: 2.75em,
|
||||
element-margin: 2em,
|
||||
container-width: 100%
|
||||
);
|
||||
$size: (
|
||||
border-radius: 0.35em,
|
||||
element-height: 2.75em,
|
||||
element-margin: 2em,
|
||||
container-width: 100%,
|
||||
);
|
||||
|
||||
// Font.
|
||||
$font: (
|
||||
family: ('Source Sans Pro', Helvetica, sans-serif),
|
||||
family-fixed: ('Courier New', monospace),
|
||||
weight: 400,
|
||||
weight-bold: 400
|
||||
);
|
||||
$font: (
|
||||
family: (
|
||||
"Source Sans Pro",
|
||||
Helvetica,
|
||||
sans-serif,
|
||||
),
|
||||
family-fixed: (
|
||||
"Courier New",
|
||||
monospace,
|
||||
),
|
||||
weight: 400,
|
||||
weight-bold: 400,
|
||||
);
|
||||
|
||||
// Palette.
|
||||
$palette: (
|
||||
bg: #fff,
|
||||
fg: #a2a2a2,
|
||||
fg-bold: #787878,
|
||||
fg-light: #b2b2b2,
|
||||
border: #efefef,
|
||||
border-bg: #f7f7f7,
|
||||
border2: #dfdfdf,
|
||||
border2-bg: #e7e7e7,
|
||||
|
||||
accent1: (
|
||||
bg: #49bf9d,
|
||||
fg: mix(#49bf9d, #ffffff, 25%),
|
||||
fg-bold: #ffffff,
|
||||
fg-light: mix(#49bf9d, #ffffff, 40%),
|
||||
border: rgba(255,255,255,0.25),
|
||||
border-bg: rgba(255,255,255,0.075),
|
||||
border2: rgba(255,255,255,0.5),
|
||||
border2-bg: rgba(255,255,255,0.2)
|
||||
),
|
||||
|
||||
accent2: (
|
||||
bg: #1f1815,
|
||||
fg: rgba(255,255,255,0.5),
|
||||
fg-bold: #ffffff,
|
||||
fg-light: rgba(255,255,255,0.4),
|
||||
border: rgba(255,255,255,0.25),
|
||||
border-bg: rgba(255,255,255,0.075),
|
||||
border2: rgba(255,255,255,0.5),
|
||||
border2-bg: rgba(255,255,255,0.2)
|
||||
)
|
||||
);
|
||||
$palette: (
|
||||
bg: #fff,
|
||||
fg: #a2a2a2,
|
||||
fg-bold: #787878,
|
||||
fg-light: #b2b2b2,
|
||||
border: #efefef,
|
||||
border-bg: #f7f7f7,
|
||||
border2: #dfdfdf,
|
||||
border2-bg: #e7e7e7,
|
||||
accent1: (
|
||||
bg: #49bf9d,
|
||||
fg: mix(#49bf9d, #ffffff, 25%),
|
||||
fg-bold: #ffffff,
|
||||
fg-light: mix(#49bf9d, #ffffff, 40%),
|
||||
border: rgba(255, 255, 255, 0.25),
|
||||
border-bg: rgba(255, 255, 255, 0.075),
|
||||
border2: rgba(255, 255, 255, 0.5),
|
||||
border2-bg: rgba(255, 255, 255, 0.2),
|
||||
),
|
||||
accent2: (
|
||||
bg: #1f1815,
|
||||
fg: rgba(255, 255, 255, 0.5),
|
||||
fg-bold: #ffffff,
|
||||
fg-light: rgba(255, 255, 255, 0.4),
|
||||
border: rgba(255, 255, 255, 0.25),
|
||||
border-bg: rgba(255, 255, 255, 0.075),
|
||||
border2: rgba(255, 255, 255, 0.5),
|
||||
border2-bg: rgba(255, 255, 255, 0.2),
|
||||
),
|
||||
);
|
||||
|
||||
@@ -2,375 +2,323 @@
|
||||
|
||||
// Vars.
|
||||
|
||||
/// Vendor prefixes.
|
||||
/// @var {list}
|
||||
$vendor-prefixes: (
|
||||
'-moz-',
|
||||
'-webkit-',
|
||||
'-ms-',
|
||||
''
|
||||
);
|
||||
/// Vendor prefixes.
|
||||
/// @var {list}
|
||||
$vendor-prefixes: ("-moz-", "-webkit-", "-ms-", "");
|
||||
|
||||
/// Properties that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-properties: (
|
||||
/// Properties that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-properties: (
|
||||
// Animation.
|
||||
"animation",
|
||||
"animation-delay",
|
||||
"animation-direction",
|
||||
"animation-duration",
|
||||
"animation-fill-mode",
|
||||
"animation-iteration-count",
|
||||
"animation-name",
|
||||
"animation-play-state",
|
||||
"animation-timing-function",
|
||||
// Appearance.
|
||||
"appearance",
|
||||
// Backdrop filter.
|
||||
"backdrop-filter",
|
||||
// Background image options.
|
||||
"background-clip",
|
||||
"background-origin",
|
||||
"background-size",
|
||||
// Box sizing.
|
||||
"box-sizing",
|
||||
// Clip path.
|
||||
"clip-path",
|
||||
// Filter effects.
|
||||
"filter",
|
||||
// Flexbox.
|
||||
"align-content",
|
||||
"align-items",
|
||||
"align-self",
|
||||
"flex",
|
||||
"flex-basis",
|
||||
"flex-direction",
|
||||
"flex-flow",
|
||||
"flex-grow",
|
||||
"flex-shrink",
|
||||
"flex-wrap",
|
||||
"justify-content",
|
||||
"order",
|
||||
// Font feature.
|
||||
"font-feature-settings",
|
||||
"font-language-override",
|
||||
"font-variant-ligatures",
|
||||
// Font kerning.
|
||||
"font-kerning",
|
||||
// Fragmented borders and backgrounds.
|
||||
"box-decoration-break",
|
||||
// Grid layout.
|
||||
"grid-column",
|
||||
"grid-column-align",
|
||||
"grid-column-end",
|
||||
"grid-column-start",
|
||||
"grid-row",
|
||||
"grid-row-align",
|
||||
"grid-row-end",
|
||||
"grid-row-start",
|
||||
"grid-template-columns",
|
||||
"grid-template-rows",
|
||||
// Hyphens.
|
||||
"hyphens",
|
||||
"word-break",
|
||||
// Masks.
|
||||
"mask",
|
||||
"mask-border",
|
||||
"mask-border-outset",
|
||||
"mask-border-repeat",
|
||||
"mask-border-slice",
|
||||
"mask-border-source",
|
||||
"mask-border-width",
|
||||
"mask-clip",
|
||||
"mask-composite",
|
||||
"mask-image",
|
||||
"mask-origin",
|
||||
"mask-position",
|
||||
"mask-repeat",
|
||||
"mask-size",
|
||||
// Multicolumn.
|
||||
"break-after",
|
||||
"break-before",
|
||||
"break-inside",
|
||||
"column-count",
|
||||
"column-fill",
|
||||
"column-gap",
|
||||
"column-rule",
|
||||
"column-rule-color",
|
||||
"column-rule-style",
|
||||
"column-rule-width",
|
||||
"column-span",
|
||||
"column-width",
|
||||
"columns",
|
||||
// Object fit.
|
||||
"object-fit",
|
||||
"object-position",
|
||||
// Regions.
|
||||
"flow-from",
|
||||
"flow-into",
|
||||
"region-fragment",
|
||||
// Scroll snap points.
|
||||
"scroll-snap-coordinate",
|
||||
"scroll-snap-destination",
|
||||
"scroll-snap-points-x",
|
||||
"scroll-snap-points-y",
|
||||
"scroll-snap-type",
|
||||
// Shapes.
|
||||
"shape-image-threshold",
|
||||
"shape-margin",
|
||||
"shape-outside",
|
||||
// Tab size.
|
||||
"tab-size",
|
||||
// Text align last.
|
||||
"text-align-last",
|
||||
// Text decoration.
|
||||
"text-decoration-color",
|
||||
"text-decoration-line",
|
||||
"text-decoration-skip",
|
||||
"text-decoration-style",
|
||||
// Text emphasis.
|
||||
"text-emphasis",
|
||||
"text-emphasis-color",
|
||||
"text-emphasis-position",
|
||||
"text-emphasis-style",
|
||||
// Text size adjust.
|
||||
"text-size-adjust",
|
||||
// Text spacing.
|
||||
"text-spacing",
|
||||
// Transform.
|
||||
"transform",
|
||||
"transform-origin",
|
||||
// Transform 3D.
|
||||
"backface-visibility",
|
||||
"perspective",
|
||||
"perspective-origin",
|
||||
"transform-style",
|
||||
// Transition.
|
||||
"transition",
|
||||
"transition-delay",
|
||||
"transition-duration",
|
||||
"transition-property",
|
||||
"transition-timing-function",
|
||||
// Unicode bidi.
|
||||
"unicode-bidi",
|
||||
// User select.
|
||||
"user-select",
|
||||
// Writing mode.
|
||||
"writing-mode"
|
||||
);
|
||||
|
||||
// Animation.
|
||||
'animation',
|
||||
'animation-delay',
|
||||
'animation-direction',
|
||||
'animation-duration',
|
||||
'animation-fill-mode',
|
||||
'animation-iteration-count',
|
||||
'animation-name',
|
||||
'animation-play-state',
|
||||
'animation-timing-function',
|
||||
|
||||
// Appearance.
|
||||
'appearance',
|
||||
|
||||
// Backdrop filter.
|
||||
'backdrop-filter',
|
||||
|
||||
// Background image options.
|
||||
'background-clip',
|
||||
'background-origin',
|
||||
'background-size',
|
||||
|
||||
// Box sizing.
|
||||
'box-sizing',
|
||||
|
||||
// Clip path.
|
||||
'clip-path',
|
||||
|
||||
// Filter effects.
|
||||
'filter',
|
||||
|
||||
// Flexbox.
|
||||
'align-content',
|
||||
'align-items',
|
||||
'align-self',
|
||||
'flex',
|
||||
'flex-basis',
|
||||
'flex-direction',
|
||||
'flex-flow',
|
||||
'flex-grow',
|
||||
'flex-shrink',
|
||||
'flex-wrap',
|
||||
'justify-content',
|
||||
'order',
|
||||
|
||||
// Font feature.
|
||||
'font-feature-settings',
|
||||
'font-language-override',
|
||||
'font-variant-ligatures',
|
||||
|
||||
// Font kerning.
|
||||
'font-kerning',
|
||||
|
||||
// Fragmented borders and backgrounds.
|
||||
'box-decoration-break',
|
||||
|
||||
// Grid layout.
|
||||
'grid-column',
|
||||
'grid-column-align',
|
||||
'grid-column-end',
|
||||
'grid-column-start',
|
||||
'grid-row',
|
||||
'grid-row-align',
|
||||
'grid-row-end',
|
||||
'grid-row-start',
|
||||
'grid-template-columns',
|
||||
'grid-template-rows',
|
||||
|
||||
// Hyphens.
|
||||
'hyphens',
|
||||
'word-break',
|
||||
|
||||
// Masks.
|
||||
'mask',
|
||||
'mask-border',
|
||||
'mask-border-outset',
|
||||
'mask-border-repeat',
|
||||
'mask-border-slice',
|
||||
'mask-border-source',
|
||||
'mask-border-width',
|
||||
'mask-clip',
|
||||
'mask-composite',
|
||||
'mask-image',
|
||||
'mask-origin',
|
||||
'mask-position',
|
||||
'mask-repeat',
|
||||
'mask-size',
|
||||
|
||||
// Multicolumn.
|
||||
'break-after',
|
||||
'break-before',
|
||||
'break-inside',
|
||||
'column-count',
|
||||
'column-fill',
|
||||
'column-gap',
|
||||
'column-rule',
|
||||
'column-rule-color',
|
||||
'column-rule-style',
|
||||
'column-rule-width',
|
||||
'column-span',
|
||||
'column-width',
|
||||
'columns',
|
||||
|
||||
// Object fit.
|
||||
'object-fit',
|
||||
'object-position',
|
||||
|
||||
// Regions.
|
||||
'flow-from',
|
||||
'flow-into',
|
||||
'region-fragment',
|
||||
|
||||
// Scroll snap points.
|
||||
'scroll-snap-coordinate',
|
||||
'scroll-snap-destination',
|
||||
'scroll-snap-points-x',
|
||||
'scroll-snap-points-y',
|
||||
'scroll-snap-type',
|
||||
|
||||
// Shapes.
|
||||
'shape-image-threshold',
|
||||
'shape-margin',
|
||||
'shape-outside',
|
||||
|
||||
// Tab size.
|
||||
'tab-size',
|
||||
|
||||
// Text align last.
|
||||
'text-align-last',
|
||||
|
||||
// Text decoration.
|
||||
'text-decoration-color',
|
||||
'text-decoration-line',
|
||||
'text-decoration-skip',
|
||||
'text-decoration-style',
|
||||
|
||||
// Text emphasis.
|
||||
'text-emphasis',
|
||||
'text-emphasis-color',
|
||||
'text-emphasis-position',
|
||||
'text-emphasis-style',
|
||||
|
||||
// Text size adjust.
|
||||
'text-size-adjust',
|
||||
|
||||
// Text spacing.
|
||||
'text-spacing',
|
||||
|
||||
// Transform.
|
||||
'transform',
|
||||
'transform-origin',
|
||||
|
||||
// Transform 3D.
|
||||
'backface-visibility',
|
||||
'perspective',
|
||||
'perspective-origin',
|
||||
'transform-style',
|
||||
|
||||
// Transition.
|
||||
'transition',
|
||||
'transition-delay',
|
||||
'transition-duration',
|
||||
'transition-property',
|
||||
'transition-timing-function',
|
||||
|
||||
// Unicode bidi.
|
||||
'unicode-bidi',
|
||||
|
||||
// User select.
|
||||
'user-select',
|
||||
|
||||
// Writing mode.
|
||||
'writing-mode',
|
||||
|
||||
);
|
||||
|
||||
/// Values that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-values: (
|
||||
|
||||
// Cross fade.
|
||||
'cross-fade',
|
||||
|
||||
// Element function.
|
||||
'element',
|
||||
|
||||
// Filter function.
|
||||
'filter',
|
||||
|
||||
// Flexbox.
|
||||
'flex',
|
||||
'inline-flex',
|
||||
|
||||
// Grab cursors.
|
||||
'grab',
|
||||
'grabbing',
|
||||
|
||||
// Gradients.
|
||||
'linear-gradient',
|
||||
'repeating-linear-gradient',
|
||||
'radial-gradient',
|
||||
'repeating-radial-gradient',
|
||||
|
||||
// Grid layout.
|
||||
'grid',
|
||||
'inline-grid',
|
||||
|
||||
// Image set.
|
||||
'image-set',
|
||||
|
||||
// Intrinsic width.
|
||||
'max-content',
|
||||
'min-content',
|
||||
'fit-content',
|
||||
'fill',
|
||||
'fill-available',
|
||||
'stretch',
|
||||
|
||||
// Sticky position.
|
||||
'sticky',
|
||||
|
||||
// Transform.
|
||||
'transform',
|
||||
|
||||
// Zoom cursors.
|
||||
'zoom-in',
|
||||
'zoom-out',
|
||||
|
||||
);
|
||||
/// Values that should be vendorized.
|
||||
/// Data via caniuse.com, github.com/postcss/autoprefixer, and developer.mozilla.org
|
||||
/// @var {list}
|
||||
$vendor-values: (
|
||||
// Cross fade.
|
||||
"cross-fade",
|
||||
// Element function.
|
||||
"element",
|
||||
// Filter function.
|
||||
"filter",
|
||||
// Flexbox.
|
||||
"flex",
|
||||
"inline-flex",
|
||||
// Grab cursors.
|
||||
"grab",
|
||||
"grabbing",
|
||||
// Gradients.
|
||||
"linear-gradient",
|
||||
"repeating-linear-gradient",
|
||||
"radial-gradient",
|
||||
"repeating-radial-gradient",
|
||||
// Grid layout.
|
||||
"grid",
|
||||
"inline-grid",
|
||||
// Image set.
|
||||
"image-set",
|
||||
// Intrinsic width.
|
||||
"max-content",
|
||||
"min-content",
|
||||
"fit-content",
|
||||
"fill",
|
||||
"fill-available",
|
||||
"stretch",
|
||||
// Sticky position.
|
||||
"sticky",
|
||||
// Transform.
|
||||
"transform",
|
||||
// Zoom cursors.
|
||||
"zoom-in",
|
||||
"zoom-out"
|
||||
);
|
||||
|
||||
// Functions.
|
||||
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
/// Removes a specific item from a list.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {list} $list List.
|
||||
/// @param {integer} $index Index.
|
||||
/// @return {list} Updated list.
|
||||
@function remove-nth($list, $index) {
|
||||
$result: null;
|
||||
|
||||
$result: null;
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
} @else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
} @else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
} @else {
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
|
||||
@if type-of($index) != number {
|
||||
@warn "$index: #{quote($index)} is not a number for `remove-nth`.";
|
||||
}
|
||||
@else if $index == 0 {
|
||||
@warn "List index 0 must be a non-zero integer for `remove-nth`.";
|
||||
}
|
||||
@else if abs($index) > length($list) {
|
||||
@warn "List index is #{$index} but list is only #{length($list)} item long for `remove-nth`.";
|
||||
}
|
||||
@else {
|
||||
@for $i from 1 through length($list) {
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$result: ();
|
||||
$index: if($index < 0, length($list) + $index + 1, $index);
|
||||
@return $result;
|
||||
}
|
||||
|
||||
@for $i from 1 through length($list) {
|
||||
/// Replaces a substring within another string.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {string} $string String.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {string} Updated string.
|
||||
@function str-replace($string, $search, $replace: "") {
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $i != $index {
|
||||
$result: append($result, nth($list, $i));
|
||||
}
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace +
|
||||
str-replace(
|
||||
str-slice($string, $index + str-length($search)),
|
||||
$search,
|
||||
$replace
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
@return $string;
|
||||
}
|
||||
|
||||
}
|
||||
/// Replaces a substring within each string in a list.
|
||||
/// @param {list} $strings List of strings.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {list} Updated list of strings.
|
||||
@function str-replace-all($strings, $search, $replace: "") {
|
||||
@each $string in $strings {
|
||||
$strings: set-nth(
|
||||
$strings,
|
||||
index($strings, $string),
|
||||
str-replace($string, $search, $replace)
|
||||
);
|
||||
}
|
||||
|
||||
@return $result;
|
||||
|
||||
}
|
||||
|
||||
/// Replaces a substring within another string.
|
||||
/// @author Hugo Giraudel
|
||||
/// @param {string} $string String.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {string} Updated string.
|
||||
@function str-replace($string, $search, $replace: '') {
|
||||
|
||||
$index: str-index($string, $search);
|
||||
|
||||
@if $index {
|
||||
@return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
|
||||
}
|
||||
|
||||
@return $string;
|
||||
|
||||
}
|
||||
|
||||
/// Replaces a substring within each string in a list.
|
||||
/// @param {list} $strings List of strings.
|
||||
/// @param {string} $search Substring.
|
||||
/// @param {string} $replace Replacement.
|
||||
/// @return {list} Updated list of strings.
|
||||
@function str-replace-all($strings, $search, $replace: '') {
|
||||
|
||||
@each $string in $strings {
|
||||
$strings: set-nth($strings, index($strings, $string), str-replace($string, $search, $replace));
|
||||
}
|
||||
|
||||
@return $strings;
|
||||
|
||||
}
|
||||
@return $strings;
|
||||
}
|
||||
|
||||
// Mixins.
|
||||
|
||||
/// Wraps @content in vendorized keyframe blocks.
|
||||
/// @param {string} $name Name.
|
||||
@mixin keyframes($name) {
|
||||
/// Wraps @content in vendorized keyframe blocks.
|
||||
/// @param {string} $name Name.
|
||||
@mixin keyframes($name) {
|
||||
@-moz-keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
@-webkit-keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
@-ms-keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
@keyframes #{$name} {
|
||||
@content;
|
||||
}
|
||||
}
|
||||
|
||||
@-moz-keyframes #{$name} { @content; }
|
||||
@-webkit-keyframes #{$name} { @content; }
|
||||
@-ms-keyframes #{$name} { @content; }
|
||||
@keyframes #{$name} { @content; }
|
||||
/// Vendorizes a declaration's property and/or value(s).
|
||||
/// @param {string} $property Property.
|
||||
/// @param {mixed} $value String/list of value(s).
|
||||
@mixin vendor($property, $value) {
|
||||
// Determine if property should expand.
|
||||
$expandProperty: index($vendor-properties, $property);
|
||||
|
||||
}
|
||||
// Determine if value should expand (and if so, add '-prefix-' placeholder).
|
||||
$expandValue: false;
|
||||
|
||||
/// Vendorizes a declaration's property and/or value(s).
|
||||
/// @param {string} $property Property.
|
||||
/// @param {mixed} $value String/list of value(s).
|
||||
@mixin vendor($property, $value) {
|
||||
@each $x in $value {
|
||||
@each $y in $vendor-values {
|
||||
@if $y == str-slice($x, 1, str-length($y)) {
|
||||
$value: set-nth($value, index($value, $x), "-prefix-" + $x);
|
||||
$expandValue: true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Determine if property should expand.
|
||||
$expandProperty: index($vendor-properties, $property);
|
||||
// Expand property?
|
||||
@if $expandProperty {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$vendor}#{$property}: #{str-replace-all($value, "-prefix-", $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Determine if value should expand (and if so, add '-prefix-' placeholder).
|
||||
$expandValue: false;
|
||||
// Expand just the value?
|
||||
@elseif $expandValue {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$property}: #{str-replace-all($value, "-prefix-", $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
@each $x in $value {
|
||||
@each $y in $vendor-values {
|
||||
@if $y == str-slice($x, 1, str-length($y)) {
|
||||
|
||||
$value: set-nth($value, index($value, $x), '-prefix-' + $x);
|
||||
$expandValue: true;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Expand property?
|
||||
@if $expandProperty {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$vendor}#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Expand just the value?
|
||||
@elseif $expandValue {
|
||||
@each $vendor in $vendor-prefixes {
|
||||
#{$property}: #{str-replace-all($value, '-prefix-', $vendor)};
|
||||
}
|
||||
}
|
||||
|
||||
// Neither? Treat them as a normal declaration.
|
||||
@else {
|
||||
#{$property}: #{$value};
|
||||
}
|
||||
|
||||
}
|
||||
// Neither? Treat them as a normal declaration.
|
||||
@else {
|
||||
#{$property}: #{$value};
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,7 +23,7 @@
|
||||
/></a>
|
||||
<h1>
|
||||
<strong>MS Office - Electron</strong><br />
|
||||
Free Office Online Desktop Client
|
||||
Free Office Online Desktop Client
|
||||
</h1>
|
||||
</div>
|
||||
</header>
|
||||
@@ -34,37 +34,47 @@
|
||||
<section id="one">
|
||||
<header class="major">
|
||||
<h2>
|
||||
An Unofficial Microsoft Office Online Desktop Client made with Electron. Free of Cost.
|
||||
An Unofficial Microsoft Office Online Desktop Client made with
|
||||
Electron. Free of Cost.
|
||||
</h2>
|
||||
</header>
|
||||
<p>
|
||||
<img
|
||||
src="images/Mac_Screenshot.png"
|
||||
alt=""
|
||||
width="500"
|
||||
height="auto"
|
||||
class="floatright"
|
||||
/>
|
||||
MS Office - Electron is an app in which the Web Version of
|
||||
MS Office is wrapped into a Cross-Platform App with Electron.
|
||||
And all the Services of Microsoft Office will work for free. It is available for Windows, Mac OS, and Linux!
|
||||
If you like the project, do not forget to give a "<i
|
||||
class="far fa-star"
|
||||
></i>
|
||||
<img
|
||||
src="images/Mac_Screenshot.png"
|
||||
alt=""
|
||||
width="500"
|
||||
height="auto"
|
||||
class="floatright"
|
||||
/>
|
||||
MS Office - Electron is an app in which the Web Version of MS Office
|
||||
is wrapped into a Cross-Platform App with Electron. And all the
|
||||
Services of Microsoft Office will work for free. It is available for
|
||||
Windows, Mac OS, and Linux! If you like the project, do not forget to
|
||||
give a "<i class="far fa-star"></i>
|
||||
Star" to the project :D
|
||||
</p>
|
||||
<h2>Download Now:</h2>
|
||||
<ul class="actions">
|
||||
<li>
|
||||
<a href="https://github.com/agam778/MS-Office-Electron#-windows-installation" class="button"
|
||||
<a
|
||||
href="https://github.com/agam778/MS-Office-Electron#-windows-installation"
|
||||
class="button"
|
||||
><i class="fab fa-windows"></i> Windows</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/agam778/MS-Office-Electron#-macos-installation" class="button"><i class="fab fa-apple"></i> Mac OS</a>
|
||||
<a
|
||||
href="https://github.com/agam778/MS-Office-Electron#-macos-installation"
|
||||
class="button"
|
||||
><i class="fab fa-apple"></i> Mac OS</a
|
||||
>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://github.com/agam778/MS-Office-Electron#-linux-installation" class="button"><i class="fab fa-linux"></i> Linux</a>
|
||||
<a
|
||||
href="https://github.com/agam778/MS-Office-Electron#-linux-installation"
|
||||
class="button"
|
||||
><i class="fab fa-linux"></i> Linux</a
|
||||
>
|
||||
</li>
|
||||
</ul>
|
||||
</section>
|
||||
@@ -75,7 +85,9 @@
|
||||
<div class="inner">
|
||||
<ul class="icons">
|
||||
<li>
|
||||
<a href="https://github.com/agam778/MS-Office-Electron" class="icon brands fa-github"
|
||||
<a
|
||||
href="https://github.com/agam778/MS-Office-Electron"
|
||||
class="icon brands fa-github"
|
||||
><span class="label">Github</span></a
|
||||
>
|
||||
</li>
|
||||
|
||||
@@ -1,19 +1,24 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" >
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Loading MS Office - Electron</title>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css">
|
||||
<link rel="stylesheet" href="./style.css">
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<title>Loading MS Office - Electron</title>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://cdnjs.cloudflare.com/ajax/libs/normalize/5.0.0/normalize.min.css"
|
||||
/>
|
||||
<link rel="stylesheet" href="./style.css" />
|
||||
</head>
|
||||
<body>
|
||||
<div class="loader"></div>
|
||||
<div class="shadow"></div>
|
||||
|
||||
</head>
|
||||
<body>
|
||||
<div class="loader"></div>
|
||||
<div class="shadow"></div>
|
||||
|
||||
<div class="logo">
|
||||
<a href="https://github.com/agam778/MS-Office-Electron" target="_blank"><img src="https://raw.githubusercontent.com/agam778/MS-Office-Electron/main/MSlogo.svg" alt="MS Office - Electron"></a>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<div class="logo">
|
||||
<a href="https://github.com/agam778/MS-Office-Electron" target="_blank"
|
||||
><img
|
||||
src="https://raw.githubusercontent.com/agam778/MS-Office-Electron/main/MSlogo.svg"
|
||||
alt="MS Office - Electron"
|
||||
/></a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,246 +1,248 @@
|
||||
@-webkit-keyframes mainAnimation {
|
||||
0% {
|
||||
width: 50px;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 50px;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 150px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 150px;
|
||||
transform-origin: bottom right;
|
||||
transform: translateX(-150px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
80% {
|
||||
width: 50px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
100% {
|
||||
width: 50px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
}
|
||||
@keyframes mainAnimation {
|
||||
0% {
|
||||
width: 50px;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 50px;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 150px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 150px;
|
||||
transform-origin: bottom right;
|
||||
transform: translateX(-150px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
80% {
|
||||
width: 50px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
100% {
|
||||
width: 50px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes secundaryAnimation {
|
||||
0% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
40% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
60% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
}
|
||||
@keyframes secundaryAnimation {
|
||||
0% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
40% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
60% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes shadowAnimation {
|
||||
0% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 200px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
}
|
||||
@keyframes shadowAnimation {
|
||||
0% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 200px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes float {
|
||||
0% {
|
||||
top: 50%;
|
||||
}
|
||||
50% {
|
||||
top: 51%;
|
||||
}
|
||||
100% {
|
||||
top: 50%;
|
||||
}
|
||||
}
|
||||
@keyframes float {
|
||||
0% {
|
||||
top: 50%;
|
||||
}
|
||||
50% {
|
||||
top: 51%;
|
||||
}
|
||||
100% {
|
||||
top: 50%;
|
||||
}
|
||||
}
|
||||
html, body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
position: relative;
|
||||
background: #5684f0;
|
||||
background: linear-gradient(135deg, #5684f0 0%, #fa7587 100%);
|
||||
}
|
||||
|
||||
.loader {
|
||||
position: absolute;
|
||||
0% {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -25px;
|
||||
margin-left: -25px;
|
||||
background-color: #FFF5A5;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
-webkit-animation: mainAnimation 2.6s ease 0s infinite forwards;
|
||||
animation: mainAnimation 2.6s ease 0s infinite forwards;
|
||||
z-index: 2;
|
||||
}
|
||||
.loader:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
20% {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
top: 0;
|
||||
left: -50px;
|
||||
background-color: #FFF5A5;
|
||||
transform-origin: top right;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
-webkit-animation: secundaryAnimation 2.6s ease 0s infinite forwards;
|
||||
animation: secundaryAnimation 2.6s ease 0s infinite forwards;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 10px;
|
||||
40% {
|
||||
width: 150px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 150px;
|
||||
transform-origin: bottom right;
|
||||
transform: translateX(-150px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
80% {
|
||||
width: 50px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
100% {
|
||||
width: 50px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
}
|
||||
@keyframes mainAnimation {
|
||||
0% {
|
||||
width: 50px;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 50px;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 150px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 150px;
|
||||
transform-origin: bottom right;
|
||||
transform: translateX(-150px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
80% {
|
||||
width: 50px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
100% {
|
||||
width: 50px;
|
||||
transform: translateX(-50px) translateY(0px) rotate(90deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes secundaryAnimation {
|
||||
0% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
40% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
60% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
}
|
||||
@keyframes secundaryAnimation {
|
||||
0% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
40% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
60% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: translateX(0px) translateY(0px) rotate(180deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes shadowAnimation {
|
||||
0% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 200px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
}
|
||||
@keyframes shadowAnimation {
|
||||
0% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
20% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
40% {
|
||||
width: 200px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
60% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
80% {
|
||||
width: 75px;
|
||||
transform: translateX(37.5px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
width: 150px;
|
||||
transform: translateX(-25px) translateY(0px) rotate(0deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes float {
|
||||
0% {
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: 50px;
|
||||
margin-left: -75px;
|
||||
border-radius: 50%;
|
||||
background-color: #95a5a6;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
-webkit-animation: shadowAnimation 2.6s ease 0s infinite forwards, float 5s ease-in-out 0s infinite forwards;
|
||||
animation: shadowAnimation 2.6s ease 0s infinite forwards, float 5s ease-in-out 0s infinite forwards;
|
||||
filter: blur(5px);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.logo {
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
left: 50%;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
padding: 12px 5px;
|
||||
margin-left: -21px;
|
||||
box-sizing: border-box;
|
||||
background-color: white;
|
||||
border-radius: 50%;
|
||||
transition: transform 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
50% {
|
||||
top: 51%;
|
||||
}
|
||||
.logo:hover {
|
||||
transform: scale(1.4);
|
||||
100% {
|
||||
top: 50%;
|
||||
}
|
||||
.logo img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
@keyframes float {
|
||||
0% {
|
||||
top: 50%;
|
||||
}
|
||||
|
||||
50% {
|
||||
top: 51%;
|
||||
}
|
||||
100% {
|
||||
top: 50%;
|
||||
}
|
||||
}
|
||||
html,
|
||||
body {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
position: relative;
|
||||
background: #5684f0;
|
||||
background: linear-gradient(135deg, #5684f0 0%, #fa7587 100%);
|
||||
}
|
||||
|
||||
.loader {
|
||||
position: absolute;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: -25px;
|
||||
margin-left: -25px;
|
||||
background-color: #fff5a5;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
-webkit-animation: mainAnimation 2.6s ease 0s infinite forwards;
|
||||
animation: mainAnimation 2.6s ease 0s infinite forwards;
|
||||
z-index: 2;
|
||||
}
|
||||
.loader:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
top: 0;
|
||||
left: -50px;
|
||||
background-color: #fff5a5;
|
||||
transform-origin: top right;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
-webkit-animation: secundaryAnimation 2.6s ease 0s infinite forwards;
|
||||
animation: secundaryAnimation 2.6s ease 0s infinite forwards;
|
||||
}
|
||||
|
||||
.shadow {
|
||||
position: absolute;
|
||||
width: 100px;
|
||||
height: 10px;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
margin-top: 50px;
|
||||
margin-left: -75px;
|
||||
border-radius: 50%;
|
||||
background-color: #95a5a6;
|
||||
transform: translateX(0px) translateY(0px) rotate(0deg);
|
||||
-webkit-animation: shadowAnimation 2.6s ease 0s infinite forwards,
|
||||
float 5s ease-in-out 0s infinite forwards;
|
||||
animation: shadowAnimation 2.6s ease 0s infinite forwards,
|
||||
float 5s ease-in-out 0s infinite forwards;
|
||||
filter: blur(5px);
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.logo {
|
||||
position: absolute;
|
||||
bottom: 20px;
|
||||
left: 50%;
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
padding: 12px 5px;
|
||||
margin-left: -21px;
|
||||
box-sizing: border-box;
|
||||
background-color: white;
|
||||
border-radius: 50%;
|
||||
transition: transform 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
}
|
||||
.logo:hover {
|
||||
transform: scale(1.4);
|
||||
}
|
||||
.logo img {
|
||||
width: 100%;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
762
main.js
762
main.js
@@ -1,289 +1,473 @@
|
||||
const { app, Menu, BrowserWindow, dialog, shell } = require("electron");
|
||||
const { autoUpdater } = require("electron-updater");
|
||||
const isMac = process.platform === "darwin";
|
||||
const openAboutWindow = require("about-window").default;
|
||||
const isOnline = require("is-online");
|
||||
const axios = require("axios");
|
||||
const ElectronDl = require("electron-dl");
|
||||
const contextMenu = require("electron-context-menu");
|
||||
|
||||
const log = require("electron-log");
|
||||
log.transports.file.level = "verbose";
|
||||
console.log = log.log;
|
||||
|
||||
ElectronDl({
|
||||
dlPath: "./downloads",
|
||||
onStarted: (item) => {
|
||||
dialog.showMessageBox({
|
||||
type: "info",
|
||||
title: "Downloading File",
|
||||
message: `Downloading "${item.getFilename()}" to "${item.getSavePath()}"`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
onCompleted: () => {
|
||||
dialog.showMessageBox({
|
||||
type: "info",
|
||||
title: "Download Completed",
|
||||
message: `Downloading Completed! Please check your "Downloads" folder.`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
onError: (item) => {
|
||||
dialog.showMessageBox({
|
||||
type: "error",
|
||||
title: "Download failed",
|
||||
message: `Downloading "${item.getFilename()}" failed :(`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
contextMenu({
|
||||
showInspectElement: false,
|
||||
showServices: false,
|
||||
});
|
||||
|
||||
const template = [
|
||||
...(isMac
|
||||
? [
|
||||
{
|
||||
label: app.name,
|
||||
submenu: [
|
||||
{ role: "about" },
|
||||
{ type: "separator" },
|
||||
{ role: "services" },
|
||||
{ type: "separator" },
|
||||
{ role: "hide" },
|
||||
{ role: "hideothers" },
|
||||
{ role: "unhide" },
|
||||
{ type: "separator" },
|
||||
{ role: "quit" },
|
||||
],
|
||||
},
|
||||
]
|
||||
: []),
|
||||
{
|
||||
label: "Application",
|
||||
submenu: [
|
||||
{
|
||||
label: "About MS Office - Electron",
|
||||
click: () =>
|
||||
openAboutWindow({
|
||||
icon_path:
|
||||
"https://github.com/agam778/MS-Office-Electron/blob/main/icon2.png?raw=true",
|
||||
product_name: "MS Office - Electron",
|
||||
copyright: "Copyright (c) 2021 Agampreet Singh Bajaj",
|
||||
package_json_dir: __dirname,
|
||||
bug_report_url:
|
||||
"https://github.com/agam778/Microsoft-Office-Electron/issues/",
|
||||
bug_link_text: "Report an issue",
|
||||
adjust_window_size: "2",
|
||||
show_close_button: "Close",
|
||||
}),
|
||||
},
|
||||
{
|
||||
label: "Check for Updates",
|
||||
click: async () => {
|
||||
axios
|
||||
.get(
|
||||
"https://api.github.com/repos/agam778/MS-Office-Electron/releases/latest"
|
||||
)
|
||||
.then((res) => {
|
||||
let data = res.data;
|
||||
let currentVersion = "v" + app.getVersion();
|
||||
let latestVersion = data.tag_name;
|
||||
if (currentVersion !== latestVersion) {
|
||||
const updatedialog = dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Update Available",
|
||||
message: `Your App's version: ${currentVersion}\nLatest version: ${latestVersion}\n\nPlease update to the latest version.`,
|
||||
buttons: ["Download", "Close"],
|
||||
});
|
||||
if (updatedialog === 0) {
|
||||
shell.openExternal(
|
||||
"https://github.com/agam778/MS-Office-Electron/releases/latest"
|
||||
);
|
||||
}
|
||||
} else {
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "No Update Available",
|
||||
message: `Your App's version: ${currentVersion}\nLatest version: ${latestVersion}\n\nYou are already using the latest version.`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Learn More",
|
||||
click: async () => {
|
||||
const { shell } = require("electron");
|
||||
await shell.openExternal(
|
||||
"https://github.com/agam778/MS-Office-Electron"
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Open Logs Folder",
|
||||
click: async () => {
|
||||
const { shell } = require("electron");
|
||||
if (process.platform === "win32") {
|
||||
await shell.openPath(
|
||||
"C:\\Users\\" +
|
||||
process.env.USERNAME +
|
||||
"\\AppData\\Roaming\\ms-office-electron\\\\logs\\"
|
||||
);
|
||||
} else if (process.platform === "darwin") {
|
||||
await shell.openPath(
|
||||
"/Users/" +
|
||||
process.env.USERNAME +
|
||||
"/Library/Logs/ms-office-electron/"
|
||||
);
|
||||
} else if (process.platform === "linux") {
|
||||
await shell.openPath(
|
||||
"/home/" +
|
||||
process.env.USERNAME +
|
||||
"/.config/ms-office-electron/logs"
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
role: "quit",
|
||||
accelerator: process.platform === "darwin" ? "Ctrl+Q" : "Ctrl+Q",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Edit",
|
||||
submenu: [
|
||||
{ role: "undo" },
|
||||
{ role: "redo" },
|
||||
{ type: "separator" },
|
||||
{ role: "cut" },
|
||||
{ role: "copy" },
|
||||
{ role: "paste" },
|
||||
...(isMac
|
||||
? [
|
||||
{ role: "pasteAndMatchStyle" },
|
||||
{ role: "delete" },
|
||||
{ role: "selectAll" },
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: "Speech",
|
||||
submenu: [{ role: "startSpeaking" }, { role: "stopSpeaking" }],
|
||||
},
|
||||
]
|
||||
: [{ role: "delete" }, { type: "separator" }, { role: "selectAll" }]),
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "View",
|
||||
submenu: [
|
||||
{ role: "reload" },
|
||||
{ role: "forceReload" },
|
||||
{ type: "separator" },
|
||||
{ role: "resetZoom" },
|
||||
{
|
||||
role: "zoomIn",
|
||||
accelerator: process.platform === "darwin" ? "Control+=" : "Control+=",
|
||||
},
|
||||
{ role: "zoomOut" },
|
||||
{ type: "separator" },
|
||||
{ role: "togglefullscreen" },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Window",
|
||||
submenu: [
|
||||
{ role: "minimize" },
|
||||
{ role: "zoom" },
|
||||
...(isMac
|
||||
? [
|
||||
{ type: "separator" },
|
||||
{ role: "front" },
|
||||
{ type: "separator" },
|
||||
{ role: "window" },
|
||||
]
|
||||
: [{ role: "close" }]),
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const menu = Menu.buildFromTemplate(template);
|
||||
Menu.setApplicationMenu(menu);
|
||||
|
||||
function createWindow() {
|
||||
const win = new BrowserWindow({
|
||||
width: 1181,
|
||||
height: 670,
|
||||
icon: "./icon.png",
|
||||
show: false,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
devTools: false,
|
||||
},
|
||||
});
|
||||
|
||||
const splash = new BrowserWindow({
|
||||
width: 810,
|
||||
height: 610,
|
||||
transparent: true,
|
||||
frame: false,
|
||||
alwaysOnTop: true,
|
||||
icon: "./icon.png",
|
||||
});
|
||||
|
||||
splash.loadURL(`https://agam778.github.io/MS-Office-Electron/loading`);
|
||||
win.loadURL("https://office.com/?auth=1", {
|
||||
userAgent:
|
||||
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
|
||||
});
|
||||
|
||||
win.webContents.on("did-finish-load", () => {
|
||||
splash.destroy();
|
||||
win.show();
|
||||
});
|
||||
}
|
||||
|
||||
app.on("ready", () => {
|
||||
createWindow();
|
||||
});
|
||||
|
||||
app.on("window-all-closed", () => {
|
||||
if (process.platform !== "darwin") {
|
||||
app.quit();
|
||||
}
|
||||
});
|
||||
|
||||
app.on("activate", () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow();
|
||||
}
|
||||
});
|
||||
|
||||
app.on("ready", function () {
|
||||
isOnline().then((online) => {
|
||||
if (online) {
|
||||
console.log("You are connected to the internet!");
|
||||
} else {
|
||||
const options = {
|
||||
type: "warning",
|
||||
buttons: ["Ok"],
|
||||
defaultId: 2,
|
||||
title: "Warning",
|
||||
message: "You appear to be offline!",
|
||||
detail:
|
||||
"Please check your Internet Connectivity. This app cannot run without an Internet Connection!",
|
||||
};
|
||||
|
||||
dialog.showMessageBox(null, options, (response) => {
|
||||
console.log(response);
|
||||
});
|
||||
}
|
||||
});
|
||||
autoUpdater.checkForUpdatesAndNotify();
|
||||
});
|
||||
const { app, Menu, BrowserWindow, dialog, shell } = require("electron");
|
||||
const { autoUpdater } = require("electron-updater");
|
||||
const isMac = process.platform === "darwin";
|
||||
const openAboutWindow = require("about-window").default;
|
||||
const isOnline = require("is-online");
|
||||
const axios = require("axios");
|
||||
const ElectronDl = require("electron-dl");
|
||||
const contextMenu = require("electron-context-menu");
|
||||
const path = require("path");
|
||||
const Store = require("electron-store");
|
||||
const store = new Store();
|
||||
|
||||
const RPC = require("discord-rpc");
|
||||
const clientId = "942637872530460742";
|
||||
const rpc = new RPC.Client({ transport: "ipc" });
|
||||
|
||||
const log = require("electron-log");
|
||||
log.transports.file.level = "verbose";
|
||||
console.log = log.log;
|
||||
|
||||
ElectronDl({
|
||||
dlPath: "./downloads",
|
||||
onStarted: (item) => {
|
||||
dialog.showMessageBox({
|
||||
type: "info",
|
||||
title: "Downloading File",
|
||||
message: `Downloading "${item.getFilename()}" to "${item.getSavePath()}"`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
onCompleted: () => {
|
||||
dialog.showMessageBox({
|
||||
type: "info",
|
||||
title: "Download Completed",
|
||||
message: `Downloading Completed! Please check your "Downloads" folder.`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
onError: (item) => {
|
||||
dialog.showMessageBox({
|
||||
type: "error",
|
||||
title: "Download failed",
|
||||
message: `Downloading "${item.getFilename()}" failed :(`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
contextMenu({
|
||||
showInspectElement: false,
|
||||
showServices: false,
|
||||
});
|
||||
|
||||
const menulayout = [
|
||||
...(isMac
|
||||
? [
|
||||
{
|
||||
label: app.name,
|
||||
submenu: [
|
||||
{ role: "about" },
|
||||
{ type: "separator" },
|
||||
{ role: "services" },
|
||||
{ type: "separator" },
|
||||
{ role: "hide" },
|
||||
{ role: "hideothers" },
|
||||
{ role: "unhide" },
|
||||
{ type: "separator" },
|
||||
{ role: "quit" },
|
||||
],
|
||||
},
|
||||
]
|
||||
: []),
|
||||
{
|
||||
label: "Application",
|
||||
submenu: [
|
||||
{
|
||||
label: "About MS Office - Electron",
|
||||
click: () =>
|
||||
openAboutWindow({
|
||||
icon_path:
|
||||
"https://github.com/agam778/MS-Office-Electron/blob/main/icon2.png?raw=true",
|
||||
product_name: "MS Office - Electron",
|
||||
copyright: "Copyright (c) 2021 Agampreet Singh Bajaj",
|
||||
package_json_dir: __dirname,
|
||||
bug_report_url:
|
||||
"https://github.com/agam778/Microsoft-Office-Electron/issues/",
|
||||
bug_link_text: "Report an issue",
|
||||
adjust_window_size: "2",
|
||||
show_close_button: "Close",
|
||||
}),
|
||||
},
|
||||
{
|
||||
label: "Check for Updates",
|
||||
click: async () => {
|
||||
axios
|
||||
.get(
|
||||
"https://api.github.com/repos/agam778/MS-Office-Electron/releases/latest"
|
||||
)
|
||||
.then((res) => {
|
||||
let data = res.data;
|
||||
let currentVersion = "v" + app.getVersion();
|
||||
let latestVersion = data.tag_name;
|
||||
if (currentVersion !== latestVersion) {
|
||||
const updatedialog = dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Update Available",
|
||||
message: `Your App's version: ${currentVersion}\nLatest version: ${latestVersion}\n\nPlease update to the latest version.`,
|
||||
buttons: ["Download", "Close"],
|
||||
});
|
||||
if (updatedialog === 0) {
|
||||
shell.openExternal(
|
||||
"https://github.com/agam778/MS-Office-Electron/releases/latest"
|
||||
);
|
||||
}
|
||||
} else {
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "No Update Available",
|
||||
message: `Your App's version: ${currentVersion}\nLatest version: ${latestVersion}\n\nYou are already using the latest version.`,
|
||||
buttons: ["OK"],
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Learn More",
|
||||
click: async () => {
|
||||
const { shell } = require("electron");
|
||||
await shell.openExternal(
|
||||
"https://github.com/agam778/MS-Office-Electron"
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Open Logs Folder",
|
||||
click: async () => {
|
||||
const { shell } = require("electron");
|
||||
if (process.platform === "win32") {
|
||||
await shell.openPath(
|
||||
"C:\\Users\\" +
|
||||
process.env.USERNAME +
|
||||
"\\AppData\\Roaming\\ms-office-electron\\\\logs\\"
|
||||
);
|
||||
} else if (process.platform === "darwin") {
|
||||
await shell.openPath(
|
||||
"/Users/" +
|
||||
process.env.USERNAME +
|
||||
"/Library/Logs/ms-office-electron/"
|
||||
);
|
||||
} else if (process.platform === "linux") {
|
||||
await shell.openPath(
|
||||
"/home/" +
|
||||
process.env.USERNAME +
|
||||
"/.config/ms-office-electron/logs"
|
||||
);
|
||||
}
|
||||
},
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: "Open Websites in New Windows (Recommended)",
|
||||
type: "radio",
|
||||
click: () => {
|
||||
store.set("websites-in-new-window", "true");
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Websites in New Windows",
|
||||
message:
|
||||
"Websites which are targeted to open in new tabs will now open in new windows.",
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
checked: store.get("websites-in-new-window")
|
||||
? store.get("websites-in-new-window") === "true"
|
||||
: true,
|
||||
},
|
||||
{
|
||||
label: "Open Websites in the Same Window",
|
||||
type: "radio",
|
||||
click: () => {
|
||||
store.set("websites-in-new-window", "false");
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Websites in New Windows",
|
||||
message:
|
||||
"Websites which are targeted to open in new tabs will now open in the same window.",
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
checked: store.get("websites-in-new-window")
|
||||
? store.get("websites-in-new-window") === "false"
|
||||
: false,
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: "Enable Discord Rich Presence",
|
||||
type: "radio",
|
||||
click: () => {
|
||||
store.set("discordrpcstatus", "true");
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Discord Rich Presence",
|
||||
message: "Discord Rich Presence is now enabled.",
|
||||
buttons: ["OK"],
|
||||
});
|
||||
discordrpcupdate(
|
||||
`On "${BrowserWindow.getFocusedWindow().webContents.getTitle()}"`
|
||||
);
|
||||
},
|
||||
checked: store.get("discordrpcstatus")
|
||||
? store.get("discordrpcstatus") === "true"
|
||||
: true,
|
||||
},
|
||||
{
|
||||
label: "Disable Discord Rich Presence",
|
||||
type: "radio",
|
||||
click: () => {
|
||||
store.set("discordrpcstatus", "false");
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Discord Rich Presence",
|
||||
message: "Discord Rich Presence is now disabled.",
|
||||
buttons: ["OK"],
|
||||
});
|
||||
rpc.clearActivity();
|
||||
},
|
||||
checked: store.get("discordrpcstatus")
|
||||
? store.get("discordrpcstatus") === "false"
|
||||
: false,
|
||||
},
|
||||
{ type: "separator" },
|
||||
{
|
||||
role: "quit",
|
||||
accelerator: process.platform === "darwin" ? "Ctrl+Q" : "Ctrl+Q",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Navigation",
|
||||
submenu: [
|
||||
{
|
||||
label: "Back",
|
||||
click: () => {
|
||||
BrowserWindow.getFocusedWindow().webContents.goBack();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Forward",
|
||||
click: () => {
|
||||
BrowserWindow.getFocusedWindow().webContents.goForward();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Reload",
|
||||
click: () => {
|
||||
BrowserWindow.getFocusedWindow().webContents.reload();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "Home",
|
||||
click: () => {
|
||||
BrowserWindow.getFocusedWindow().loadURL(
|
||||
"https://www.office.com/?auth=1"
|
||||
);
|
||||
},
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Edit",
|
||||
submenu: [
|
||||
{ role: "undo" },
|
||||
{ role: "redo" },
|
||||
{ type: "separator" },
|
||||
{ role: "cut" },
|
||||
{ role: "copy" },
|
||||
{ role: "paste" },
|
||||
...(isMac
|
||||
? [
|
||||
{ role: "pasteAndMatchStyle" },
|
||||
{ role: "delete" },
|
||||
{ role: "selectAll" },
|
||||
{ type: "separator" },
|
||||
{
|
||||
label: "Speech",
|
||||
submenu: [{ role: "startSpeaking" }, { role: "stopSpeaking" }],
|
||||
},
|
||||
]
|
||||
: [{ role: "delete" }, { type: "separator" }, { role: "selectAll" }]),
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "View",
|
||||
submenu: [
|
||||
{ role: "reload" },
|
||||
{ role: "forceReload" },
|
||||
{ type: "separator" },
|
||||
{ role: "resetZoom" },
|
||||
{
|
||||
role: "zoomIn",
|
||||
accelerator: process.platform === "darwin" ? "Control+=" : "Control+=",
|
||||
},
|
||||
{ role: "zoomOut" },
|
||||
{ type: "separator" },
|
||||
{ role: "togglefullscreen" },
|
||||
],
|
||||
},
|
||||
{
|
||||
label: "Window",
|
||||
submenu: [
|
||||
{ role: "minimize" },
|
||||
{ role: "zoom" },
|
||||
...(isMac
|
||||
? [
|
||||
{ type: "separator" },
|
||||
{ role: "front" },
|
||||
{ type: "separator" },
|
||||
{ role: "window" },
|
||||
]
|
||||
: [{ role: "close" }]),
|
||||
{
|
||||
label: "Show Menu Bar",
|
||||
type: "radio",
|
||||
click: () => {
|
||||
store.set("autohide-menubar", "false");
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Menu Bar Settings",
|
||||
message:
|
||||
"Menu will be visible now. Please restart the app for changes to take effect.",
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
checked: store.get("autohide-menubar") === "false",
|
||||
},
|
||||
{
|
||||
label: "Hide Menu Bar (Press ALT To show for some time)",
|
||||
type: "radio",
|
||||
click: () => {
|
||||
store.set("autohide-menubar", "true");
|
||||
dialog.showMessageBoxSync({
|
||||
type: "info",
|
||||
title: "Menu Bar Settings",
|
||||
message:
|
||||
"Menu bar will be automatically hidden now. Please restart the app for changes to take effect.",
|
||||
buttons: ["OK"],
|
||||
});
|
||||
},
|
||||
checked: store.get("autohide-menubar") === "true",
|
||||
},
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
const menu = Menu.buildFromTemplate(menulayout);
|
||||
Menu.setApplicationMenu(menu);
|
||||
|
||||
function discordrpc(title) {
|
||||
if (store.get("discordrpcstatus") === "true") {
|
||||
rpc.setActivity({
|
||||
details: `${title}`,
|
||||
largeImageKey: "logo",
|
||||
largeImageText: "MS-Office-Electron",
|
||||
startTimestamp: Date.now(),
|
||||
instance: false,
|
||||
});
|
||||
} else {
|
||||
// don't do anything
|
||||
}
|
||||
}
|
||||
|
||||
function discordrpcupdate(title) {
|
||||
rpc.clearActivity();
|
||||
rpc.setActivity({
|
||||
details: `${title}`,
|
||||
largeImageKey: "logo",
|
||||
largeImageText: "MS-Office-Electron",
|
||||
startTimestamp: Date.now(),
|
||||
instance: false,
|
||||
});
|
||||
}
|
||||
|
||||
function createWindow() {
|
||||
const win = new BrowserWindow({
|
||||
width: 1181,
|
||||
height: 670,
|
||||
icon: path.join(__dirname, "/icon.png"),
|
||||
show: false,
|
||||
webPreferences: {
|
||||
nodeIntegration: true,
|
||||
devTools: false,
|
||||
},
|
||||
});
|
||||
|
||||
if (store.get("autohide-menubar") === "true") {
|
||||
win.setAutoHideMenuBar(true);
|
||||
} else {
|
||||
win.setAutoHideMenuBar(false);
|
||||
}
|
||||
|
||||
const splash = new BrowserWindow({
|
||||
width: 810,
|
||||
height: 610,
|
||||
transparent: true,
|
||||
frame: false,
|
||||
alwaysOnTop: true,
|
||||
icon: "./icon.png",
|
||||
});
|
||||
|
||||
splash.loadURL(`https://agam778.github.io/MS-Office-Electron/loading`);
|
||||
win.loadURL("https://office.com/?auth=1", {
|
||||
userAgent:
|
||||
"Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36",
|
||||
});
|
||||
|
||||
win.webContents.on("did-finish-load", () => {
|
||||
splash.destroy();
|
||||
win.show();
|
||||
discordrpc(`On "${win.webContents.getTitle()}"`);
|
||||
});
|
||||
}
|
||||
|
||||
app.on("ready", () => {
|
||||
createWindow();
|
||||
});
|
||||
|
||||
app.on("web-contents-created", (event, contents) => {
|
||||
contents.on("new-window", (event, url) => {
|
||||
if (store.get("websites-in-new-window") === "false") {
|
||||
event.preventDefault();
|
||||
BrowserWindow.getFocusedWindow().loadURL(url);
|
||||
} else {
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
app.on("window-all-closed", () => {
|
||||
rpc.clearActivity();
|
||||
if (process.platform !== "darwin") {
|
||||
app.quit();
|
||||
}
|
||||
});
|
||||
|
||||
app.on("activate", () => {
|
||||
if (BrowserWindow.getAllWindows().length === 0) {
|
||||
createWindow();
|
||||
}
|
||||
});
|
||||
|
||||
app.on("ready", function () {
|
||||
isOnline().then((online) => {
|
||||
if (online) {
|
||||
console.log("You are connected to the internet!");
|
||||
} else {
|
||||
const options = {
|
||||
type: "warning",
|
||||
buttons: ["Ok"],
|
||||
defaultId: 2,
|
||||
title: "Warning",
|
||||
message: "You appear to be offline!",
|
||||
detail:
|
||||
"Please check your Internet Connectivity. This app cannot run without an Internet Connection!",
|
||||
};
|
||||
|
||||
dialog.showMessageBox(null, options, (response) => {
|
||||
console.log(response);
|
||||
});
|
||||
}
|
||||
});
|
||||
autoUpdater.checkForUpdatesAndNotify();
|
||||
rpc.login({ clientId }).catch((err) => console.error(err));
|
||||
});
|
||||
|
||||
178
package.json
178
package.json
@@ -1,88 +1,90 @@
|
||||
{
|
||||
"name": "ms-office-electron",
|
||||
"version": "0.4.5",
|
||||
"description": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
|
||||
"main": "main.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/agam778/MS-Office-Electron.git"
|
||||
},
|
||||
"build": {
|
||||
"extraFiles": [
|
||||
"icon.png",
|
||||
"license.txt",
|
||||
"icon2.png"
|
||||
],
|
||||
"appId": "com.agampreet.ms-office-electron",
|
||||
"productName": "MS-Office-Electron",
|
||||
"artifactName": "MS-Office-Electron-Setup-v${version}-${os}-${arch}.${ext}",
|
||||
"linux": {
|
||||
"category": "Office",
|
||||
"desktop": {
|
||||
"Comment": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
|
||||
"Name": "MS-Office-Electron",
|
||||
"StartupNotify": "true",
|
||||
"Terminal": "false",
|
||||
"Type": "Application",
|
||||
"Categories": "Office;"
|
||||
},
|
||||
"icon": "icon.png",
|
||||
"executableName": "MS-Office-Electron",
|
||||
"maintainer": "Agampreet Singh <agam778@zohomail.in>",
|
||||
"target": [
|
||||
"deb",
|
||||
"rpm",
|
||||
"AppImage"
|
||||
]
|
||||
},
|
||||
"deb": {
|
||||
"compression": "bzip2"
|
||||
},
|
||||
"mac": {
|
||||
"category": "public.app-category.office",
|
||||
"target": [
|
||||
"dmg"
|
||||
],
|
||||
"icon": "icon.icns"
|
||||
},
|
||||
"nsis": {
|
||||
"oneClick": false,
|
||||
"perMachine": false,
|
||||
"allowToChangeInstallationDirectory": false,
|
||||
"license": "license.txt"
|
||||
},
|
||||
"win": {
|
||||
"target": [
|
||||
"nsis"
|
||||
],
|
||||
"icon": "icon.ico"
|
||||
},
|
||||
"directories": {
|
||||
"output": "release"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"start": "electron .",
|
||||
"pack": "electron-builder --dir",
|
||||
"dist": "electron-builder"
|
||||
},
|
||||
"author": {
|
||||
"name": "Agampreet Singh",
|
||||
"email": "agam778@zohomail.in",
|
||||
"url": "https://agam778.is-a.dev/"
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"electron": "^17.0.0",
|
||||
"electron-builder": "^22.14.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"about-window": "^1.15.2",
|
||||
"axios": "^0.25.0",
|
||||
"electron-context-menu": "^3.1.1",
|
||||
"electron-dl": "^3.3.0",
|
||||
"electron-log": "^4.4.5",
|
||||
"electron-updater": "^4.6.1",
|
||||
"is-online": "^9.0.1"
|
||||
}
|
||||
}
|
||||
{
|
||||
"name": "ms-office-electron",
|
||||
"version": "0.5.1",
|
||||
"description": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
|
||||
"main": "main.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/agam778/MS-Office-Electron.git"
|
||||
},
|
||||
"build": {
|
||||
"extraFiles": [
|
||||
"icon.png",
|
||||
"LICENSE",
|
||||
"icon2.png"
|
||||
],
|
||||
"appId": "com.agampreet.ms-office-electron",
|
||||
"productName": "MS-Office-Electron",
|
||||
"artifactName": "MS-Office-Electron-Setup-v${version}-${os}-${arch}.${ext}",
|
||||
"linux": {
|
||||
"category": "Office",
|
||||
"desktop": {
|
||||
"Comment": "An Unofficial Microsoft Office Online Desktop Client. Free of Cost.",
|
||||
"Name": "MS-Office-Electron",
|
||||
"StartupNotify": "true",
|
||||
"Terminal": "false",
|
||||
"Type": "Application",
|
||||
"Categories": "Office;"
|
||||
},
|
||||
"icon": "icon.png",
|
||||
"executableName": "MS-Office-Electron",
|
||||
"maintainer": "Agampreet Singh <agam778@zohomail.in>",
|
||||
"target": [
|
||||
"deb",
|
||||
"rpm",
|
||||
"AppImage"
|
||||
]
|
||||
},
|
||||
"deb": {
|
||||
"compression": "bzip2"
|
||||
},
|
||||
"mac": {
|
||||
"category": "public.app-category.office",
|
||||
"target": [
|
||||
"dmg"
|
||||
],
|
||||
"icon": "icon.icns"
|
||||
},
|
||||
"nsis": {
|
||||
"oneClick": false,
|
||||
"perMachine": false,
|
||||
"allowToChangeInstallationDirectory": false,
|
||||
"license": "LICENSE"
|
||||
},
|
||||
"win": {
|
||||
"target": [
|
||||
"nsis"
|
||||
],
|
||||
"icon": "icon.ico"
|
||||
},
|
||||
"directories": {
|
||||
"output": "release"
|
||||
}
|
||||
},
|
||||
"scripts": {
|
||||
"start": "electron .",
|
||||
"pack": "electron-builder --dir",
|
||||
"dist": "electron-builder"
|
||||
},
|
||||
"author": {
|
||||
"name": "Agampreet Singh",
|
||||
"email": "agam778@zohomail.in",
|
||||
"url": "https://agam778.is-a.dev/"
|
||||
},
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"electron": "^17.0.0",
|
||||
"electron-builder": "^22.14.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"about-window": "^1.15.2",
|
||||
"axios": "^0.25.0",
|
||||
"discord-rpc": "^4.0.1",
|
||||
"electron-context-menu": "^3.1.1",
|
||||
"electron-dl": "^3.3.0",
|
||||
"electron-log": "^4.4.5",
|
||||
"electron-store": "^8.0.1",
|
||||
"electron-updater": "^4.6.1",
|
||||
"is-online": "^9.0.1"
|
||||
}
|
||||
}
|
||||
|
||||
440
yarn.lock
440
yarn.lock
@@ -16,9 +16,9 @@
|
||||
ajv-keywords "^3.4.1"
|
||||
|
||||
"@electron/get@^1.13.0":
|
||||
version "1.13.1"
|
||||
resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.13.1.tgz#42a0aa62fd1189638bd966e23effaebb16108368"
|
||||
integrity sha512-U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==
|
||||
version "1.14.1"
|
||||
resolved "https://registry.yarnpkg.com/@electron/get/-/get-1.14.1.tgz#16ba75f02dffb74c23965e72d617adc721d27f40"
|
||||
integrity sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==
|
||||
dependencies:
|
||||
debug "^4.1.1"
|
||||
env-paths "^2.2.0"
|
||||
@@ -70,9 +70,9 @@
|
||||
integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
|
||||
|
||||
"@sindresorhus/is@^4.0.0":
|
||||
version "4.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.4.0.tgz#e277e5bdbdf7cb1e20d320f02f5e2ed113cd3185"
|
||||
integrity sha512-QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==
|
||||
version "4.6.0"
|
||||
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f"
|
||||
integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==
|
||||
|
||||
"@szmarczak/http-timer@^1.1.2":
|
||||
version "1.1.2"
|
||||
@@ -88,6 +88,11 @@
|
||||
dependencies:
|
||||
defer-to-connect "^2.0.0"
|
||||
|
||||
"@tootallnate/once@2":
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf"
|
||||
integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==
|
||||
|
||||
"@types/cacheable-request@^6.0.1":
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.2.tgz#c324da0197de0a98a2312156536ae262429ff6b9"
|
||||
@@ -143,14 +148,14 @@
|
||||
integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
|
||||
|
||||
"@types/node@*":
|
||||
version "17.0.15"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.15.tgz#97779282c09c09577120a2162e71d8380003590a"
|
||||
integrity sha512-zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==
|
||||
version "17.0.21"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.21.tgz#864b987c0c68d07b4345845c3e63b75edd143644"
|
||||
integrity sha512-DBZCJbhII3r90XbQxI8Y9IjjiiOGlZ0Hr32omXIZvwwZ7p4DMMXGrKXVyPfuoBOri9XNtL0UK69jYIBIsRX3QQ==
|
||||
|
||||
"@types/node@^14.6.2":
|
||||
version "14.18.10"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.10.tgz#774f43868964f3cfe4ced1f5417fe15818a4eaea"
|
||||
integrity sha512-6iihJ/Pp5fsFJ/aEDGyvT4pHGmCpq7ToQ/yf4bl5SbVAvwpspYJ+v3jO7n8UyjhQVHTy+KNszOozDdv+O6sovQ==
|
||||
version "14.18.12"
|
||||
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24"
|
||||
integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==
|
||||
|
||||
"@types/plist@^3.0.1":
|
||||
version "3.0.2"
|
||||
@@ -178,14 +183,14 @@
|
||||
integrity sha512-9UjMCHK5GPgQRoNbqdLIAvAy0EInuiqbW0PBMtVP6B5B2HQJlvoJHM+KodPZMEjOa5VkSc+5LH7xy+cUzQdmHw==
|
||||
|
||||
"@types/yargs-parser@*":
|
||||
version "20.2.1"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129"
|
||||
integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==
|
||||
version "21.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
|
||||
integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
|
||||
|
||||
"@types/yargs@^17.0.1":
|
||||
version "17.0.8"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.8.tgz#d23a3476fd3da8a0ea44b5494ca7fa677b9dad4c"
|
||||
integrity sha512-wDeUwiUmem9FzsyysEwRukaEdDNcwbROvQ9QGRKaLI6t+IltNzbn4/i4asmB10auvZGQCzSQ6t0GSczEThlUXw==
|
||||
version "17.0.9"
|
||||
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.9.tgz#f1f931a4e5ae2c0134dea10f501088636a50b46a"
|
||||
integrity sha512-Ci8+4/DOtkHRylcisKmVMtmVO5g7weUVCKcsu1sJvF1bn0wExTmbHmhFKj7AnEm0de800iovGhdSKzYnzbaHpg==
|
||||
dependencies:
|
||||
"@types/yargs-parser" "*"
|
||||
|
||||
@@ -194,6 +199,13 @@ about-window@^1.15.2:
|
||||
resolved "https://registry.yarnpkg.com/about-window/-/about-window-1.15.2.tgz#0397216ce0cb6e8a4fa9ba12941e56d481d712b5"
|
||||
integrity sha512-31mDAnLUfKm4uShfMzeEoS6a3nEto2tUt4zZn7qyAKedaTV4p0dGiW1n+YG8vtRh78mZiewghWJmoxDY+lHyYg==
|
||||
|
||||
agent-base@6:
|
||||
version "6.0.2"
|
||||
resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
|
||||
integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
|
||||
dependencies:
|
||||
debug "4"
|
||||
|
||||
aggregate-error@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
|
||||
@@ -202,6 +214,13 @@ aggregate-error@^3.0.0:
|
||||
clean-stack "^2.0.0"
|
||||
indent-string "^4.0.0"
|
||||
|
||||
ajv-formats@^2.1.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
|
||||
integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
|
||||
dependencies:
|
||||
ajv "^8.0.0"
|
||||
|
||||
ajv-keywords@^3.4.1:
|
||||
version "3.5.2"
|
||||
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
|
||||
@@ -217,6 +236,16 @@ ajv@^6.10.0, ajv@^6.12.0:
|
||||
json-schema-traverse "^0.4.1"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
ajv@^8.0.0, ajv@^8.6.3:
|
||||
version "8.10.0"
|
||||
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d"
|
||||
integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==
|
||||
dependencies:
|
||||
fast-deep-equal "^3.1.1"
|
||||
json-schema-traverse "^1.0.0"
|
||||
require-from-string "^2.0.2"
|
||||
uri-js "^4.2.2"
|
||||
|
||||
ansi-align@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
|
||||
@@ -248,10 +277,10 @@ app-builder-bin@3.7.1:
|
||||
resolved "https://registry.yarnpkg.com/app-builder-bin/-/app-builder-bin-3.7.1.tgz#cb0825c5e12efc85b196ac3ed9c89f076c61040e"
|
||||
integrity sha512-ql93vEUq6WsstGXD+SBLSIQw6SNnhbDEM0swzgugytMxLp3rT24Ag/jcC80ZHxiPRTdew1niuR7P3/FCrDqIjw==
|
||||
|
||||
app-builder-lib@22.14.5:
|
||||
version "22.14.5"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.5.tgz#a61a50b132b858e98fdc70b6b88994ae99b4f96d"
|
||||
integrity sha512-k3VwKP4kpsnUaXoUkm1s4zaSHPHIMFnN4kPMU9yXaKmE1LfHHqBaEah5bXeTAX5V/BC41wFdg8CF5vOjvgy8Rg==
|
||||
app-builder-lib@22.14.13:
|
||||
version "22.14.13"
|
||||
resolved "https://registry.yarnpkg.com/app-builder-lib/-/app-builder-lib-22.14.13.tgz#c1f5b6afc86596357598bb90b69eef06c7c2eeb3"
|
||||
integrity sha512-SufmrtxU+D0Tn948fjEwAOlCN9757UXLkzzTWXMwZKR/5hisvgqeeBepWfphMIE6OkDGz0fbzEhL1P2Pty4XMg==
|
||||
dependencies:
|
||||
"7zip-bin" "~5.1.1"
|
||||
"@develar/schema-utils" "~2.6.5"
|
||||
@@ -259,13 +288,13 @@ app-builder-lib@22.14.5:
|
||||
"@malept/flatpak-bundler" "^0.4.0"
|
||||
async-exit-hook "^2.0.1"
|
||||
bluebird-lst "^1.0.9"
|
||||
builder-util "22.14.5"
|
||||
builder-util-runtime "8.9.1"
|
||||
builder-util "22.14.13"
|
||||
builder-util-runtime "8.9.2"
|
||||
chromium-pickle-js "^0.2.0"
|
||||
debug "^4.3.2"
|
||||
ejs "^3.1.6"
|
||||
electron-osx-sign "^0.5.0"
|
||||
electron-publish "22.14.5"
|
||||
electron-publish "22.14.13"
|
||||
form-data "^4.0.0"
|
||||
fs-extra "^10.0.0"
|
||||
hosted-git-info "^4.0.2"
|
||||
@@ -326,6 +355,11 @@ at-least-node@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
|
||||
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
|
||||
|
||||
atomically@^1.7.0:
|
||||
version "1.7.0"
|
||||
resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe"
|
||||
integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==
|
||||
|
||||
axios@^0.25.0:
|
||||
version "0.25.0"
|
||||
resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a"
|
||||
@@ -343,6 +377,13 @@ base64-js@^1.3.1, base64-js@^1.5.1:
|
||||
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
|
||||
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
|
||||
|
||||
bindings@^1.3.0:
|
||||
version "1.5.0"
|
||||
resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
|
||||
integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
|
||||
dependencies:
|
||||
file-uri-to-path "1.0.0"
|
||||
|
||||
bluebird-lst@^1.0.9:
|
||||
version "1.0.9"
|
||||
resolved "https://registry.yarnpkg.com/bluebird-lst/-/bluebird-lst-1.0.9.tgz#a64a0e4365658b9ab5fe875eb9dfb694189bb41c"
|
||||
@@ -356,9 +397,9 @@ bluebird@^3.5.0, bluebird@^3.5.5:
|
||||
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
|
||||
|
||||
boolean@^3.0.1:
|
||||
version "3.1.4"
|
||||
resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.1.4.tgz#f51a2fb5838a99e06f9b6ec1edb674de67026435"
|
||||
integrity sha512-3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/boolean/-/boolean-3.2.0.tgz#9e5294af4e98314494cbb17979fa54ca159f116b"
|
||||
integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==
|
||||
|
||||
boxen@^5.0.0:
|
||||
version "5.1.2"
|
||||
@@ -423,29 +464,31 @@ buffer@^5.1.0:
|
||||
base64-js "^1.3.1"
|
||||
ieee754 "^1.1.13"
|
||||
|
||||
builder-util-runtime@8.9.1:
|
||||
version "8.9.1"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.1.tgz#25f066b3fbc20b3e6236a9b956b1ebb0e33ff66a"
|
||||
integrity sha512-c8a8J3wK6BIVLW7ls+7TRK9igspTbzWmUqxFbgK0m40Ggm6efUbxtWVCGIjc+dtchyr5qAMAUL6iEGRdS/6vwg==
|
||||
builder-util-runtime@8.9.2:
|
||||
version "8.9.2"
|
||||
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.9.2.tgz#a9669ae5b5dcabfe411ded26678e7ae997246c28"
|
||||
integrity sha512-rhuKm5vh7E0aAmT6i8aoSfEjxzdYEFX7zDApK+eNgOhjofnWb74d9SRJv0H/8nsgOkos0TZ4zxW0P8J4N7xQ2A==
|
||||
dependencies:
|
||||
debug "^4.3.2"
|
||||
sax "^1.2.4"
|
||||
|
||||
builder-util@22.14.5:
|
||||
version "22.14.5"
|
||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.5.tgz#42a18608d2a566c0846e91266464776c8bfb0cc9"
|
||||
integrity sha512-zqIHDFJwmA7jV7SC9aI+33MWwT2mWoijH+Ol9IntNAwuuRXoS+7XeJwnhLBXOhcDBzXT4kDzHnRk4JKeaygEYA==
|
||||
builder-util@22.14.13:
|
||||
version "22.14.13"
|
||||
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.14.13.tgz#41b5b7b4ee53aff4e09cc007fb144522598f3ce6"
|
||||
integrity sha512-oePC/qrrUuerhmH5iaCJzPRAKlSBylrhzuAJmRQClTyWnZUv6jbaHh+VoHMbEiE661wrj2S2aV7/bQh12cj1OA==
|
||||
dependencies:
|
||||
"7zip-bin" "~5.1.1"
|
||||
"@types/debug" "^4.1.6"
|
||||
"@types/fs-extra" "^9.0.11"
|
||||
app-builder-bin "3.7.1"
|
||||
bluebird-lst "^1.0.9"
|
||||
builder-util-runtime "8.9.1"
|
||||
builder-util-runtime "8.9.2"
|
||||
chalk "^4.1.1"
|
||||
cross-spawn "^7.0.3"
|
||||
debug "^4.3.2"
|
||||
fs-extra "^10.0.0"
|
||||
http-proxy-agent "^5.0.0"
|
||||
https-proxy-agent "^5.0.0"
|
||||
is-ci "^3.0.0"
|
||||
js-yaml "^4.1.0"
|
||||
source-map-support "^0.5.19"
|
||||
@@ -622,6 +665,22 @@ concat-stream@^1.6.2:
|
||||
readable-stream "^2.2.2"
|
||||
typedarray "^0.0.6"
|
||||
|
||||
conf@^10.0.3:
|
||||
version "10.1.1"
|
||||
resolved "https://registry.yarnpkg.com/conf/-/conf-10.1.1.tgz#ff08046d5aeeee0eaff55d57f5b4319193c3dfda"
|
||||
integrity sha512-z2civwq/k8TMYtcn3SVP0Peso4otIWnHtcTuHhQ0zDZDdP4NTxqEc8owfkz4zBsdMYdn/LFcE+ZhbCeqkhtq3Q==
|
||||
dependencies:
|
||||
ajv "^8.6.3"
|
||||
ajv-formats "^2.1.1"
|
||||
atomically "^1.7.0"
|
||||
debounce-fn "^4.0.0"
|
||||
dot-prop "^6.0.1"
|
||||
env-paths "^2.2.1"
|
||||
json-schema-typed "^7.0.3"
|
||||
onetime "^5.1.2"
|
||||
pkg-up "^3.1.0"
|
||||
semver "^7.3.5"
|
||||
|
||||
config-chain@^1.1.11:
|
||||
version "1.1.13"
|
||||
resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
|
||||
@@ -673,6 +732,20 @@ crypto-random-string@^2.0.0:
|
||||
resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
|
||||
integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
|
||||
|
||||
debounce-fn@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7"
|
||||
integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==
|
||||
dependencies:
|
||||
mimic-fn "^3.0.0"
|
||||
|
||||
debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
||||
version "4.3.3"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
|
||||
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
debug@^2.6.8, debug@^2.6.9:
|
||||
version "2.6.9"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
|
||||
@@ -680,13 +753,6 @@ debug@^2.6.8, debug@^2.6.9:
|
||||
dependencies:
|
||||
ms "2.0.0"
|
||||
|
||||
debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:
|
||||
version "4.3.3"
|
||||
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
|
||||
integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
|
||||
dependencies:
|
||||
ms "2.1.2"
|
||||
|
||||
decompress-response@^3.3.0:
|
||||
version "3.3.0"
|
||||
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
|
||||
@@ -743,14 +809,24 @@ dir-compare@^2.4.0:
|
||||
commander "2.9.0"
|
||||
minimatch "3.0.4"
|
||||
|
||||
dmg-builder@22.14.5:
|
||||
version "22.14.5"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.5.tgz#137c0b55e639badcc0b119eb060e6fa4ed61d948"
|
||||
integrity sha512-1GvFGQE332bvPamcMwZDqWqfWfJTyyDLOsHMcGi0zs+Jh7JOn6/zuBkHJIWHdsj2QJbhzLVyd2/ZqttOKv7I8w==
|
||||
discord-rpc@^4.0.1:
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/discord-rpc/-/discord-rpc-4.0.1.tgz#a89aa04a048aa83ad4f347d53fa0162501eae0d8"
|
||||
integrity sha512-HOvHpbq5STRZJjQIBzwoKnQ0jHplbEWFWlPDwXXKm/bILh4nzjcg7mNqll0UY7RsjFoaXA7e/oYb/4lvpda2zA==
|
||||
dependencies:
|
||||
app-builder-lib "22.14.5"
|
||||
builder-util "22.14.5"
|
||||
builder-util-runtime "8.9.1"
|
||||
node-fetch "^2.6.1"
|
||||
ws "^7.3.1"
|
||||
optionalDependencies:
|
||||
register-scheme "github:devsnek/node-register-scheme"
|
||||
|
||||
dmg-builder@22.14.13:
|
||||
version "22.14.13"
|
||||
resolved "https://registry.yarnpkg.com/dmg-builder/-/dmg-builder-22.14.13.tgz#cc613f3c18e889b8777d525991fd52f50a564f8c"
|
||||
integrity sha512-xNOugB6AbIRETeU2uID15sUfjdZZcKdxK8xkFnwIggsM00PJ12JxpLNPTjcRoUnfwj3WrPjilrO64vRMwNItQg==
|
||||
dependencies:
|
||||
app-builder-lib "22.14.13"
|
||||
builder-util "22.14.13"
|
||||
builder-util-runtime "8.9.2"
|
||||
fs-extra "^10.0.0"
|
||||
iconv-lite "^0.6.2"
|
||||
js-yaml "^4.1.0"
|
||||
@@ -758,9 +834,9 @@ dmg-builder@22.14.5:
|
||||
dmg-license "^1.0.9"
|
||||
|
||||
dmg-license@^1.0.9:
|
||||
version "1.0.10"
|
||||
resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.10.tgz#89f52afae25d827fce8d818c13aff30af1c16bcc"
|
||||
integrity sha512-SVeeyiOeinV5JCPHXMdKOgK1YVbak/4+8WL2rBnfqRYpA5FaeFaQnQWb25x628am1w70CbipGDv9S51biph63A==
|
||||
version "1.0.11"
|
||||
resolved "https://registry.yarnpkg.com/dmg-license/-/dmg-license-1.0.11.tgz#7b3bc3745d1b52be7506b4ee80cb61df6e4cd79a"
|
||||
integrity sha512-ZdzmqwKmECOWJpqefloC5OJy1+WZBBse5+MR88z9g9Zn4VY+WYUkAyojmhzJckH5YbbZGcYIuGAkY5/Ys5OM2Q==
|
||||
dependencies:
|
||||
"@types/plist" "^3.0.1"
|
||||
"@types/verror" "^1.10.3"
|
||||
@@ -792,6 +868,13 @@ dot-prop@^5.2.0:
|
||||
dependencies:
|
||||
is-obj "^2.0.0"
|
||||
|
||||
dot-prop@^6.0.1:
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
|
||||
integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
|
||||
dependencies:
|
||||
is-obj "^2.0.0"
|
||||
|
||||
dotenv-expand@^5.1.0:
|
||||
version "5.1.0"
|
||||
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
|
||||
@@ -815,16 +898,16 @@ ejs@^3.1.6:
|
||||
jake "^10.6.1"
|
||||
|
||||
electron-builder@^22.14.5:
|
||||
version "22.14.5"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.5.tgz#3a25547bd4fe3728d4704da80956a794c5c31496"
|
||||
integrity sha512-N73hSbXFz6Mz5Z6h6C5ly6CB+dUN6k1LuCDJjI8VF47bMXv/QE0HE+Kkb0GPKqTqM7Hsk/yIYX+kHCfSkR5FGg==
|
||||
version "22.14.13"
|
||||
resolved "https://registry.yarnpkg.com/electron-builder/-/electron-builder-22.14.13.tgz#fd40564685cf5422a8f8d667940af3d3776f4fb8"
|
||||
integrity sha512-3fgLxqF2TXVKiUPeg74O4V3l0l3j7ERLazo8sUbRkApw0+4iVAf2BJkHsHMaXiigsgCoEzK/F4/rB5rne/VAnw==
|
||||
dependencies:
|
||||
"@types/yargs" "^17.0.1"
|
||||
app-builder-lib "22.14.5"
|
||||
builder-util "22.14.5"
|
||||
builder-util-runtime "8.9.1"
|
||||
app-builder-lib "22.14.13"
|
||||
builder-util "22.14.13"
|
||||
builder-util-runtime "8.9.2"
|
||||
chalk "^4.1.1"
|
||||
dmg-builder "22.14.5"
|
||||
dmg-builder "22.14.13"
|
||||
fs-extra "^10.0.0"
|
||||
is-ci "^3.0.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -833,9 +916,9 @@ electron-builder@^22.14.5:
|
||||
yargs "^17.0.1"
|
||||
|
||||
electron-context-menu@^3.1.1:
|
||||
version "3.1.1"
|
||||
resolved "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-3.1.1.tgz#109884e79df293f7e85effcbdbbe45d362987d94"
|
||||
integrity sha512-LJhwaKf6XHwk2LQ5SdwoGNODoA8lRwks9bbEeAqqMf4e3hsrT7pZtX6MaHKYNFZKxF14JjI/VR+VRjGvxmaQoA==
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/electron-context-menu/-/electron-context-menu-3.1.2.tgz#0f550e47df39cb25c03e0f4bf840ce5c9fefcdd5"
|
||||
integrity sha512-nNzu4w14n7mOR+4cLjRC9cEFqGUsAY76seOm0sw3f4OxEfX/d75m7HYekyp5b+0m7Ixy2KN/Mrljw1zLmpyV2w==
|
||||
dependencies:
|
||||
cli-truncate "^2.1.0"
|
||||
electron-dl "^3.2.1"
|
||||
@@ -872,26 +955,34 @@ electron-osx-sign@^0.5.0:
|
||||
minimist "^1.2.0"
|
||||
plist "^3.0.1"
|
||||
|
||||
electron-publish@22.14.5:
|
||||
version "22.14.5"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.5.tgz#34bcdce671f0e651330db20040d6919c77c94bd6"
|
||||
integrity sha512-h+NANRdaA0PqGF15GKvorseWPzh1PXa/zx4I37//PIokW8eKIov8ky23foUSb55ZFWUHGpxQJux7y2NCfBtQeg==
|
||||
electron-publish@22.14.13:
|
||||
version "22.14.13"
|
||||
resolved "https://registry.yarnpkg.com/electron-publish/-/electron-publish-22.14.13.tgz#8b71e6975af8cc6ac5b21f293ade23f8704047c7"
|
||||
integrity sha512-0oP3QiNj3e8ewOaEpEJV/o6Zrmy2VarVvZ/bH7kyO/S/aJf9x8vQsKVWpsdmSiZ5DJEHgarFIXrnO0ZQf0P9iQ==
|
||||
dependencies:
|
||||
"@types/fs-extra" "^9.0.11"
|
||||
builder-util "22.14.5"
|
||||
builder-util-runtime "8.9.1"
|
||||
builder-util "22.14.13"
|
||||
builder-util-runtime "8.9.2"
|
||||
chalk "^4.1.1"
|
||||
fs-extra "^10.0.0"
|
||||
lazy-val "^1.0.5"
|
||||
mime "^2.5.2"
|
||||
|
||||
electron-store@^8.0.1:
|
||||
version "8.0.1"
|
||||
resolved "https://registry.yarnpkg.com/electron-store/-/electron-store-8.0.1.tgz#9b598c1d2edeffebee9d8c1cd957ad368c528925"
|
||||
integrity sha512-ZyLvNywiqSpbwC/pp89O/AycVWY/UJIkmtyzF2Bd0Nm/rLmcFc0NTGuLdg6+LE8mS8qsiK5JMoe4PnrecLHH5w==
|
||||
dependencies:
|
||||
conf "^10.0.3"
|
||||
type-fest "^1.0.2"
|
||||
|
||||
electron-updater@^4.6.1:
|
||||
version "4.6.1"
|
||||
resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.6.1.tgz#80ca805c4f51b2e682aac29d18fed75d6a533d32"
|
||||
integrity sha512-YsU1mHqXLrXXmBMsxhxy24PrbaB8rnpZDPmFa2gOkTYk/Ch13+R0fjsRSpPYvqtskVVY0ux8fu+HnUkVkqc7og==
|
||||
version "4.6.5"
|
||||
resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.6.5.tgz#e9a75458bbfd6bb41a58a829839e150ad2eb2d3d"
|
||||
integrity sha512-kdTly8O9mSZfm9fslc1mnCY+mYOeaYRy7ERa2Fed240u01BKll3aiupzkd07qKw69KvhBSzuHroIW3mF0D8DWA==
|
||||
dependencies:
|
||||
"@types/semver" "^7.3.6"
|
||||
builder-util-runtime "8.9.1"
|
||||
builder-util-runtime "8.9.2"
|
||||
fs-extra "^10.0.0"
|
||||
js-yaml "^4.1.0"
|
||||
lazy-val "^1.0.5"
|
||||
@@ -900,9 +991,9 @@ electron-updater@^4.6.1:
|
||||
semver "^7.3.5"
|
||||
|
||||
electron@^17.0.0:
|
||||
version "17.0.0"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-17.0.0.tgz#60f00f3e3c657020e807a519700213943468b4d1"
|
||||
integrity sha512-3UXcBQMwbMWdPvGHaSdPMluHrd+/bc+K143MyvE5zVZ+S1XCHt4sau7dj6svJHns5llN0YG/c6h/vRfadIp8Zg==
|
||||
version "17.1.2"
|
||||
resolved "https://registry.yarnpkg.com/electron/-/electron-17.1.2.tgz#b4e4a0df883d9a9854cf865efa2bb00b12d55b1d"
|
||||
integrity sha512-hqKQaUIRWX5Y2eAD8FZINWD/e5TKdpkbBYbkcZmJS4Bd1PKQsaDVc9h5xoA8zZQkPymE9rss+swjRpAFurOPGQ==
|
||||
dependencies:
|
||||
"@electron/get" "^1.13.0"
|
||||
"@types/node" "^14.6.2"
|
||||
@@ -925,7 +1016,7 @@ end-of-stream@^1.1.0:
|
||||
dependencies:
|
||||
once "^1.4.0"
|
||||
|
||||
env-paths@^2.2.0:
|
||||
env-paths@^2.2.0, env-paths@^2.2.1:
|
||||
version "2.2.1"
|
||||
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
|
||||
integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
|
||||
@@ -1002,6 +1093,11 @@ fd-slicer@~1.1.0:
|
||||
dependencies:
|
||||
pend "~1.2.0"
|
||||
|
||||
file-uri-to-path@1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
|
||||
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
|
||||
|
||||
filelist@^1.0.1:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.2.tgz#80202f21462d4d1c2e214119b1807c1bc0380e5b"
|
||||
@@ -1009,10 +1105,17 @@ filelist@^1.0.1:
|
||||
dependencies:
|
||||
minimatch "^3.0.4"
|
||||
|
||||
find-up@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
|
||||
integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
|
||||
dependencies:
|
||||
locate-path "^3.0.0"
|
||||
|
||||
follow-redirects@^1.14.7:
|
||||
version "1.14.7"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685"
|
||||
integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==
|
||||
version "1.14.9"
|
||||
resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.9.tgz#dd4ea157de7bfaf9ea9b3fbd85aa16951f78d8d7"
|
||||
integrity sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==
|
||||
|
||||
form-data@^4.0.0:
|
||||
version "4.0.0"
|
||||
@@ -1024,9 +1127,9 @@ form-data@^4.0.0:
|
||||
mime-types "^2.1.12"
|
||||
|
||||
fs-extra@^10.0.0:
|
||||
version "10.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1"
|
||||
integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==
|
||||
version "10.0.1"
|
||||
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.1.tgz#27de43b4320e833f6867cc044bfce29fdf0ef3b8"
|
||||
integrity sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==
|
||||
dependencies:
|
||||
graceful-fs "^4.2.0"
|
||||
jsonfile "^6.0.1"
|
||||
@@ -1194,6 +1297,15 @@ http-cache-semantics@^4.0.0:
|
||||
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
|
||||
integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==
|
||||
|
||||
http-proxy-agent@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
|
||||
integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==
|
||||
dependencies:
|
||||
"@tootallnate/once" "2"
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
http2-wrapper@^1.0.0-beta.5.2:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d"
|
||||
@@ -1202,6 +1314,14 @@ http2-wrapper@^1.0.0-beta.5.2:
|
||||
quick-lru "^5.1.1"
|
||||
resolve-alpn "^1.0.0"
|
||||
|
||||
https-proxy-agent@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
|
||||
integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
|
||||
dependencies:
|
||||
agent-base "6"
|
||||
debug "4"
|
||||
|
||||
iconv-corefoundation@^1.1.7:
|
||||
version "1.1.7"
|
||||
resolved "https://registry.yarnpkg.com/iconv-corefoundation/-/iconv-corefoundation-1.1.7.tgz#31065e6ab2c9272154c8b0821151e2c88f1b002a"
|
||||
@@ -1393,6 +1513,16 @@ json-schema-traverse@^0.4.1:
|
||||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
|
||||
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
|
||||
|
||||
json-schema-traverse@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
|
||||
integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
|
||||
|
||||
json-schema-typed@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9"
|
||||
integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==
|
||||
|
||||
json-stringify-safe@^5.0.1:
|
||||
version "5.0.1"
|
||||
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
|
||||
@@ -1429,9 +1559,9 @@ keyv@^3.0.0:
|
||||
json-buffer "3.0.0"
|
||||
|
||||
keyv@^4.0.0:
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.0.tgz#8ab5ca4ae6a34e05c629531d9a7f871575af0d5b"
|
||||
integrity sha512-YsY3wr6HabE11/sscee+3nZ03XjvkrPWGouAmJFBdZoK92wiOlJCzI5/sDEIKdJhdhHO144ei45U9gXfbu14Uw==
|
||||
version "4.1.1"
|
||||
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.1.1.tgz#02c538bfdbd2a9308cc932d4096f05ae42bfa06a"
|
||||
integrity sha512-tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==
|
||||
dependencies:
|
||||
json-buffer "3.0.1"
|
||||
|
||||
@@ -1447,6 +1577,14 @@ lazy-val@^1.0.4, lazy-val@^1.0.5:
|
||||
resolved "https://registry.yarnpkg.com/lazy-val/-/lazy-val-1.0.5.tgz#6cf3b9f5bc31cee7ee3e369c0832b7583dcd923d"
|
||||
integrity sha512-0/BnGCCfyUMkBpeDgWihanIAF9JmZhHBgUhEqzvf+adhNGLoP6TaiI5oF8oyb3I45P+PcnrqihSf01M0l0G5+Q==
|
||||
|
||||
locate-path@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
|
||||
integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
|
||||
dependencies:
|
||||
p-locate "^3.0.0"
|
||||
path-exists "^3.0.0"
|
||||
|
||||
lodash.escaperegexp@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz#64762c48618082518ac3df4ccf5d5886dae20347"
|
||||
@@ -1493,23 +1631,33 @@ matcher@^3.0.0:
|
||||
dependencies:
|
||||
escape-string-regexp "^4.0.0"
|
||||
|
||||
mime-db@1.51.0, mime-db@^1.28.0:
|
||||
version "1.51.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
|
||||
integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
|
||||
mime-db@1.52.0, mime-db@^1.28.0:
|
||||
version "1.52.0"
|
||||
resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
|
||||
integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
|
||||
|
||||
mime-types@^2.1.12:
|
||||
version "2.1.34"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
|
||||
integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
|
||||
version "2.1.35"
|
||||
resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
|
||||
integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
|
||||
dependencies:
|
||||
mime-db "1.51.0"
|
||||
mime-db "1.52.0"
|
||||
|
||||
mime@^2.5.2:
|
||||
version "2.6.0"
|
||||
resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
|
||||
integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
|
||||
|
||||
mimic-fn@^2.1.0:
|
||||
version "2.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
||||
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
||||
|
||||
mimic-fn@^3.0.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74"
|
||||
integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==
|
||||
|
||||
mimic-response@^1.0.0, mimic-response@^1.0.1:
|
||||
version "1.0.1"
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
|
||||
@@ -1520,13 +1668,20 @@ mimic-response@^3.1.0:
|
||||
resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
|
||||
integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
|
||||
|
||||
minimatch@3.0.4, minimatch@^3.0.4:
|
||||
minimatch@3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
|
||||
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimatch@^3.0.4:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
|
||||
integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
|
||||
dependencies:
|
||||
brace-expansion "^1.1.7"
|
||||
|
||||
minimist@^1.2.0, minimist@^1.2.5:
|
||||
version "1.2.5"
|
||||
resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
|
||||
@@ -1554,11 +1709,18 @@ ms@2.1.2:
|
||||
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
||||
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
|
||||
|
||||
node-addon-api@^1.6.3:
|
||||
node-addon-api@^1.3.0, node-addon-api@^1.6.3:
|
||||
version "1.7.2"
|
||||
resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
|
||||
integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
|
||||
|
||||
node-fetch@^2.6.1:
|
||||
version "2.6.7"
|
||||
resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
|
||||
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
normalize-url@^4.1.0:
|
||||
version "4.5.1"
|
||||
resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
|
||||
@@ -1589,6 +1751,13 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
|
||||
dependencies:
|
||||
wrappy "1"
|
||||
|
||||
onetime@^5.1.2:
|
||||
version "5.1.2"
|
||||
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
|
||||
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
|
||||
dependencies:
|
||||
mimic-fn "^2.1.0"
|
||||
|
||||
p-any@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-any/-/p-any-3.0.0.tgz#79847aeed70b5d3a10ea625296c0c3d2e90a87b9"
|
||||
@@ -1612,6 +1781,20 @@ p-finally@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
|
||||
integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
|
||||
|
||||
p-limit@^2.0.0:
|
||||
version "2.3.0"
|
||||
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
|
||||
integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
|
||||
dependencies:
|
||||
p-try "^2.0.0"
|
||||
|
||||
p-locate@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
|
||||
integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
|
||||
dependencies:
|
||||
p-limit "^2.0.0"
|
||||
|
||||
p-some@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/p-some/-/p-some-5.0.0.tgz#8b730c74b4fe5169d7264a240ad010b6ebc686a4"
|
||||
@@ -1627,6 +1810,11 @@ p-timeout@^3.2.0:
|
||||
dependencies:
|
||||
p-finally "^1.0.0"
|
||||
|
||||
p-try@^2.0.0:
|
||||
version "2.2.0"
|
||||
resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
|
||||
integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
|
||||
|
||||
package-json@^6.3.0:
|
||||
version "6.5.0"
|
||||
resolved "https://registry.yarnpkg.com/package-json/-/package-json-6.5.0.tgz#6feedaca35e75725876d0b0e64974697fed145b0"
|
||||
@@ -1637,6 +1825,11 @@ package-json@^6.3.0:
|
||||
registry-url "^5.0.0"
|
||||
semver "^6.2.0"
|
||||
|
||||
path-exists@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
|
||||
integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=
|
||||
|
||||
path-exists@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
|
||||
@@ -1662,6 +1855,13 @@ pify@^3.0.0:
|
||||
resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
|
||||
integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
|
||||
|
||||
pkg-up@^3.1.0:
|
||||
version "3.1.0"
|
||||
resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5"
|
||||
integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==
|
||||
dependencies:
|
||||
find-up "^3.0.0"
|
||||
|
||||
plist@^3.0.1, plist@^3.0.4:
|
||||
version "3.0.4"
|
||||
resolved "https://registry.yarnpkg.com/plist/-/plist-3.0.4.tgz#a62df837e3aed2bb3b735899d510c4f186019cbe"
|
||||
@@ -1758,6 +1958,13 @@ readable-stream@^2.2.2:
|
||||
string_decoder "~1.1.1"
|
||||
util-deprecate "~1.0.1"
|
||||
|
||||
"register-scheme@github:devsnek/node-register-scheme":
|
||||
version "0.0.2"
|
||||
resolved "https://codeload.github.com/devsnek/node-register-scheme/tar.gz/e7cc9a63a1f512565da44cb57316d9fb10750e17"
|
||||
dependencies:
|
||||
bindings "^1.3.0"
|
||||
node-addon-api "^1.3.0"
|
||||
|
||||
registry-auth-token@^4.0.0:
|
||||
version "4.2.1"
|
||||
resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-4.2.1.tgz#6d7b4006441918972ccd5fedcd41dc322c79b250"
|
||||
@@ -1777,6 +1984,11 @@ require-directory@^2.1.1:
|
||||
resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
|
||||
integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
|
||||
|
||||
require-from-string@^2.0.2:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
|
||||
integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
|
||||
|
||||
resolve-alpn@^1.0.0:
|
||||
version "1.2.1"
|
||||
resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
|
||||
@@ -2012,6 +2224,11 @@ to-readable-stream@^1.0.0:
|
||||
resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
|
||||
integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
|
||||
integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
|
||||
|
||||
truncate-utf8-bytes@^1.0.0:
|
||||
version "1.0.2"
|
||||
resolved "https://registry.yarnpkg.com/truncate-utf8-bytes/-/truncate-utf8-bytes-1.0.2.tgz#405923909592d56f78a5818434b0b78489ca5f2b"
|
||||
@@ -2034,6 +2251,11 @@ type-fest@^0.20.2:
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
|
||||
integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
|
||||
|
||||
type-fest@^1.0.2:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
|
||||
integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
|
||||
|
||||
typedarray-to-buffer@^3.1.5:
|
||||
version "3.1.5"
|
||||
resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080"
|
||||
@@ -2124,6 +2346,19 @@ verror@^1.10.0:
|
||||
core-util-is "1.0.2"
|
||||
extsprintf "^1.2.0"
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
|
||||
integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
|
||||
integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
which@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
|
||||
@@ -2162,6 +2397,11 @@ write-file-atomic@^3.0.0:
|
||||
signal-exit "^3.0.2"
|
||||
typedarray-to-buffer "^3.1.5"
|
||||
|
||||
ws@^7.3.1:
|
||||
version "7.5.7"
|
||||
resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67"
|
||||
integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
|
||||
|
||||
xdg-basedir@^4.0.0:
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-4.0.0.tgz#4bc8d9984403696225ef83a1573cbbcb4e79db13"
|
||||
@@ -2188,9 +2428,9 @@ yallist@^4.0.0:
|
||||
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
||||
|
||||
yargs-parser@^21.0.0:
|
||||
version "21.0.0"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.0.tgz#a485d3966be4317426dd56bdb6a30131b281dc55"
|
||||
integrity sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==
|
||||
version "21.0.1"
|
||||
resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35"
|
||||
integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==
|
||||
|
||||
yargs@^17.0.1:
|
||||
version "17.3.1"
|
||||
|
||||
Reference in New Issue
Block a user