|
@ -1,11 +1,17 @@
|
||||||
{
|
{
|
||||||
"hash": "35964354",
|
"hash": "61014706",
|
||||||
"browserHash": "c708b366",
|
"browserHash": "2f8b4d93",
|
||||||
"optimized": {
|
"optimized": {
|
||||||
"vue": {
|
"vue": {
|
||||||
"src": "../../../../node_modules/.pnpm/vue@3.2.47/node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
"src": "../../../../node_modules/vue/dist/vue.runtime.esm-bundler.js",
|
||||||
"file": "vue.js",
|
"file": "vue.js",
|
||||||
"fileHash": "84ebdea4",
|
"fileHash": "e47bde2a",
|
||||||
|
"needsInterop": false
|
||||||
|
},
|
||||||
|
"vitepress > @vue/devtools-api": {
|
||||||
|
"src": "../../../../node_modules/@vue/devtools-api/lib/esm/index.js",
|
||||||
|
"file": "vitepress___@vue_devtools-api.js",
|
||||||
|
"fileHash": "7672acce",
|
||||||
"needsInterop": false
|
"needsInterop": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -1 +1,3 @@
|
||||||
{"type":"module"}
|
{
|
||||||
|
"type": "module"
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,162 @@
|
||||||
|
// node_modules/@vue/devtools-api/lib/esm/env.js
|
||||||
|
function getDevtoolsGlobalHook() {
|
||||||
|
return getTarget().__VUE_DEVTOOLS_GLOBAL_HOOK__;
|
||||||
|
}
|
||||||
|
function getTarget() {
|
||||||
|
return typeof navigator !== "undefined" && typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {};
|
||||||
|
}
|
||||||
|
var isProxyAvailable = typeof Proxy === "function";
|
||||||
|
|
||||||
|
// node_modules/@vue/devtools-api/lib/esm/const.js
|
||||||
|
var HOOK_SETUP = "devtools-plugin:setup";
|
||||||
|
var HOOK_PLUGIN_SETTINGS_SET = "plugin:settings:set";
|
||||||
|
|
||||||
|
// node_modules/@vue/devtools-api/lib/esm/time.js
|
||||||
|
var supported;
|
||||||
|
var perf;
|
||||||
|
function isPerformanceSupported() {
|
||||||
|
var _a;
|
||||||
|
if (supported !== void 0) {
|
||||||
|
return supported;
|
||||||
|
}
|
||||||
|
if (typeof window !== "undefined" && window.performance) {
|
||||||
|
supported = true;
|
||||||
|
perf = window.performance;
|
||||||
|
} else if (typeof global !== "undefined" && ((_a = global.perf_hooks) === null || _a === void 0 ? void 0 : _a.performance)) {
|
||||||
|
supported = true;
|
||||||
|
perf = global.perf_hooks.performance;
|
||||||
|
} else {
|
||||||
|
supported = false;
|
||||||
|
}
|
||||||
|
return supported;
|
||||||
|
}
|
||||||
|
function now() {
|
||||||
|
return isPerformanceSupported() ? perf.now() : Date.now();
|
||||||
|
}
|
||||||
|
|
||||||
|
// node_modules/@vue/devtools-api/lib/esm/proxy.js
|
||||||
|
var ApiProxy = class {
|
||||||
|
constructor(plugin, hook) {
|
||||||
|
this.target = null;
|
||||||
|
this.targetQueue = [];
|
||||||
|
this.onQueue = [];
|
||||||
|
this.plugin = plugin;
|
||||||
|
this.hook = hook;
|
||||||
|
const defaultSettings = {};
|
||||||
|
if (plugin.settings) {
|
||||||
|
for (const id in plugin.settings) {
|
||||||
|
const item = plugin.settings[id];
|
||||||
|
defaultSettings[id] = item.defaultValue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const localSettingsSaveId = `__vue-devtools-plugin-settings__${plugin.id}`;
|
||||||
|
let currentSettings = Object.assign({}, defaultSettings);
|
||||||
|
try {
|
||||||
|
const raw = localStorage.getItem(localSettingsSaveId);
|
||||||
|
const data = JSON.parse(raw);
|
||||||
|
Object.assign(currentSettings, data);
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
this.fallbacks = {
|
||||||
|
getSettings() {
|
||||||
|
return currentSettings;
|
||||||
|
},
|
||||||
|
setSettings(value) {
|
||||||
|
try {
|
||||||
|
localStorage.setItem(localSettingsSaveId, JSON.stringify(value));
|
||||||
|
} catch (e) {
|
||||||
|
}
|
||||||
|
currentSettings = value;
|
||||||
|
},
|
||||||
|
now() {
|
||||||
|
return now();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
if (hook) {
|
||||||
|
hook.on(HOOK_PLUGIN_SETTINGS_SET, (pluginId, value) => {
|
||||||
|
if (pluginId === this.plugin.id) {
|
||||||
|
this.fallbacks.setSettings(value);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
this.proxiedOn = new Proxy({}, {
|
||||||
|
get: (_target, prop) => {
|
||||||
|
if (this.target) {
|
||||||
|
return this.target.on[prop];
|
||||||
|
} else {
|
||||||
|
return (...args) => {
|
||||||
|
this.onQueue.push({
|
||||||
|
method: prop,
|
||||||
|
args
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
this.proxiedTarget = new Proxy({}, {
|
||||||
|
get: (_target, prop) => {
|
||||||
|
if (this.target) {
|
||||||
|
return this.target[prop];
|
||||||
|
} else if (prop === "on") {
|
||||||
|
return this.proxiedOn;
|
||||||
|
} else if (Object.keys(this.fallbacks).includes(prop)) {
|
||||||
|
return (...args) => {
|
||||||
|
this.targetQueue.push({
|
||||||
|
method: prop,
|
||||||
|
args,
|
||||||
|
resolve: () => {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return this.fallbacks[prop](...args);
|
||||||
|
};
|
||||||
|
} else {
|
||||||
|
return (...args) => {
|
||||||
|
return new Promise((resolve) => {
|
||||||
|
this.targetQueue.push({
|
||||||
|
method: prop,
|
||||||
|
args,
|
||||||
|
resolve
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
async setRealTarget(target) {
|
||||||
|
this.target = target;
|
||||||
|
for (const item of this.onQueue) {
|
||||||
|
this.target.on[item.method](...item.args);
|
||||||
|
}
|
||||||
|
for (const item of this.targetQueue) {
|
||||||
|
item.resolve(await this.target[item.method](...item.args));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
// node_modules/@vue/devtools-api/lib/esm/index.js
|
||||||
|
function setupDevtoolsPlugin(pluginDescriptor, setupFn) {
|
||||||
|
const descriptor = pluginDescriptor;
|
||||||
|
const target = getTarget();
|
||||||
|
const hook = getDevtoolsGlobalHook();
|
||||||
|
const enableProxy = isProxyAvailable && descriptor.enableEarlyProxy;
|
||||||
|
if (hook && (target.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__ || !enableProxy)) {
|
||||||
|
hook.emit(HOOK_SETUP, pluginDescriptor, setupFn);
|
||||||
|
} else {
|
||||||
|
const proxy = enableProxy ? new ApiProxy(descriptor, hook) : null;
|
||||||
|
const list = target.__VUE_DEVTOOLS_PLUGINS__ = target.__VUE_DEVTOOLS_PLUGINS__ || [];
|
||||||
|
list.push({
|
||||||
|
pluginDescriptor: descriptor,
|
||||||
|
setupFn,
|
||||||
|
proxy
|
||||||
|
});
|
||||||
|
if (proxy)
|
||||||
|
setupFn(proxy.proxiedTarget);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
export {
|
||||||
|
isPerformanceSupported,
|
||||||
|
now,
|
||||||
|
setupDevtoolsPlugin
|
||||||
|
};
|
||||||
|
//# sourceMappingURL=vitepress___@vue_devtools-api.js.map
|
|
@ -91,6 +91,7 @@ export default {
|
||||||
{ text: "Introduction débutant", link: "/dev/01-debutant/" },
|
{ text: "Introduction débutant", link: "/dev/01-debutant/" },
|
||||||
{ text: "HTML débutant", link: "/dev/01-debutant/html" },
|
{ text: "HTML débutant", link: "/dev/01-debutant/html" },
|
||||||
{ text: "CSS débutant", link: "/dev/01-debutant/css" },
|
{ text: "CSS débutant", link: "/dev/01-debutant/css" },
|
||||||
|
{ text: "Typographie", link: "/dev/01-debutant/typographie" },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -102,6 +103,7 @@ export default {
|
||||||
link: "/dev/02-intermediaire/",
|
link: "/dev/02-intermediaire/",
|
||||||
},
|
},
|
||||||
// { text: "HTML intermédiaire", link: "/dev/02-intermediaire/html" },
|
// { text: "HTML intermédiaire", link: "/dev/02-intermediaire/html" },
|
||||||
|
{ text: "CSS", link: "/dev/02-intermediaire/css" },
|
||||||
{ text: "JavaScript", link: "/dev/02-intermediaire/javascript" },
|
{ text: "JavaScript", link: "/dev/02-intermediaire/javascript" },
|
||||||
{ text: "Git", link: "/dev/02-intermediaire/git" },
|
{ text: "Git", link: "/dev/02-intermediaire/git" },
|
||||||
{ text: "Node.js", link: "/dev/02-intermediaire/nodejs" },
|
{ text: "Node.js", link: "/dev/02-intermediaire/nodejs" },
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
<template>
|
|
||||||
<blockquote>
|
|
||||||
<slot>YELLO</slot>
|
|
||||||
</blockquote>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
export default {
|
|
||||||
name: "CustomBlockquote"
|
|
||||||
};
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped></style>
|
|
|
@ -3,8 +3,10 @@
|
||||||
--color-primary-light: hsl(11, 100%, 31%);
|
--color-primary-light: hsl(11, 100%, 31%);
|
||||||
--color-primary-dark: hsl(11, 100%, 75%);
|
--color-primary-dark: hsl(11, 100%, 75%);
|
||||||
/* custom theme */
|
/* custom theme */
|
||||||
--vp-c-brand: var(--color-primary-light);
|
--vp-c-brand-1: var(--color-primary-light);
|
||||||
|
--vp-c-brand-2: var(--color-primary-light);
|
||||||
|
|
||||||
|
--vp-button-brand-bg: var(--color-primary-light);
|
||||||
--vp-button-brand-text: var(--vp-c-bg);
|
--vp-button-brand-text: var(--vp-c-bg);
|
||||||
--vp-button-brand-hover-text: var(--color-primary-light);
|
--vp-button-brand-hover-text: var(--color-primary-light);
|
||||||
--vp-button-brand-active-text: var(--color-primary-light);
|
--vp-button-brand-active-text: var(--color-primary-light);
|
||||||
|
@ -14,31 +16,34 @@
|
||||||
--vp-button-brand-hover-border: var(--color-primary-light);
|
--vp-button-brand-hover-border: var(--color-primary-light);
|
||||||
--vp-button-brand-active-border: var(--color-primary-light);
|
--vp-button-brand-active-border: var(--color-primary-light);
|
||||||
|
|
||||||
--vp-custom-block-tip-bg: var(--vp-c-bg);
|
/* --vp-custom-block-tip-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-danger-bg: var(--vp-c-bg);
|
--vp-custom-block-danger-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-info-bg: var(--vp-c-bg);
|
--vp-custom-block-info-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-warning-bg: var(--vp-c-bg);
|
--vp-custom-block-warning-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-tip-text: hsl(161, 96%, 20%);
|
--vp-custom-block-tip-text: hsl(161, 96%, 20%);
|
||||||
--vp-custom-block-warning-text: hsl(26, 95%, 29%);
|
--vp-custom-block-warning-text: hsl(26, 95%, 29%);
|
||||||
--vp-custom-block-danger-text: hsl(350, 75%, 38%);
|
--vp-custom-block-danger-text: hsl(350, 75%, 38%); */
|
||||||
|
|
||||||
--vp-code-font-size: 0.9375rem;
|
--vp-code-font-size: 0.9375rem;
|
||||||
}
|
}
|
||||||
.dark {
|
.dark {
|
||||||
--vp-c-brand: var(--color-primary-dark);
|
--vp-c-brand-1: var(--color-primary-dark);
|
||||||
|
--vp-c-brand-2: var(--color-primary-dark);
|
||||||
|
|
||||||
|
--vp-button-brand-bg: var(--color-primary-dark);
|
||||||
--vp-button-brand-hover-text: var(--vp-c-dark);
|
--vp-button-brand-hover-text: var(--vp-c-dark);
|
||||||
--vp-button-brand-active-text: var(--vp-c-dark);
|
--vp-button-brand-active-text: var(--vp-c-dark);
|
||||||
--vp-button-brand-border: var(--color-primary-dark);
|
--vp-button-brand-border: var(--color-primary-dark);
|
||||||
--vp-button-brand-hover-border: var(--color-primary-dark);
|
--vp-button-brand-hover-border: var(--color-primary-dark);
|
||||||
--vp-button-brand-active-border: var(--color-primary-dark);
|
--vp-button-brand-active-border: var(--color-primary-dark);
|
||||||
|
|
||||||
--vp-custom-block-tip-bg: var(--vp-c-bg);
|
/* --vp-custom-block-tip-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-danger-bg: var(--vp-c-bg);
|
--vp-custom-block-danger-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-info-bg: var(--vp-c-bg);
|
--vp-custom-block-info-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-warning-bg: var(--vp-c-bg);
|
--vp-custom-block-warning-bg: var(--vp-c-bg);
|
||||||
--vp-custom-block-tip-text: hsl(161, 78%, 43%);
|
--vp-custom-block-tip-text: hsl(161, 78%, 43%);
|
||||||
--vp-custom-block-warning-text: hsl(32, 95%, 44%);
|
--vp-custom-block-warning-text: hsl(32, 95%, 44%);
|
||||||
--vp-custom-block-danger-text: hsl(0, 100%, 76%);
|
--vp-custom-block-danger-text: hsl(0, 100%, 76%); */
|
||||||
}
|
}
|
||||||
|
|
||||||
:where(details summary) {
|
:where(details summary) {
|
||||||
|
@ -46,7 +51,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover {
|
a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.prev-next a:hover {
|
.prev-next a:hover {
|
||||||
|
|
|
@ -1,21 +1,6 @@
|
||||||
import DefaultTheme from "vitepress/theme";
|
import DefaultTheme from "vitepress/theme";
|
||||||
import PageLayout from "./layouts/PageLayout.vue";
|
|
||||||
import "./custom.css";
|
import "./custom.css";
|
||||||
|
|
||||||
const modules = import.meta.globEager("./components/**/*.vue");
|
|
||||||
const components = [];
|
|
||||||
|
|
||||||
for (const path in modules) {
|
|
||||||
components.push(modules[path].default);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
...DefaultTheme,
|
...DefaultTheme,
|
||||||
// Layout: PageLayout,
|
|
||||||
enhanceApp({ app }) {
|
|
||||||
// import all components globally
|
|
||||||
components.forEach(comp => {
|
|
||||||
app.component(comp.name, comp);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
@ -0,0 +1,76 @@
|
||||||
|
# Utiliser des typographies sur le web
|
||||||
|
|
||||||
|
Lorsque l'on publie du contenu sur le web, nous avons la possibilité de personnaliser les polices de caractères utilisées.
|
||||||
|
|
||||||
|
## Les polices système
|
||||||
|
|
||||||
|
Il existe une famille informelle de polices appellées "polices systèmes". Ce sont les polices qui ont le plus de chance d'être installées sur la quasi-totalité des ordinateurs, quelque soit le système d'exploitation utilisé. On y trouve notamment :
|
||||||
|
|
||||||
|
- Arial
|
||||||
|
- Times New Roman
|
||||||
|
- Trebuchet
|
||||||
|
- Verdana
|
||||||
|
- Georgia
|
||||||
|
- Courier
|
||||||
|
|
||||||
|
## Modifier la police
|
||||||
|
|
||||||
|
En CSS, la propriété permettant de changer la police de caractères est `font-family`
|
||||||
|
|
||||||
|
```css
|
||||||
|
body {
|
||||||
|
font-family: Arial;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Afin de s'assurer un certain contrôle sur la police affichée dans le cas où l'utilisateur n'aurait pas celle que nous voulons utiliser, il convient de lister des polices alternatives. On termine généralement en utilisant un mot-clé générique définissant la famille de police souhaitée.
|
||||||
|
|
||||||
|
```css
|
||||||
|
body {
|
||||||
|
font-family: Helvetica, Arial, sans-serif;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Les polices personnalisées
|
||||||
|
|
||||||
|
L'intérêt des polices web vient surtout de la possibilité d'utiliser sa (ou ses) propre police.
|
||||||
|
|
||||||
|
### Choisir une police
|
||||||
|
|
||||||
|
La première étape est de choisir une police adaptée au projet. Il existe de nombreux sites proposant des polices gratuites à télécharger. Je vous recommande [Font Squirrel](https://www.fontsquirrel.com/) ou [Google fonts](https://fonts.google.com/).
|
||||||
|
|
||||||
|
### Préparer la police
|
||||||
|
|
||||||
|
Un fichier de police sera généralement au format `.otf` ou `.ttf`. Ces formats, bien que compatibles, ne sont pas adaptés pour une utilisation web. Il convient de les convertir au format `.woff2`. Vous pouvez le faire grâce à des outils en ligne tels que [Transfonter.](https://transfonter.org/)
|
||||||
|
|
||||||
|
Il est aussi possible de supprimer les caractères inutilisés dans le fichier de police (comme les alphabets non latin) afin de réduire le poids du fichier.
|
||||||
|
|
||||||
|
### Importer la police
|
||||||
|
|
||||||
|
Avant de pouvoir utiliser notre police personnalisée, nous devons la rendre disponible sur notre site web. Cela se passe dans le fichier CSS, grâce à la déclaration `@font-face`.
|
||||||
|
|
||||||
|
```css
|
||||||
|
@font-face {
|
||||||
|
font-family: "Luciole"; // on définit le nom de la police
|
||||||
|
src: url("../fonts/webfonts/Luciole-Regular.woff2") format("woff2"); // chemin vers le fichier .woff2
|
||||||
|
font-weight: normal; // graisse de la police
|
||||||
|
font-style: normal; // style de la police
|
||||||
|
font-display: swap; // stratégie de chargement de la police
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Utiliser la police
|
||||||
|
|
||||||
|
Il ne reste plus qu'à indiquer aux éléments concernés qu'ils doivent utiliser notre police personnalisée !
|
||||||
|
|
||||||
|
:::warning Attention
|
||||||
|
N'oubliez pas les polices de secours 😉
|
||||||
|
:::
|
||||||
|
|
||||||
|
```css
|
||||||
|
h1,
|
||||||
|
h2,
|
||||||
|
h3 {
|
||||||
|
font-family: "Luciole", Arial, sans-serif;
|
||||||
|
}
|
||||||
|
```
|
|
@ -0,0 +1,114 @@
|
||||||
|
# CSS Intermédiaire
|
||||||
|
|
||||||
|
Dans cette partie plus poussée, nous verrons des techniques de mise en page avancée comme les grilles CSS ainsi que des fonctionnalités CSS dynamiques telles que les variables.
|
||||||
|
|
||||||
|
## Les variables CSS
|
||||||
|
|
||||||
|
Depuis quelques années, le langage CSS permet de définir et d'utiliser des variables. Une variable est un élément qui stocke une valeur.
|
||||||
|
L'intérêt des variables réside principalement, mais pas uniquement, dans le fait de pouvoir utiliser une même valeur dynamique à plusieurs endroits. Ainsi, si la variable doit être modifiée, elle modifiera toutes ses instances en une seule fois.
|
||||||
|
|
||||||
|
Par exemple, si la couleur principale d'une marque change, il suffira de mettre la variable à jour et pas de chercher et modifier chaque occurrence de la couleur en question dans le code.
|
||||||
|
|
||||||
|
Une variable peut stocker n'importe quelle valeur. Qu'il s'agisse d'une couleur, d'une suite de chiffre ou encore d'une fonction entière.
|
||||||
|
|
||||||
|
### Syntaxe
|
||||||
|
|
||||||
|
Pour définir une variable en CSS, il convient de respecter la nomenclature suivante :
|
||||||
|
`--` `NOM-DE-VARIABLE` `:` `VALEUR`
|
||||||
|
|
||||||
|
Les variables globales sont généralement définies dans un sélecteur `:root`
|
||||||
|
Par exemple :
|
||||||
|
|
||||||
|
```css
|
||||||
|
:root {
|
||||||
|
--text-color: #222222;
|
||||||
|
--bg-color: white;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### Utilisation
|
||||||
|
|
||||||
|
Une fois définies, les variables sont disponibles mais n'auront pas d'effet tant qu'elles ne seront pas appliquées à un propriété CSS. Pour utiliser une variable, il faut utiliser la fonction CSS `var()`
|
||||||
|
|
||||||
|
```css
|
||||||
|
body {
|
||||||
|
color: var(--text-color); // #222222
|
||||||
|
background-color: var(--bg-color); // white
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Afin d'éviter d'utiliser une variable qui n'existe pas ou qui pourrait être supprimée, on peut définir une deuxième valeur dans la fonction `var()` qui servira de valeur de secours.
|
||||||
|
|
||||||
|
```css
|
||||||
|
body {
|
||||||
|
color: var(--text-color, black); // #222222
|
||||||
|
background-color: var(--brand-color, #f0f0f0); // #f0f0f0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## CSS Grid
|
||||||
|
|
||||||
|
La propriété `display: grid` permet de créer des grilles de mise en page, c'est-à-dire des colonnes, des lignes et des cellules dans lesquelles placer le contenu HTML.
|
||||||
|
|
||||||
|
Je vous recommande la lecture détaillée et l'utilisation des exemples dynamiques de [cet article sur les grilles CSS.](https://www.joshwcomeau.com/css/interactive-guide-to-grid/)
|
||||||
|
|
||||||
|
### Utilisation
|
||||||
|
|
||||||
|
La grille se déclare sur un élément (parent) contenant d'autres éléments (enfants). Toute la structure de la grille sera également déclarée sur la parent.
|
||||||
|
|
||||||
|
```css
|
||||||
|
.parent {
|
||||||
|
// On initialise la grille
|
||||||
|
display: grid;
|
||||||
|
// On créé des colonnes
|
||||||
|
grid-template-columns: 1fr 3fr; // 2 colonnes
|
||||||
|
// On créé des lignes
|
||||||
|
grid-template-rows: 100px 1fr 50px; // 3 lignes
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
L'unité `fr` utilisée ici permet de dire aux colonnes et lignes de répartir l'espace disponible selon des **fr**actions. Ainsi, la deuxième colonne bénificiera des 3 quart de l'espace disponible alors que la première n'en aura qu'un quart.
|
||||||
|
|
||||||
|
### La répétition de colonnes
|
||||||
|
|
||||||
|
Si nos colonnes doivent partager l'espace de manière égale, il est possible d'utiliser la fonction `repeat()` afin d'optimiser la déclaration.
|
||||||
|
|
||||||
|
```css
|
||||||
|
.parent {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr); // 3 colonnes de 1fr chacune
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### La répétition <span lang="en">responsive</span>
|
||||||
|
|
||||||
|
Bien que pratique, cette déclaration n'est pas <span lang="en">responsive</span>. On peut la modifier dans une règle `@media` en fonction de la taille de la fenêtre. On peut également définir une grille fluide qui s'adaptera d'elle-même à l'espace disponible dans le navigateur.
|
||||||
|
|
||||||
|
```css
|
||||||
|
.parent {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- `auto-fit` permet de dire aux cellules de grandir afin de remplir l'espace disponible dans la ligne
|
||||||
|
- `minmax()` est une fonction qui permet de définir une valeur minimum et une valeur maximum
|
||||||
|
- `300px` est la largeur minimum d'une cellule
|
||||||
|
- `1fr` est la largeur maximum
|
||||||
|
|
||||||
|
Ainsi, la grille va calculer dynamiquement combien d'enfants peuvent rentrer côte-à-côte dans l'espace disponible en se basant sur les valeurs min et max. Lorsqu'un enfant n'a plus la place, il passe à la ligne.
|
||||||
|
|
||||||
|
#### Optimisation finale
|
||||||
|
|
||||||
|
Pour éviter de causer un débordement horizontal à cause de la valeur min sur les petits écrans, on préfèrera utiliser un garde-fou qui garantira que les enfants resteront contenus dans la page.
|
||||||
|
|
||||||
|
```css
|
||||||
|
.parent {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr));
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
- `min()` est une fonction qui permet de choisir la plus petite valeur entre deux
|
||||||
|
- `300px` est la largeur minimum idéale d'une cellule
|
||||||
|
- `100%` est la largeur minimum permise pour éviter un débordement horizontal
|
|
@ -1,13 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "vitepress-starter",
|
"name": "vitepress-starter",
|
||||||
"packageManager": "yarn@3.2.1",
|
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"dev": "vitepress dev docs",
|
"dev": "vitepress dev docs",
|
||||||
"docs:build": "vitepress build docs",
|
"docs:build": "vitepress build docs",
|
||||||
"serve": "vitepress serve docs"
|
"serve": "vitepress serve docs"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"vitepress": "1.0.0-alpha.63",
|
"vitepress": "^1.0.0-rc.31",
|
||||||
"vue": "^3.2.47"
|
"vue": "^3.2.47"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
782
pnpm-lock.yaml
|
@ -1,782 +0,0 @@
|
||||||
lockfileVersion: 5.4
|
|
||||||
|
|
||||||
specifiers:
|
|
||||||
vitepress: 1.0.0-alpha.63
|
|
||||||
vue: ^3.2.47
|
|
||||||
|
|
||||||
devDependencies:
|
|
||||||
vitepress: 1.0.0-alpha.63
|
|
||||||
vue: 3.2.47
|
|
||||||
|
|
||||||
packages:
|
|
||||||
|
|
||||||
/@algolia/autocomplete-core/1.7.4:
|
|
||||||
resolution: {integrity: sha512-daoLpQ3ps/VTMRZDEBfU8ixXd+amZcNJ4QSP3IERGyzqnL5Ch8uSRFt/4G8pUvW9c3o6GA4vtVv4I4lmnkdXyg==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/autocomplete-shared': 1.7.4
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/autocomplete-preset-algolia/1.7.4_algoliasearch@4.16.0:
|
|
||||||
resolution: {integrity: sha512-s37hrvLEIfcmKY8VU9LsAXgm2yfmkdHT3DnA3SgHaY93yjZ2qL57wzb5QweVkYuEBZkT2PIREvRoLXC2sxTbpQ==}
|
|
||||||
peerDependencies:
|
|
||||||
'@algolia/client-search': '>= 4.9.1 < 6'
|
|
||||||
algoliasearch: '>= 4.9.1 < 6'
|
|
||||||
dependencies:
|
|
||||||
'@algolia/autocomplete-shared': 1.7.4
|
|
||||||
algoliasearch: 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/autocomplete-shared/1.7.4:
|
|
||||||
resolution: {integrity: sha512-2VGCk7I9tA9Ge73Km99+Qg87w0wzW4tgUruvWAn/gfey1ZXgmxZtyIRBebk35R1O8TbK77wujVtCnpsGpRy1kg==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/cache-browser-local-storage/4.16.0:
|
|
||||||
resolution: {integrity: sha512-jVrk0YB3tjOhD5/lhBtYCVCeLjZmVpf2kdi4puApofytf/R0scjWz0GdozlW4HhU+Prxmt/c9ge4QFjtv5OAzQ==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/cache-common': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/cache-common/4.16.0:
|
|
||||||
resolution: {integrity: sha512-4iHjkSYQYw46pITrNQgXXhvUmcekI8INz1m+SzmqLX8jexSSy4Ky4zfGhZzhhhLHXUP3+x/PK/c0qPjxEvRwKQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/cache-in-memory/4.16.0:
|
|
||||||
resolution: {integrity: sha512-p7RYykvA6Ip6QENxrh99nOD77otVh1sJRivcgcVpnjoZb5sIN3t33eUY1DpB9QSBizcrW+qk19rNkdnZ43a+PQ==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/cache-common': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/client-account/4.16.0:
|
|
||||||
resolution: {integrity: sha512-eydcfpdIyuWoKgUSz5iZ/L0wE/Wl7958kACkvTHLDNXvK/b8Z1zypoJavh6/km1ZNQmFpeYS2jrmq0kUSFn02w==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/client-common': 4.16.0
|
|
||||||
'@algolia/client-search': 4.16.0
|
|
||||||
'@algolia/transporter': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/client-analytics/4.16.0:
|
|
||||||
resolution: {integrity: sha512-cONWXH3BfilgdlCofUm492bJRWtpBLVW/hsUlfoFtiX1u05xoBP7qeiDwh9RR+4pSLHLodYkHAf5U4honQ55Qg==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/client-common': 4.16.0
|
|
||||||
'@algolia/client-search': 4.16.0
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
'@algolia/transporter': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/client-common/4.16.0:
|
|
||||||
resolution: {integrity: sha512-QVdR4019ukBH6f5lFr27W60trRxQF1SfS1qo0IP6gjsKhXhUVJuHxOCA6ArF87jrNkeuHEoRoDU+GlvaecNo8g==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
'@algolia/transporter': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/client-personalization/4.16.0:
|
|
||||||
resolution: {integrity: sha512-irtLafssDGPuhYqIwxqOxiWlVYvrsBD+EMA1P9VJtkKi3vSNBxiWeQ0f0Tn53cUNdSRNEssfoEH84JL97SV2SQ==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/client-common': 4.16.0
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
'@algolia/transporter': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/client-search/4.16.0:
|
|
||||||
resolution: {integrity: sha512-xsfrAE1jO/JDh1wFrRz+alVyW+aA6qnkzmbWWWZWEgVF3EaFqzIf9r1l/aDtDdBtNTNhX9H3Lg31+BRtd5izQA==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/client-common': 4.16.0
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
'@algolia/transporter': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/logger-common/4.16.0:
|
|
||||||
resolution: {integrity: sha512-U9H8uCzSDuePJmbnjjTX21aPDRU6x74Tdq3dJmdYu2+pISx02UeBJm4kSgc9RW5jcR5j35G9gnjHY9Q3ngWbyQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/logger-console/4.16.0:
|
|
||||||
resolution: {integrity: sha512-+qymusiM+lPZKrkf0tDjCQA158eEJO2IU+Nr/sJ9TFyI/xkFPjNPzw/Qbc8Iy/xcOXGlc6eMgmyjtVQqAWq6UA==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/logger-common': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/requester-browser-xhr/4.16.0:
|
|
||||||
resolution: {integrity: sha512-gK+kvs6LHl/PaOJfDuwjkopNbG1djzFLsVBklGBsSU6h6VjFkxIpo6Qq80IK14p9cplYZfhfaL12va6Q9p3KVQ==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/requester-common/4.16.0:
|
|
||||||
resolution: {integrity: sha512-3Zmcs/iMubcm4zqZ3vZG6Zum8t+hMWxGMzo0/uY2BD8o9q5vMxIYI0c4ocdgQjkXcix189WtZNkgjSOBzSbkdw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/requester-node-http/4.16.0:
|
|
||||||
resolution: {integrity: sha512-L8JxM2VwZzh8LJ1Zb8TFS6G3icYsCKZsdWW+ahcEs1rGWmyk9SybsOe1MLnjonGBaqPWJkn9NjS7mRdjEmBtKA==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@algolia/transporter/4.16.0:
|
|
||||||
resolution: {integrity: sha512-H9BVB2EAjT65w7XGBNf5drpsW39x2aSZ942j4boSAAJPPlLmjtj5IpAP7UAtsV8g9Beslonh0bLa1XGmE/P0BA==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/cache-common': 4.16.0
|
|
||||||
'@algolia/logger-common': 4.16.0
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/helper-string-parser/7.19.4:
|
|
||||||
resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/helper-validator-identifier/7.19.1:
|
|
||||||
resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/parser/7.21.3:
|
|
||||||
resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==}
|
|
||||||
engines: {node: '>=6.0.0'}
|
|
||||||
hasBin: true
|
|
||||||
dependencies:
|
|
||||||
'@babel/types': 7.21.3
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@babel/types/7.21.3:
|
|
||||||
resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==}
|
|
||||||
engines: {node: '>=6.9.0'}
|
|
||||||
dependencies:
|
|
||||||
'@babel/helper-string-parser': 7.19.4
|
|
||||||
'@babel/helper-validator-identifier': 7.19.1
|
|
||||||
to-fast-properties: 2.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@docsearch/css/3.3.3:
|
|
||||||
resolution: {integrity: sha512-6SCwI7P8ao+se1TUsdZ7B4XzL+gqeQZnBc+2EONZlcVa0dVrk0NjETxozFKgMv0eEGH8QzP1fkN+A1rH61l4eg==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@docsearch/js/3.3.3:
|
|
||||||
resolution: {integrity: sha512-2xAv2GFuHzzmG0SSZgf8wHX0qZX8n9Y1ZirKUk5Wrdc+vH9CL837x2hZIUdwcPZI9caBA+/CzxsS68O4waYjUQ==}
|
|
||||||
dependencies:
|
|
||||||
'@docsearch/react': 3.3.3
|
|
||||||
preact: 10.13.2
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@algolia/client-search'
|
|
||||||
- '@types/react'
|
|
||||||
- react
|
|
||||||
- react-dom
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@docsearch/react/3.3.3:
|
|
||||||
resolution: {integrity: sha512-pLa0cxnl+G0FuIDuYlW+EBK6Rw2jwLw9B1RHIeS4N4s2VhsfJ/wzeCi3CWcs5yVfxLd5ZK50t//TMA5e79YT7Q==}
|
|
||||||
peerDependencies:
|
|
||||||
'@types/react': '>= 16.8.0 < 19.0.0'
|
|
||||||
react: '>= 16.8.0 < 19.0.0'
|
|
||||||
react-dom: '>= 16.8.0 < 19.0.0'
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/react':
|
|
||||||
optional: true
|
|
||||||
react:
|
|
||||||
optional: true
|
|
||||||
react-dom:
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
'@algolia/autocomplete-core': 1.7.4
|
|
||||||
'@algolia/autocomplete-preset-algolia': 1.7.4_algoliasearch@4.16.0
|
|
||||||
'@docsearch/css': 3.3.3
|
|
||||||
algoliasearch: 4.16.0
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@algolia/client-search'
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@esbuild/android-arm/0.17.14:
|
|
||||||
resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm]
|
|
||||||
os: [android]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/android-arm64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [android]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/android-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [android]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/darwin-arm64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [darwin]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/darwin-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [darwin]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/freebsd-arm64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [freebsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/freebsd-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [freebsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-arm/0.17.14:
|
|
||||||
resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-arm64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-ia32/0.17.14:
|
|
||||||
resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [ia32]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-loong64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [loong64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-mips64el/0.17.14:
|
|
||||||
resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [mips64el]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-ppc64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [ppc64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-riscv64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [riscv64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-s390x/0.17.14:
|
|
||||||
resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [s390x]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/linux-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [linux]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/netbsd-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [netbsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/openbsd-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [openbsd]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/sunos-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [sunos]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/win32-arm64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [arm64]
|
|
||||||
os: [win32]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/win32-ia32/0.17.14:
|
|
||||||
resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [ia32]
|
|
||||||
os: [win32]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@esbuild/win32-x64/0.17.14:
|
|
||||||
resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
cpu: [x64]
|
|
||||||
os: [win32]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/@types/web-bluetooth/0.0.16:
|
|
||||||
resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vitejs/plugin-vue/4.1.0_vite@4.2.1+vue@3.2.47:
|
|
||||||
resolution: {integrity: sha512-++9JOAFdcXI3lyer9UKUV4rfoQ3T1RN8yDqoCLar86s0xQct5yblxAE+yWgRnU5/0FOlVCpTZpYSBV/bGWrSrQ==}
|
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
|
||||||
peerDependencies:
|
|
||||||
vite: ^4.0.0
|
|
||||||
vue: ^3.2.25
|
|
||||||
dependencies:
|
|
||||||
vite: 4.2.1
|
|
||||||
vue: 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-core/3.2.47:
|
|
||||||
resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.21.3
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
estree-walker: 2.0.2
|
|
||||||
source-map: 0.6.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-dom/3.2.47:
|
|
||||||
resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-core': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-sfc/3.2.47:
|
|
||||||
resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.21.3
|
|
||||||
'@vue/compiler-core': 3.2.47
|
|
||||||
'@vue/compiler-dom': 3.2.47
|
|
||||||
'@vue/compiler-ssr': 3.2.47
|
|
||||||
'@vue/reactivity-transform': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
estree-walker: 2.0.2
|
|
||||||
magic-string: 0.25.9
|
|
||||||
postcss: 8.4.21
|
|
||||||
source-map: 0.6.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/compiler-ssr/3.2.47:
|
|
||||||
resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-dom': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/devtools-api/6.5.0:
|
|
||||||
resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/reactivity-transform/3.2.47:
|
|
||||||
resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==}
|
|
||||||
dependencies:
|
|
||||||
'@babel/parser': 7.21.3
|
|
||||||
'@vue/compiler-core': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
estree-walker: 2.0.2
|
|
||||||
magic-string: 0.25.9
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/reactivity/3.2.47:
|
|
||||||
resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/runtime-core/3.2.47:
|
|
||||||
resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/reactivity': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/runtime-dom/3.2.47:
|
|
||||||
resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/runtime-core': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
csstype: 2.6.21
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/server-renderer/3.2.47_vue@3.2.47:
|
|
||||||
resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==}
|
|
||||||
peerDependencies:
|
|
||||||
vue: 3.2.47
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-ssr': 3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
vue: 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vue/shared/3.2.47:
|
|
||||||
resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vueuse/core/9.13.0_vue@3.2.47:
|
|
||||||
resolution: {integrity: sha512-pujnclbeHWxxPRqXWmdkKV5OX4Wk4YeK7wusHqRwU0Q7EFusHoqNA/aPhB6KCh9hEqJkLAJo7bb0Lh9b+OIVzw==}
|
|
||||||
dependencies:
|
|
||||||
'@types/web-bluetooth': 0.0.16
|
|
||||||
'@vueuse/metadata': 9.13.0
|
|
||||||
'@vueuse/shared': 9.13.0_vue@3.2.47
|
|
||||||
vue-demi: 0.13.11_vue@3.2.47
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@vue/composition-api'
|
|
||||||
- vue
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vueuse/metadata/9.13.0:
|
|
||||||
resolution: {integrity: sha512-gdU7TKNAUVlXXLbaF+ZCfte8BjRJQWPCa2J55+7/h+yDtzw3vOoGQDRXzI6pyKyo6bXFT5/QoPE4hAknExjRLQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/@vueuse/shared/9.13.0_vue@3.2.47:
|
|
||||||
resolution: {integrity: sha512-UrnhU+Cnufu4S6JLCPZnkWh0WwZGUp72ktOF2DFptMlOs3TOdVv8xJN53zhHGARmVOsz5KqOls09+J1NR6sBKw==}
|
|
||||||
dependencies:
|
|
||||||
vue-demi: 0.13.11_vue@3.2.47
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@vue/composition-api'
|
|
||||||
- vue
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/algoliasearch/4.16.0:
|
|
||||||
resolution: {integrity: sha512-HAjKJ6bBblaXqO4dYygF4qx251GuJ6zCZt+qbJ+kU7sOC+yc84pawEjVpJByh+cGP2APFCsao2Giz50cDlKNPA==}
|
|
||||||
dependencies:
|
|
||||||
'@algolia/cache-browser-local-storage': 4.16.0
|
|
||||||
'@algolia/cache-common': 4.16.0
|
|
||||||
'@algolia/cache-in-memory': 4.16.0
|
|
||||||
'@algolia/client-account': 4.16.0
|
|
||||||
'@algolia/client-analytics': 4.16.0
|
|
||||||
'@algolia/client-common': 4.16.0
|
|
||||||
'@algolia/client-personalization': 4.16.0
|
|
||||||
'@algolia/client-search': 4.16.0
|
|
||||||
'@algolia/logger-common': 4.16.0
|
|
||||||
'@algolia/logger-console': 4.16.0
|
|
||||||
'@algolia/requester-browser-xhr': 4.16.0
|
|
||||||
'@algolia/requester-common': 4.16.0
|
|
||||||
'@algolia/requester-node-http': 4.16.0
|
|
||||||
'@algolia/transporter': 4.16.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/ansi-sequence-parser/1.1.0:
|
|
||||||
resolution: {integrity: sha512-lEm8mt52to2fT8GhciPCGeCXACSz2UwIN4X2e2LJSnZ5uAbn2/dsYdOmUXq0AtWS5cpAupysIneExOgH0Vd2TQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/body-scroll-lock/4.0.0-beta.0:
|
|
||||||
resolution: {integrity: sha512-a7tP5+0Mw3YlUJcGAKUqIBkYYGlYxk2fnCasq/FUph1hadxlTRjF+gAcZksxANnaMnALjxEddmSi/H3OR8ugcQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/csstype/2.6.21:
|
|
||||||
resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/esbuild/0.17.14:
|
|
||||||
resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
hasBin: true
|
|
||||||
requiresBuild: true
|
|
||||||
optionalDependencies:
|
|
||||||
'@esbuild/android-arm': 0.17.14
|
|
||||||
'@esbuild/android-arm64': 0.17.14
|
|
||||||
'@esbuild/android-x64': 0.17.14
|
|
||||||
'@esbuild/darwin-arm64': 0.17.14
|
|
||||||
'@esbuild/darwin-x64': 0.17.14
|
|
||||||
'@esbuild/freebsd-arm64': 0.17.14
|
|
||||||
'@esbuild/freebsd-x64': 0.17.14
|
|
||||||
'@esbuild/linux-arm': 0.17.14
|
|
||||||
'@esbuild/linux-arm64': 0.17.14
|
|
||||||
'@esbuild/linux-ia32': 0.17.14
|
|
||||||
'@esbuild/linux-loong64': 0.17.14
|
|
||||||
'@esbuild/linux-mips64el': 0.17.14
|
|
||||||
'@esbuild/linux-ppc64': 0.17.14
|
|
||||||
'@esbuild/linux-riscv64': 0.17.14
|
|
||||||
'@esbuild/linux-s390x': 0.17.14
|
|
||||||
'@esbuild/linux-x64': 0.17.14
|
|
||||||
'@esbuild/netbsd-x64': 0.17.14
|
|
||||||
'@esbuild/openbsd-x64': 0.17.14
|
|
||||||
'@esbuild/sunos-x64': 0.17.14
|
|
||||||
'@esbuild/win32-arm64': 0.17.14
|
|
||||||
'@esbuild/win32-ia32': 0.17.14
|
|
||||||
'@esbuild/win32-x64': 0.17.14
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/estree-walker/2.0.2:
|
|
||||||
resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/fsevents/2.3.2:
|
|
||||||
resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
|
|
||||||
engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
|
|
||||||
os: [darwin]
|
|
||||||
requiresBuild: true
|
|
||||||
dev: true
|
|
||||||
optional: true
|
|
||||||
|
|
||||||
/function-bind/1.1.1:
|
|
||||||
resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/has/1.0.3:
|
|
||||||
resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
|
|
||||||
engines: {node: '>= 0.4.0'}
|
|
||||||
dependencies:
|
|
||||||
function-bind: 1.1.1
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/is-core-module/2.11.0:
|
|
||||||
resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
|
|
||||||
dependencies:
|
|
||||||
has: 1.0.3
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/jsonc-parser/3.2.0:
|
|
||||||
resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/magic-string/0.25.9:
|
|
||||||
resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
|
|
||||||
dependencies:
|
|
||||||
sourcemap-codec: 1.4.8
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/nanoid/3.3.6:
|
|
||||||
resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==}
|
|
||||||
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
|
|
||||||
hasBin: true
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/path-parse/1.0.7:
|
|
||||||
resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/picocolors/1.0.0:
|
|
||||||
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/postcss/8.4.21:
|
|
||||||
resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==}
|
|
||||||
engines: {node: ^10 || ^12 || >=14}
|
|
||||||
dependencies:
|
|
||||||
nanoid: 3.3.6
|
|
||||||
picocolors: 1.0.0
|
|
||||||
source-map-js: 1.0.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/preact/10.13.2:
|
|
||||||
resolution: {integrity: sha512-q44QFLhOhty2Bd0Y46fnYW0gD/cbVM9dUVtNTDKPcdXSMA7jfY+Jpd6rk3GB0lcQss0z5s/6CmVP0Z/hV+g6pw==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/resolve/1.22.1:
|
|
||||||
resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
|
|
||||||
hasBin: true
|
|
||||||
dependencies:
|
|
||||||
is-core-module: 2.11.0
|
|
||||||
path-parse: 1.0.7
|
|
||||||
supports-preserve-symlinks-flag: 1.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/rollup/3.20.2:
|
|
||||||
resolution: {integrity: sha512-3zwkBQl7Ai7MFYQE0y1MeQ15+9jsi7XxfrqwTb/9EK8D9C9+//EBR4M+CuA1KODRaNbFez/lWxA5vhEGZp4MUg==}
|
|
||||||
engines: {node: '>=14.18.0', npm: '>=8.0.0'}
|
|
||||||
hasBin: true
|
|
||||||
optionalDependencies:
|
|
||||||
fsevents: 2.3.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/shiki/0.14.1:
|
|
||||||
resolution: {integrity: sha512-+Jz4nBkCBe0mEDqo1eKRcCdjRtrCjozmcbTUjbPTX7OOJfEbTZzlUWlZtGe3Gb5oV1/jnojhG//YZc3rs9zSEw==}
|
|
||||||
dependencies:
|
|
||||||
ansi-sequence-parser: 1.1.0
|
|
||||||
jsonc-parser: 3.2.0
|
|
||||||
vscode-oniguruma: 1.7.0
|
|
||||||
vscode-textmate: 8.0.0
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/source-map-js/1.0.2:
|
|
||||||
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
|
|
||||||
engines: {node: '>=0.10.0'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/source-map/0.6.1:
|
|
||||||
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
|
|
||||||
engines: {node: '>=0.10.0'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/sourcemap-codec/1.4.8:
|
|
||||||
resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
|
|
||||||
deprecated: Please use @jridgewell/sourcemap-codec instead
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/supports-preserve-symlinks-flag/1.0.0:
|
|
||||||
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
|
|
||||||
engines: {node: '>= 0.4'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/to-fast-properties/2.0.0:
|
|
||||||
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
|
|
||||||
engines: {node: '>=4'}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vite/4.2.1:
|
|
||||||
resolution: {integrity: sha512-7MKhqdy0ISo4wnvwtqZkjke6XN4taqQ2TBaTccLIpOKv7Vp2h4Y+NpmWCnGDeSvvn45KxvWgGyb0MkHvY1vgbg==}
|
|
||||||
engines: {node: ^14.18.0 || >=16.0.0}
|
|
||||||
hasBin: true
|
|
||||||
peerDependencies:
|
|
||||||
'@types/node': '>= 14'
|
|
||||||
less: '*'
|
|
||||||
sass: '*'
|
|
||||||
stylus: '*'
|
|
||||||
sugarss: '*'
|
|
||||||
terser: ^5.4.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@types/node':
|
|
||||||
optional: true
|
|
||||||
less:
|
|
||||||
optional: true
|
|
||||||
sass:
|
|
||||||
optional: true
|
|
||||||
stylus:
|
|
||||||
optional: true
|
|
||||||
sugarss:
|
|
||||||
optional: true
|
|
||||||
terser:
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
esbuild: 0.17.14
|
|
||||||
postcss: 8.4.21
|
|
||||||
resolve: 1.22.1
|
|
||||||
rollup: 3.20.2
|
|
||||||
optionalDependencies:
|
|
||||||
fsevents: 2.3.2
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vitepress/1.0.0-alpha.63:
|
|
||||||
resolution: {integrity: sha512-7QMwjT9888S64SkmJqSmRlP417yniCj4IqawIpzYSQMnlJ5CjBWOTbzXKvmzRZkjOJGTcaYr2C88+1/z8ERG+g==}
|
|
||||||
hasBin: true
|
|
||||||
dependencies:
|
|
||||||
'@docsearch/css': 3.3.3
|
|
||||||
'@docsearch/js': 3.3.3
|
|
||||||
'@vitejs/plugin-vue': 4.1.0_vite@4.2.1+vue@3.2.47
|
|
||||||
'@vue/devtools-api': 6.5.0
|
|
||||||
'@vueuse/core': 9.13.0_vue@3.2.47
|
|
||||||
body-scroll-lock: 4.0.0-beta.0
|
|
||||||
shiki: 0.14.1
|
|
||||||
vite: 4.2.1
|
|
||||||
vue: 3.2.47
|
|
||||||
transitivePeerDependencies:
|
|
||||||
- '@algolia/client-search'
|
|
||||||
- '@types/node'
|
|
||||||
- '@types/react'
|
|
||||||
- '@vue/composition-api'
|
|
||||||
- less
|
|
||||||
- react
|
|
||||||
- react-dom
|
|
||||||
- sass
|
|
||||||
- stylus
|
|
||||||
- sugarss
|
|
||||||
- terser
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vscode-oniguruma/1.7.0:
|
|
||||||
resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vscode-textmate/8.0.0:
|
|
||||||
resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==}
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vue-demi/0.13.11_vue@3.2.47:
|
|
||||||
resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==}
|
|
||||||
engines: {node: '>=12'}
|
|
||||||
hasBin: true
|
|
||||||
requiresBuild: true
|
|
||||||
peerDependencies:
|
|
||||||
'@vue/composition-api': ^1.0.0-rc.1
|
|
||||||
vue: ^3.0.0-0 || ^2.6.0
|
|
||||||
peerDependenciesMeta:
|
|
||||||
'@vue/composition-api':
|
|
||||||
optional: true
|
|
||||||
dependencies:
|
|
||||||
vue: 3.2.47
|
|
||||||
dev: true
|
|
||||||
|
|
||||||
/vue/3.2.47:
|
|
||||||
resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==}
|
|
||||||
dependencies:
|
|
||||||
'@vue/compiler-dom': 3.2.47
|
|
||||||
'@vue/compiler-sfc': 3.2.47
|
|
||||||
'@vue/runtime-dom': 3.2.47
|
|
||||||
'@vue/server-renderer': 3.2.47_vue@3.2.47
|
|
||||||
'@vue/shared': 3.2.47
|
|
||||||
dev: true
|
|