F-secure style

dependabot/npm_and_yarn/Src/WebController/UI/websocket-extensions-0.1.4
Andras Toth 2020-01-07 16:46:08 +00:00
parent f80ee0f666
commit 3e44a95155
28 changed files with 269 additions and 257 deletions

View File

@ -1,30 +0,0 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150.49 201.51">
<defs>
<style>.cls-1{fill:#fff;}.cls-2{fill:#69c293;}
</style>
</defs>
<title>MWR-C3_logo
</title>
<rect class="cls-1" x="25.25" y="132.94" width="22.73" height="2.46"/>
<rect class="cls-2" x="139.21" y="72.11" width="7.68" height="2.46"/>
<polygon class="cls-1" points="57.34 168.05 57.34 155.55 44.85 155.55 44.85 137.2 25.09 137.2 25.09 156.96 44.85 156.96 44.85 168.05 57.34 168.05"/>
<rect class="cls-1" x="11.79" y="161.8" width="13.3" height="13.31"/>
<rect class="cls-1" x="37.59" y="178.93" width="7.26" height="7.26"/>
<rect class="cls-1" x="8.96" y="143.05" width="9.68" height="9.68"/>
<rect class="cls-2" x="78.51" y="153.47" width="11.76" height="11.76"/>
<rect class="cls-1" x="75.49" y="182.56" width="8.87" height="8.87"/>
<rect class="cls-1" x="54.52" y="193.85" width="7.66" height="7.66"/>
<rect class="cls-1" x="60.37" y="171.67" width="7.06" height="7.06"/>
<rect class="cls-2" x="104.37" y="136.52" width="13.98" height="13.98"/>
<rect class="cls-2" x="94.96" y="156.92" width="9.41" height="9.41"/>
<rect class="cls-2" x="113.22" y="169.04" width="5.14" height="5.13"/>
<rect class="cls-2" x="92.97" y="143.65" width="6.85" height="6.85"/>
<path class="cls-1" d="M204,221.7v-2.77h-5.53V213.1h11.37V194.67h0l.17-3.38H187.15l.26,16v10.45h-2.5v10.08h2.5v9.27l-18.73.17v-9.82h-4.16v-7.65h0V154.91a11.36,11.36,0,0,1,3.25-8.52,10.69,10.69,0,0,1,7.9-3.31,11.28,11.28,0,0,1,11.25,11.26v15.17h20.23V154.75a30,30,0,0,0-9-21.88,29.58,29.58,0,0,0-21.88-9.09,30.93,30.93,0,0,0-31,31v77.39h-4.88V234h-3.07v1.53h7.07v11.26h-4.76v13.07h-5.13V265h5.13v-4.9H153v-5.52h34.87v15.07h10.59v10.58h12.49V269.64H212V245.46h-8V226.31" transform="translate(-134.52 -123.47)"/>
<path class="cls-2" d="M212,221.5l1,17.64,1.39.07v19h3.63v8.87h9.41v-8.26h31.38V276h-6v8.84h8.84v-7.7h15v5.71H285V274.5h-4.75V255.72h-9.6V239.21h6.45v-2h3.15V230h-3.15V201.42h-3.38V198h-25.5v-2.45h22.7c-3.74-4.85-6.05-7.14-10.28-9.36a30,30,0,0,0,7.23-6.29,31.76,31.76,0,0,0,7.23-20.86v-5.47q0-12.48-7.44-20.85-8.25-9.28-22-9.29-14.46,0-22.4,9.91-7,8.67-7,22.5v3h19.09v-3.39a18,18,0,0,1,2.17-9.34q2.9-4.71,9.09-4.72,11.14,0,11.14,12.69v3q0,10.2-4.95,15.88-5.37,6.28-16.62,6.28v16.09l-9.15.23H216.6V198h21.5v10.14h17.2v31h-1v-3.76H240.89v3.76h-4.27v-3.13h-4.36V218.63H212v2.87" transform="translate(-134.52 -123.47)"/>
<rect class="cls-2" x="140.03" y="171.61" width="6.27" height="6.27"/>
<rect class="cls-2" x="118.92" y="185.87" width="5.42" height="5.42"/>
<rect class="cls-2" x="129.33" y="163.91" width="4.99" height="4.99"/>
<rect class="cls-2" x="140.67" y="124.23" width="4.99" height="4.99"/>
</svg>

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

View File

@ -0,0 +1,4 @@
<svg width="94" height="30" viewBox="0 0 94 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M89.5444 28.3005C85.9212 30.4364 80.2276 31.5044 72.9813 25.6307L76.6044 21.3589C77.6396 22.2488 80.5382 24.0287 83.8508 24.0287C87.1634 24.0287 87.474 22.4268 87.474 21.3589C87.088 19.7659 85.6976 19.14 83.6176 18.2035C82.9087 17.8843 82.1196 17.529 81.2628 17.0871C75.8733 14.3071 74.0165 11.7474 74.0165 9.07753C74.0165 6.40767 75.0517 0 83.8508 0V5.87369C82.8156 5.87369 80.7452 6.30087 80.7452 8.00958C80.7452 9.68055 82.3292 10.3711 84.0101 11.1039L84.0101 11.1039L84.0103 11.104C84.4779 11.3078 84.953 11.515 85.4036 11.7474C85.7667 11.9347 86.2254 12.1384 86.7405 12.3672C89.1623 13.443 92.8315 15.0728 93.6852 18.1551C94.7204 21.8929 93.1676 26.1646 89.5444 28.3005ZM21.2215 29.3685L30.0207 0.533972H37.267L42.443 16.5531H36.2318L33.6438 5.87369L31.0559 17.0871H33.6438V22.4268H29.5031L27.9503 29.3685H21.2215ZM0 9.6115H5.69357V23.4948H18.1159V29.3685H0V9.6115ZM54.3477 9.07753H48.1366V29.3685H59.0061C65.2173 29.3685 69.3581 25.951 69.3581 20.8249C69.3581 15.6988 65.2173 14.0613 63.1469 13.8833C66.4595 13.8833 67.6328 10.3235 67.8053 8.54355C67.8053 2.56307 63.3194 0.711963 61.0765 0.533972H57.9709V5.87369C59.1787 5.6957 61.5941 5.98049 61.5941 8.54355C61.5941 11.1066 59.5237 11.7474 58.4885 11.7474H54.3477V9.07753ZM54.3478 16.2627V23.6072H59.0061C60.3864 23.6072 63.1469 22.8727 63.1469 19.935C63.1469 16.9972 60.3864 16.2627 59.0061 16.2627H54.3478Z" fill="#2297FF"/>
</svg>

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -6,13 +6,9 @@
:class="fullscreenIcon"
@click="isFullscreen = !isFullscreen"
></span>
<span
class="c3canvas-more-btn icon more"
></span>
<span class="c3canvas-more-btn icon more"></span>
<ul class="c3canvas-menu">
<li
class="c3canvas-menu-item"
>
<li class="c3canvas-menu-item">
<Toggle
key="toggle-tree-view-button"
legend="Tree View"
@ -21,9 +17,7 @@
:disabled="false"
/>
</li>
<li
class="c3canvas-menu-item"
>
<li class="c3canvas-menu-item">
<Toggle
key="toggle-interfaces-button"
legend="Interfaces"
@ -32,9 +26,7 @@
:disabled="false"
/>
</li>
<li
class="c3canvas-menu-item"
>
<li class="c3canvas-menu-item">
<Toggle
key="toggle-labels-button"
legend="Labels"
@ -43,9 +35,7 @@
:disabled="false"
/>
</li>
<li
class="c3canvas-menu-item"
>
<li class="c3canvas-menu-item">
<Toggle
key="toggle-physics-button"
legend="Physics"
@ -54,9 +44,7 @@
:disabled="false"
/>
</li>
<li
class="c3canvas-menu-item"
>
<li class="c3canvas-menu-item">
<Toggle
key="toggle-smooth-edges"
legend="Smooth Edges"
@ -65,30 +53,13 @@
:disabled="false"
/>
</li>
<li
class="c3canvas-menu-item"
@click="reloadGraph"
>
Reload Graph
</li>
<li class="c3canvas-menu-item" @click="reloadGraph">Reload Graph</li>
<li class="c3canvas-menu-divider"></li>
<li
class="c3canvas-menu-item"
@click="openModal('', 'CREATE_GATEWAY')"
>
New Gateway
</li>
<li
class="c3canvas-menu-item"
@click="openModal('', 'CREATE_RELAY')"
>
New Relay
</li>
<li class="c3canvas-menu-item" @click="openModal('', 'CREATE_GATEWAY')">New Gateway</li>
<li class="c3canvas-menu-item" @click="openModal('', 'CREATE_RELAY')">New Relay</li>
</ul>
<div class="progress-bar">
<div class="progress-bar-status" id="progress-bar-status">
</div>
<div class="progress-bar-status" id="progress-bar-status"></div>
</div>
</div>
</template>
@ -101,7 +72,13 @@ import { DataSet, DataView, Network, Options } from 'vis';
import { NodeKlass, C3Node, C3Edge, nullNode } from '@/types/c3types';
import { GetNodeKlassFn, FetchC3DataFn } from '@/store/C3Module';
import { SetOptionslFn, SetGraphDataFn, GenerateNodesFn, GenerateEdgesFn, SetOptionFn } from '@/store/VisModule';
import {
SetOptionslFn,
SetGraphDataFn,
GenerateNodesFn,
GenerateEdgesFn,
SetOptionFn,
} from '@/store/VisModule';
import C3 from '@/c3';
import Toggle from '@/components/form/Toggle.vue';
@ -116,7 +93,6 @@ const VisModule = namespace('visModule');
},
})
export default class Canvas extends Mixins(C3, FindThePathToGateway) {
get fullscreenIcon() {
return this.isFullscreen ? 'zoomin' : 'fullscreen';
}
@ -145,7 +121,6 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
return this.isSmooth;
}
@VisModule.Action public generateNodes!: GenerateNodesFn;
@VisModule.Action public generateEdges!: GenerateEdgesFn;
@ -179,14 +154,18 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
public createVisCanvas(): void {
this.container = this.$refs.c3canvas;
(window as any).networkc3 = new Network(this.container, this.getGrapData, this.graphOtions);
(window as any).networkc3 = new Network(
this.container,
this.getGrapData,
this.graphOtions,
);
(window as any).networkc3.on('click', (params: any) => {
const nodeid = (window as any).networkc3.getNodeAt(params.pointer.DOM);
if (this.lastClickNodeId === nodeid) {
if (!!nodeid) {
this.openModal(nodeid, this.nodeKlass(nodeid));
}
if (!!nodeid) {
this.openModal(nodeid, this.nodeKlass(nodeid));
}
} else {
this.lastClickNodeId = nodeid;
}
@ -205,7 +184,9 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
});
(window as any).networkc3.on('stabilizationProgress', (params: any) => {
const status = (Math.floor(params.iterations / this.getOptions.physics.stabilization.updateInterval));
const status = Math.floor(
params.iterations / this.getOptions.physics.stabilization.updateInterval,
);
const progressBarStatus = document.getElementById('progress-bar-status');
if (progressBarStatus !== null) {
progressBarStatus.style.width = status + '%';
@ -280,7 +261,10 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
public clearPath(): void {
this.getVisEdges.forEach((edge: any) => {
const tmpEdge = (window as any).networkc3.body.data.edges.get(edge.id);
if (!!tmpEdge.color && Object.keys(tmpEdge.color).length !== 0 || !!tmpEdge.width && tmpEdge.width !== 1) {
if (
(!!tmpEdge.color && Object.keys(tmpEdge.color).length !== 0) ||
(!!tmpEdge.width && tmpEdge.width !== 1)
) {
(window as any).networkc3.body.data.edges.update([
{
id: edge.id,
@ -333,7 +317,7 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
flex-shrink: 1
margin: 0 auto 0 auto
padding: 0
border: 0.75px solid $color-green-c3
border: 0.75px solid $color-blue-c3
box-sizing: border-box
box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.5)
border-radius: 2px
@ -351,7 +335,7 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
background: transparent
.progress-bar-status
position: relative
background-color: $color-green-c3
background-color: $color-blue-c3
width: 0%
height: 100%
&-toggle-layout.c3canvas-toggle-layout, &-toggle-interfaces.c3canvas-toggle-interfaces
@ -419,7 +403,7 @@ export default class Canvas extends Mixins(C3, FindThePathToGateway) {
max-width: 100vw
width: calc(100vw - 32px)
height: calc(100vh - 32px)
border: 0.75px solid $color-green-c3
border: 0.75px solid $color-blue-c3
z-index: 9
.c3canvas-fs-btn
z-index: 10

View File

@ -114,8 +114,8 @@ export default class Controll extends Mixins(C3) {
padding-left: 1rem
padding-right: 1rem
&.active
color: $color-green-c3
border-bottom: 1px solid $color-green-c3
color: $color-blue-c3
border-bottom: 1px solid $color-blue-c3
&:hover
cursor: pointer
.c3tab

View File

@ -1,7 +1,5 @@
<template>
<div class="c3footer">
C3 dashboard - MWR Labs
</div>
<div class="c3footer">C3 dashboard - Labs</div>
</template>
<script lang="ts">

View File

@ -1,21 +1,9 @@
<template>
<div
class="c3modal"
:class="this.activeModal.modalTarget.toLowerCase()"
v-if="currentModal"
>
<div class="c3modal" :class="this.activeModal.modalTarget.toLowerCase()" v-if="currentModal">
<div class="c3modal-holder">
<GatewayModal
v-if="isGateway()"
:target-id="targetUid"
/>
<RelayModal
v-if="isRelay()"
:target-id="targetUid"
/>
<CreateGatewayModal
v-if="this.activeModal.modalTarget === 'CREATE_GATEWAY'"
/>
<GatewayModal v-if="isGateway()" :target-id="targetUid" />
<RelayModal v-if="isRelay()" :target-id="targetUid" />
<CreateGatewayModal v-if="this.activeModal.modalTarget === 'CREATE_GATEWAY'" />
<CreateRelayModal
v-if="this.activeModal.modalTarget === 'CREATE_RELAY'"
:options="options()"
@ -30,17 +18,9 @@
:target-id="targetUid"
:options="options()"
/>
<CommandModal
v-if="this.activeModal.modalTarget === 'COMMAND'"
:target-id="targetUid"
/>
<OptionsModal
v-if="this.activeModal.modalTarget === 'OPTIONS'"
/>
<InterfaceModal
v-if="isInterface()"
:target-id="targetUid"
/>
<CommandModal v-if="this.activeModal.modalTarget === 'COMMAND'" :target-id="targetUid" />
<OptionsModal v-if="this.activeModal.modalTarget === 'OPTIONS'" />
<InterfaceModal v-if="isInterface()" :target-id="targetUid" />
<span class="c3modal-back icon back" v-on:click.self="closeThisModal()">Back</span>
<span class="c3modal-close icon close" v-on:click.self="closeAllModal()"></span>
</div>
@ -65,7 +45,6 @@ import CreateGatewayModal from '@/components/modals/CreateGateway.vue';
import ConnectRelayModal from '@/components/modals/ConnectRelays.vue';
import OptionsModal from '@/components/modals/Options.vue';
const ModalModule = namespace('modalModule');
@Component({
@ -113,9 +92,11 @@ export default class Modal extends Mixins(C3) {
}
public isInterface(): boolean {
return this.activeModal.modalTarget === NodeKlass.Channel ||
return (
this.activeModal.modalTarget === NodeKlass.Channel ||
this.activeModal.modalTarget === NodeKlass.Peripheral ||
this.activeModal.modalTarget === NodeKlass.Connector;
this.activeModal.modalTarget === NodeKlass.Connector
);
}
public options(): any {
@ -270,10 +251,10 @@ export default class Modal extends Mixins(C3) {
color: $color-grey-400
&-config-link
font-family: "Roboto"
color: $color-green-c3
color: $color-blue-c3
font-size: 12px
line-height: 120%
display: flexc3btn-group
display: flex
align-self: flex-end
text-align: right
margin: 0 0 14px

View File

@ -1,9 +1,8 @@
<template>
<div class="c3navbar">
<img class="c3navbar-logo" alt="C3 logo" src="@/assets/logo.png">
<img class="c3navbar-logo" alt="C3 logo" src="@/assets/logo.svg" />
<div class="c3navbar-left">
<span class="c3navbar-left--title">C3</span>
<span class="c3navbar-left--secondary">dashboard</span>
</div>
</div>
</template>

View File

@ -92,7 +92,7 @@ export default class Notification extends Vue {
h1+p
margin-top: .5rem
&-info
border-left: 8px solid $color-green-c3
border-left: 8px solid $color-blue-c3
&-error
border-left: 8px solid $color-red-500
&-close

View File

@ -140,7 +140,7 @@ export default class SideMenu extends Mixins(C3) {
color: $color-grey-400
&-config-link
font-family: "Roboto"
color: $color-green-c3
color: $color-blue-c3
font-size: 12px
line-height: 120%
display: flexc3btn-group

View File

@ -126,7 +126,7 @@ export default class DataTableFooter extends Mixins(C3) {
background-color: $color-grey-c3
&:checked
background-color: $color-grey-900
color: $color-green-c3
color: $color-blue-c3
&-paginator
display: flex
flex-grow: 3

View File

@ -3,15 +3,10 @@
<div class="c3checkbox-row" v-on:click="clickOnLabel">
{{ legend }} &nbsp;
<span class="icon help" v-if="hasHelp">
<div class="help-text">
{{ help }}
</div>
<div class="help-text">{{ help }}</div>
</span>
</div>
<div
class="c3toggle"
:class="{ 'disabled' : isDisabled }"
>
<div class="c3toggle" :class="{ 'disabled' : isDisabled }">
<input
v-bind="$attrs"
class="c3toggle-input"
@ -23,11 +18,7 @@
@change="toogleToggle"
:disabled="disabled"
/>
<label
class="c3toggle-label"
@click="clickOnLabel"
>
</label>
<label class="c3toggle-label" @click="clickOnLabel"></label>
</div>
</div>
</template>
@ -46,14 +37,19 @@ export default class Toggle extends Mixins(C3, C3FormElement) {
public isChecked: boolean = this.getIsChecked;
get getIsChecked() {
if (this.checked && typeof this.checked === 'boolean' && this.checked === true) {
if (
this.checked &&
typeof this.checked === 'boolean' &&
this.checked === true
) {
return true;
}
return false;
}
public mounted(): void {
(this.$refs.booleanCheckbox as HTMLInputElement).checked = this.getIsChecked;
(this.$refs
.booleanCheckbox as HTMLInputElement).checked = this.getIsChecked;
}
// boolean true or false, nothing to validate here
@ -140,7 +136,7 @@ export default class Toggle extends Mixins(C3, C3FormElement) {
left: 0
width: 20px
height: 20px
background-color: $color-grey-000
background-color: $color-grey-500
border-radius: 14px
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, .14),0 3px 1px -2px rgba(0, 0, 0, .2), 0 1px 5px 0 rgba(0, 0, 0, .12)
z-index: 2
@ -149,11 +145,11 @@ export default class Toggle extends Mixins(C3, C3FormElement) {
// Checked
&-input:checked + &-label
&:before
background-color: #99EBCF
border: 1px solid #1B6C51
background-color: $color-blue-200
border: 1px solid $color-blue-500
&:after
left: 20px
background-color: $color-green-c3
background-color: $color-blue-c3
&.disabled
.c3toggle-label
&:before

View File

@ -98,7 +98,7 @@ export default class CommandModal extends Mixins(C3) {
<style scoped lang="sass">
@import '~@/scss/colors.scss'
tr:hover .hover-link
color: $color-green-c3
color: $color-blue-c3
.command-for
text-transform: capitalize
</style>

View File

@ -3,11 +3,9 @@
<div class="c3modal-details">
<div class="c3modal-title-wrapper">
<h1>Gateway Setup</h1>
<span class="c3modal-config-link" v-on:click="openModal('', 'OPTIONS')">EDIT CONFIG</span>
<!-- <span class="c3modal-config-link" v-on:click="openModal('', 'OPTIONS')">EDIT CONFIG</span> -->
</div>
<p>
Please setup a Gateway to begin using c3.
</p>
<p>Please setup a Gateway to begin using c3.</p>
<Input
legend="Name / Auto Generated ID"
class="form-element"
@ -37,12 +35,11 @@
class="c3btn c3btn--grey"
v-on:click.self="closeThisModal()"
v-show="hasSelectedGateway !== false"
>
Cancel
</button>
<button class="c3btn c3btn pull-right" v-on:click="createNewGateway()">
Create and download Gateway
</button>
>Cancel</button>
<button
class="c3btn c3btn pull-right"
v-on:click="createNewGateway()"
>Create and download Gateway</button>
</dir>
</div>
</div>
@ -96,7 +93,11 @@ export default class CreateGatewayModal extends Mixins(C3) {
}
public beforeDestroy(): void {
(window as any).removeEventListener('keydown', this.handleGlobalKeyDown, true);
(window as any).removeEventListener(
'keydown',
this.handleGlobalKeyDown,
true,
);
}
public changeName(n: any): void {
@ -121,32 +122,36 @@ export default class CreateGatewayModal extends Mixins(C3) {
method: 'GET',
baseURL: this.getAPIBaseUrl,
responseType: 'blob',
}).then((response) => {
const blob = new Blob([response.data], {type: response.data.type});
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
const contentDisposition = response.headers['content-disposition'];
let fileName = '';
if (contentDisposition !== undefined) {
fileName = contentDisposition.split('filename=')[1].split(';')[0].replace(/%20/gi, '-');
}
if (typeof fileName !== 'string' || fileName === '') {
fileName = 'gateway.exe';
}
link.href = url;
link.setAttribute('download', fileName);
document.body.appendChild(link);
link.click();
link.remove();
window.URL.revokeObjectURL(url);
this.closeThisModal();
})
.catch((error) => {
.then((response) => {
const blob = new Blob([response.data], { type: response.data.type });
const url = window.URL.createObjectURL(blob);
const link = document.createElement('a');
link.href = url;
const contentDisposition = response.headers['content-disposition'];
let fileName = '';
if (contentDisposition !== undefined) {
fileName = contentDisposition
.split('filename=')[1]
.split(';')[0]
.replace(/%20/gi, '-');
}
if (typeof fileName !== 'string' || fileName === '') {
fileName = 'gateway.exe';
}
link.href = url;
link.setAttribute('download', fileName);
document.body.appendChild(link);
link.click();
link.remove();
window.URL.revokeObjectURL(url);
this.closeThisModal();
})
.catch((error) => {
this.addNotify({
type: 'error',
message: error.message,

View File

@ -1,30 +1,40 @@
$color-grey-c3: #282828;
$color-grey-000: #FFFFFF;
$color-grey-200: #F2F2F2;
$color-grey-400: #BDBDBD;
$color-grey-000: #ffffff;
$color-grey-200: #f2f2f2;
$color-grey-400: #bdbdbd;
$color-grey-500: #828282;
$color-grey-700: #4F4F4F;
$color-grey-800: #3D3D3D;
$color-grey-700: #4f4f4f;
$color-grey-800: #3d3d3d;
$color-grey-900: #222222;
$color-grey-bg: #111111;
$color-green-500: #27AE60;
$color-green-800: #1B6C51;
$color-green-500: #2297ff;
$color-green-800: #2297ff;
$color-blue-500: #4D86DC;
$color-blue-500: #4d86dc;
$color-blue-900: #233043;
$color-purple-500: #AB61F6;
$color-purple-500: #ab61f6;
$color-red-500: #BF0001;
$color-red-400: #E01D01;
$color-red-c3: #FF492F;
$color-red-500: #bf0001;
$color-red-400: #e01d01;
$color-red-c3: #ff492f;
$color-yellow-500: #FFAC00;
$color-yellow-500: #ffac00;
$color-orange-500: #CD9526;
$color-orange-500: #cd9526;
$color-green-c3: #0DF2A4;
$color-labs-500: #0DF2A4;
$color-labs-800: #1B6C51;
$color-blue-900: #233043;
$color-blue-800: #284167;
$color-blue-700: #1476ff;
$color-blue-600: #477ac8;
$color-blue-500: #1476ff;
$color-blue-300: #619cf6;
$color-blue-200: #90caff;
$color-blue-100: #c1d4ef;
$color-blue-000: #fbfdff;
$color-blue-c3: #2297ff;
$color-labs-500: #2297ff;
$color-labs-800: #284167;

View File

@ -1,4 +1,4 @@
@import '../colors.scss';
@import "../colors.scss";
.c3btn {
border-radius: 2px;
@ -16,42 +16,42 @@
margin-bottom: 16px;
min-width: 100px;
cursor: pointer;
border: 1px solid $color-green-c3;
background-color: $color-green-c3;
border: 1px solid $color-blue-c3;
background-color: $color-blue-c3;
box-shadow: none;
color: $color-grey-800;
&.pull-right {
margin-left: auto;
}
&:active {
border: 1px solid $color-green-c3;
border: 1px solid $color-blue-c3;
background-color: transparent;
box-shadow: none;
color: $color-green-c3;
color: $color-blue-c3;
}
&--grey {
border: 1px solid $color-grey-400;
background-color: transparent;
color: $color-grey-000;
&:hover {
border: 1px solid $color-green-c3;
color: $color-green-c3;
border: 1px solid $color-blue-c3;
color: $color-blue-c3;
}
&:active {
border: 1px solid $color-green-c3;
background-color: $color-green-c3;
border: 1px solid $color-blue-c3;
background-color: $color-blue-c3;
box-shadow: none;
color: $color-grey-800;
}
}
&--outline {
border: 1px solid $color-green-c3;
border: 1px solid $color-blue-c3;
background-color: transparent;
box-shadow: none;
color: $color-green-c3;
color: $color-blue-c3;
&:active {
border: 1px solid $color-green-c3;
background-color: $color-green-c3;
border: 1px solid $color-blue-c3;
background-color: $color-blue-c3;
box-shadow: none;
color: $color-grey-800;
}
@ -60,13 +60,12 @@
align-self: flex-end;
}
&[disabled] {
color: #3D3D3D;
border: 1px solid $color-green-800;
color: #3d3d3d;
border: 1px solid $color-green-800;
background-color: $color-green-800;
border-radius: 2px;
cursor: default;
}
}
.c3btn-group {
@ -87,7 +86,7 @@
border-bottom-left-radius: 0;
}
&:hover {
border-right: 1px solid $color-green-c3;
border-right: 1px solid $color-blue-c3;
& + .c3btn {
border-left: none;
}

View File

@ -1,52 +1,117 @@
/* roboto-regular - latin */
@font-face {
font-family: 'Roboto';
font-family: "Roboto";
font-style: normal;
font-weight: 400;
src: url('../assets/fonts/roboto/roboto-v18-latin-regular.eot'); /* IE9 Compat Modes */
src: local('Roboto'), local('Roboto-Regular'),
url('../assets/fonts/roboto/roboto-v18-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../assets/fonts/roboto/roboto-v18-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('../assets/fonts/roboto/roboto-v18-latin-regular.woff') format('woff'), /* Modern Browsers */
url('../assets/fonts/roboto/roboto-v18-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('../assets/fonts/roboto/roboto-v18-latin-regular.svg#Roboto') format('svg'); /* Legacy iOS */
src: url("../assets/fonts/roboto/roboto-v18-latin-regular.eot"); /* IE9 Compat Modes */
src: local("Roboto"), local("Roboto-Regular"),
url("../assets/fonts/roboto/roboto-v18-latin-regular.eot?#iefix")
format("embedded-opentype"),
/* IE6-IE8 */ url("../assets/fonts/roboto/roboto-v18-latin-regular.woff2")
format("woff2"),
/* Super Modern Browsers */
url("../assets/fonts/roboto/roboto-v18-latin-regular.woff") format("woff"),
/* Modern Browsers */
url("../assets/fonts/roboto/roboto-v18-latin-regular.ttf")
format("truetype"),
/* Safari, Android, iOS */
url("../assets/fonts/roboto/roboto-v18-latin-regular.svg#Roboto")
format("svg"); /* Legacy iOS */
}
/* roboto-500 - latin */
@font-face {
font-family: 'Roboto';
font-family: "Roboto";
font-style: normal;
font-weight: 500;
src: url('../assets/fonts/roboto/roboto-v18-latin-500.eot'); /* IE9 Compat Modes */
src: local('Roboto Medium'), local('Roboto-Medium'),
url('../assets/fonts/roboto/roboto-v18-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../assets/fonts/roboto/roboto-v18-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
url('../assets/fonts/roboto/roboto-v18-latin-500.woff') format('woff'), /* Modern Browsers */
url('../assets/fonts/roboto/roboto-v18-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
url('../assets/fonts/roboto/roboto-v18-latin-500.svg#Roboto') format('svg'); /* Legacy iOS */
src: url("../assets/fonts/roboto/roboto-v18-latin-500.eot"); /* IE9 Compat Modes */
src: local("Roboto Medium"), local("Roboto-Medium"),
url("../assets/fonts/roboto/roboto-v18-latin-500.eot?#iefix")
format("embedded-opentype"),
/* IE6-IE8 */ url("../assets/fonts/roboto/roboto-v18-latin-500.woff2")
format("woff2"),
/* Super Modern Browsers */
url("../assets/fonts/roboto/roboto-v18-latin-500.woff") format("woff"),
/* Modern Browsers */ url("../assets/fonts/roboto/roboto-v18-latin-500.ttf")
format("truetype"),
/* Safari, Android, iOS */
url("../assets/fonts/roboto/roboto-v18-latin-500.svg#Roboto")
format("svg"); /* Legacy iOS */
}
/* roboto-mono-regular - latin */
@font-face {
font-family: 'Roboto Mono';
font-family: "Roboto Mono";
font-style: normal;
font-weight: 400;
src: url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.eot'); /* IE9 Compat Modes */
src: local('Roboto Mono'), local('RobotoMono-Regular'),
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff') format('woff'), /* Modern Browsers */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.svg#RobotoMono') format('svg'); /* Legacy iOS */
src: url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.eot"); /* IE9 Compat Modes */
src: local("Roboto Mono"), local("RobotoMono-Regular"),
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.eot?#iefix")
format("embedded-opentype"),
/* IE6-IE8 */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff2")
format("woff2"),
/* Super Modern Browsers */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.woff")
format("woff"),
/* Modern Browsers */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.ttf")
format("truetype"),
/* Safari, Android, iOS */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-regular.svg#RobotoMono")
format("svg"); /* Legacy iOS */
}
/* roboto-mono-500 - latin */
@font-face {
font-family: 'Roboto Mono';
font-family: "Roboto Mono";
font-style: normal;
font-weight: 500;
src: url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.eot'); /* IE9 Compat Modes */
src: local('Roboto Mono Medium'), local('RobotoMono-Medium'),
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.woff') format('woff'), /* Modern Browsers */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
url('../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.svg#RobotoMono') format('svg'); /* Legacy iOS */
src: url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.eot"); /* IE9 Compat Modes */
src: local("Roboto Mono Medium"), local("RobotoMono-Medium"),
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.eot?#iefix")
format("embedded-opentype"),
/* IE6-IE8 */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.woff2")
format("woff2"),
/* Super Modern Browsers */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.woff")
format("woff"),
/* Modern Browsers */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.ttf")
format("truetype"),
/* Safari, Android, iOS */
url("../assets/fonts/roboto-mono/roboto-mono-v5-latin-500.svg#RobotoMono")
format("svg"); /* Legacy iOS */
}
/* f-secure-sans 200 */
@font-face {
font-family: "FSecureSans";
font-weight: 200;
src: url("../assets/fonts/f-secure-sans/f-secure-sans-light.woff2")
format("woff2"),
url("../assets/fonts/f-secure-sans/f-secure-sans-light.woff") format("woff"),
url("../assets/fonts/f-secure-sans/f-secure-sans-light.ttf")
format("truetype");
}
/* f-secure-sans 400 */
@font-face {
font-family: "FSecureSans";
font-weight: 400;
src: url("../assets/fonts/f-secure-sans/f-secure-sans-regular.woff2")
format("woff2"),
url("../assets/fonts/f-secure-sans/f-secure-sans-regular.woff")
format("woff"),
url("../assets/fonts/f-secure-sans/f-secure-sans-regular.ttf")
format("truetype");
}
/* f-secure-sans 700 */
@font-face {
font-family: "FSecureSans";
font-weight: 700;
src: url("../assets/fonts/f-secure-sans/f-secure-sans-bold.woff2")
format("woff2"),
url("../assets/fonts/f-secure-sans/f-secure-sans-bold.woff") format("woff"),
url("../assets/fonts/f-secure-sans/f-secure-sans-bold.ttf")
format("truetype");
}

View File

@ -1,11 +1,12 @@
@import './fonts.scss';
@import './mixins.scss';
@import './colors.scss';
@import "./fonts.scss";
@import "./mixins.scss";
@import "./colors.scss";
@import './components/button.scss';
@import "./components/button.scss";
html, body {
font-family: 'Roboto', sans-serif;
html,
body {
font-family: "Roboto", sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
font-size: 14px;
@ -20,7 +21,7 @@ html, body {
}
* {
font-family: 'Roboto', sans-serif;
font-family: "FSecureSans", sans-serif;
box-sizing: border-box;
outline: none !important;
background-color: inherit;
@ -43,7 +44,7 @@ label.icon {
}
.c3link.c3link {
color: $color-green-c3;
color: $color-blue-c3;
cursor: pointer;
}

View File

@ -1,5 +1,5 @@
@import "./svg-icons.scss";
@import './colors.scss';
@import "./colors.scss";
$exclamation: "exclamation";
$close: "close";
@ -19,9 +19,9 @@ $add-comment: "add-comment";
@mixin generate-checkbox-icons($size, $hover-size: $size) {
&.#{$checkbox}-on {
@include checkboxon("0DF2A4", $size);
@include checkboxon("2297ff", $size);
&:hover {
@include checkboxon("0DF2A4", $hover-size);
@include checkboxon("2297ff", $hover-size);
}
}
&.#{$checkbox}-on--disabled {
@ -83,14 +83,14 @@ $add-comment: "add-comment";
&.#{$rand} {
@include rand($color, $size);
&:hover {
@include rand('FFFFFF', $hover-size);
@include rand("FFFFFF", $hover-size);
}
}
&.#{$upload} {
@include upload($color, $size);
&:hover {
@include upload('FFFFFF', $hover-size);
@include upload("FFFFFF", $hover-size);
}
}