This PR contains various improvements and cleanups to the configuration and JavaScript code. Key changes include: - Adding simple comments to `jsconfig.json`. - Improving config: `bud.wpjson.set` replaces `bud.wpjson.settings`. Note that `bud.wpjson.settings` is not deprecated. - `bud.wpjson.settings` now disables `dropCap` by default. - `app.js` and `editor.js` now use `if (import.meta.webpackHot)` instead of optional chaining, since `import.meta.webpackHot` is not a real method and using optional chaining might cause errors.
This commit is contained in:
122
bud.config.js
122
bud.config.js
@@ -1,86 +1,64 @@
|
|||||||
/**
|
/**
|
||||||
* Build configuration
|
* Compiler configuration
|
||||||
*
|
*
|
||||||
* @see {@link https://roots.io/docs/sage/ sage documentation}
|
* @see {@link https://roots.io/docs/sage sage documentation}
|
||||||
* @see {@link https://bud.js.org/guides/configure/ bud.js configuration guide}
|
* @see {@link https://bud.js.org/guides/configure bud.js configuration guide}
|
||||||
*
|
*
|
||||||
* @typedef {import('@roots/bud').Bud} Bud
|
* @param {import('@roots/bud').Bud} app
|
||||||
* @param {Bud} app
|
|
||||||
*/
|
*/
|
||||||
export default async (app) => {
|
export default async (app) => {
|
||||||
/**
|
/**
|
||||||
* Application entrypoints
|
* Application assets & entrypoints
|
||||||
* @see {@link https://bud.js.org/docs/bud.entry/}
|
*
|
||||||
|
* @see {@link https://bud.js.org/docs/bud.entry}
|
||||||
|
* @see {@link https://bud.js.org/docs/bud.assets}
|
||||||
*/
|
*/
|
||||||
app
|
app
|
||||||
.entry({
|
.entry('app', ['@scripts/app', '@styles/app'])
|
||||||
app: ['@scripts/app', '@styles/app'],
|
.entry('editor', ['@scripts/editor', '@styles/editor'])
|
||||||
editor: ['@scripts/editor', '@styles/editor'],
|
.assets(['images']);
|
||||||
})
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Directory contents to be included in the compilation
|
* Set public path
|
||||||
* @see {@link https://bud.js.org/docs/bud.assets/}
|
*
|
||||||
*/
|
* @see {@link https://bud.js.org/docs/bud.setPublicPath}
|
||||||
.assets(['images'])
|
*/
|
||||||
|
app.setPublicPath('/app/themes/sage/public/');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Matched files trigger a page reload when modified
|
* Development server settings
|
||||||
* @see {@link https://bud.js.org/docs/bud.watch/}
|
*
|
||||||
*/
|
* @see {@link https://bud.js.org/docs/bud.setUrl}
|
||||||
.watch(['resources/views', 'app'])
|
* @see {@link https://bud.js.org/docs/bud.setProxyUrl}
|
||||||
|
* @see {@link https://bud.js.org/docs/bud.watch}
|
||||||
|
*/
|
||||||
|
app
|
||||||
|
.setUrl('http://localhost:3000')
|
||||||
|
.setProxyUrl('http://example.test')
|
||||||
|
.watch(['resources/views', 'app']);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Proxy origin (`WP_HOME`)
|
* Generate WordPress `theme.json`
|
||||||
* @see {@link https://bud.js.org/docs/bud.proxy/}
|
*
|
||||||
*/
|
* @note This overwrites `theme.json` on every build.
|
||||||
.proxy('http://example.test')
|
*
|
||||||
|
* @see {@link https://bud.js.org/extensions/sage/theme.json}
|
||||||
/**
|
* @see {@link https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json}
|
||||||
* Development origin
|
*/
|
||||||
* @see {@link https://bud.js.org/docs/bud.serve/}
|
app.wpjson
|
||||||
*/
|
.set('settings.color.custom', false)
|
||||||
.serve('http://localhost:3000')
|
.set('settings.color.customDuotone', false)
|
||||||
|
.set('settings.color.customGradient', false)
|
||||||
/**
|
.set('settings.color.defaultDuotone', false)
|
||||||
* URI of the `public` directory
|
.set('settings.color.defaultGradients', false)
|
||||||
* @see {@link https://bud.js.org/docs/bud.setPublicPath/}
|
.set('settings.color.defaultPalette', false)
|
||||||
*/
|
.set('settings.color.duotone', [])
|
||||||
.setPublicPath('/app/themes/sage/public/')
|
.set('settings.custom.spacing', {})
|
||||||
|
.set('settings.custom.typography.font-size', {})
|
||||||
/**
|
.set('settings.custom.typography.line-height', {})
|
||||||
* Generate WordPress `theme.json`
|
.set('settings.spacing.padding', true)
|
||||||
*
|
.set('settings.spacing.units', ['px', '%', 'em', 'rem', 'vw', 'vh'])
|
||||||
* @note This overwrites `theme.json` on every build.
|
.set('settings.typography.customFontSize', false)
|
||||||
*
|
|
||||||
* @see {@link https://bud.js.org/extensions/sage/theme.json/}
|
|
||||||
* @see {@link https://developer.wordpress.org/block-editor/how-to-guides/themes/theme-json/}
|
|
||||||
*/
|
|
||||||
.wpjson.settings({
|
|
||||||
color: {
|
|
||||||
custom: false,
|
|
||||||
customDuotone: false,
|
|
||||||
customGradient: false,
|
|
||||||
defaultDuotone: false,
|
|
||||||
defaultGradients: false,
|
|
||||||
defaultPalette: false,
|
|
||||||
duotone: [],
|
|
||||||
},
|
|
||||||
custom: {
|
|
||||||
spacing: {},
|
|
||||||
typography: {
|
|
||||||
'font-size': {},
|
|
||||||
'line-height': {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
spacing: {
|
|
||||||
padding: true,
|
|
||||||
units: ['px', '%', 'em', 'rem', 'vw', 'vh'],
|
|
||||||
},
|
|
||||||
typography: {
|
|
||||||
customFontSize: false,
|
|
||||||
},
|
|
||||||
})
|
|
||||||
.useTailwindColors()
|
.useTailwindColors()
|
||||||
.useTailwindFontFamily()
|
.useTailwindFontFamily()
|
||||||
.useTailwindFontSize()
|
.useTailwindFontSize()
|
||||||
|
|||||||
@@ -2,13 +2,28 @@
|
|||||||
"extends": "@roots/sage/config/jsconfig.json",
|
"extends": "@roots/sage/config/jsconfig.json",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"baseUrl": "resources",
|
"baseUrl": "resources",
|
||||||
|
/**
|
||||||
|
* Resolve aliases
|
||||||
|
*/
|
||||||
"paths": {
|
"paths": {
|
||||||
"@fonts/*": ["fonts/*"],
|
"@fonts/*": ["fonts/*"],
|
||||||
"@images/*": ["images/*"],
|
"@images/*": ["images/*"],
|
||||||
"@scripts/*": ["scripts/*"],
|
"@scripts/*": ["scripts/*"],
|
||||||
"@styles/*": ["styles/*"]
|
"@styles/*": ["styles/*"]
|
||||||
},
|
},
|
||||||
"types": ["@roots/bud", "@roots/sage", "@roots/bud-tailwindcss"]
|
/**
|
||||||
|
* Type definitions
|
||||||
|
*/
|
||||||
|
"types": [
|
||||||
|
"@roots/bud",
|
||||||
|
"@roots/bud-react",
|
||||||
|
"@roots/bud-postcss",
|
||||||
|
"@roots/bud-preset-recommend",
|
||||||
|
"@roots/bud-preset-wordpress",
|
||||||
|
"@roots/bud-tailwindcss",
|
||||||
|
"@roots/bud-wordpress-theme-json",
|
||||||
|
"@roots/sage"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"include": ["bud.config.js", "resources"],
|
"include": ["bud.config.js", "resources"],
|
||||||
"exclude": ["node_modules", "public"]
|
"exclude": ["node_modules", "public"]
|
||||||
|
|||||||
@@ -19,8 +19,9 @@
|
|||||||
"translate:mo": "wp i18n make-mo ./resources/lang ./resources/lang"
|
"translate:mo": "wp i18n make-mo ./resources/lang ./resources/lang"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@roots/bud": "6.11.0",
|
"@roots/bud": "6.12.0",
|
||||||
"@roots/bud-tailwindcss": "6.11.0",
|
"@roots/bud-tailwindcss": "6.12.0",
|
||||||
"@roots/sage": "6.11.0"
|
"@roots/sage": "6.12.0"
|
||||||
}
|
},
|
||||||
|
"dependencies": {}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ domReady(async () => {
|
|||||||
/**
|
/**
|
||||||
* @see {@link https://webpack.js.org/api/hot-module-replacement/}
|
* @see {@link https://webpack.js.org/api/hot-module-replacement/}
|
||||||
*/
|
*/
|
||||||
import.meta.webpackHot?.accept(console.error);
|
if (import.meta.webpackHot) import.meta.webpackHot.accept(console.error);
|
||||||
|
|||||||
@@ -16,4 +16,4 @@ domReady(() => {
|
|||||||
/**
|
/**
|
||||||
* @see {@link https://webpack.js.org/api/hot-module-replacement/}
|
* @see {@link https://webpack.js.org/api/hot-module-replacement/}
|
||||||
*/
|
*/
|
||||||
import.meta.webpackHot?.accept(console.error);
|
if (import.meta.webpackHot) import.meta.webpackHot.accept(console.error);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// https://tailwindcss.com/docs/configuration
|
/** @type {import('tailwindcss').Config} config */
|
||||||
module.exports = {
|
const config = {
|
||||||
content: ['./index.php', './app/**/*.php', './resources/**/*.{php,vue,js}'],
|
content: ['./index.php', './app/**/*.php', './resources/**/*.{php,vue,js}'],
|
||||||
theme: {
|
theme: {
|
||||||
extend: {
|
extend: {
|
||||||
@@ -8,3 +8,5 @@ module.exports = {
|
|||||||
},
|
},
|
||||||
plugins: [],
|
plugins: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export default config;
|
||||||
113
theme.json
113
theme.json
@@ -5,8 +5,8 @@
|
|||||||
"settings": {
|
"settings": {
|
||||||
"color": {
|
"color": {
|
||||||
"custom": false,
|
"custom": false,
|
||||||
"customDuotone": false,
|
|
||||||
"customGradient": false,
|
"customGradient": false,
|
||||||
|
"customDuotone": false,
|
||||||
"defaultDuotone": false,
|
"defaultDuotone": false,
|
||||||
"defaultGradients": false,
|
"defaultGradients": false,
|
||||||
"defaultPalette": false,
|
"defaultPalette": false,
|
||||||
@@ -87,6 +87,11 @@
|
|||||||
"slug": "slate-900",
|
"slug": "slate-900",
|
||||||
"color": "#0f172a"
|
"color": "#0f172a"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Slate 950",
|
||||||
|
"slug": "slate-950",
|
||||||
|
"color": "#020617"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Gray 50",
|
"name": "Gray 50",
|
||||||
"slug": "gray-50",
|
"slug": "gray-50",
|
||||||
@@ -137,6 +142,11 @@
|
|||||||
"slug": "gray-900",
|
"slug": "gray-900",
|
||||||
"color": "#111827"
|
"color": "#111827"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Gray 950",
|
||||||
|
"slug": "gray-950",
|
||||||
|
"color": "#030712"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Zinc 50",
|
"name": "Zinc 50",
|
||||||
"slug": "zinc-50",
|
"slug": "zinc-50",
|
||||||
@@ -187,6 +197,11 @@
|
|||||||
"slug": "zinc-900",
|
"slug": "zinc-900",
|
||||||
"color": "#18181b"
|
"color": "#18181b"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Zinc 950",
|
||||||
|
"slug": "zinc-950",
|
||||||
|
"color": "#09090b"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Neutral 50",
|
"name": "Neutral 50",
|
||||||
"slug": "neutral-50",
|
"slug": "neutral-50",
|
||||||
@@ -237,6 +252,11 @@
|
|||||||
"slug": "neutral-900",
|
"slug": "neutral-900",
|
||||||
"color": "#171717"
|
"color": "#171717"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Neutral 950",
|
||||||
|
"slug": "neutral-950",
|
||||||
|
"color": "#0a0a0a"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Stone 50",
|
"name": "Stone 50",
|
||||||
"slug": "stone-50",
|
"slug": "stone-50",
|
||||||
@@ -287,6 +307,11 @@
|
|||||||
"slug": "stone-900",
|
"slug": "stone-900",
|
||||||
"color": "#1c1917"
|
"color": "#1c1917"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Stone 950",
|
||||||
|
"slug": "stone-950",
|
||||||
|
"color": "#0c0a09"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Red 50",
|
"name": "Red 50",
|
||||||
"slug": "red-50",
|
"slug": "red-50",
|
||||||
@@ -337,6 +362,11 @@
|
|||||||
"slug": "red-900",
|
"slug": "red-900",
|
||||||
"color": "#7f1d1d"
|
"color": "#7f1d1d"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Red 950",
|
||||||
|
"slug": "red-950",
|
||||||
|
"color": "#450a0a"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Orange 50",
|
"name": "Orange 50",
|
||||||
"slug": "orange-50",
|
"slug": "orange-50",
|
||||||
@@ -387,6 +417,11 @@
|
|||||||
"slug": "orange-900",
|
"slug": "orange-900",
|
||||||
"color": "#7c2d12"
|
"color": "#7c2d12"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Orange 950",
|
||||||
|
"slug": "orange-950",
|
||||||
|
"color": "#431407"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Amber 50",
|
"name": "Amber 50",
|
||||||
"slug": "amber-50",
|
"slug": "amber-50",
|
||||||
@@ -437,6 +472,11 @@
|
|||||||
"slug": "amber-900",
|
"slug": "amber-900",
|
||||||
"color": "#78350f"
|
"color": "#78350f"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Amber 950",
|
||||||
|
"slug": "amber-950",
|
||||||
|
"color": "#451a03"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Yellow 50",
|
"name": "Yellow 50",
|
||||||
"slug": "yellow-50",
|
"slug": "yellow-50",
|
||||||
@@ -487,6 +527,11 @@
|
|||||||
"slug": "yellow-900",
|
"slug": "yellow-900",
|
||||||
"color": "#713f12"
|
"color": "#713f12"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Yellow 950",
|
||||||
|
"slug": "yellow-950",
|
||||||
|
"color": "#422006"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Lime 50",
|
"name": "Lime 50",
|
||||||
"slug": "lime-50",
|
"slug": "lime-50",
|
||||||
@@ -537,6 +582,11 @@
|
|||||||
"slug": "lime-900",
|
"slug": "lime-900",
|
||||||
"color": "#365314"
|
"color": "#365314"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Lime 950",
|
||||||
|
"slug": "lime-950",
|
||||||
|
"color": "#1a2e05"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Green 50",
|
"name": "Green 50",
|
||||||
"slug": "green-50",
|
"slug": "green-50",
|
||||||
@@ -587,6 +637,11 @@
|
|||||||
"slug": "green-900",
|
"slug": "green-900",
|
||||||
"color": "#14532d"
|
"color": "#14532d"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Green 950",
|
||||||
|
"slug": "green-950",
|
||||||
|
"color": "#052e16"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Emerald 50",
|
"name": "Emerald 50",
|
||||||
"slug": "emerald-50",
|
"slug": "emerald-50",
|
||||||
@@ -637,6 +692,11 @@
|
|||||||
"slug": "emerald-900",
|
"slug": "emerald-900",
|
||||||
"color": "#064e3b"
|
"color": "#064e3b"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Emerald 950",
|
||||||
|
"slug": "emerald-950",
|
||||||
|
"color": "#022c22"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Teal 50",
|
"name": "Teal 50",
|
||||||
"slug": "teal-50",
|
"slug": "teal-50",
|
||||||
@@ -687,6 +747,11 @@
|
|||||||
"slug": "teal-900",
|
"slug": "teal-900",
|
||||||
"color": "#134e4a"
|
"color": "#134e4a"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Teal 950",
|
||||||
|
"slug": "teal-950",
|
||||||
|
"color": "#042f2e"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Cyan 50",
|
"name": "Cyan 50",
|
||||||
"slug": "cyan-50",
|
"slug": "cyan-50",
|
||||||
@@ -737,6 +802,11 @@
|
|||||||
"slug": "cyan-900",
|
"slug": "cyan-900",
|
||||||
"color": "#164e63"
|
"color": "#164e63"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Cyan 950",
|
||||||
|
"slug": "cyan-950",
|
||||||
|
"color": "#083344"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Sky 50",
|
"name": "Sky 50",
|
||||||
"slug": "sky-50",
|
"slug": "sky-50",
|
||||||
@@ -787,6 +857,11 @@
|
|||||||
"slug": "sky-900",
|
"slug": "sky-900",
|
||||||
"color": "#0c4a6e"
|
"color": "#0c4a6e"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Sky 950",
|
||||||
|
"slug": "sky-950",
|
||||||
|
"color": "#082f49"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Blue 50",
|
"name": "Blue 50",
|
||||||
"slug": "blue-50",
|
"slug": "blue-50",
|
||||||
@@ -837,6 +912,11 @@
|
|||||||
"slug": "blue-900",
|
"slug": "blue-900",
|
||||||
"color": "#1e3a8a"
|
"color": "#1e3a8a"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Blue 950",
|
||||||
|
"slug": "blue-950",
|
||||||
|
"color": "#172554"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Indigo 50",
|
"name": "Indigo 50",
|
||||||
"slug": "indigo-50",
|
"slug": "indigo-50",
|
||||||
@@ -887,6 +967,11 @@
|
|||||||
"slug": "indigo-900",
|
"slug": "indigo-900",
|
||||||
"color": "#312e81"
|
"color": "#312e81"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Indigo 950",
|
||||||
|
"slug": "indigo-950",
|
||||||
|
"color": "#1e1b4b"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Violet 50",
|
"name": "Violet 50",
|
||||||
"slug": "violet-50",
|
"slug": "violet-50",
|
||||||
@@ -937,6 +1022,11 @@
|
|||||||
"slug": "violet-900",
|
"slug": "violet-900",
|
||||||
"color": "#4c1d95"
|
"color": "#4c1d95"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Violet 950",
|
||||||
|
"slug": "violet-950",
|
||||||
|
"color": "#2e1065"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Purple 50",
|
"name": "Purple 50",
|
||||||
"slug": "purple-50",
|
"slug": "purple-50",
|
||||||
@@ -987,6 +1077,11 @@
|
|||||||
"slug": "purple-900",
|
"slug": "purple-900",
|
||||||
"color": "#581c87"
|
"color": "#581c87"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Purple 950",
|
||||||
|
"slug": "purple-950",
|
||||||
|
"color": "#3b0764"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Fuchsia 50",
|
"name": "Fuchsia 50",
|
||||||
"slug": "fuchsia-50",
|
"slug": "fuchsia-50",
|
||||||
@@ -1037,6 +1132,11 @@
|
|||||||
"slug": "fuchsia-900",
|
"slug": "fuchsia-900",
|
||||||
"color": "#701a75"
|
"color": "#701a75"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Fuchsia 950",
|
||||||
|
"slug": "fuchsia-950",
|
||||||
|
"color": "#4a044e"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Pink 50",
|
"name": "Pink 50",
|
||||||
"slug": "pink-50",
|
"slug": "pink-50",
|
||||||
@@ -1087,6 +1187,11 @@
|
|||||||
"slug": "pink-900",
|
"slug": "pink-900",
|
||||||
"color": "#831843"
|
"color": "#831843"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Pink 950",
|
||||||
|
"slug": "pink-950",
|
||||||
|
"color": "#500724"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Rose 50",
|
"name": "Rose 50",
|
||||||
"slug": "rose-50",
|
"slug": "rose-50",
|
||||||
@@ -1136,6 +1241,11 @@
|
|||||||
"name": "Rose 900",
|
"name": "Rose 900",
|
||||||
"slug": "rose-900",
|
"slug": "rose-900",
|
||||||
"color": "#881337"
|
"color": "#881337"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Rose 950",
|
||||||
|
"slug": "rose-950",
|
||||||
|
"color": "#4c0519"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
@@ -1159,6 +1269,7 @@
|
|||||||
},
|
},
|
||||||
"typography": {
|
"typography": {
|
||||||
"customFontSize": false,
|
"customFontSize": false,
|
||||||
|
"dropCap": false,
|
||||||
"fontFamilies": [
|
"fontFamilies": [
|
||||||
{
|
{
|
||||||
"name": "Ui-sans-serif",
|
"name": "Ui-sans-serif",
|
||||||
|
|||||||
Reference in New Issue
Block a user