@scalar/api-client 2.39.2 → 2.39.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/dist/style.css +45 -41
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.d.ts.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.js.map +1 -1
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js +10 -8
- package/dist/v2/blocks/request-block/components/RequestTableRow.vue.script.js.map +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.d.ts +8 -2
- package/dist/v2/components/code-input/CodeInput.vue.d.ts.map +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.js +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.js.map +1 -1
- package/dist/v2/components/code-input/CodeInput.vue.script.js +5 -2
- package/dist/v2/components/code-input/CodeInput.vue.script.js.map +1 -1
- package/dist/v2/constants.js +1 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.d.ts.map +1 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.js +1 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.js.map +1 -1
- package/dist/v2/features/collection/components/Editor/Editor.vue.script.js +2 -2
- package/dist/v2/features/collection/components/Editor/Editor.vue.script.js.map +1 -1
- package/dist/v2/features/editor/helpers/theme/apply-scalar-theme.js.map +1 -1
- package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts +25 -3
- package/dist/v2/features/editor/helpers/theme/load-css-variables.d.ts.map +1 -1
- package/dist/v2/features/editor/helpers/theme/load-css-variables.js +92 -16
- package/dist/v2/features/editor/helpers/theme/load-css-variables.js.map +1 -1
- package/dist/views/Request/ResponseSection/ResponseEmpty.vue.script.js +1 -1
- package/package.json +11 -11
|
@@ -1,10 +1,84 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
//#region src/v2/features/editor/helpers/theme/load-css-variables.ts
|
|
3
3
|
/**
|
|
4
|
+
* Patterns for CSS color values we can normalize to hex (or pass through as var()).
|
|
5
|
+
* Space-separated rgb() and modern slash syntax are not supported here.
|
|
6
|
+
*/
|
|
7
|
+
var hexShortRegex = /^#([0-9a-fA-F]){3}$/;
|
|
8
|
+
var hexRegex = /^#([0-9a-fA-F]{6})$/;
|
|
9
|
+
var hexAlphaRegex = /^#([0-9a-fA-F]{8})$/;
|
|
10
|
+
var rgbRegex = /^rgb\(\s*(\d{1,3})\s*,?\s*(\d{1,3})\s*,?\s*(\d{1,3})\s*\)$/;
|
|
11
|
+
var rgbaRegex = /^rgba\(\s*(\d{1,3})\s*,?\s*(\d{1,3})\s*,?\s*(\d{1,3})\s*,?\s*(\d*\.?\d+)\s*\)$/;
|
|
12
|
+
/** Optional fallback: var(--name, fallback) */
|
|
13
|
+
var varRegex = /^var\(\s*(--[^)]+)\s*(?:,\s*([^)]*))?\s*\)$/i;
|
|
14
|
+
/**
|
|
15
|
+
* Maps a comma-separated selector list to the theme modes it applies to.
|
|
16
|
+
* Only **exact** `.light-mode` or `.dark-mode` selectors match (no compound selectors like `.light-mode .foo`).
|
|
17
|
+
*/
|
|
18
|
+
var getColorModesFromSelectors = (text) => {
|
|
19
|
+
return text.split(",").map((selector) => selector.trim()).map((selector) => {
|
|
20
|
+
if (selector === ".light-mode") return "light";
|
|
21
|
+
if (selector === ".dark-mode") return "dark";
|
|
22
|
+
return null;
|
|
23
|
+
}).filter((mode) => mode !== null);
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Parses a single custom property value from the stylesheet into a normalized form:
|
|
27
|
+
* - `#RRGGBB` / `#RRGGBBAA` (uppercase)
|
|
28
|
+
* - `#RGB` short hex expanded to six digits
|
|
29
|
+
* - `rgb()` / `rgba()` with comma-separated channels (lower input only)
|
|
30
|
+
* - `var(--x)` / `var(--x, fallback)` returned as-is for a later resolve pass
|
|
31
|
+
*/
|
|
32
|
+
var parseVariableValue = (value) => {
|
|
33
|
+
const normalized = value.trim().toLowerCase();
|
|
34
|
+
const hexValue = z.union([z.string().regex(hexRegex), z.string().regex(hexAlphaRegex)]).safeParse(normalized);
|
|
35
|
+
if (!hexValue.error) return hexValue.data.toUpperCase();
|
|
36
|
+
const shortHexValue = z.string().regex(hexShortRegex).safeParse(normalized);
|
|
37
|
+
if (!shortHexValue.error) {
|
|
38
|
+
const [_, r, g, b] = shortHexValue.data.toUpperCase();
|
|
39
|
+
return `#${r}${r}${g}${g}${b}${b}`;
|
|
40
|
+
}
|
|
41
|
+
const rgbValue = z.union([z.string().regex(rgbRegex), z.string().regex(rgbaRegex)]).safeParse(normalized);
|
|
42
|
+
if (!rgbValue.error) {
|
|
43
|
+
const [_, r = "0", g = "0", b = "0", a = "1"] = rgbValue.data.startsWith("rgba") ? rgbaRegex.exec(rgbValue.data) ?? [] : rgbRegex.exec(rgbValue.data) ?? [];
|
|
44
|
+
const toHex = (v) => Number.parseInt(v, 10).toString(16).padStart(2, "0").toUpperCase();
|
|
45
|
+
const alpha = Math.round(Number.parseFloat(a) * 255);
|
|
46
|
+
return `#${toHex(r)}${toHex(g)}${toHex(b)}${alpha === 255 ? "" : toHex(String(alpha))}`;
|
|
47
|
+
}
|
|
48
|
+
const varValue = z.string().regex(varRegex).safeParse(normalized);
|
|
49
|
+
if (!varValue.error) return varValue.data;
|
|
50
|
+
};
|
|
51
|
+
/**
|
|
52
|
+
* Recursively resolves a value if it is (or becomes) `var(--name)` against `variables`.
|
|
53
|
+
* Missing names or non-var values are returned unchanged.
|
|
54
|
+
*/
|
|
55
|
+
var resolveVariableValue = (value, variables) => {
|
|
56
|
+
const varValue = z.string().regex(varRegex).safeParse(value);
|
|
57
|
+
if (!varValue.error) {
|
|
58
|
+
const [_, varName] = varRegex.exec(varValue.data) ?? [];
|
|
59
|
+
if (!varName) return value;
|
|
60
|
+
const resolved = variables[varName];
|
|
61
|
+
if (!resolved) return value;
|
|
62
|
+
return resolveVariableValue(resolved, variables);
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Resolves `var(--*)` values in a flat map of custom properties in one pass.
|
|
68
|
+
* Values that are not var references are copied through.
|
|
69
|
+
*/
|
|
70
|
+
var resolveVariables = (variables) => {
|
|
71
|
+
const resolved = Object.entries(variables).map(([name, value]) => {
|
|
72
|
+
const varValue = z.string().regex(varRegex).safeParse(value);
|
|
73
|
+
if (!varValue.error) return [name, resolveVariableValue(varValue.data, variables)];
|
|
74
|
+
return [name, value];
|
|
75
|
+
});
|
|
76
|
+
return Object.fromEntries(resolved);
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
4
79
|
* Extracts CSS custom properties (variables) from a given CSS string
|
|
5
80
|
* for .light-mode and .dark-mode selectors and returns an object
|
|
6
81
|
* with 'light' and 'dark' keys containing the filtered variables.
|
|
7
|
-
* Only variables matching hex color values (#RRGGBB or #RRGGBBAA) are accepted.
|
|
8
82
|
*
|
|
9
83
|
* @param css - The CSS string to parse.
|
|
10
84
|
* @returns An object with `light` and `dark` properties containing the extracted CSS variables.
|
|
@@ -12,28 +86,30 @@ import { z } from "zod";
|
|
|
12
86
|
var loadCssVariables = async (css) => {
|
|
13
87
|
const sheet = new CSSStyleSheet();
|
|
14
88
|
await sheet.replace(css);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
89
|
+
const parsed = Array.from(sheet.cssRules).filter((cssRule) => cssRule instanceof CSSStyleRule).reduce((variables, cssRule) => {
|
|
90
|
+
const colorModes = getColorModesFromSelectors(cssRule.selectorText);
|
|
91
|
+
if (!colorModes.length) return variables;
|
|
92
|
+
const styles = Array.from(cssRule.style).reduce((style, name) => {
|
|
18
93
|
if (!name.startsWith("--")) return style;
|
|
19
|
-
const
|
|
20
|
-
if (
|
|
21
|
-
style[name] = value.data;
|
|
94
|
+
const parsedValue = parseVariableValue(cssRule.style.getPropertyValue(name));
|
|
95
|
+
if (parsedValue) style[name] = parsedValue;
|
|
22
96
|
return style;
|
|
23
97
|
}, {});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
};
|
|
32
|
-
return acc;
|
|
98
|
+
colorModes.forEach((colorMode) => {
|
|
99
|
+
variables[colorMode] = {
|
|
100
|
+
...variables[colorMode],
|
|
101
|
+
...styles
|
|
102
|
+
};
|
|
103
|
+
});
|
|
104
|
+
return variables;
|
|
33
105
|
}, {
|
|
34
106
|
light: {},
|
|
35
107
|
dark: {}
|
|
36
108
|
});
|
|
109
|
+
return {
|
|
110
|
+
light: resolveVariables(parsed.light),
|
|
111
|
+
dark: resolveVariables(parsed.dark)
|
|
112
|
+
};
|
|
37
113
|
};
|
|
38
114
|
//#endregion
|
|
39
115
|
export { loadCssVariables };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"load-css-variables.js","names":[],"sources":["../../../../../../src/v2/features/editor/helpers/theme/load-css-variables.ts"],"sourcesContent":["import { z } from 'zod'\n\n/**\n * Extracts CSS custom properties (variables) from a given CSS string\n * for .light-mode and .dark-mode selectors and returns an object\n * with 'light' and 'dark' keys containing the filtered variables.\n
|
|
1
|
+
{"version":3,"file":"load-css-variables.js","names":[],"sources":["../../../../../../src/v2/features/editor/helpers/theme/load-css-variables.ts"],"sourcesContent":["import { z } from 'zod'\n\n/** Which theme bucket a CSS rule applies to after parsing. */\ntype ColorMode = 'light' | 'dark'\n\n/** Accumulated custom properties per mode while walking stylesheet rules. */\ntype Variables = Record<ColorMode, Record<string, string>>\n\n/**\n * Patterns for CSS color values we can normalize to hex (or pass through as var()).\n * Space-separated rgb() and modern slash syntax are not supported here.\n */\nconst hexShortRegex = /^#([0-9a-fA-F]){3}$/\nconst hexRegex = /^#([0-9a-fA-F]{6})$/\nconst hexAlphaRegex = /^#([0-9a-fA-F]{8})$/\nconst rgbRegex = /^rgb\\(\\s*(\\d{1,3})\\s*,?\\s*(\\d{1,3})\\s*,?\\s*(\\d{1,3})\\s*\\)$/\nconst rgbaRegex = /^rgba\\(\\s*(\\d{1,3})\\s*,?\\s*(\\d{1,3})\\s*,?\\s*(\\d{1,3})\\s*,?\\s*(\\d*\\.?\\d+)\\s*\\)$/\n/** Optional fallback: var(--name, fallback) */\nconst varRegex = /^var\\(\\s*(--[^)]+)\\s*(?:,\\s*([^)]*))?\\s*\\)$/i\n\n/**\n * Maps a comma-separated selector list to the theme modes it applies to.\n * Only **exact** `.light-mode` or `.dark-mode` selectors match (no compound selectors like `.light-mode .foo`).\n */\nexport const getColorModesFromSelectors = (text: string) => {\n const selectors = text.split(',').map((selector) => selector.trim())\n\n return selectors\n .map((selector) => {\n if (selector === '.light-mode') {\n return 'light'\n }\n if (selector === '.dark-mode') {\n return 'dark'\n }\n return null\n })\n .filter((mode) => mode !== null)\n}\n\n/**\n * Parses a single custom property value from the stylesheet into a normalized form:\n * - `#RRGGBB` / `#RRGGBBAA` (uppercase)\n * - `#RGB` short hex expanded to six digits\n * - `rgb()` / `rgba()` with comma-separated channels (lower input only)\n * - `var(--x)` / `var(--x, fallback)` returned as-is for a later resolve pass\n */\nexport const parseVariableValue = (value: string) => {\n const normalized = value.trim().toLowerCase()\n\n const hexValue = z.union([z.string().regex(hexRegex), z.string().regex(hexAlphaRegex)]).safeParse(normalized)\n\n if (!hexValue.error) {\n return hexValue.data.toUpperCase()\n }\n\n const shortHexValue = z.string().regex(hexShortRegex).safeParse(normalized)\n\n if (!shortHexValue.error) {\n const [_, r, g, b] = shortHexValue.data.toUpperCase()\n return `#${r}${r}${g}${g}${b}${b}`\n }\n\n const rgbValue = z.union([z.string().regex(rgbRegex), z.string().regex(rgbaRegex)]).safeParse(normalized)\n\n if (!rgbValue.error) {\n const [_, r = '0', g = '0', b = '0', a = '1'] = rgbValue.data.startsWith('rgba')\n ? (rgbaRegex.exec(rgbValue.data) ?? [])\n : (rgbRegex.exec(rgbValue.data) ?? [])\n\n const toHex = (v: string) => Number.parseInt(v, 10).toString(16).padStart(2, '0').toUpperCase()\n const alpha = Math.round(Number.parseFloat(a) * 255)\n\n return `#${toHex(r)}${toHex(g)}${toHex(b)}${alpha === 255 ? '' : toHex(String(alpha))}`\n }\n\n const varValue = z.string().regex(varRegex).safeParse(normalized)\n if (!varValue.error) {\n return varValue.data\n }\n\n return undefined\n}\n\n/**\n * Recursively resolves a value if it is (or becomes) `var(--name)` against `variables`.\n * Missing names or non-var values are returned unchanged.\n */\nexport const resolveVariableValue = (value: string, variables: Record<string, string>): string => {\n const varValue = z.string().regex(varRegex).safeParse(value)\n if (!varValue.error) {\n const [_, varName] = varRegex.exec(varValue.data) ?? []\n if (!varName) {\n return value\n }\n const resolved = variables[varName]\n if (!resolved) {\n return value\n }\n return resolveVariableValue(resolved, variables)\n }\n return value\n}\n\n/**\n * Resolves `var(--*)` values in a flat map of custom properties in one pass.\n * Values that are not var references are copied through.\n */\nexport const resolveVariables = (variables: Record<string, string>): Record<string, string> => {\n const entries = Object.entries(variables)\n\n const resolved = entries.map(([name, value]) => {\n const varValue = z.string().regex(varRegex).safeParse(value)\n if (!varValue.error) {\n return [name, resolveVariableValue(varValue.data, variables)]\n }\n return [name, value]\n })\n return Object.fromEntries(resolved)\n}\n\n/**\n * Extracts CSS custom properties (variables) from a given CSS string\n * for .light-mode and .dark-mode selectors and returns an object\n * with 'light' and 'dark' keys containing the filtered variables.\n *\n * @param css - The CSS string to parse.\n * @returns An object with `light` and `dark` properties containing the extracted CSS variables.\n */\nexport const loadCssVariables = async (css: string) => {\n const sheet = new CSSStyleSheet()\n await sheet.replace(css)\n\n const cssRules = Array.from(sheet.cssRules).filter((cssRule) => cssRule instanceof CSSStyleRule)\n const parsed = cssRules.reduce<Variables>(\n (variables, cssRule) => {\n const colorModes = getColorModesFromSelectors(cssRule.selectorText)\n if (!colorModes.length) {\n return variables\n }\n\n // Collect valid CSS variable declarations from the rule's style\n const styles = Array.from(cssRule.style).reduce<Record<string, string>>((style, name) => {\n if (!name.startsWith('--')) {\n return style\n }\n const value = cssRule.style.getPropertyValue(name)\n const parsedValue = parseVariableValue(value)\n if (parsedValue) {\n style[name] = parsedValue\n }\n return style\n }, {})\n\n colorModes.forEach((colorMode) => {\n variables[colorMode] = { ...variables[colorMode], ...styles }\n })\n\n return variables\n },\n { light: {}, dark: {} },\n )\n\n return {\n light: resolveVariables(parsed.light),\n dark: resolveVariables(parsed.dark),\n }\n}\n"],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ var ResponseEmpty_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */
|
|
|
45
45
|
const handleHotKey = (event) => {
|
|
46
46
|
if (event?.createNew && route.name === "request") addRequest();
|
|
47
47
|
};
|
|
48
|
-
const packageVersion = "2.39.
|
|
48
|
+
const packageVersion = "2.39.4";
|
|
49
49
|
onMounted(() => events.hotKeys.on(handleHotKey));
|
|
50
50
|
onBeforeUnmount(() => events.hotKeys.off(handleHotKey));
|
|
51
51
|
return (_ctx, _cache) => {
|
package/package.json
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"rest",
|
|
19
19
|
"testing"
|
|
20
20
|
],
|
|
21
|
-
"version": "2.39.
|
|
21
|
+
"version": "2.39.4",
|
|
22
22
|
"engines": {
|
|
23
23
|
"node": ">=22"
|
|
24
24
|
},
|
|
@@ -347,24 +347,24 @@
|
|
|
347
347
|
"whatwg-mimetype": "4.0.0",
|
|
348
348
|
"yaml": "^2.8.0",
|
|
349
349
|
"zod": "^4.3.5",
|
|
350
|
-
"@scalar/components": "0.21.
|
|
351
|
-
"@scalar/draggable": "0.4.1",
|
|
352
|
-
"@scalar/icons": "0.7.0",
|
|
350
|
+
"@scalar/components": "0.21.2",
|
|
353
351
|
"@scalar/helpers": "0.4.2",
|
|
354
|
-
"@scalar/
|
|
355
|
-
"@scalar/
|
|
352
|
+
"@scalar/draggable": "0.4.1",
|
|
353
|
+
"@scalar/icons": "0.7.1",
|
|
356
354
|
"@scalar/import": "0.5.3",
|
|
355
|
+
"@scalar/json-magic": "0.12.4",
|
|
356
|
+
"@scalar/oas-utils": "0.10.14",
|
|
357
357
|
"@scalar/object-utils": "1.3.3",
|
|
358
|
-
"@scalar/sidebar": "0.8.15",
|
|
359
358
|
"@scalar/openapi-types": "0.6.1",
|
|
360
359
|
"@scalar/postman-to-openapi": "0.6.0",
|
|
360
|
+
"@scalar/sidebar": "0.8.16",
|
|
361
361
|
"@scalar/snippetz": "0.7.7",
|
|
362
|
-
"@scalar/use-codemirror": "0.14.10",
|
|
363
362
|
"@scalar/types": "0.7.5",
|
|
363
|
+
"@scalar/themes": "0.15.1",
|
|
364
|
+
"@scalar/use-codemirror": "0.14.10",
|
|
364
365
|
"@scalar/use-hooks": "0.4.1",
|
|
365
366
|
"@scalar/use-toasts": "0.10.1",
|
|
366
|
-
"@scalar/
|
|
367
|
-
"@scalar/workspace-store": "0.41.2"
|
|
367
|
+
"@scalar/workspace-store": "0.42.0"
|
|
368
368
|
},
|
|
369
369
|
"devDependencies": {
|
|
370
370
|
"@tailwindcss/vite": "^4.2.0",
|
|
@@ -380,7 +380,7 @@
|
|
|
380
380
|
"vite-svg-loader": "5.1.1",
|
|
381
381
|
"vitest": "4.1.0",
|
|
382
382
|
"@scalar/galaxy": "0.6.1",
|
|
383
|
-
"@scalar/pre-post-request-scripts": "0.3.
|
|
383
|
+
"@scalar/pre-post-request-scripts": "0.3.16"
|
|
384
384
|
},
|
|
385
385
|
"scripts": {
|
|
386
386
|
"build": "vite build && vue-tsc -p tsconfig.build.json && tsc-alias -p tsconfig.build.json",
|