@dragcraft/themes 0.0.1

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.
@@ -0,0 +1,105 @@
1
+ {
2
+ "version": 1,
3
+ "tokens": {
4
+ "--dc-color-accent": { "kind": "semantic", "default": "#2e70dc", "description": "Primary action and selection color." },
5
+ "--dc-color-accent-hover": { "kind": "semantic", "default": "#2563eb", "description": "Hovered primary action color." },
6
+ "--dc-color-accent-active": { "kind": "semantic", "default": "#1d4ed8", "description": "Pressed primary action color." },
7
+ "--dc-color-accent-subtle": { "kind": "semantic", "default": "#eff6ff", "description": "Low-emphasis accent surface." },
8
+ "--dc-color-accent-border": { "kind": "semantic", "default": "#bfdbfe", "description": "Border color on subtle accent surfaces." },
9
+ "--dc-color-accent-ring": { "kind": "semantic", "default": "rgba(46, 112, 220, 0.2)", "description": "Translucent accent ring and glow." },
10
+ "--dc-color-on-accent": { "kind": "semantic", "default": "#fafafa", "description": "Content color on strong accent surfaces." },
11
+ "--dc-color-on-accent-subtle": { "kind": "semantic", "default": "#1e3a8a", "description": "Content color on subtle accent surfaces." },
12
+ "--dc-color-success": { "kind": "semantic", "default": "#15803d", "description": "Success feedback color." },
13
+ "--dc-color-warning": { "kind": "semantic", "default": "#a16207", "description": "Warning feedback color." },
14
+ "--dc-color-danger": { "kind": "semantic", "default": "#dc2626", "description": "Danger and destructive action color." },
15
+ "--dc-color-danger-subtle": { "kind": "semantic", "default": "#fef2f2", "description": "Low-emphasis danger surface." },
16
+ "--dc-color-text": { "kind": "semantic", "default": "#09090b", "description": "Primary workbench text color." },
17
+ "--dc-color-text-muted": { "kind": "semantic", "default": "#52525b", "description": "Secondary workbench text color." },
18
+ "--dc-color-text-subtle": { "kind": "semantic", "default": "#a1a1aa", "description": "Tertiary and placeholder text color." },
19
+ "--dc-color-surface": { "kind": "semantic", "default": "#ffffff", "description": "Primary workbench surface." },
20
+ "--dc-color-surface-subtle": { "kind": "semantic", "default": "#fafafa", "description": "Low-contrast workbench surface." },
21
+ "--dc-color-surface-muted": { "kind": "semantic", "default": "#f4f4f5", "description": "Muted control and hover surface." },
22
+ "--dc-color-surface-raised": { "kind": "semantic", "default": "#ffffff", "description": "Raised workbench surface." },
23
+ "--dc-color-canvas": { "kind": "semantic", "default": "#f1f1f3", "description": "Designer canvas background." },
24
+ "--dc-color-border": { "kind": "semantic", "default": "#d4d4d8", "description": "Standard workbench border." },
25
+ "--dc-color-border-subtle": { "kind": "semantic", "default": "#e4e4e7", "description": "Low-contrast workbench border." },
26
+ "--dc-color-focus-ring": { "kind": "semantic", "default": "#2e70dc", "description": "Keyboard focus ring color." },
27
+ "--dc-color-backdrop": { "kind": "semantic", "default": "rgba(9, 9, 11, 0.32)", "description": "Compact drawer backdrop." },
28
+ "--dc-color-sidebar-handle": { "kind": "semantic", "default": "#d4d4d8", "description": "Collapsed sidebar handle surface." },
29
+ "--dc-color-sidebar-handle-hover": { "kind": "semantic", "default": "#a1a1aa", "description": "Hovered sidebar handle surface." },
30
+ "--dc-font-sans": { "kind": "semantic", "default": "Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif", "description": "Workbench sans-serif font stack." },
31
+ "--dc-font-size-xs": { "kind": "semantic", "default": "11px", "description": "Extra-small workbench text." },
32
+ "--dc-font-size-sm": { "kind": "semantic", "default": "12px", "description": "Small workbench text." },
33
+ "--dc-font-size-md": { "kind": "semantic", "default": "13px", "description": "Default workbench text." },
34
+ "--dc-font-size-lg": { "kind": "semantic", "default": "14px", "description": "Large workbench text." },
35
+ "--dc-font-weight-regular": { "kind": "semantic", "default": "400", "description": "Regular workbench font weight." },
36
+ "--dc-font-weight-medium": { "kind": "semantic", "default": "500", "description": "Medium workbench font weight." },
37
+ "--dc-font-weight-semibold": { "kind": "semantic", "default": "600", "description": "Semibold workbench font weight." },
38
+ "--dc-radius-sm": { "kind": "semantic", "default": "4px", "description": "Small component radius." },
39
+ "--dc-radius-md": { "kind": "semantic", "default": "6px", "description": "Default component radius." },
40
+ "--dc-radius-lg": { "kind": "semantic", "default": "8px", "description": "Large component radius." },
41
+ "--dc-radius-full": { "kind": "semantic", "default": "999px", "description": "Pill-shaped component radius." },
42
+ "--dc-control-height-sm": { "kind": "semantic", "default": "28px", "description": "Compact control height." },
43
+ "--dc-control-height-md": { "kind": "semantic", "default": "32px", "description": "Default control height." },
44
+ "--dc-control-height-lg": { "kind": "semantic", "default": "40px", "description": "Comfortable control height." },
45
+ "--dc-shadow-sm": { "kind": "semantic", "default": "0 1px 2px rgba(9, 9, 11, 0.06), 0 1px 3px rgba(9, 9, 11, 0.08)", "description": "Low elevation shadow." },
46
+ "--dc-shadow-md": { "kind": "semantic", "default": "0 4px 12px rgba(9, 9, 11, 0.08)", "description": "Medium elevation shadow." },
47
+ "--dc-shadow-lg": { "kind": "semantic", "default": "0 16px 40px rgba(9, 9, 11, 0.14)", "description": "High elevation shadow." },
48
+ "--dc-duration-fast": { "kind": "semantic", "default": "120ms", "description": "Fast interaction duration." },
49
+ "--dc-duration-normal": { "kind": "semantic", "default": "180ms", "description": "Default interaction duration." },
50
+ "--dc-ease-standard": { "kind": "semantic", "default": "cubic-bezier(0.2, 0, 0, 1)", "description": "Standard workbench easing curve." },
51
+ "--dc-empty-state-icon-opacity": { "kind": "component", "default": "0.5", "description": "Empty-state icon opacity." },
52
+ "--dc-empty-state-icon-size": { "kind": "component", "default": "32px", "description": "Empty-state icon size." },
53
+ "--dc-material-item-shadow": { "kind": "component", "default": "none", "description": "Resting material-item shadow." },
54
+ "--dc-material-item-hover-shadow": { "kind": "component", "default": "var(--dc-shadow-sm)", "description": "Hovered material-item shadow." },
55
+ "--dc-material-search-radius": { "kind": "component", "default": "var(--dc-radius-md)", "description": "Material-panel search input radius." },
56
+ "--dc-node-selection-stroke-width": { "kind": "component", "default": "2px", "description": "Node selection stroke width." },
57
+ "--dc-node-toolbar-shadow": { "kind": "component", "default": "0 4px 12px var(--dc-color-accent-ring)", "description": "Floating node-toolbar shadow." }
58
+ },
59
+ "integrationProperties": {
60
+ "--dc-node-selection-root-block-overlap": { "description": "Root block-edge thickness painted outside material bounds without affecting layout." },
61
+ "--dc-node-selection-root-inline-overlap": { "description": "Root inline-edge width painted in the root-plane edge strips outside material bounds." },
62
+ "--dc-sized-inset-block-start": { "description": "Explicit block-start space reserved by fixed chrome." },
63
+ "--dc-sized-inset-block-end": { "description": "Explicit block-end space reserved by fixed chrome." },
64
+ "--dc-sized-inset-inline-start": { "description": "Explicit inline-start space reserved by fixed chrome." },
65
+ "--dc-sized-inset-inline-end": { "description": "Explicit inline-end space reserved by fixed chrome." },
66
+ "--dc-measured-inset-block-start": { "description": "Measured block-start space reserved by fixed chrome." },
67
+ "--dc-measured-inset-block-end": { "description": "Measured block-end space reserved by fixed chrome." },
68
+ "--dc-measured-inset-inline-start": { "description": "Measured inline-start space reserved by fixed chrome." },
69
+ "--dc-measured-inset-inline-end": { "description": "Measured inline-end space reserved by fixed chrome." },
70
+ "--dc-inset-block-start": { "description": "Resolved block-start inset consumed by shell content and layers." },
71
+ "--dc-inset-block-end": { "description": "Resolved block-end inset consumed by shell content and layers." },
72
+ "--dc-inset-inline-start": { "description": "Resolved inline-start inset consumed by shell content and layers." },
73
+ "--dc-inset-inline-end": { "description": "Resolved inline-end inset consumed by shell content and layers." }
74
+ },
75
+ "components": {
76
+ "designer": { "parts": ["backdrop", "body", "center-panel", "left-panel", "right-panel"], "states": ["compact", "left-open", "right-open", "wide"] },
77
+ "canvas": { "parts": ["content", "interaction-layer", "stage", "viewport"], "states": ["dragging", "forbidden", "hand", "panning"] },
78
+ "canvas-controls": { "parts": ["button", "divider", "toolbar"], "states": [] },
79
+ "left-sidebar": { "parts": ["content", "rail", "rail-extension", "surface", "tab", "toggle"], "states": ["closed", "open"] },
80
+ "right-sidebar": { "parts": ["content", "rail", "rail-extension", "surface", "tab", "toggle"], "states": ["closed", "open"] },
81
+ "material-panel": { "parts": ["groups", "header", "heading", "search", "search-clear", "search-icon", "search-input"], "states": [] },
82
+ "material-group": { "parts": ["body", "header", "title", "toggle"], "states": ["collapsed", "expanded"] },
83
+ "material-item": { "parts": ["content", "icon", "thumbnail", "title"], "states": ["dragging"] },
84
+ "structure-panel": { "parts": ["empty", "header", "heading", "list"], "states": [] },
85
+ "structure-item": { "parts": ["action", "actions", "branch", "id", "main", "select", "title"], "states": ["danger", "selected"] },
86
+ "structure-region": { "parts": ["branch", "children", "count", "row", "title"], "states": [] },
87
+ "property-panel": { "parts": ["content", "empty"], "states": [] },
88
+ "form-generator": { "parts": [], "states": [] },
89
+ "form-section": { "parts": ["body", "header", "title", "toggle"], "states": ["collapsed", "expanded"] },
90
+ "form-field": { "parts": ["control", "error", "label", "tooltip", "unknown"], "states": ["disabled", "error"] },
91
+ "root-renderer": { "parts": [], "states": [] },
92
+ "container-shell": { "parts": [], "states": ["empty"] },
93
+ "unresolved-container": { "parts": [], "states": [] },
94
+ "container-region": { "parts": [], "states": ["active", "empty", "forbidden", "unresolved"] },
95
+ "empty-state": { "parts": ["icon", "text"], "states": ["drag-over"] },
96
+ "drop-indicator": { "parts": [], "states": [] },
97
+ "forbidden-overlay": { "parts": ["text"], "states": [] },
98
+ "node": { "parts": [], "states": ["container-owned", "drag-over", "dragging", "hidden", "hovered", "locked", "masked", "non-selectable", "root-owned", "selected", "unmasked", "unsorted"] },
99
+ "node-handle": { "parts": ["icon", "surface"], "states": [] },
100
+ "node-handle-anchor": { "parts": [], "states": ["hidden", "visible"] },
101
+ "node-toolbar": { "parts": ["action"], "states": ["danger", "disabled", "drag", "floating", "horizontal", "vertical"] },
102
+ "node-selection": { "parts": ["block-end-edge", "block-start-edge", "inline-end-edge", "inline-start-edge"], "states": ["material-bounds", "root-segment"] },
103
+ "widget-fallback": { "parts": [], "states": [] }
104
+ }
105
+ }
package/package.json ADDED
@@ -0,0 +1,45 @@
1
+ {
2
+ "name": "@dragcraft/themes",
3
+ "type": "module",
4
+ "version": "0.0.1",
5
+ "description": "Product-grade Standard and Google Material themes for dragcraft",
6
+ "author": "hackycy <hackycy@outlook.com>",
7
+ "license": "MIT",
8
+ "homepage": "https://github.com/hackycy/dragcraft#readme",
9
+ "repository": {
10
+ "type": "git",
11
+ "url": "git+https://github.com/hackycy/dragcraft.git"
12
+ },
13
+ "bugs": "https://github.com/hackycy/dragcraft/issues",
14
+ "keywords": [],
15
+ "sideEffects": [
16
+ "**/*.css"
17
+ ],
18
+ "exports": {
19
+ ".": "./dist/standard.css",
20
+ "./standard": "./dist/standard.css",
21
+ "./material": "./dist/material.css",
22
+ "./structure": "./dist/structure.css",
23
+ "./theme-contract.json": "./dist/theme-contract.json",
24
+ "./css-custom-data.json": "./dist/css-custom-data.json",
25
+ "./package.json": "./package.json"
26
+ },
27
+ "files": [
28
+ "dist/*.css",
29
+ "dist/*.json"
30
+ ],
31
+ "devDependencies": {
32
+ "postcss": "^8.5.6",
33
+ "postcss-selector-parser": "^7.1.0",
34
+ "@dragcraft/designer": "0.0.1",
35
+ "@dragcraft/renderer": "0.0.1",
36
+ "@dragcraft/form-generator": "0.0.1"
37
+ },
38
+ "scripts": {
39
+ "build": "pnpm generate:contract && pnpm check && tsdown",
40
+ "check": "node scripts/validate-theme-contract.mjs && node scripts/validate-theme-interactions.mjs",
41
+ "generate:contract": "node scripts/generate-theme-custom-data.mjs",
42
+ "test": "pnpm check",
43
+ "dev": "tsdown --watch"
44
+ }
45
+ }