@origostudio/origo-design 0.0.0 → 0.0.25
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 +10 -0
- package/dist/packages/angular-renderer/CHANGELOG.md +292 -0
- package/dist/packages/angular-renderer/README.md +11 -0
- package/dist/packages/angular-renderer/package.json +24 -0
- package/dist/packages/angular-renderer/src/adapters/web/adapter.d.ts +20 -0
- package/dist/packages/angular-renderer/src/adapters/web/adapter.js +140 -0
- package/dist/packages/angular-renderer/src/adapters/web/adapter.js.map +1 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.d.ts +4 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js +33 -0
- package/dist/packages/angular-renderer/src/adapters/web/experience-adapter.service.js.map +1 -0
- package/dist/packages/angular-renderer/src/components/primitives/button/button.component.d.ts +26 -0
- package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js +63 -0
- package/dist/packages/angular-renderer/src/components/primitives/button/button.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.d.ts +30 -0
- package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js +72 -0
- package/dist/packages/angular-renderer/src/components/primitives/text-input/text-input.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.d.ts +21 -0
- package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.js +76 -0
- package/dist/packages/angular-renderer/src/components/primitives/vbox/vbox.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/index.d.ts +7 -0
- package/dist/packages/angular-renderer/src/index.js +11 -0
- package/dist/packages/angular-renderer/src/index.js.map +1 -0
- package/dist/packages/angular-renderer/src/lib/renderer.component.d.ts +12 -0
- package/dist/packages/angular-renderer/src/lib/renderer.component.js +114 -0
- package/dist/packages/angular-renderer/src/lib/renderer.component.js.map +1 -0
- package/dist/packages/angular-renderer/src/lib/renderer.tokens.d.ts +2 -0
- package/dist/packages/angular-renderer/src/lib/renderer.tokens.js +9 -0
- package/dist/packages/angular-renderer/src/lib/renderer.tokens.js.map +1 -0
- package/dist/packages/angular-renderer/src/lib/theme.provider.d.ts +13 -0
- package/dist/packages/angular-renderer/src/lib/theme.provider.js +77 -0
- package/dist/packages/angular-renderer/src/lib/theme.provider.js.map +1 -0
- package/dist/packages/cli/CHANGELOG.md +24 -0
- package/dist/packages/cli/package.json +8 -4
- package/dist/packages/cli/package.json.bak +8 -4
- package/dist/packages/core/CHANGELOG.md +18 -0
- package/dist/packages/core/package.json +5 -1
- package/dist/packages/core/package.json.bak +5 -1
- package/dist/packages/design-tokens/CHANGELOG.md +291 -0
- package/dist/packages/design-tokens/README.md +11 -0
- package/dist/packages/design-tokens/package.json +29 -0
- package/dist/packages/design-tokens/src/build.d.ts +2 -0
- package/dist/packages/design-tokens/src/build.js +89 -0
- package/dist/packages/design-tokens/src/build.js.map +1 -0
- package/dist/packages/design-tokens/src/compile.d.ts +1 -0
- package/dist/packages/design-tokens/src/compile.js +51 -0
- package/dist/packages/design-tokens/src/compile.js.map +1 -0
- package/dist/packages/design-tokens/src/index.d.ts +6 -0
- package/dist/packages/design-tokens/src/index.js +14 -0
- package/dist/packages/design-tokens/src/index.js.map +1 -0
- package/dist/packages/design-tokens/src/runtime/index.d.ts +2 -0
- package/dist/packages/design-tokens/src/runtime/index.js +6 -0
- package/dist/packages/design-tokens/src/runtime/index.js.map +1 -0
- package/dist/packages/design-tokens/src/runtime/theme-fetcher.d.ts +19 -0
- package/dist/packages/design-tokens/src/runtime/theme-fetcher.js +87 -0
- package/dist/packages/design-tokens/src/runtime/theme-fetcher.js.map +1 -0
- package/dist/packages/design-tokens/src/runtime/theme-injector.d.ts +11 -0
- package/dist/packages/design-tokens/src/runtime/theme-injector.js +131 -0
- package/dist/packages/design-tokens/src/runtime/theme-injector.js.map +1 -0
- package/dist/packages/design-tokens/src/schemas/base-tokens.schema.json +127 -0
- package/dist/packages/design-tokens/src/schemas/semantic-tokens.schema.json +52 -0
- package/dist/packages/design-tokens/src/tokens/base.json +46 -0
- package/dist/packages/design-tokens/src/tokens/semantic.json +33 -0
- package/dist/packages/design-tokens/tokens.css +1 -0
- package/dist/packages/design-tokens/tokens.d.ts +2 -0
- package/dist/packages/design-tokens/tokens.js +15 -0
- package/dist/packages/design-tokens/tokens.json +15 -0
- package/dist/packages/playground/browser/chunk--ZIwbUVH.js +2 -0
- package/dist/packages/playground/browser/chunk-0Jq1XgT-.js +1 -0
- package/dist/packages/playground/browser/chunk-1uGHBWUl.js +2 -0
- package/dist/packages/playground/browser/chunk-1vJMDD28.js +1 -0
- package/dist/packages/playground/browser/chunk-2TRTBDNJ.css +1 -0
- package/dist/packages/playground/browser/chunk-2ZxrbTaV.js +2 -0
- package/dist/packages/playground/browser/chunk-5S3Ucu1S.js +1 -0
- package/dist/packages/playground/browser/chunk-5xxumr1i.js +1 -0
- package/dist/packages/playground/browser/chunk-BBrBwFOI.js +2 -0
- package/dist/packages/playground/browser/chunk-BEZqMFun.js +1 -0
- package/dist/packages/playground/browser/chunk-BFTF7KVs.js +2 -0
- package/dist/packages/playground/browser/chunk-BFpktVlP.js +2 -0
- package/dist/packages/playground/browser/chunk-BGi1R-SY.js +2 -0
- package/dist/packages/playground/browser/chunk-BIdEsw7t.js +1 -0
- package/dist/packages/playground/browser/chunk-BIsevC4o.js +11 -0
- package/dist/packages/playground/browser/chunk-BJJI5OBC.js +1 -0
- package/dist/packages/playground/browser/chunk-BMMWqLA2.js +11 -0
- package/dist/packages/playground/browser/chunk-BNmq5gH8.js +2 -0
- package/dist/packages/playground/browser/chunk-BSUcqh0e.js +2 -0
- package/dist/packages/playground/browser/chunk-BUAY-bBJ.js +1 -0
- package/dist/packages/playground/browser/chunk-BY0EamUN.js +1 -0
- package/dist/packages/playground/browser/chunk-BZXiyyqI.js +1 -0
- package/dist/packages/playground/browser/chunk-BdS5C-M6.js +1 -0
- package/dist/packages/playground/browser/chunk-Bel35N-r.js +2 -0
- package/dist/packages/playground/browser/chunk-BkTdbZxu.js +2 -0
- package/dist/packages/playground/browser/chunk-BmW8ut-l.js +1 -0
- package/dist/packages/playground/browser/chunk-BpPwZMYf.js +3 -0
- package/dist/packages/playground/browser/chunk-BsdU_5PG.js +1 -0
- package/dist/packages/playground/browser/chunk-BvXhI91k.js +1 -0
- package/dist/packages/playground/browser/chunk-BzHgR45y.js +2 -0
- package/dist/packages/playground/browser/chunk-BzgTGdjm.js +2 -0
- package/dist/packages/playground/browser/chunk-BzrJLr3a.js +2 -0
- package/dist/packages/playground/browser/chunk-C-NXORcv.js +1 -0
- package/dist/packages/playground/browser/chunk-C34sJvtc.js +2 -0
- package/dist/packages/playground/browser/chunk-C6xrdnvb.js +3 -0
- package/dist/packages/playground/browser/chunk-CAL7uT4C.js +2 -0
- package/dist/packages/playground/browser/chunk-CCox_Mu7.js +2 -0
- package/dist/packages/playground/browser/chunk-CHh1yOT3.js +4 -0
- package/dist/packages/playground/browser/chunk-CIQb4Ujf.js +3 -0
- package/dist/packages/playground/browser/chunk-CJnVxlgo.js +2 -0
- package/dist/packages/playground/browser/chunk-CKSXClbP.js +2 -0
- package/dist/packages/playground/browser/chunk-COud3SuE.js +2 -0
- package/dist/packages/playground/browser/chunk-CTbwb8L3.js +1 -0
- package/dist/packages/playground/browser/chunk-CVYmfeCG.js +2 -0
- package/dist/packages/playground/browser/chunk-CYWkyKkM.js +1 -0
- package/dist/packages/playground/browser/chunk-C_O66ZGh.js +1 -0
- package/dist/packages/playground/browser/chunk-ChenIXuo.js +2 -0
- package/dist/packages/playground/browser/chunk-Ckan68bh.js +1 -0
- package/dist/packages/playground/browser/chunk-CmNHsah5.js +1 -0
- package/dist/packages/playground/browser/chunk-CoZGn1Ke.js +1 -0
- package/dist/packages/playground/browser/chunk-Cyn20TR6.js +2 -0
- package/dist/packages/playground/browser/chunk-CzUkWye9.js +4 -0
- package/dist/packages/playground/browser/chunk-D17ySaZ8.js +2 -0
- package/dist/packages/playground/browser/chunk-D20p_ekH.js +2 -0
- package/dist/packages/playground/browser/chunk-D2lQJK03.js +2 -0
- package/dist/packages/playground/browser/chunk-D33JCpxV.js +2 -0
- package/dist/packages/playground/browser/chunk-DAmUeszn.js +1 -0
- package/dist/packages/playground/browser/chunk-DCp-nKTE.js +1 -0
- package/dist/packages/playground/browser/chunk-DDa2v189.js +1 -0
- package/dist/packages/playground/browser/chunk-DJi8XLUL.js +2 -0
- package/dist/packages/playground/browser/chunk-DNgZhwHt.js +2 -0
- package/dist/packages/playground/browser/chunk-DP4tO_m1.js +1 -0
- package/dist/packages/playground/browser/chunk-DQqEr5vX.js +1 -0
- package/dist/packages/playground/browser/chunk-DR7_0I-7.js +2 -0
- package/dist/packages/playground/browser/chunk-DWHFrUs5.js +2 -0
- package/dist/packages/playground/browser/chunk-DY4bY_Qa.js +2 -0
- package/dist/packages/playground/browser/chunk-DcWKTj51.js +1 -0
- package/dist/packages/playground/browser/chunk-Di17h8ti.js +1 -0
- package/dist/packages/playground/browser/chunk-Dim3RQJ1.js +2 -0
- package/dist/packages/playground/browser/chunk-DjcWDyIz.js +1 -0
- package/dist/packages/playground/browser/chunk-Dn5tZnjV.js +2 -0
- package/dist/packages/playground/browser/chunk-DoJEePI9.js +1 -0
- package/dist/packages/playground/browser/chunk-DogLDWZF.js +1 -0
- package/dist/packages/playground/browser/chunk-DqKmoBbd.js +2 -0
- package/dist/packages/playground/browser/chunk-DtJkNtkO.js +2 -0
- package/dist/packages/playground/browser/chunk-Du5eaEhO.js +1 -0
- package/dist/packages/playground/browser/chunk-DyBKnzx2.js +1 -0
- package/dist/packages/playground/browser/chunk-FQyDviof.js +2 -0
- package/dist/packages/playground/browser/chunk-IVtlz9Ng.js +2 -0
- package/dist/packages/playground/browser/chunk-RHAdGSf7.js +299 -0
- package/dist/packages/playground/browser/chunk-W7F2YCZ3.js +2 -0
- package/dist/packages/playground/browser/chunk-_46Kkn0W.js +2 -0
- package/dist/packages/playground/browser/chunk-gcokgbu8.js +2 -0
- package/dist/packages/playground/browser/chunk-kRrEPa7L.js +1 -0
- package/dist/packages/playground/browser/chunk-tvAnzeAI.js +1 -0
- package/dist/packages/playground/browser/chunk-zpnfat_1.js +2 -0
- package/dist/packages/playground/browser/favicon.ico +0 -0
- package/dist/packages/playground/browser/index.html +13 -0
- package/dist/packages/playground/browser/main-QW47GU6W.css +1 -0
- package/dist/packages/playground/browser/main-YL46L42N.js +711 -0
- package/dist/packages/playground/browser/media/codicon-37A3DWZT.ttf +0 -0
- package/dist/packages/playground/browser/styles-WT2FEGU3.css +1 -0
- package/dist/packages/playground/browser/worker-DK2HODYL.js +46 -0
- package/dist/packages/playground/browser/worker-HDML6OSX.js +14 -0
- package/dist/packages/playground/prerendered-routes.json +3 -0
- package/nx.json +1 -1
- package/package.json +4 -1
- package/packages/angular-renderer/CHANGELOG.md +18 -0
- package/packages/angular-renderer/package.json +7 -3
- package/packages/cli/CHANGELOG.md +24 -0
- package/packages/cli/package.json +8 -4
- package/packages/core/CHANGELOG.md +18 -0
- package/packages/core/package.json +5 -1
- package/packages/design-tokens/CHANGELOG.md +18 -0
- package/packages/design-tokens/package.json +6 -2
- package/packages/playground/CHANGELOG.md +18 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/_metadata.json +8 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/deps___vitest_vm__/package.json +3 -0
- package/packages/playground/node_modules/.vite/vitest/da39a3ee5e6b4b0d3255bfef95601890afd80709/results.json +1 -0
- package/packages/playground/package.json +5 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-fetcher.js","sourceRoot":"","sources":["../../../../../packages/design-tokens/src/runtime/theme-fetcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parses and sanitises a flat or single-level-nested theme JSON object into
|
|
3
|
+
* a safe map of `token-key → CSS value`.
|
|
4
|
+
*
|
|
5
|
+
* - Keys are validated against a CSS identifier allowlist.
|
|
6
|
+
* - Values are validated against explicit CSS format patterns.
|
|
7
|
+
* - Prototype-poisoning keys (`__proto__`, `constructor`, `prototype`) are blocked.
|
|
8
|
+
* - Arrays are rejected at every nesting level.
|
|
9
|
+
*/
|
|
10
|
+
export declare function parseTheme(themeJson: unknown): Record<string, string>;
|
|
11
|
+
export declare function injectTheme(themeJson: unknown, target?: HTMLElement | null): () => void;
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.parseTheme = parseTheme;
|
|
4
|
+
exports.injectTheme = injectTheme;
|
|
5
|
+
/** CSS custom property name allowlist — alphanumeric, hyphens, underscores only */
|
|
6
|
+
const CSS_SAFE_KEY = /^[a-zA-Z0-9_-]+$/;
|
|
7
|
+
/** Keys that must never be set on a plain object to prevent prototype pollution */
|
|
8
|
+
const BLOCKED_KEYS = new Set(['__proto__', 'constructor', 'prototype']);
|
|
9
|
+
/**
|
|
10
|
+
* Allowed CSS value patterns for semantic token overrides.
|
|
11
|
+
* Validates concrete formats rather than relying solely on a denylist.
|
|
12
|
+
*/
|
|
13
|
+
const SAFE_VALUE_PATTERNS = [
|
|
14
|
+
/^#[0-9a-fA-F]{3,8}$/, // hex colors: #fff, #ffffff, #ffffffaa
|
|
15
|
+
/^rgba?\(\s*\d+\s*,\s*\d+\s*,\s*\d+(?:\s*,\s*[\d.]+)?\s*\)$/, // rgb / rgba
|
|
16
|
+
/^hsla?\(\s*[\d.]+\s*,\s*[\d.]+%\s*,\s*[\d.]+%(?:\s*,\s*[\d.]+)?\s*\)$/, // hsl / hsla
|
|
17
|
+
/^[\d.]+(?:px|rem|em|%|vh|vw|vmin|vmax|pt|ch|ex|fr|deg|rad|turn|ms|s)$/, // numeric with units
|
|
18
|
+
/^[\d.]+$/, // plain numbers (opacity, z-index, line-height)
|
|
19
|
+
/^[a-zA-Z][-a-zA-Z0-9]*$/, // CSS named values: red, transparent, inherit, currentColor, etc.
|
|
20
|
+
/^var\(--[a-zA-Z0-9_-]+\)$/, // CSS variables
|
|
21
|
+
/^calc\([^)]+\)$/, // CSS calc
|
|
22
|
+
/^clamp\([^)]+\)$/, // CSS clamp
|
|
23
|
+
/^(?:linear|radial|conic)-gradient\([^)]+\)$/, // CSS gradients
|
|
24
|
+
];
|
|
25
|
+
function isSafeValue(value) {
|
|
26
|
+
return SAFE_VALUE_PATTERNS.some(pattern => pattern.test(value.trim()));
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parses and sanitises a flat or single-level-nested theme JSON object into
|
|
30
|
+
* a safe map of `token-key → CSS value`.
|
|
31
|
+
*
|
|
32
|
+
* - Keys are validated against a CSS identifier allowlist.
|
|
33
|
+
* - Values are validated against explicit CSS format patterns.
|
|
34
|
+
* - Prototype-poisoning keys (`__proto__`, `constructor`, `prototype`) are blocked.
|
|
35
|
+
* - Arrays are rejected at every nesting level.
|
|
36
|
+
*/
|
|
37
|
+
function parseTheme(themeJson) {
|
|
38
|
+
if (!themeJson || typeof themeJson !== 'object' || Array.isArray(themeJson)) {
|
|
39
|
+
return {};
|
|
40
|
+
}
|
|
41
|
+
// Object.create(null) avoids prototype setter side-effects for any key written
|
|
42
|
+
const result = Object.create(null);
|
|
43
|
+
const flatten = (obj, prefix = '', depth = 0, visited = new WeakSet()) => {
|
|
44
|
+
if (depth > 1)
|
|
45
|
+
return; // Prevent arbitrary depth beyond single-level
|
|
46
|
+
if (visited.has(obj))
|
|
47
|
+
return; // Prevent circular reference crashes
|
|
48
|
+
visited.add(obj);
|
|
49
|
+
for (const key of Object.keys(obj)) {
|
|
50
|
+
if (BLOCKED_KEYS.has(key) || !CSS_SAFE_KEY.test(key))
|
|
51
|
+
continue;
|
|
52
|
+
const value = obj[key];
|
|
53
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
54
|
+
flatten(value, `${prefix}${key}-`, depth + 1, visited);
|
|
55
|
+
}
|
|
56
|
+
else if (typeof value === 'string' || typeof value === 'number') {
|
|
57
|
+
const strVal = String(value).trim();
|
|
58
|
+
const fullKey = `${prefix}${key}`;
|
|
59
|
+
// Block base token overrides, enforce semantic overrides
|
|
60
|
+
if (!fullKey.startsWith('base-') && isSafeValue(strVal)) {
|
|
61
|
+
result[fullKey] = strVal;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
flatten(themeJson);
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Applies a parsed theme to the DOM by injecting a `<style>` tag into
|
|
71
|
+
* `document.head` scoped to the target element.
|
|
72
|
+
*
|
|
73
|
+
* - When `target` is `document.documentElement` (the default), the style block
|
|
74
|
+
* targets `:root` for global override.
|
|
75
|
+
* - When `target` is any other element, the element receives a stable
|
|
76
|
+
* `data-origo-theme-id` attribute and the style block is scoped to that
|
|
77
|
+
* attribute selector, enabling per-subtree theme isolation.
|
|
78
|
+
* - Passing an empty or fully-invalid theme removes the previously injected
|
|
79
|
+
* style tag for that target rather than leaving stale rules.
|
|
80
|
+
* - Safe to call in SSR environments — returns immediately if `document` is
|
|
81
|
+
* not defined.
|
|
82
|
+
*/
|
|
83
|
+
let nextTagId = 0;
|
|
84
|
+
function injectTheme(themeJson, target) {
|
|
85
|
+
// SSR guard — DOM APIs are not available in Node.js environments
|
|
86
|
+
if (typeof document === 'undefined')
|
|
87
|
+
return () => undefined;
|
|
88
|
+
const actualTarget = target === undefined ? document.documentElement : target;
|
|
89
|
+
if (!actualTarget)
|
|
90
|
+
return () => undefined;
|
|
91
|
+
const head = document.head || document.documentElement;
|
|
92
|
+
if (!head)
|
|
93
|
+
return () => undefined;
|
|
94
|
+
const parsed = parseTheme(themeJson);
|
|
95
|
+
// Determine the CSS selector and the style-tag attribute for this target
|
|
96
|
+
let selector;
|
|
97
|
+
let tagId;
|
|
98
|
+
if (actualTarget === document.documentElement) {
|
|
99
|
+
selector = ':root';
|
|
100
|
+
tagId = 'runtime';
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
// Assign a stable per-element ID so repeated calls reuse the same tag
|
|
104
|
+
if (!actualTarget.dataset['origoThemeId']) {
|
|
105
|
+
actualTarget.dataset['origoThemeId'] = `t${++nextTagId}`;
|
|
106
|
+
}
|
|
107
|
+
tagId = actualTarget.dataset['origoThemeId'];
|
|
108
|
+
selector = `[data-origo-theme-id="${CSS.escape(tagId)}"]`;
|
|
109
|
+
}
|
|
110
|
+
let styleTag = head.querySelector(`style[data-origo-theme="${CSS.escape(tagId)}"]`);
|
|
111
|
+
// Empty theme → remove the style tag to prevent stale overrides
|
|
112
|
+
if (Object.keys(parsed).length === 0) {
|
|
113
|
+
styleTag?.remove();
|
|
114
|
+
return () => undefined;
|
|
115
|
+
}
|
|
116
|
+
if (!styleTag) {
|
|
117
|
+
styleTag = document.createElement('style');
|
|
118
|
+
styleTag.setAttribute('data-origo-theme', tagId);
|
|
119
|
+
head.appendChild(styleTag);
|
|
120
|
+
}
|
|
121
|
+
let cssVariables = '';
|
|
122
|
+
for (const [key, value] of Object.entries(parsed)) {
|
|
123
|
+
cssVariables += ` --origo-${key}: ${value};\n`;
|
|
124
|
+
}
|
|
125
|
+
styleTag.textContent = `${selector} {\n${cssVariables}}\n`;
|
|
126
|
+
// Return a teardown function to clean up scoped injections
|
|
127
|
+
return () => {
|
|
128
|
+
styleTag?.remove();
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=theme-injector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme-injector.js","sourceRoot":"","sources":["../../../../../packages/design-tokens/src/runtime/theme-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://origo.dev/schemas/base-tokens.schema.json",
|
|
4
|
+
"title": "Origo Base Tokens Schema",
|
|
5
|
+
"description": "JSON Schema for Origo Base Tokens",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"patternProperties": {
|
|
8
|
+
"^[^$][a-zA-Z0-9_\\-]*$": {
|
|
9
|
+
"$ref": "#/$defs/tokenOrGroup"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"additionalProperties": false,
|
|
13
|
+
"$defs": {
|
|
14
|
+
"tokenOrGroup": {
|
|
15
|
+
"anyOf": [{ "$ref": "#/$defs/token" }, { "$ref": "#/$defs/tokenGroup" }]
|
|
16
|
+
},
|
|
17
|
+
"token": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"$value": {
|
|
21
|
+
"type": ["string", "number", "object", "array", "boolean"]
|
|
22
|
+
},
|
|
23
|
+
"$type": {
|
|
24
|
+
"type": "string",
|
|
25
|
+
"enum": [
|
|
26
|
+
"color",
|
|
27
|
+
"dimension",
|
|
28
|
+
"fontFamily",
|
|
29
|
+
"fontWeight",
|
|
30
|
+
"duration",
|
|
31
|
+
"cubicBezier",
|
|
32
|
+
"number",
|
|
33
|
+
"shadow",
|
|
34
|
+
"strokeStyle",
|
|
35
|
+
"border",
|
|
36
|
+
"transition",
|
|
37
|
+
"typography",
|
|
38
|
+
"spacing",
|
|
39
|
+
"borderRadius",
|
|
40
|
+
"elevation",
|
|
41
|
+
"animation",
|
|
42
|
+
"motion",
|
|
43
|
+
"breakpoints",
|
|
44
|
+
"opacity",
|
|
45
|
+
"density"
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
"$description": {
|
|
49
|
+
"type": "string"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"required": ["$value"],
|
|
53
|
+
"additionalProperties": false,
|
|
54
|
+
"allOf": [
|
|
55
|
+
{
|
|
56
|
+
"if": { "properties": { "$type": { "const": "typography" } }, "required": ["$type"] },
|
|
57
|
+
"then": { "properties": { "$value": { "$ref": "#/$defs/typographyValue" } } }
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"if": { "properties": { "$type": { "const": "shadow" } }, "required": ["$type"] },
|
|
61
|
+
"then": { "properties": { "$value": { "$ref": "#/$defs/shadowValue" } } }
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"if": { "properties": { "$type": { "const": "border" } }, "required": ["$type"] },
|
|
65
|
+
"then": { "properties": { "$value": { "$ref": "#/$defs/borderValue" } } }
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
},
|
|
69
|
+
"tokenGroup": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"properties": {
|
|
72
|
+
"$type": {
|
|
73
|
+
"type": "string"
|
|
74
|
+
},
|
|
75
|
+
"$description": {
|
|
76
|
+
"type": "string"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"patternProperties": {
|
|
80
|
+
"^[^$][a-zA-Z0-9_\\-]*$": {
|
|
81
|
+
"$ref": "#/$defs/tokenOrGroup"
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"additionalProperties": false
|
|
85
|
+
},
|
|
86
|
+
"typographyValue": {
|
|
87
|
+
"type": "object",
|
|
88
|
+
"properties": {
|
|
89
|
+
"fontFamily": { "type": "string" },
|
|
90
|
+
"fontSize": { "type": ["string", "number"] },
|
|
91
|
+
"fontWeight": { "type": ["string", "number"] },
|
|
92
|
+
"letterSpacing": { "type": ["string", "number"] },
|
|
93
|
+
"lineHeight": { "type": ["string", "number"] }
|
|
94
|
+
},
|
|
95
|
+
"required": ["fontFamily", "fontSize"],
|
|
96
|
+
"additionalProperties": false
|
|
97
|
+
},
|
|
98
|
+
"shadowValue": {
|
|
99
|
+
"anyOf": [
|
|
100
|
+
{ "$ref": "#/$defs/singleShadowValue" },
|
|
101
|
+
{ "type": "array", "items": { "$ref": "#/$defs/singleShadowValue" } }
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"singleShadowValue": {
|
|
105
|
+
"type": "object",
|
|
106
|
+
"properties": {
|
|
107
|
+
"color": { "type": "string" },
|
|
108
|
+
"offsetX": { "type": ["string", "number"] },
|
|
109
|
+
"offsetY": { "type": ["string", "number"] },
|
|
110
|
+
"blur": { "type": ["string", "number"] },
|
|
111
|
+
"spread": { "type": ["string", "number"] }
|
|
112
|
+
},
|
|
113
|
+
"required": ["color", "offsetX", "offsetY"],
|
|
114
|
+
"additionalProperties": false
|
|
115
|
+
},
|
|
116
|
+
"borderValue": {
|
|
117
|
+
"type": "object",
|
|
118
|
+
"properties": {
|
|
119
|
+
"color": { "type": "string" },
|
|
120
|
+
"width": { "type": ["string", "number"] },
|
|
121
|
+
"style": { "type": "string" }
|
|
122
|
+
},
|
|
123
|
+
"required": ["color", "width", "style"],
|
|
124
|
+
"additionalProperties": false
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://origo.dev/schemas/semantic-tokens.schema.json",
|
|
4
|
+
"title": "Origo Semantic Tokens Schema",
|
|
5
|
+
"description": "JSON Schema for Origo Semantic Tokens (ensures references)",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"patternProperties": {
|
|
8
|
+
"^[^$][a-zA-Z0-9_\\-]*$": {
|
|
9
|
+
"$ref": "#/$defs/tokenOrGroup"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"additionalProperties": false,
|
|
13
|
+
"$defs": {
|
|
14
|
+
"tokenOrGroup": {
|
|
15
|
+
"anyOf": [{ "$ref": "#/$defs/token" }, { "$ref": "#/$defs/tokenGroup" }]
|
|
16
|
+
},
|
|
17
|
+
"token": {
|
|
18
|
+
"type": "object",
|
|
19
|
+
"properties": {
|
|
20
|
+
"$value": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"pattern": "^.*\\{[a-zA-Z0-9_\\-\\.]+\\}.*$"
|
|
23
|
+
},
|
|
24
|
+
"$type": {
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"$description": {
|
|
28
|
+
"type": "string"
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"required": ["$value"],
|
|
32
|
+
"additionalProperties": false
|
|
33
|
+
},
|
|
34
|
+
"tokenGroup": {
|
|
35
|
+
"type": "object",
|
|
36
|
+
"properties": {
|
|
37
|
+
"$type": {
|
|
38
|
+
"type": "string"
|
|
39
|
+
},
|
|
40
|
+
"$description": {
|
|
41
|
+
"type": "string"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"patternProperties": {
|
|
45
|
+
"^[^$][a-zA-Z0-9_\\-]*$": {
|
|
46
|
+
"$ref": "#/$defs/tokenOrGroup"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"additionalProperties": false
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"color": {
|
|
3
|
+
"base": {
|
|
4
|
+
"blue": {
|
|
5
|
+
"100": {
|
|
6
|
+
"$value": "#E6F0FF",
|
|
7
|
+
"$type": "color"
|
|
8
|
+
},
|
|
9
|
+
"500": {
|
|
10
|
+
"$value": "#0066FF",
|
|
11
|
+
"$type": "color"
|
|
12
|
+
},
|
|
13
|
+
"900": {
|
|
14
|
+
"$value": "#002966",
|
|
15
|
+
"$type": "color"
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"neutral": {
|
|
19
|
+
"100": {
|
|
20
|
+
"$value": "#F5F5F5",
|
|
21
|
+
"$type": "color"
|
|
22
|
+
},
|
|
23
|
+
"900": {
|
|
24
|
+
"$value": "#1A1A1A",
|
|
25
|
+
"$type": "color"
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"spacing": {
|
|
31
|
+
"base": {
|
|
32
|
+
"1": {
|
|
33
|
+
"$value": "4px",
|
|
34
|
+
"$type": "dimension"
|
|
35
|
+
},
|
|
36
|
+
"2": {
|
|
37
|
+
"$value": "8px",
|
|
38
|
+
"$type": "dimension"
|
|
39
|
+
},
|
|
40
|
+
"4": {
|
|
41
|
+
"$value": "16px",
|
|
42
|
+
"$type": "dimension"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"color": {
|
|
3
|
+
"surface": {
|
|
4
|
+
"primary": {
|
|
5
|
+
"$value": "{color.base.blue.500}",
|
|
6
|
+
"$type": "color",
|
|
7
|
+
"$description": "Primary surface color for main actions"
|
|
8
|
+
},
|
|
9
|
+
"background": {
|
|
10
|
+
"$value": "{color.base.neutral.100}",
|
|
11
|
+
"$type": "color"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"text": {
|
|
15
|
+
"primary": {
|
|
16
|
+
"$value": "{color.base.neutral.900}",
|
|
17
|
+
"$type": "color"
|
|
18
|
+
},
|
|
19
|
+
"inverse": {
|
|
20
|
+
"$value": "{color.base.neutral.100}",
|
|
21
|
+
"$type": "color"
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"spacing": {
|
|
26
|
+
"container": {
|
|
27
|
+
"padding": {
|
|
28
|
+
"$value": "{spacing.base.4}",
|
|
29
|
+
"$type": "dimension"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
:root{--origo-color-base-blue-500:#0066FF;--origo-color-base-neutral-100:#F5F5F5;--origo-color-base-neutral-900:#1A1A1A;--origo-spacing-base-4:16px;--origo-color-surface-primary:var(--origo-color-base-blue-500);--origo-color-surface-background:var(--origo-color-base-neutral-100);--origo-color-text-primary:var(--origo-color-base-neutral-900);--origo-color-text-inverse:var(--origo-color-base-neutral-100);--origo-spacing-container-padding:var(--origo-spacing-base-4);}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
"--origo-color-base-blue-100": "#E6F0FF",
|
|
3
|
+
"--origo-color-base-blue-500": "#0066FF",
|
|
4
|
+
"--origo-color-base-blue-900": "#002966",
|
|
5
|
+
"--origo-color-base-neutral-100": "#F5F5F5",
|
|
6
|
+
"--origo-color-base-neutral-900": "#1A1A1A",
|
|
7
|
+
"--origo-spacing-base-1": "4px",
|
|
8
|
+
"--origo-spacing-base-2": "8px",
|
|
9
|
+
"--origo-spacing-base-4": "16px",
|
|
10
|
+
"--origo-color-surface-primary": "var(--origo-color-base-blue-500)",
|
|
11
|
+
"--origo-color-surface-background": "var(--origo-color-base-neutral-100)",
|
|
12
|
+
"--origo-color-text-primary": "var(--origo-color-base-neutral-900)",
|
|
13
|
+
"--origo-color-text-inverse": "var(--origo-color-base-neutral-100)",
|
|
14
|
+
"--origo-spacing-container-padding": "var(--origo-spacing-base-4)"
|
|
15
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"--origo-color-base-blue-100": "#E6F0FF",
|
|
3
|
+
"--origo-color-base-blue-500": "#0066FF",
|
|
4
|
+
"--origo-color-base-blue-900": "#002966",
|
|
5
|
+
"--origo-color-base-neutral-100": "#F5F5F5",
|
|
6
|
+
"--origo-color-base-neutral-900": "#1A1A1A",
|
|
7
|
+
"--origo-spacing-base-1": "4px",
|
|
8
|
+
"--origo-spacing-base-2": "8px",
|
|
9
|
+
"--origo-spacing-base-4": "16px",
|
|
10
|
+
"--origo-color-surface-primary": "var(--origo-color-base-blue-500)",
|
|
11
|
+
"--origo-color-surface-background": "var(--origo-color-base-neutral-100)",
|
|
12
|
+
"--origo-color-text-primary": "var(--origo-color-base-neutral-900)",
|
|
13
|
+
"--origo-color-text-inverse": "var(--origo-color-base-neutral-100)",
|
|
14
|
+
"--origo-spacing-container-padding": "var(--origo-spacing-base-4)"
|
|
15
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"`",close:"`"}]},i={defaultToken:"",tokenPostfix:".cypher",ignoreCase:true,brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],keywords:["ALL","AND","AS","ASC","ASCENDING","BY","CALL","CASE","CONTAINS","CREATE","DELETE","DESC","DESCENDING","DETACH","DISTINCT","ELSE","END","ENDS","EXISTS","IN","IS","LIMIT","MANDATORY","MATCH","MERGE","NOT","ON","ON","OPTIONAL","OR","ORDER","REMOVE","RETURN","SET","SKIP","STARTS","THEN","UNION","UNWIND","WHEN","WHERE","WITH","XOR","YIELD"],builtinLiterals:["true","TRUE","false","FALSE","null","NULL"],builtinFunctions:["abs","acos","asin","atan","atan2","avg","ceil","coalesce","collect","cos","cot","count","degrees","e","endNode","exists","exp","floor","head","id","keys","labels","last","left","length","log","log10","lTrim","max","min","nodes","percentileCont","percentileDisc","pi","properties","radians","rand","range","relationships","replace","reverse","right","round","rTrim","sign","sin","size","split","sqrt","startNode","stDev","stDevP","substring","sum","tail","tan","timestamp","toBoolean","toFloat","toInteger","toLower","toString","toUpper","trim","type"],operators:["+","-","*","/","%","^","=","<>","<",">","<=",">=","->","<-","-->","<--"],escapes:/\\(?:[tbnrf\\"'`]|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+/,octaldigits:/[0-7]+/,hexdigits:/[0-9a-fA-F]+/,tokenizer:{root:[[/[{}[\]()]/,"@brackets"],{include:"common"}],common:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/:[a-zA-Z_][\w]*/,"type.identifier"],[/[a-zA-Z_][\w]*(?=\()/,{cases:{"@builtinFunctions":"predefined.function"}}],[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@builtinLiterals":"predefined.literal","@default":"identifier"}}],[/`/,"identifier.escape","@identifierBacktick"],[/[;,.:|]/,"delimiter"],[/[<>=%+\-*/^]+/,{cases:{"@operators":"delimiter","@default":""}}]],numbers:[[/-?(@digits)[eE](-?(@digits))?/,"number.float"],[/-?(@digits)?\.(@digits)([eE]-?(@digits))?/,"number.float"],[/-?0x(@hexdigits)/,"number.hex"],[/-?0(@octaldigits)/,"number.octal"],[/-?(@digits)/,"number"]],strings:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/"/,"string","@stringDouble"],[/'/,"string","@stringSingle"]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/\/\/.*/,"comment"],[/[^/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[/*]/,"comment"]],stringDouble:[[/[^\\"]+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/"/,"string","@pop"]],stringSingle:[[/[^\\']+/,"string"],[/@escapes/,"string"],[/\\./,"string.invalid"],[/'/,"string","@pop"]],identifierBacktick:[[/[^\\`]+/,"identifier.escape"],[/@escapes/,"identifier.escape"],[/\\./,"identifier.escape.invalid"],[/`/,"identifier.escape","@pop"]]}};
|
|
2
|
+
export{e as conf,i as language};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var e={comments:{blockComment:["<!--","-->"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"<",close:">",notIn:["string"]}],surroundingPairs:[{open:"(",close:")"},{open:"[",close:"]"},{open:"`",close:"`"}],folding:{markers:{start:new RegExp("^\\s*<!--\\s*#?region\\b.*-->"),end:new RegExp("^\\s*<!--\\s*#?endregion\\b.*-->")}}},t={defaultToken:"",tokenPostfix:".md",control:/[\\`*_\[\]{}()#+\-\.!]/,noncontrol:/[^\\`*_\[\]{}()#+\-\.!]/,escapes:/\\(?:@control)/,jsescapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,empty:["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param"],tokenizer:{root:[[/^\s*\|/,"@rematch","@table_header"],[/^(\s{0,3})(#+)((?:[^\\#]|@escapes)+)((?:#+)?)/,["white","keyword","keyword","keyword"]],[/^\s*(=+|\-+)\s*$/,"keyword"],[/^\s*((\*[ ]?)+)\s*$/,"meta.separator"],[/^\s*>+/,"comment"],[/^\s*([\*\-+:]|\d+\.)\s/,"keyword"],[/^(\t|[ ]{4})[^ ].*$/,"string"],[/^\s*~~~\s*((?:\w|[\/\-#])+)?\s*$/,{token:"string",next:"@codeblock"}],[/^\s*```\s*((?:\w|[\/\-#])+).*$/,{token:"string",next:"@codeblockgh",nextEmbedded:"$1"}],[/^\s*```\s*$/,{token:"string",next:"@codeblock"}],{include:"@linecontent"}],table_header:[{include:"@table_common"},[/[^\|]+/,"keyword.table.header"]],table_body:[{include:"@table_common"},{include:"@linecontent"}],table_common:[[/\s*[\-:]+\s*/,{token:"keyword",switchTo:"table_body"}],[/^\s*\|/,"keyword.table.left"],[/^\s*[^\|]/,"@rematch","@pop"],[/^\s*$/,"@rematch","@pop"],[/\|/,{cases:{"@eos":"keyword.table.right","@default":"keyword.table.middle"}}]],codeblock:[[/^\s*~~~\s*$/,{token:"string",next:"@pop"}],[/^\s*```\s*$/,{token:"string",next:"@pop"}],[/.*$/,"variable.source"]],codeblockgh:[[/```\s*$/,{token:"string",next:"@pop",nextEmbedded:"@pop"}],[/[^`]+/,"variable.source"]],linecontent:[[/&\w+;/,"string.escape"],[/@escapes/,"escape"],[/\b__([^\\_]|@escapes|_(?!_))+__\b/,"strong"],[/\*\*([^\\*]|@escapes|\*(?!\*))+\*\*/,"strong"],[/\b_[^_]+_\b/,"emphasis"],[/\*([^\\*]|@escapes)+\*/,"emphasis"],[/`([^\\`]|@escapes)+`/,"variable"],[/\{+[^}]+\}+/,"string.target"],[/(!?\[)((?:[^\]\\]|@escapes)*)(\]\([^\)]+\))/,["string.link","","string.link"]],[/(!?\[)((?:[^\]\\]|@escapes)*)(\])/,"string.link"],{include:"html"}],html:[[/<(\w+)\/>/,"tag"],[/<(\w+)(\-|\w)*/,{cases:{"@empty":{token:"tag",next:"@tag.$1"},"@default":{token:"tag",next:"@tag.$1"}}}],[/<\/(\w+)(\-|\w)*\s*>/,{token:"tag"}],[/<!--/,"comment","@comment"]],comment:[[/[^<\-]+/,"comment.content"],[/-->/,"comment","@pop"],[/<!--/,"comment.content.invalid"],[/[<\-]/,"comment.content"]],tag:[[/[ \t\r\n]+/,"white"],[/(type)(\s*=\s*)(")([^"]+)(")/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(type)(\s*=\s*)(')([^']+)(')/,["attribute.name.html","delimiter.html","string.html",{token:"string.html",switchTo:"@tag.$S2.$4"},"string.html"]],[/(\w+)(\s*=\s*)("[^"]*"|'[^']*')/,["attribute.name.html","delimiter.html","string.html"]],[/\w+/,"attribute.name.html"],[/\/>/,"tag","@pop"],[/>/,{cases:{"$S2==style":{token:"tag",switchTo:"embeddedStyle",nextEmbedded:"text/css"},"$S2==script":{cases:{$S3:{token:"tag",switchTo:"embeddedScript",nextEmbedded:"$S3"},"@default":{token:"tag",switchTo:"embeddedScript",nextEmbedded:"text/javascript"}}},"@default":{token:"tag",next:"@pop"}}}]],embeddedStyle:[[/[^<]+/,""],[/<\/style\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]],embeddedScript:[[/[^<]+/,""],[/<\/script\s*>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}],[/</,""]]}};export{e as conf,t as language};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`",notIn:["string"]},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:"`",close:"`"},{open:'"',close:'"'},{open:"'",close:"'"}]},n={defaultToken:"",tokenPostfix:".go",keywords:["break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var","bool","true","false","uint8","uint16","uint32","uint64","int8","int16","int32","int64","float32","float64","complex64","complex128","byte","rune","uint","int","uintptr","string","nil"],operators:["+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(",")","","]","{","}",",",";",".",":"],symbols:/[=><!~?:&|+\-*\/\^%]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,tokenizer:{root:[[/[a-zA-Z_]\w*/,{cases:{"@keywords":{token:"keyword.$0"},"@default":"identifier"}}],{include:"@whitespace"},[/\[\[.*\]\]/,"annotation"],[/^\s*#\w+/,"keyword"],[/[{}()\[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":"delimiter","@default":""}}],[/\d*\d+[eE]([\-+]?\d+)?/,"number.float"],[/\d*\.\d+([eE][\-+]?\d+)?/,"number.float"],[/0[xX][0-9a-fA-F']*[0-9a-fA-F]/,"number.hex"],[/0[0-7']*[0-7]/,"number.octal"],[/0[bB][0-1']*[0-1]/,"number.binary"],[/\d[\d']*/,"number"],[/\d/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,"string","@string"],[/`/,"string","@rawstring"],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],whitespace:[[/[ \t\r\n]+/,""],[/\/\*\*(?!\/)/,"comment.doc","@doccomment"],[/\/\*/,"comment","@comment"],[/\/\/.*$/,"comment"]],comment:[[/[^\/*]+/,"comment"],[/\*\//,"comment","@pop"],[/[\/*]/,"comment"]],doccomment:[[/[^\/*]+/,"comment.doc"],[/\/\*/,"comment.doc.invalid"],[/\*\//,"comment.doc","@pop"],[/[\/*]/,"comment.doc"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],rawstring:[[/[^\`]/,"string"],[/`/,"string","@pop"]]}};
|
|
2
|
+
export{e as conf,n as language};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {g as gie}from'./main-YL46L42N.js';var l=Object.defineProperty,p=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,g=Object.prototype.hasOwnProperty,o=(t,e,n,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of c(e))!g.call(t,r)&&r!==n&&l(t,r,{get:()=>e[r],enumerable:!(s=p(e,r))||s.enumerable});return t},d=(t,e,n)=>(o(t,e,"default"),n),a={};d(a,gie);var _={comments:{lineComment:"#",blockComment:["'''","'''"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],onEnterRules:[{beforeText:new RegExp("^\\s*(?:def|class|for|if|elif|else|while|try|with|finally|except|async|match|case).*?:\\s*$"),action:{indentAction:a.languages.IndentAction.Indent}}],folding:{offSide:true,markers:{start:new RegExp("^\\s*#region\\b"),end:new RegExp("^\\s*#endregion\\b")}}},f={defaultToken:"",tokenPostfix:".python",keywords:["False","None","True","_","and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","exec","finally","for","from","global","if","import","in","is","lambda","match","nonlocal","not","or","pass","print","raise","return","try","type","while","with","yield","int","float","long","complex","hex","abs","all","any","apply","basestring","bin","bool","buffer","bytearray","callable","chr","classmethod","cmp","coerce","compile","complex","delattr","dict","dir","divmod","enumerate","eval","execfile","file","filter","format","frozenset","getattr","globals","hasattr","hash","help","id","input","intern","isinstance","issubclass","iter","len","locals","list","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","reversed","range","raw_input","reduce","reload","repr","reversed","round","self","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","unichr","unicode","vars","xrange","zip","__dict__","__methods__","__members__","__class__","__bases__","__name__","__mro__","__subclasses__","__init__","__import__"],brackets:[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.bracket"},{open:"(",close:")",token:"delimiter.parenthesis"}],tokenizer:{root:[{include:"@whitespace"},{include:"@numbers"},{include:"@strings"},[/[,:;]/,"delimiter"],[/[{}\[\]()]/,"@brackets"],[/@[a-zA-Z_]\w*/,"tag"],[/[a-zA-Z_]\w*/,{cases:{"@keywords":"keyword","@default":"identifier"}}]],whitespace:[[/\s+/,"white"],[/(^#.*$)/,"comment"],[/'''/,"string","@endDocString"],[/"""/,"string","@endDblDocString"]],endDocString:[[/[^']+/,"string"],[/\\'/,"string"],[/'''/,"string","@popall"],[/'/,"string"]],endDblDocString:[[/[^"]+/,"string"],[/\\"/,"string"],[/"""/,"string","@popall"],[/"/,"string"]],numbers:[[/-?0x([abcdef]|[ABCDEF]|\d)+[lL]?/,"number.hex"],[/-?(\d*\.)?\d+([eE][+\-]?\d+)?[jJ]?[lL]?/,"number"]],strings:[[/'$/,"string.escape","@popall"],[/f'{1,3}/,"string.escape","@fStringBody"],[/'/,"string.escape","@stringBody"],[/"$/,"string.escape","@popall"],[/f"{1,3}/,"string.escape","@fDblStringBody"],[/"/,"string.escape","@dblStringBody"]],fStringBody:[[/[^\\'\{\}]+$/,"string","@popall"],[/[^\\'\{\}]+/,"string"],[/\{[^\}':!=]+/,"identifier","@fStringDetail"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],stringBody:[[/[^\\']+$/,"string","@popall"],[/[^\\']+/,"string"],[/\\./,"string"],[/'/,"string.escape","@popall"],[/\\$/,"string"]],fDblStringBody:[[/[^\\"\{\}]+$/,"string","@popall"],[/[^\\"\{\}]+/,"string"],[/\{[^\}':!=]+/,"identifier","@fStringDetail"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]],dblStringBody:[[/[^\\"]+$/,"string","@popall"],[/[^\\"]+/,"string"],[/\\./,"string"],[/"/,"string.escape","@popall"],[/\\$/,"string"]],fStringDetail:[[/[:][^}]+/,"string"],[/[!][ars]/,"string"],[/=/,"string"],[/\}/,"identifier","@pop"]]}};export{_ as conf,f as language};
|