Initial wireframe planning
This commit is contained in:
commit
7ac52911fd
82 files changed
+8105
No files matched your search
Vendored
+1
@@ -0,0 +1 @@
|
||||
{}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"cssTheme": "Obsidian gruvbox"
|
||||
}
|
||||
Vendored
+3
@@ -0,0 +1,3 @@
|
||||
[
|
||||
"editor-width-slider"
|
||||
]
|
||||
Vendored
+33
@@ -0,0 +1,33 @@
|
||||
{
|
||||
"file-explorer": true,
|
||||
"global-search": true,
|
||||
"switcher": true,
|
||||
"graph": true,
|
||||
"backlink": true,
|
||||
"canvas": true,
|
||||
"outgoing-link": true,
|
||||
"tag-pane": true,
|
||||
"footnotes": false,
|
||||
"properties": true,
|
||||
"page-preview": true,
|
||||
"daily-notes": true,
|
||||
"templates": true,
|
||||
"note-composer": true,
|
||||
"command-palette": true,
|
||||
"slash-command": false,
|
||||
"editor-status": true,
|
||||
"bookmarks": true,
|
||||
"markdown-importer": false,
|
||||
"zk-prefixer": false,
|
||||
"random-note": false,
|
||||
"outline": true,
|
||||
"word-count": true,
|
||||
"slides": false,
|
||||
"audio-recorder": false,
|
||||
"workspaces": false,
|
||||
"file-recovery": true,
|
||||
"publish": false,
|
||||
"sync": true,
|
||||
"bases": true,
|
||||
"webviewer": false
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
{
|
||||
"sliderPercentage": "100",
|
||||
"sliderPercentageDefault": "20",
|
||||
"sliderWidth": "150"
|
||||
}
|
||||
+258
@@ -0,0 +1,258 @@
|
||||
/*
|
||||
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
||||
if you want to view the source, please visit the github repository of this plugin
|
||||
*/
|
||||
|
||||
var __defProp = Object.defineProperty;
|
||||
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
||||
var __getOwnPropNames = Object.getOwnPropertyNames;
|
||||
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
||||
var __export = (target, all) => {
|
||||
for (var name in all)
|
||||
__defProp(target, name, { get: all[name], enumerable: true });
|
||||
};
|
||||
var __copyProps = (to, from, except, desc) => {
|
||||
if (from && typeof from === "object" || typeof from === "function") {
|
||||
for (let key of __getOwnPropNames(from))
|
||||
if (!__hasOwnProp.call(to, key) && key !== except)
|
||||
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
||||
}
|
||||
return to;
|
||||
};
|
||||
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
||||
|
||||
// src/main.ts
|
||||
var main_exports = {};
|
||||
__export(main_exports, {
|
||||
default: () => EditorWidthSlider
|
||||
});
|
||||
module.exports = __toCommonJS(main_exports);
|
||||
var import_obsidian3 = require("obsidian");
|
||||
|
||||
// src/settings/settings.ts
|
||||
var import_obsidian = require("obsidian");
|
||||
var DEFAULT_SETTINGS = {
|
||||
sliderPercentage: "20",
|
||||
sliderPercentageDefault: "20",
|
||||
sliderWidth: "150"
|
||||
};
|
||||
var EditorWidthSliderSettingTab = class extends import_obsidian.PluginSettingTab {
|
||||
constructor(app2, plugin) {
|
||||
super(app2, plugin);
|
||||
this.plugin = plugin;
|
||||
}
|
||||
// this.settings.sliderWidth
|
||||
display() {
|
||||
const { containerEl } = this;
|
||||
containerEl.empty();
|
||||
new import_obsidian.Setting(containerEl).setName("Slider Width").setDesc("How wide do you want your slider to be?").addText((text) => text.setPlaceholder("Slider width in px").setValue(this.plugin.settings.sliderWidth).onChange(async (value) => {
|
||||
this.plugin.settings.sliderWidth = value;
|
||||
this.plugin.updateSliderStyle();
|
||||
await this.plugin.saveSettings();
|
||||
}));
|
||||
new import_obsidian.Setting(containerEl).setName("Slider Default Percentage").setDesc("What do you want the default percentage of the slider to be?").addText((text) => text.setPlaceholder("Slider width in px").setValue(this.plugin.settings.sliderPercentageDefault).onChange(async (value) => {
|
||||
this.plugin.settings.sliderPercentageDefault = value;
|
||||
this.plugin.updateSliderStyle();
|
||||
await this.plugin.saveSettings();
|
||||
}));
|
||||
new import_obsidian.Setting(containerEl).setName("Note:").setDesc(`The field should be named "editor-width" in the YAML frontmatter of the note in order to customize the editor width of that repective note. It won't work globally for all notes unless you specify it in each note's frontmatter.`);
|
||||
}
|
||||
};
|
||||
|
||||
// src/modal/warning.ts
|
||||
var import_obsidian2 = require("obsidian");
|
||||
var WarningModal = class extends import_obsidian2.Modal {
|
||||
constructor(app2) {
|
||||
super(app2);
|
||||
}
|
||||
onOpen() {
|
||||
const { contentEl } = this;
|
||||
contentEl.setText("Editor width must be a number from 0 to 100!");
|
||||
}
|
||||
onClose() {
|
||||
const { contentEl } = this;
|
||||
contentEl.empty();
|
||||
}
|
||||
};
|
||||
|
||||
// src/main.ts
|
||||
var EditorWidthSlider = class extends import_obsidian3.Plugin {
|
||||
constructor() {
|
||||
super(...arguments);
|
||||
this.pattern = /^(?:[0-9]{1,2}|100)$/;
|
||||
}
|
||||
// most important function, this gets executed everytime the plugin is first
|
||||
// loaded, e.g. when obsidian starts, or when the user just installed the
|
||||
// plugin
|
||||
async onload() {
|
||||
await this.loadSettings();
|
||||
this.addStyle();
|
||||
this.app.workspace.on("file-open", () => {
|
||||
this.updateEditorStyleYAML();
|
||||
});
|
||||
this.createSlider();
|
||||
this.addSettingTab(new EditorWidthSliderSettingTab(this.app, this));
|
||||
}
|
||||
// async onLoadFile(file: TFile) {
|
||||
// }
|
||||
onunload() {
|
||||
this.cleanUpResources();
|
||||
}
|
||||
// ---------------------------- SLIDER -------------------------------------
|
||||
createSlider() {
|
||||
const slider = document.createElement("input");
|
||||
slider.classList.add("editor-width-slider");
|
||||
slider.id = "editor-width-slider";
|
||||
slider.type = "range";
|
||||
slider.min = "0";
|
||||
slider.max = "100";
|
||||
slider.value = this.settings.sliderPercentage;
|
||||
slider.style.width = this.settings.sliderWidth + "px";
|
||||
slider.addEventListener("input", (event) => {
|
||||
const value = parseInt(slider.value);
|
||||
this.settings.sliderPercentage = value.toString();
|
||||
this.saveSettings();
|
||||
this.updateEditorStyle();
|
||||
sliderValueText.textContent = value.toString();
|
||||
console.log("Slider value:", value);
|
||||
});
|
||||
const sliderValueText = document.createElement("span");
|
||||
sliderValueText.textContent = slider.value;
|
||||
sliderValueText.classList.add("editor-width-slider-value");
|
||||
sliderValueText.id = "editor-width-slider-value";
|
||||
sliderValueText.style.color = "white";
|
||||
sliderValueText.style.padding = "8px 5px";
|
||||
sliderValueText.style.display = "inline";
|
||||
sliderValueText.style.borderRadius = "18%";
|
||||
sliderValueText.style.border = "0";
|
||||
sliderValueText.style.margin = "0px 10px";
|
||||
sliderValueText.style.background = "var(--interactive-accent)";
|
||||
sliderValueText.style.fontSize = "13px";
|
||||
sliderValueText.style.lineHeight = "50%";
|
||||
sliderValueText.style.width = "auto";
|
||||
sliderValueText.style.height = "auto";
|
||||
sliderValueText.style.boxSizing = "content-box";
|
||||
sliderValueText.style.transition = "background 0.3s";
|
||||
sliderValueText.style.cursor = "pointer";
|
||||
sliderValueText.addEventListener("mouseenter", function() {
|
||||
sliderValueText.style.background = "red";
|
||||
});
|
||||
sliderValueText.addEventListener("mouseleave", function() {
|
||||
sliderValueText.style.background = "var(--interactive-accent)";
|
||||
});
|
||||
sliderValueText.addEventListener("click", () => {
|
||||
console.log("test");
|
||||
this.resetEditorWidth();
|
||||
});
|
||||
const statusBarItemEl = this.addStatusBarItem();
|
||||
statusBarItemEl.appendChild(slider);
|
||||
statusBarItemEl.appendChild(sliderValueText);
|
||||
}
|
||||
// ---------------------------- SLIDER -------------------------------------
|
||||
cleanUpResources() {
|
||||
this.resetEditorWidth();
|
||||
}
|
||||
resetEditorWidth() {
|
||||
this.settings.sliderPercentage = this.settings.sliderPercentageDefault;
|
||||
const styleElements = document.getElementsByClassName("editor-width-slider");
|
||||
const slider = document.getElementById("editor-width-slider");
|
||||
const sliderValue = document.getElementById("editor-width-slider-value");
|
||||
if (slider) {
|
||||
if (sliderValue) {
|
||||
console.log("2");
|
||||
slider.value = this.settings.sliderPercentageDefault;
|
||||
sliderValue.textContent = this.settings.sliderPercentageDefault.toString();
|
||||
}
|
||||
}
|
||||
this.saveSettings();
|
||||
this.updateEditorStyleYAML();
|
||||
}
|
||||
// add element that contains all of the styling elements we need
|
||||
addStyle() {
|
||||
const css = document.createElement("style");
|
||||
css.id = "additional-editor-css";
|
||||
document.getElementsByTagName("head")[0].appendChild(css);
|
||||
document.body.classList.add("additional-editor-css");
|
||||
}
|
||||
// update the styles (at the start, or as the result of a settings change)
|
||||
updateEditorStyle() {
|
||||
const styleElement = document.getElementById("additional-editor-css");
|
||||
if (!styleElement)
|
||||
throw "additional-editor-css element not found!";
|
||||
else {
|
||||
styleElement.innerText = `
|
||||
body {
|
||||
--file-line-width: calc(700px + 10 * ${this.settings.sliderPercentage}px) !important;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
// update the styles (at the start, or as the result of a settings change)
|
||||
updateEditorStyleYAMLHelper(editorWidth) {
|
||||
const styleElement = document.getElementById("additional-editor-css");
|
||||
if (!styleElement)
|
||||
throw "additional-editor-css element not found!";
|
||||
else {
|
||||
styleElement.innerText = `
|
||||
body {
|
||||
--file-line-width: calc(100px + ${editorWidth}vw) !important;
|
||||
}
|
||||
`;
|
||||
}
|
||||
}
|
||||
validateString(inputString) {
|
||||
return this.pattern.test(inputString);
|
||||
}
|
||||
updateEditorStyleYAML() {
|
||||
console.log("1.1");
|
||||
const file = this.app.workspace.getActiveFile();
|
||||
console.log("1.2");
|
||||
if (file.name) {
|
||||
const metadata = app.metadataCache.getFileCache(file);
|
||||
if (metadata) {
|
||||
if (metadata.frontmatter) {
|
||||
try {
|
||||
if (metadata.frontmatter["editor-width"]) {
|
||||
if (this.validateString(metadata.frontmatter["editor-width"])) {
|
||||
this.updateEditorStyleYAMLHelper(metadata.frontmatter["editor-width"]);
|
||||
} else {
|
||||
new WarningModal(this.app).open();
|
||||
throw new Error("Editor width must be a number from 0 to 100.");
|
||||
}
|
||||
} else {
|
||||
this.updateEditorStyle();
|
||||
}
|
||||
} catch (e) {
|
||||
console.error("Error:", e.message);
|
||||
}
|
||||
} else {
|
||||
this.updateEditorStyle();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// update the styles (at the start, or as the result of a settings change)
|
||||
updateSliderStyle() {
|
||||
const styleElements = document.getElementsByClassName("editor-width-slider");
|
||||
if (styleElements.length === 0) {
|
||||
throw new Error("editor-width-slider-value element not found!");
|
||||
} else {
|
||||
const styleElement = styleElements[0];
|
||||
styleElement.style.width = this.settings.sliderWidth + "px";
|
||||
}
|
||||
}
|
||||
// Method to load settings
|
||||
async loadSettings() {
|
||||
this.settings = Object.assign(
|
||||
{},
|
||||
DEFAULT_SETTINGS,
|
||||
await this.loadData()
|
||||
);
|
||||
}
|
||||
// Method to store settings
|
||||
async saveSettings() {
|
||||
await this.saveData(this.settings);
|
||||
}
|
||||
};
|
||||
|
||||
/* nosourcemap */
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"id": "editor-width-slider",
|
||||
"name": "Editor Width Slider",
|
||||
"version": "1.0.5",
|
||||
"minAppVersion": "0.15.0",
|
||||
"description": "Customize Obsidian's editor width with a slider for a tailored editing experience.",
|
||||
"author": "@MugishoMp",
|
||||
"authorUrl": "https://github.com/MugishoMp",
|
||||
"fundingUrl": "https://www.paypal.com/donate/?hosted_button_id=E4APAMMHVJE4N",
|
||||
"isDesktopOnly": true
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
/*
|
||||
|
||||
This CSS file will be included with your plugin, and
|
||||
available in the app when your plugin is enabled.
|
||||
|
||||
If your plugin does not need CSS, delete this file.
|
||||
|
||||
*/
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"name": "Obsidian gruvbox",
|
||||
"version": "0.2.1",
|
||||
"minAppVersion": "0.16.0",
|
||||
"author": "insanum",
|
||||
"authorUrl": "https://insanum.com"
|
||||
}
|
||||
+579
@@ -0,0 +1,579 @@
|
||||
|
||||
:root
|
||||
{
|
||||
--dark0-hard_x: 29,32,33; /* #1d2021 */
|
||||
--dark0-hard: rgb(var(--dark0-hard_x));
|
||||
--dark0_x: 40,40,40; /* #282828 */
|
||||
--dark0: rgb(var(--dark0_x));
|
||||
--dark0-soft_x: 50,48,47; /* #32302f */
|
||||
--dark0-soft: rgb(var(--dark0-soft_x));
|
||||
--dark1_x: 60,56,54; /* #3c3836 */
|
||||
--dark1: rgb(var(--dark1_x));
|
||||
--dark2_x: 80,73,69; /* #504945 */
|
||||
--dark2: rgb(var(--dark2_x));
|
||||
--dark3_x: 102,92,84; /* #665c54 */
|
||||
--dark3: rgb(var(--dark3_x));
|
||||
--dark4_x: 124,111,100; /* #7c6f64 */
|
||||
--dark4: rgb(var(--dark4_x));
|
||||
--gray_x: 146,131,116; /* #928374 */
|
||||
--gray: rgb(var(--gray_x));
|
||||
|
||||
--light0-hard_x: 249,245,215; /* #f9f5d7 */
|
||||
--light0-hard: rgb(var(--light0-hard_x));
|
||||
--light0_x: 251,241,199; /* #fbf1c7 */
|
||||
--light0: rgb(var(--light0_x));
|
||||
--light0-soft_x: 242,229,188; /* #f2e5bc */
|
||||
--light0-soft: rgb(var(--light0-soft_x));
|
||||
--light1_x: 235,219,178; /* #ebdbb2 */
|
||||
--light1: rgb(var(--light1_x));
|
||||
--light2_x: 213,196,161; /* #d5c4a1 */
|
||||
--light2: rgb(var(--light2_x));
|
||||
--light3_x: 189,174,147; /* #bdae93 */
|
||||
--light3: rgb(var(--light3_x));
|
||||
--light4_x: 168,153,132; /* #a89984 */
|
||||
--light4: rgb(var(--light4_x));
|
||||
|
||||
--bright-red_x: 251,73,52; /* #fb4934 */
|
||||
--bright-red: rgb(var(--bright-red_x));
|
||||
--bright-green_x: 184,187,38; /* #b8bb26 */
|
||||
--bright-green: rgb(var(--bright-green_x));
|
||||
--bright-yellow_x: 250,189,47; /* #fabd2f */
|
||||
--bright-yellow: rgb(var(--bright-yellow_x));
|
||||
--bright-blue_x: 131,165,152; /* #83a598 */
|
||||
--bright-blue: rgb(var(--bright-blue_x));
|
||||
--bright-purple_x: 211,134,155; /* #d3869b */
|
||||
--bright-purple: rgb(var(--bright-purple_x));
|
||||
--bright-aqua_x: 142,192,124; /* #8ec07c */
|
||||
--bright-aqua: rgb(var(--bright-aqua_x));
|
||||
--bright-orange_x: 254,128,25; /* #fe8019 */
|
||||
--bright-orange: rgb(var(--bright-orange_x));
|
||||
|
||||
--neutral-red_x: 204,36,29; /* #cc241d */
|
||||
--neutral-red: rgb(var(--neutral-red_x));
|
||||
--neutral-green_x: 152,151,26; /* #98971a */
|
||||
--neutral-green: rgb(var(--neutral-green_x));
|
||||
--neutral-yellow_x: 215,153,33; /* #d79921 */
|
||||
--neutral-yellow: rgb(var(--neutral-yellow_x));
|
||||
--neutral-blue_x: 69,133,136; /* #458588 */
|
||||
--neutral-blue: rgb(var(--neutral-blue_x));
|
||||
--neutral-purple_x: 177,98,134; /* #b16286 */
|
||||
--neutral-purple: rgb(var(--neutral-purple_x));
|
||||
--neutral-aqua_x: 104,157,106; /* #689d6a */
|
||||
--neutral-aqua: rgb(var(--neutral-aqua_x));
|
||||
--neutral-orange_x: 214,93,14; /* #d65d0e */
|
||||
--neutral-orange: rgb(var(--neutral-orange_x));
|
||||
|
||||
--faded-red_x: 157,0,6; /* #9d0006 */
|
||||
--faded-red: rgb(var(--faded-red_x));
|
||||
--faded-green_x: 121,116,14; /* #79740e */
|
||||
--faded-green: rgb(var(--faded-green_x));
|
||||
--faded-yellow_x: 181,118,20; /* #b57614 */
|
||||
--faded-yellow: rgb(var(--faded-yellow_x));
|
||||
--faded-blue_x: 7,102,120; /* #076678 */
|
||||
--faded-blue: rgb(var(--faded-blue_x));
|
||||
--faded-purple_x: 143,63,113; /* #8f3f71 */
|
||||
--faded-purple: rgb(var(--faded-purple_x));
|
||||
--faded-aqua_x: 66,123,88; /* #427b58 */
|
||||
--faded-aqua: rgb(var(--faded-aqua_x));
|
||||
--faded-orange_x: 175,58,3; /* #af3a03 */
|
||||
--faded-orange: rgb(var(--faded-orange_x));
|
||||
}
|
||||
|
||||
body
|
||||
{
|
||||
--accent-h: 12; /* --faded-red #9d0006 */
|
||||
--accent-s: 107%;
|
||||
--accent-l: 32%;
|
||||
|
||||
--link-decoration: none;
|
||||
--link-decoration-hover: none;
|
||||
--link-external-decoration: none;
|
||||
--link-external-decoration-hover: none;
|
||||
|
||||
--tag-decoration: none;
|
||||
--tag-decoration-hover: underline;
|
||||
--tag-padding-x: .5em;
|
||||
--tag-padding-y: .2em;
|
||||
--tag-radius: .5em;
|
||||
|
||||
--tab-font-weight: 600;
|
||||
--bold-weight: 600;
|
||||
|
||||
--checkbox-radius: 0;
|
||||
|
||||
/* --list-indent: 2em; */
|
||||
|
||||
--embed-border-left: 6px double var(--interactive-accent);
|
||||
}
|
||||
|
||||
.theme-dark
|
||||
{
|
||||
--color-red-rgb: var(--neutral-red_x);
|
||||
--color-red: var(--neutral-red);
|
||||
--color-purple-rgb: var(--neutral-purple_x);
|
||||
--color-purple: var(--neutral-purple);
|
||||
--color-green-rgb: var(--neutral-green_x);
|
||||
--color-green: var(--neutral-green);
|
||||
--color-cyan-rgb: var(--neutral-blue_x);
|
||||
--color-cyan: var(--neutral-blue);
|
||||
--color-blue-rgb: var(--faded-blue_x);
|
||||
--color-blue: var(--faded-blue);
|
||||
--color-yellow-rgb: var(--neutral-yellow_x);
|
||||
--color-yellow: var(--neutral-yellow);
|
||||
--color-orange-rgb: var(--neutral-orange_x);
|
||||
--color-orange: var(--neutral-orange);
|
||||
--color-pink-rgb: var(--bright-purple_x);
|
||||
--color-pink: var(--bright-purple);
|
||||
|
||||
--background-primary: var(--dark0);
|
||||
--background-primary-alt: var(--dark0);
|
||||
--background-secondary: var(--dark0-hard);
|
||||
--background-secondary-alt: var(--dark1);
|
||||
--background-modifier-border: var(--dark1);
|
||||
|
||||
--cursor-line-background: rgba(var(--dark1_x), 0.5);
|
||||
|
||||
--text-normal: var(--light0);
|
||||
--text-faint: var(--light1);
|
||||
--text-muted: var(--light2);
|
||||
|
||||
--link-url: var(--neutral-green);
|
||||
|
||||
--h1-color: var(--neutral-red);
|
||||
--h2-color: var(--neutral-yellow);
|
||||
--h3-color: var(--neutral-green);
|
||||
--h4-color: var(--neutral-aqua);
|
||||
--h5-color: var(--neutral-blue);
|
||||
--h6-color: var(--neutral-purple);
|
||||
|
||||
--text-highlight-bg: var(--neutral-yellow);
|
||||
--text-highlight-fg: var(--dark0-hard);
|
||||
|
||||
--text-accent: var(--neutral-orange);
|
||||
--text-accent-hover: var(--bright-aqua);
|
||||
|
||||
--tag-color: var(--bright-aqua);
|
||||
--tag-background: var(--dark2);
|
||||
--tag-background-hover: var(--dark1);
|
||||
|
||||
--titlebar-text-color-focused: var(--bright-red);
|
||||
|
||||
--inline-title-color: var(--bright-yellow);
|
||||
|
||||
--bold-color: var(--neutral-yellow);
|
||||
--italic-color: var(--neutral-yellow);
|
||||
|
||||
--checkbox-color: var(--light4);
|
||||
--checkbox-color-hover: var(--light4);
|
||||
--checkbox-border-color: var(--light4);
|
||||
--checkbox-border-color-hover: var(--light4);
|
||||
--checklist-done-color: rgba(var(--light2_x), 0.5);
|
||||
|
||||
--table-header-background: rgba(var(--dark0_x), 0.2);
|
||||
--table-header-background-hover: var(--dark2);
|
||||
--table-row-even-background: rgba(var(--dark2_x), 0.2);
|
||||
--table-row-odd-background: rgba(var(--dark2_x), 0.4);
|
||||
--table-row-background-hover: var(--dark2);
|
||||
|
||||
--text-selection: rgba(var(--neutral-red_x), 0.6);
|
||||
--flashing-background: rgba(var(--neutral-red_x), 0.3);
|
||||
|
||||
--code-normal: var(--bright-blue);
|
||||
--code-background: var(--dark1);
|
||||
|
||||
--mermaid-note: var(--neutral-blue);
|
||||
--mermaid-actor: var(--dark2);
|
||||
--mermaid-loopline: var(--neutral-blue);
|
||||
--mermaid-exclude: var(--dark4);
|
||||
--mermaid-seqnum: var(--dark0);
|
||||
|
||||
--icon-color-hover: var(--bright-red);
|
||||
--icon-color-focused: var(--bright-blue);
|
||||
|
||||
--nav-item-color-hover: var(--bright-red);
|
||||
--nav-item-color-active: var(--bright-aqua);
|
||||
--nav-file-tag: rgba(var(--neutral-yellow_x), 0.9);
|
||||
|
||||
--graph-line: var(--dark2);
|
||||
--graph-node: var(--light3);
|
||||
--graph-node-tag: var(--neutral-red);
|
||||
--graph-node-attachment: var(--neutral-green);
|
||||
|
||||
--calendar-hover: var(--bright-red);
|
||||
--calendar-background-hover: var(--dark1);
|
||||
--calendar-week: var(--neutral-orange);
|
||||
--calendar-today: var(--neutral-orange);
|
||||
|
||||
--dataview-key: var(--text-faint);
|
||||
--dataview-key-background: rgba(var(--faded-red_x), 0.5);
|
||||
--dataview-value: var(--text-faint);
|
||||
--dataview-value-background: rgba(var(--neutral-green_x), 0.3);
|
||||
|
||||
--tab-text-color-focused-active: var(--neutral-yellow);
|
||||
--tab-text-color-focused-active-current: var(--bright-red);
|
||||
}
|
||||
|
||||
.theme-light
|
||||
{
|
||||
--color-red-rgb: var(--neutral-red_x);
|
||||
--color-red: var(--neutral-red);
|
||||
--color-purple-rgb: var(--neutral-purple_x);
|
||||
--color-purple: var(--neutral-purple);
|
||||
--color-green-rgb: var(--neutral-green_x);
|
||||
--color-green: var(--neutral-green);
|
||||
--color-cyan-rgb: var(--neutral-blue_x);
|
||||
--color-cyan: var(--neutral-blue);
|
||||
--color-blue-rgb: var(--faded-blue_x);
|
||||
--color-blue: var(--faded-blue);
|
||||
--color-yellow-rgb: var(--neutral-yellow_x);
|
||||
--color-yellow: var(--neutral-yellow);
|
||||
--color-orange-rgb: var(--neutral-orange_x);
|
||||
--color-orange: var(--neutral-orange);
|
||||
--color-pink-rgb: var(--bright-purple_x);
|
||||
--color-pink: var(--bright-purple);
|
||||
|
||||
--background-primary: var(--light0-hard);
|
||||
--background-primary-alt: var(--light0-hard);
|
||||
--background-secondary: var(--light1);
|
||||
--background-secondary-alt: var(--light1);
|
||||
--background-modifier-border: var(--light2);
|
||||
|
||||
--cursor-line-background: rgba(var(--light1_x), 0.5);
|
||||
|
||||
--text-normal: var(--dark0);
|
||||
--text-faint: var(--dark3);
|
||||
--text-muted: var(--dark2);
|
||||
|
||||
--link-url: var(--neutral-green);
|
||||
|
||||
--h1-color: var(--neutral-red);
|
||||
--h2-color: var(--neutral-yellow);
|
||||
--h3-color: var(--neutral-green);
|
||||
--h4-color: var(--neutral-aqua);
|
||||
--h5-color: var(--neutral-blue);
|
||||
--h6-color: var(--neutral-purple);
|
||||
|
||||
--text-highlight-bg: var(--bright-yellow);
|
||||
--text-highlight-fg: var(--dark0);
|
||||
|
||||
--text-accent: var(--neutral-orange);
|
||||
--text-accent-hover: var(--bright-aqua);
|
||||
|
||||
--tag-color: var(--neutral-aqua);
|
||||
--tag-background: var(--light1);
|
||||
--tag-background-hover: rgba(var(--light1_x), 0.6);
|
||||
|
||||
--titlebar-text-color-focused: var(--bright-red);
|
||||
|
||||
--inline-title-color: var(--bright-yellow);
|
||||
|
||||
--bold-color: var(--neutral-yellow);
|
||||
--italic-color: var(--neutral-yellow);
|
||||
|
||||
--checkbox-color: var(--light4);
|
||||
--checkbox-color-hover: var(--light4);
|
||||
--checkbox-border-color: var(--light4);
|
||||
--checkbox-border-color-hover: var(--light4);
|
||||
--checklist-done-color: rgba(var(--dark2_x), 0.4);
|
||||
|
||||
--table-header-background: rgba(var(--light3_x), 0.4);
|
||||
--table-header-background-hover: var(--light2);
|
||||
--table-row-even-background: rgba(var(--light1_x), 0.2);
|
||||
--table-row-odd-background: rgba(var(--light1_x), 0.7);
|
||||
--table-row-background-hover: var(--light2);
|
||||
|
||||
--text-selection: rgba(var(--neutral-red_x), 0.6);
|
||||
--flashing-background: rgba(var(--neutral-red_x), 0.3);
|
||||
|
||||
--code-normal: var(--bright-blue);
|
||||
--code-background: var(--light1);
|
||||
|
||||
--mermaid-note: var(--bright-blue);
|
||||
--mermaid-actor: var(--light3);
|
||||
--mermaid-loopline: var(--neutral-blue);
|
||||
--mermaid-exclude: var(--light2);
|
||||
--mermaid-seqnum: var(--light0);
|
||||
|
||||
--icon-color-hover: var(--bright-red);
|
||||
--icon-color-focused: var(--bright-blue);
|
||||
|
||||
--nav-item-color-hover: var(--bright-red);
|
||||
--nav-item-color-active: var(--neutral-blue);
|
||||
--nav-file-tag: rgba(var(--neutral-blue_x), 0.9);
|
||||
|
||||
--graph-line: var(--light1);
|
||||
--graph-node: var(--gray);
|
||||
--graph-node-tag: var(--neutral-red);
|
||||
--graph-node-attachment: var(--bright-green);
|
||||
|
||||
--calendar-hover: var(--bright-red);
|
||||
--calendar-background-hover: var(--light1);
|
||||
--calendar-week: var(--bright-red);
|
||||
--calendar-today: var(--bright-red);
|
||||
|
||||
--dataview-key: var(--text-faint);
|
||||
--dataview-key-background: rgba(var(--faded-red_x), 0.3);
|
||||
--dataview-value: var(--text-faint);
|
||||
--dataview-value-background: rgba(var(--neutral-green_x), 0.2);
|
||||
|
||||
--tab-text-color-focused-active: var(--neutral-yellow);
|
||||
--tab-text-color-focused-active-current: var(--bright-red);
|
||||
}
|
||||
|
||||
table
|
||||
{
|
||||
border: 1px solid var(--background-secondary) !important;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
thead
|
||||
{
|
||||
border-bottom: 2px solid var(--background-modifier-border) !important;
|
||||
}
|
||||
|
||||
th
|
||||
{
|
||||
font-weight: 600 !important;
|
||||
border: 1px solid var(--background-secondary) !important;
|
||||
}
|
||||
|
||||
td
|
||||
{
|
||||
border-left: 1px solid var(--background-secondary) !important;
|
||||
border-right: 1px solid var(--background-secondary) !important;
|
||||
border-bottom: 1px solid var(--background-secondary) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:nth-child(even)
|
||||
{
|
||||
background-color: var(--table-row-even-background) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:nth-child(odd)
|
||||
{
|
||||
background-color: var(--table-row-odd-background) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered tbody tr:nth-child(even):hover,
|
||||
.markdown-rendered tbody tr:nth-child(odd):hover
|
||||
{
|
||||
background-color: var(--table-row-background-hover) !important;
|
||||
}
|
||||
|
||||
.markdown-rendered mark
|
||||
{
|
||||
background-color: var(--text-highlight-bg);
|
||||
color: var(--text-highlight-fg);
|
||||
}
|
||||
|
||||
.markdown-rendered mark a
|
||||
{
|
||||
color: var(--red) !important;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.search-result-file-matched-text
|
||||
{
|
||||
color: var(--text-highlight-fg) !important;
|
||||
}
|
||||
|
||||
.cm-hashtag-begin:hover, .cm-hashtag-end:hover
|
||||
{
|
||||
color: var(--text-accent);
|
||||
/* background-color: var(--tag-background-hover); */
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
input[type=checkbox]
|
||||
{
|
||||
border: 1px solid var(--checkbox-color);
|
||||
}
|
||||
|
||||
input[type=checkbox]:checked
|
||||
{
|
||||
background-color: var(--checkbox-color);
|
||||
box-shadow: inset 0 0 0 2px var(--background-primary);
|
||||
}
|
||||
|
||||
input[type=checkbox]:checked:after
|
||||
{
|
||||
display: none;
|
||||
}
|
||||
|
||||
code[class*="language-"],
|
||||
pre[class*="language-"]
|
||||
{
|
||||
line-height: var(--line-height-tight) !important;
|
||||
}
|
||||
|
||||
.cm-url
|
||||
{
|
||||
color: var(--link-url) !important;
|
||||
}
|
||||
|
||||
.cm-url:hover
|
||||
{
|
||||
color: var(--text-accent-color) !important;
|
||||
}
|
||||
|
||||
/* Keep highlight/marks the same between viewer and editor. */
|
||||
.cm-highlight
|
||||
{
|
||||
color: var(--text-highlight-fg) !important;
|
||||
}
|
||||
|
||||
/* Keep inline code the same between viewer and editor. */
|
||||
.cm-inline-code
|
||||
{
|
||||
border-radius: var(--radius-s);
|
||||
font-size: var(--code-size);
|
||||
padding: 0.1em 0.25em;
|
||||
}
|
||||
|
||||
.cm-line .cm-strong
|
||||
{
|
||||
color: var(--bold-color) !important;
|
||||
}
|
||||
|
||||
/*
|
||||
* Keep list bullet padding the same between viewer and editor.
|
||||
* This is annoying with the cursor in the editor as there is a gap.
|
||||
*/
|
||||
/*
|
||||
.cm-formatting-list
|
||||
{
|
||||
padding-right: 4px !important;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
* Keep sub-list indenting the same between viewer and editor.
|
||||
* This assumes --list-indent is default at 2em.
|
||||
*/
|
||||
/*
|
||||
.cm-indent
|
||||
{
|
||||
text-indent: 1em !important;
|
||||
}
|
||||
*/
|
||||
|
||||
.mermaid .note
|
||||
{
|
||||
fill: var(--mermaid-note) !important;
|
||||
}
|
||||
|
||||
.mermaid .actor
|
||||
{
|
||||
fill: var(--mermaid-actor) !important;
|
||||
}
|
||||
|
||||
.mermaid .loopLine
|
||||
{
|
||||
stroke: var(--mermaid-loopline) !important;
|
||||
}
|
||||
|
||||
.mermaid .loopText>tspan,
|
||||
.mermaid .entityLabel
|
||||
{
|
||||
fill: var(--neutral-red) !important;
|
||||
}
|
||||
|
||||
.mermaid .exclude-range
|
||||
{
|
||||
fill: var(--mermaid-exclude) !important;
|
||||
}
|
||||
|
||||
.mermaid .sequenceNumber
|
||||
{
|
||||
fill: var(--mermaid-seqnum) !important;
|
||||
}
|
||||
|
||||
.calendar .week-num
|
||||
{
|
||||
color: var(--calendar-week) !important;
|
||||
}
|
||||
|
||||
.calendar .today
|
||||
{
|
||||
color: var(--calendar-today) !important;
|
||||
}
|
||||
|
||||
.calendar .week-num:hover,
|
||||
.calendar .day:hover
|
||||
{
|
||||
color: var(--calendar-hover) !important;
|
||||
background-color: var(--calendar-background-hover) !important;
|
||||
}
|
||||
|
||||
.markdown-embed-title
|
||||
{
|
||||
color: var(--yellow);
|
||||
font-weight: 600 !important;
|
||||
}
|
||||
|
||||
.cm-active
|
||||
{
|
||||
background-color: var(--cursor-line-background) !important;
|
||||
}
|
||||
|
||||
.nav-file-tag
|
||||
{
|
||||
color: var(--nav-file-tag) !important;
|
||||
}
|
||||
|
||||
.is-flashing
|
||||
{
|
||||
background-color: var(--flashing-background) !important;
|
||||
}
|
||||
|
||||
.dataview.inline-field-key
|
||||
{
|
||||
border-top-left-radius: var(--radius-s);
|
||||
border-bottom-left-radius: var(--radius-s);
|
||||
padding-left: 4px;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--font-smaller);
|
||||
color: var(--dataview-key) !important;
|
||||
background-color: var(--dataview-key-background) !important;
|
||||
}
|
||||
|
||||
.dataview.inline-field-value
|
||||
{
|
||||
border-top-right-radius: var(--radius-s);
|
||||
border-bottom-right-radius: var(--radius-s);
|
||||
padding-right: 4px;
|
||||
font-family: var(--font-monospace);
|
||||
font-size: var(--font-smaller);
|
||||
color: var(--dataview-value) !important;
|
||||
background-color: var(--dataview-value-background) !important;
|
||||
}
|
||||
|
||||
.suggestion-highlight
|
||||
{
|
||||
color: var(--bright-red);
|
||||
}
|
||||
|
||||
body {
|
||||
--callout-border-width: 1px;
|
||||
--callout-border-opacity: 0.4;
|
||||
/* Order as defined in app.css */
|
||||
--callout-default: var(--neutral-blue_x);
|
||||
--callout-note: var(--neutral-blue_x);
|
||||
--callout-summary: var(--neutral-aqua_x);
|
||||
--callout-info: var(--neutral-blue_x);
|
||||
--callout-todo: var(--neutral-blue_x);
|
||||
--callout-important: var(--neutral-aqua_x);
|
||||
--callout-tip: var(--neutral-aqua_x);
|
||||
--callout-success: var(--neutral-green_x);
|
||||
--callout-question: var(--neutral-yellow_x);
|
||||
--callout-warning: var(--neutral-orange_x);
|
||||
--callout-fail: var(--neutral-red_x);
|
||||
--callout-error: var(--neutral-red_x);
|
||||
--callout-bug: var(--neutral-red_x);
|
||||
--callout-example: var(--neutral-purple_x);
|
||||
--callout-quote: var(--gray_x);
|
||||
}
|
||||
|
||||
.callout {
|
||||
background-color: rgba(var(--callout-color), 0.2);
|
||||
}
|
||||
Vendored
+237
@@ -0,0 +1,237 @@
|
||||
{
|
||||
"main": {
|
||||
"id": "b741307f012c6c82",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "3191879d32e51458",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "716943f64774c290",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "canvas",
|
||||
"state": {
|
||||
"file": "02 Wireframes/P2 Auth/WF-P2 Admin RBAC/WF-P2 Admin RBAC.canvas",
|
||||
"viewState": {
|
||||
"x": 893.2958606826328,
|
||||
"y": 1014.1714018415311,
|
||||
"zoom": -0.35771249981815517
|
||||
}
|
||||
},
|
||||
"icon": "lucide-layout-dashboard",
|
||||
"title": "WF-P2 Admin RBAC"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "vertical"
|
||||
},
|
||||
"left": {
|
||||
"id": "c60ac6c168fcc346",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "619cad1e354c5111",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "641e6094f7934e28",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "file-explorer",
|
||||
"state": {
|
||||
"sortOrder": "alphabetical",
|
||||
"autoReveal": false
|
||||
},
|
||||
"icon": "lucide-folder-closed",
|
||||
"title": "Files"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "1c5acae913f15f67",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "search",
|
||||
"state": {
|
||||
"query": "",
|
||||
"matchingCase": false,
|
||||
"explainSearch": false,
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical"
|
||||
},
|
||||
"icon": "lucide-search",
|
||||
"title": "Search"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "5e3db645e8d39109",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "bookmarks",
|
||||
"state": {},
|
||||
"icon": "lucide-bookmark",
|
||||
"title": "Bookmarks"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300
|
||||
},
|
||||
"right": {
|
||||
"id": "9a2b29e007036e47",
|
||||
"type": "split",
|
||||
"children": [
|
||||
{
|
||||
"id": "d3ee1dedc0dff4c8",
|
||||
"type": "tabs",
|
||||
"children": [
|
||||
{
|
||||
"id": "de35e85ca527f8f4",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "backlink",
|
||||
"state": {
|
||||
"file": "02 Wireframes/_Templates/Wireframe Paket Template.md",
|
||||
"collapseAll": false,
|
||||
"extraContext": false,
|
||||
"sortOrder": "alphabetical",
|
||||
"showSearch": false,
|
||||
"searchQuery": "",
|
||||
"backlinkCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-coming-in",
|
||||
"title": "Backlinks for Wireframe Paket Template"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "829c4eac50f34830",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outgoing-link",
|
||||
"state": {
|
||||
"file": "02 Wireframes/_Templates/Wireframe Paket Template.md",
|
||||
"linksCollapsed": false,
|
||||
"unlinkedCollapsed": true
|
||||
},
|
||||
"icon": "links-going-out",
|
||||
"title": "Outgoing links from Wireframe Paket Template"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "24f2b9ae0b1c593f",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "tag",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"useHierarchy": true,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-tags",
|
||||
"title": "Tags"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "9d900d312445f8dc",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "all-properties",
|
||||
"state": {
|
||||
"sortOrder": "frequency",
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-archive",
|
||||
"title": "All properties"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": "2bb50056cef4b029",
|
||||
"type": "leaf",
|
||||
"state": {
|
||||
"type": "outline",
|
||||
"state": {
|
||||
"file": "02 Wireframes/_Templates/Wireframe Paket Template.md",
|
||||
"followCursor": false,
|
||||
"showSearch": false,
|
||||
"searchQuery": ""
|
||||
},
|
||||
"icon": "lucide-list",
|
||||
"title": "Outline of Wireframe Paket Template"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"direction": "horizontal",
|
||||
"width": 300,
|
||||
"collapsed": true
|
||||
},
|
||||
"left-ribbon": {
|
||||
"hiddenItems": {
|
||||
"switcher:Open quick switcher": false,
|
||||
"graph:Open graph view": false,
|
||||
"canvas:Create new canvas": false,
|
||||
"daily-notes:Open today's daily note": false,
|
||||
"templates:Insert template": false,
|
||||
"command-palette:Open command palette": false,
|
||||
"bases:Create new base": false
|
||||
}
|
||||
},
|
||||
"active": "716943f64774c290",
|
||||
"lastOpenFiles": [
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/WF-P2 Admin RBAC.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/WF-P2 Admin RBAC.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Login und 2FA/WF-P2 Login und 2FA.canvas",
|
||||
"02 Wireframes/Screen Paket Tracker.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Signup/WF-P2 Signup.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Passwort Reset/WF-P2 Passwort Reset.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Passwort Reset/Screens/M02 Wiederherstellungscode eingeben.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Passwort Reset/Screens/M01 Admin kontaktieren.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Passwort Reset/Screens/S01 Passwort Reset anfordern.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Set Password/WF-P2 Set Password.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Workspace Auswahl/WF-P2 Workspace Auswahl.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Profil und Sicherheit/WF-P2 Profil und Sicherheit.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Signup/Screens/S03 E-Mail bestaetigen.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Signup/Screens/S02 Signup erfolgreich Workspace wird vorbereitet.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Signup/Screens/S01 Signup.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Workspace Auswahl/WF-P2 Workspace Auswahl.md",
|
||||
"01 Regeln/Wireframing Playbook.md",
|
||||
"01 Regeln/Obsidian Struktur.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/V01 Letzter Admin blockiert.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/D03 Rolle in Nutzung blockiert.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/M02 Rolle erstellen bearbeiten.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/S02 Rollen und Berechtigungen.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/M03 Mitarbeiter deaktivieren.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/D01 Rollen-Dropdown in Mitarbeiterliste.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/M01 Mitarbeiter einladen.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens/S01 Mitarbeiterliste.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Profil und Sicherheit/WF-P2 Profil und Sicherheit.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Konto loeschen/WF-P2 Konto loeschen.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Konto loeschen/Screens/M01 Loeschung anfragen.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Konto loeschen/Screens/S01 Settings Workspaces Loeschbereich.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Profil und Sicherheit/Screens/S01 Profil Settings.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 2FA Verwalten/WF-P2 2FA Verwalten.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 2FA Verwalten/Screens/M03 2FA deaktivieren.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 2FA Verwalten/Screens/M02 Device Token hinzufuegen.md",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Change Password/WF-P2 Change Password.canvas",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Konto loeschen/Varianten",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Konto loeschen/Screens",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Varianten",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Admin RBAC/Screens",
|
||||
"02 Wireframes/P2 Auth/WF-P2 2FA Verwalten/Varianten",
|
||||
"02 Wireframes/P2 Auth/WF-P2 2FA Verwalten/Screens",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Change Password/Varianten",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Change Password/Screens",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Profil und Sicherheit/Varianten",
|
||||
"02 Wireframes/P2 Auth/WF-P2 Profil und Sicherheit/Screens"
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user