mirror of
https://github.com/streetwriters/notesnook.git
synced 2025-12-22 22:49:45 +01:00
Merge branch 'master' of https://github.com/streetwriters/notesnook-private
This commit is contained in:
0
packages/theme/README.md
Normal file
0
packages/theme/README.md
Normal file
@@ -1,11 +1,29 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export function removeCss(id: string) {
|
||||
var link = document.getElementById(id);
|
||||
const link = document.getElementById(id);
|
||||
if (link) link.remove();
|
||||
}
|
||||
|
||||
export function injectCssSrc(id: string, src: string) {
|
||||
var head = document.head;
|
||||
var link = document.createElement("link");
|
||||
const head = document.head;
|
||||
const link = document.createElement("link");
|
||||
|
||||
link.id = id;
|
||||
link.type = "text/css";
|
||||
@@ -16,24 +34,22 @@ export function injectCssSrc(id: string, src: string) {
|
||||
}
|
||||
|
||||
export function injectCss(rules: string) {
|
||||
let variableCss = document.getElementById("variables");
|
||||
let head = document.getElementsByTagName("head")[0];
|
||||
const variableCss = document.getElementById("variables");
|
||||
const head = document.getElementsByTagName("head")[0];
|
||||
if (variableCss) {
|
||||
head.removeChild(variableCss);
|
||||
}
|
||||
let css = document.createElement("style");
|
||||
const css = document.createElement("style");
|
||||
css.type = "text/css";
|
||||
css.id = "variables";
|
||||
// Support for IE
|
||||
if ("styleSheet" in css) (css as any).styleSheet.cssText = rules;
|
||||
// Support for the rest
|
||||
else css.appendChild(document.createTextNode(rules));
|
||||
css.appendChild(document.createTextNode(rules));
|
||||
|
||||
head.insertBefore(css, getRootStylesheet());
|
||||
}
|
||||
|
||||
function getRootStylesheet() {
|
||||
for (let sty of document.getElementsByTagName("style")) {
|
||||
for (const sty of document.getElementsByTagName("style")) {
|
||||
if (sty.innerHTML.includes("#root")) {
|
||||
return sty;
|
||||
}
|
||||
@@ -42,7 +58,7 @@ function getRootStylesheet() {
|
||||
}
|
||||
|
||||
export function changeSvgTheme(newAccent: string) {
|
||||
var nodes = document.querySelectorAll('*[fill="#0560ff"]');
|
||||
for (var n = 0; n < nodes.length; ++n)
|
||||
const nodes = document.querySelectorAll('*[fill="#0560ff"]');
|
||||
for (let n = 0; n < nodes.length; ++n)
|
||||
nodes[n].setAttribute("fill", newAccent);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export * from "./theme/accents";
|
||||
export * from "./themeprovider";
|
||||
export * from "./theme";
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
const accents = {
|
||||
orange: "#FF5722",
|
||||
yellow: "#FFA000",
|
||||
|
||||
@@ -1,6 +1,24 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import tinycolor from "tinycolor2";
|
||||
import { SchemeColors } from ".";
|
||||
import { getStaticColors, StaticColors } from "./static";
|
||||
import { getStaticColors } from "./static";
|
||||
|
||||
export function getDarkScheme(accent: string): SchemeColors {
|
||||
return {
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { getDarkScheme } from "./dark";
|
||||
import { getLightScheme } from "./light";
|
||||
import { StaticColors } from "./static";
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import tinycolor from "tinycolor2";
|
||||
import { SchemeColors } from ".";
|
||||
import { getStaticColors } from "./static";
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import tinycolor from "tinycolor2";
|
||||
|
||||
export type StaticColors = {
|
||||
|
||||
@@ -1,4 +1,22 @@
|
||||
export function getFontSizes(scale?: number): FontSizes {
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
export function getFontSizes(): FontSizes {
|
||||
return {
|
||||
heading: "1.5rem",
|
||||
subheading: "1.2rem",
|
||||
@@ -8,7 +26,7 @@ export function getFontSizes(scale?: number): FontSizes {
|
||||
body: "0.8rem",
|
||||
menu: "0.8rem",
|
||||
subBody: "0.750rem",
|
||||
code: "0.9rem",
|
||||
code: "0.9rem"
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { FontSizes, getFontSizes } from "./fontsize";
|
||||
|
||||
const SANS_FONT_STACK = [
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { getColors, SchemeColors } from "./colorscheme";
|
||||
import { variants } from "./variants";
|
||||
import { FontConfig, getFontConfig } from "./font";
|
||||
@@ -25,7 +43,7 @@ export type Theme = {
|
||||
typeof variants;
|
||||
|
||||
class ThemeFactory {
|
||||
transform(type: Transformers, theme: any) {
|
||||
transform(type: Transformers, theme: Theme) {
|
||||
const factory = new TransformerFactory();
|
||||
return factory.construct(type, theme);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { Theme } from "..";
|
||||
import { SchemeColors } from "../colorscheme";
|
||||
|
||||
|
||||
@@ -1,12 +1,31 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { Theme } from "..";
|
||||
import css from "./css";
|
||||
|
||||
const transformers = {
|
||||
css: css,
|
||||
css: css
|
||||
};
|
||||
|
||||
export type Transformers = keyof typeof transformers;
|
||||
export class TransformerFactory {
|
||||
construct(type: Transformers, theme: any) {
|
||||
construct(type: Transformers, theme: Theme) {
|
||||
return transformers[type](theme);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { ColorSchemes } from "./colorscheme";
|
||||
|
||||
export type ThemeConfig = {
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { SxStyleProp } from "@streetwriters/rebass";
|
||||
|
||||
const defaultVariant: SxStyleProp = {
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { SxStyleProp } from "@streetwriters/rebass";
|
||||
|
||||
type FlexDirection = "row" | "column";
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { buttonVariants } from "./button";
|
||||
import { inputVariants } from "./input";
|
||||
import { textVariants } from "./text";
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { SxStyleProp } from "@streetwriters/rebass";
|
||||
|
||||
const defaultVariant: SxStyleProp = {
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import { SxStyleProp } from "@streetwriters/rebass";
|
||||
|
||||
const defaultVariant: SxStyleProp = {
|
||||
|
||||
@@ -1,3 +1,21 @@
|
||||
/* This file is part of the Notesnook project (https://notesnook.com/)
|
||||
*
|
||||
* Copyright (C) 2022 Streetwriters (Private) Limited
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
import ThemeFactory from "./theme";
|
||||
import { ThemeConfig } from "./theme/types";
|
||||
import { injectCss } from "./css";
|
||||
|
||||
Reference in New Issue
Block a user