1
Fork 0
mirror of https://github.com/Steffo99/bluelib.git synced 2024-12-22 11:34:21 +00:00
This commit is contained in:
Steffo 2020-08-18 17:55:17 +02:00
parent 46ca8c3834
commit 7e37a9087e
35 changed files with 150 additions and 73 deletions

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
/*! For license information please see bundle.00d3e.esm.js.LICENSE.txt */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

3
docs/bundle.4bee5.esm.js Normal file

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
/*! For license information please see bundle.4bee5.esm.js.LICENSE.txt */

View file

@ -1 +1 @@
{"version":3,"sources":[],"names":[],"mappings":"","file":"bundle.00d3e.esm.js","sourceRoot":""} {"version":3,"sources":[],"names":[],"mappings":"","file":"bundle.4bee5.esm.js","sourceRoot":""}

3
docs/bundle.b3411.js Normal file

File diff suppressed because one or more lines are too long

1
docs/bundle.b3411.js.map Normal file

File diff suppressed because one or more lines are too long

1
docs/bundle.e7fa4.css Normal file

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
<!DOCTYPE html><html lang="it"><head><meta charset="utf-8"><title>bluelib</title><meta name="viewport" content="width=device-width,initial-scale=1"><style>body{background-color:#0d193b;color:#a0ccff}</style><link rel="manifest" href="/manifest.json"><link href="/bundle.2e581.css" rel="preload" as="style" onload="this.rel='stylesheet'"><noscript><link rel="stylesheet" href="/bundle.2e581.css"></noscript></head><body><script type="__PREACT_CLI_DATA__">{"preRenderData":{"url":"/"}}</script><script nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" src="/bundle.00d3e.esm.js" type="module"></script><script nomodule="" src="/polyfills.ac517.js"></script><script nomodule="" defer="defer" src="/bundle.123eb.js"></script></body></html> <!DOCTYPE html><html lang="it"><head><meta charset="utf-8"><title>bluelib</title><meta name="viewport" content="width=device-width,initial-scale=1"><style>body{background-color:#0d193b;color:#a0ccff}</style><link rel="manifest" href="/manifest.json"><link href="/bundle.e7fa4.css" rel="preload" as="style" onload="this.rel='stylesheet'"><noscript><link rel="stylesheet" href="/bundle.e7fa4.css"></noscript></head><body><script type="__PREACT_CLI_DATA__">{"preRenderData":{"url":"/"}}</script><script nomodule="">!function(){var e=document,t=e.createElement("script");if(!("noModule"in t)&&"onbeforeload"in t){var n=!1;e.addEventListener("beforeload",function(e){if(e.target===t)n=!0;else if(!e.target.hasAttribute("nomodule")||!n)return;e.preventDefault()},!0),t.type="module",t.src=".",e.head.appendChild(t),t.remove()}}();</script><script crossorigin="anonymous" src="/bundle.4bee5.esm.js" type="module"></script><script nomodule="" src="/polyfills.ac517.js"></script><script nomodule="" defer="defer" src="/bundle.b3411.js"></script></body></html>

View file

@ -1 +1 @@
{"/":{"bundle.2e581.css":{"type":"style","weight":1},"bundle.00d3e.esm.js":{"type":"script","weight":1}},"/Sample":{"bundle.2e581.css":{"type":"style","weight":1},"bundle.00d3e.esm.js":{"type":"script","weight":1},"route-Sample.chunk.9bef0.esm.js":{"type":"script","weight":0.9},"route-Sample.chunk.ed931.css":{"type":"style","weight":0.9}}} {"/":{"bundle.e7fa4.css":{"type":"style","weight":1},"bundle.4bee5.esm.js":{"type":"script","weight":1}},"/Sample":{"bundle.e7fa4.css":{"type":"style","weight":1},"bundle.4bee5.esm.js":{"type":"script","weight":1},"route-Sample.chunk.b1d11.esm.js":{"type":"script","weight":0.9},"route-Sample.chunk.ed931.css":{"type":"style","weight":0.9}}}

File diff suppressed because one or more lines are too long

View file

@ -1 +1 @@
{"version":3,"sources":[],"names":[],"mappings":"","file":"route-Sample.chunk.9bef0.esm.js","sourceRoot":""} {"version":3,"sources":[],"names":[],"mappings":"","file":"route-Sample.chunk.b1d11.esm.js","sourceRoot":""}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,7 +1,7 @@
{ {
"private": false, "private": false,
"name": "bluelib", "name": "bluelib",
"version": "0.14.5", "version": "0.15.0",
"license": "AGPL-3.0-or-later", "license": "AGPL-3.0-or-later",
"source": "src/index.js", "source": "src/index.js",
"main": "dist/index.js", "main": "dist/index.js",

View file

@ -0,0 +1,7 @@
import theme from './Bluelib.less';
export default function(props) {
return (
<div class={theme.bluelib}>{props.children}</div>
)
}

View file

@ -1,5 +1,5 @@
@import "constants.less"; @import "../styles/constants.less";
@import "mixins.less"; @import "../styles/mixins.less";
.bluelib { .bluelib {
background-color: @bg; background-color: @bg;
@ -48,7 +48,7 @@
} }
input:not([type="checkbox"]):not([type="radio"]) { input:not([type="checkbox"]):not([type="radio"]) {
.bordered(@fg; @bg); .input-text(@fg, @bg, @disabledfg, @disabledbg);
border-radius: 4px; border-radius: 4px;
padding: 4px; padding: 4px;
@ -56,12 +56,7 @@
} }
button, input[type="button"], input[type="submit"] { button, input[type="button"], input[type="submit"] {
.bordered(@fg; @bg); .input-btn(@fg, @bg, @disabledfg, @disabledbg);
:not([disabled]) {
.hoverable(@fg; @bg);
.clickable(@fg; @bg);
}
border-radius: 4px; border-radius: 4px;
padding: 4px; padding: 4px;

View file

@ -1,7 +1,7 @@
import FormRow from "./FormRow"; import FormRow from "./FormRow";
import style from "./FormRow.less"; import style from "./FormRow.less";
import concatClass from "../../utils/concatClass"; import concatClass from "../../utils/concatClass";
import theme from "../../styles/theme.less"; import theme from "../Bluelib.less";
export default function (props) { export default function (props) {
return ( return (

View file

@ -1,14 +1,13 @@
import concatClass from "../../utils/concatClass"; import concatClass from "../../utils/concatClass";
import style from "./FormRow.less"; import style from "./FormRow.less";
import theme from "../../styles/theme.less"
export default function (props) { export default function (props) {
let color = null; let color = null;
if(props.disabled) { if(props.disabled) {
color = theme.disabled; color = style.disabled;
} }
else if(props.validity) { else if(props.validity) {
color = theme[props.validity.validity]; color = style[props.validity.validity];
} }
return ( return (

View file

@ -1,4 +1,4 @@
@import "../../styles/constants.less"; @import "../../styles/main.less";
.label { .label {
width: 100%; width: 100%;
@ -41,3 +41,31 @@
.contentschild { .contentschild {
width: 100%; width: 100%;
} }
.form-row(@hfg; @hbg; @hdfg; @hdbg) {
color: @hfg;
input:not([type="checkbox"]):not([type="radio"]) {
.input-text(@hfg; @hbg; @hdfg; @hdbg) !important;
}
button, input[type="button"], input[type="submit"] {
.input-btn(@hfg; @hbg; @hdfg; @hdbg) !important;
}
}
.ok {
.form-row(@okfg; @okbg; @disabledfg; @disabledbg);
}
.warning {
.form-row(@warningfg; @warningbg; @disabledfg; @disabledbg);
}
.error {
.form-row(@errorfg; @errorbg; @disabledfg; @disabledbg);
}
.disabled {
.form-row(@disabledfg; @disabledbg; @disabledfg; @disabledbg);
}

View file

@ -0,0 +1,9 @@
import style from "./Unmargin.less";
export default function(props) {
return (
<div class={style.unmargin}>
{props.children}
</div>
)
}

View file

@ -0,0 +1,14 @@
.unmargin {
h1, h2, h3, h4, h5, h6 {
margin-top: 4px;
margin-bottom: 4px;
}
p:first-child {
margin-top: 0;
}
p:last-child {
margin-bottom: 0;
}
}

View file

@ -8,42 +8,40 @@
min-width: 256px; min-width: 256px;
} }
.box-mixin(@color) {
border: 2px solid fade(@color, 10%);
color: @color;
background-color: fade(@color, 2%);
}
.default { .default {
border: 2px solid fade(@fg, 10%); .box-mixin(@fg);
color: @fg;
} }
.red { .red {
border: 2px solid fade(@red, 10%); .box-mixin(@red);
color: @red;
} }
.orange { .orange {
border: 2px solid fade(@orange, 10%); .box-mixin(@orange);
color: @orange;
} }
.yellow { .yellow {
border: 2px solid fade(@yellow, 10%); .box-mixin(@yellow);
color: @yellow;
} }
.lime { .lime {
border: 2px solid fade(@lime, 10%); .box-mixin(@lime);
color: @lime;
} }
.cyan { .cyan {
border: 2px solid fade(@cyan, 10%); .box-mixin(@cyan);
color: @cyan;
} }
.blue { .blue {
border: 2px solid fade(@blue, 10%); .box-mixin(@blue);
color: @blue;
} }
.magenta { .magenta {
border: 2px solid fade(@magenta, 10%); .box-mixin(@magenta);
color: @magenta;
} }

View file

@ -1,14 +1,15 @@
import Box from "./Box"; import Box from "./Box";
import Unmargin from "../Layout/Unmargin";
export default function(props) { export default function(props) {
return ( return (
<Box color={props.color} class={props.class}> <Box color={props.color} class={props.class}>
<h3> <Unmargin>
{props.title} <h3>
</h3> {props.title}
<div> </h3>
{props.children} {props.children}
</div> </Unmargin>
</Box> </Box>
); );
} }

View file

@ -27,7 +27,7 @@ import Section from "./components/Panels/Section";
import Split from "./components/Layout/Split"; import Split from "./components/Layout/Split";
import stripTabs from "./utils/stripTabs"; import stripTabs from "./utils/stripTabs";
import TablePanel from "./components/Panels/TablePanel"; import TablePanel from "./components/Panels/TablePanel";
import theme from "./styles/theme.less"; import theme from "./components/Bluelib.less";
import Timer from "./components/Elements/Timer"; import Timer from "./components/Elements/Timer";
import Todo from "./components/Elements/Todo"; import Todo from "./components/Elements/Todo";
import useFormValidator from "./hooks/useFormValidator"; import useFormValidator from "./hooks/useFormValidator";

View file

@ -1,4 +1,3 @@
import theme from "../styles/theme.less";
import FormInput from "../components/Forms/FormInput"; import FormInput from "../components/Forms/FormInput";
import FormButton from "../components/Forms/FormButton"; import FormButton from "../components/Forms/FormButton";
import {BoxColors} from "../components/Panels/Box"; import {BoxColors} from "../components/Panels/Box";
@ -20,11 +19,12 @@ import {
} from "@fortawesome/free-solid-svg-icons"; } from "@fortawesome/free-solid-svg-icons";
import Validity from "../enums/Validity"; import Validity from "../enums/Validity";
import style from "./Sample.less"; import style from "./Sample.less";
import Bluelib from "../components/Bluelib";
export default function (props) { export default function (props) {
return ( return (
<div class={theme.bluelib}> <Bluelib>
<h1> <h1>
bluelib {process.env.RELEASE} bluelib {process.env.RELEASE}
</h1> </h1>
@ -149,6 +149,6 @@ export default function (props) {
}}>[AVVIA ANNICHILIMENTO]</FormButton> }}>[AVVIA ANNICHILIMENTO]</FormButton>
</Panel> </Panel>
</Section> </Section>
</div> </Bluelib>
); );
} }

View file

@ -1,2 +1,2 @@
@import "constants.less"; @import "./constants.less";
@import "mixins.less"; @import "./mixins.less";

View file

@ -1,24 +1,50 @@
/// A bordered item /// A bordered item
.bordered(@hfg; @hbg) { .bordered(@hfg; @hbg) {
color: @hfg; color: @hfg;
background-color: @hbg; background-color: @hbg;
border: 1px solid fade(@hfg, 10%); border: 1px solid fade(@hfg, 10%);
} }
/// A hoverable element .hover(@hfg; @hbg) {
.hoverable(@hfg, @hbg) {
&:hover, &.hover {
background-color: overlay(fade(@hfg, 10%), @hbg); background-color: overlay(fade(@hfg, 10%), @hbg);
border: 1px solid @hfg; border: 1px solid @hfg;
color: screen(@hfg, #808080); color: screen(@hfg, #808080);
}
} }
/// A clickable element .active(@hfg; @hbg) {
.clickable(@hfg, @hbg) {
&:active, &.active {
background-color: overlay(rgba(255, 255, 255, 0.2), @hbg); background-color: overlay(rgba(255, 255, 255, 0.2), @hbg);
border: 1px solid white; border: 1px solid white;
color: white; color: white;
} }
.input-text(@hfg; @hbg; @hdfg; @hdbg) {
&:enabled {
.bordered(@hfg; @hbg);
&:hover, &:focus {
.hover(@hfg; @hbg);
}
}
&:disabled {
.bordered(@hdfg, @hdbg);
}
}
.input-btn(@hfg; @hbg; @hdfg; @hdbg) {
&:enabled {
.bordered(@hfg; @hbg);
&:hover, &:focus {
.hover(@hfg; @hbg);
}
&:active {
.active(@hfg; @hbg);
}
}
&:disabled {
.bordered(@hdfg, @hdbg);
}
} }