@workbench-kit/react 0.0.2-prototype.0.2.26 → 0.0.2-prototype.0.2.28
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/README.md +61 -14
- package/package.json +21 -11
- package/src/index.ts +2 -4
- package/src/jdw/fixtures/jdw-fixtures.ts +0 -15
- package/src/layout/index.ts +0 -2
- package/src/layout/panel/Panel.tsx +0 -3
- package/src/layout/panel/index.ts +0 -2
- package/src/overlay/ContextMenu.tsx +4 -16
- package/src/overlay/context-menu-density.css +22 -0
- package/src/overlay/context-menu-item.ts +17 -0
- package/src/overlay/context-menu.css +2 -0
- package/src/overlay/pointerPassthroughRegion.ts +1 -1
- package/src/primitives/app-icon/AppIcon.tsx +33 -0
- package/src/primitives/app-icon/app-icon.css +28 -0
- package/src/primitives/catalog-browse-pane/CatalogBrowsePane.tsx +24 -17
- package/src/primitives/catalog-browse-pane/catalog-browse-pane.css +4 -0
- package/src/primitives/chip/Chip.tsx +1 -10
- package/src/primitives/chip/index.ts +2 -2
- package/src/primitives/index.ts +2 -2
- package/src/primitives/primitives.css +1 -0
- package/src/scrollbars.css +2 -6
- package/src/styles/core.css +16 -0
- package/src/styles/foundation.css +4 -0
- package/src/styles/overlay.css +2 -0
- package/src/styles.css +0 -1
- package/src/widget-tree/WidgetSourceEditor.tsx +0 -14
- package/src/widget-tree/WidgetTreeCanvasPreview.tsx +2 -6
- package/src/widget-tree/WidgetTreeLab.tsx +2 -23
- package/src/widget-tree/WidgetTreeSidePanel.tsx +0 -5
- package/src/widget-tree/index.ts +1 -5
- package/src/workbench/auth/WorkbenchLoginView.tsx +1 -2
- package/src/workbench/auth/auth-flows.css +14 -0
- package/src/workbench/chrome/workbench-layout-regions.css +13 -0
- package/src/workbench/chrome/workbench-shell-titlebar.css +0 -8
- package/src/workbench/commands/CommandList.tsx +1 -0
- package/src/workbench/commands/ShortcutCommandBridge.tsx +16 -0
- package/src/workbench/management/WorkbenchNotice.tsx +19 -11
- package/src/workbench/settings/StructuredDataSchemaPanel.tsx +21 -40
- package/src/workbench/settings/sectionedPanelScrollSpy.ts +0 -81
- package/src/workbench/shell/ActivityBar.tsx +0 -4
- package/src/workbench/shell/shell.ts +1 -1
- package/src/workbench/shell/workbenchSidebarLayoutContext.ts +0 -6
- package/src/workbench/views/command-list-density.css +36 -0
- package/src/workbench/views/command-list.css +2 -0
- package/src/workbench/workspace/WorkspaceExplorer.tsx +1 -1
- package/src/workbench/workspace/createVirtualWorkspaceExplorerPort.ts +1 -14
- package/src/workbench-menu-surfaces.css +3 -57
- package/src/brand/TilepaperAppIcon.tsx +0 -181
- package/src/brand/index.ts +0 -2
- package/src/brand/tilepaper-app-icon-geometry.ts +0 -201
- package/src/primitives/absolute-box/index.ts +0 -1
- package/src/primitives/catalog-browse-card/index.ts +0 -1
- package/src/primitives/catalog-browse-pane/index.ts +0 -3
- package/src/primitives/catalog-filter-overlay/index.ts +0 -1
- package/src/primitives/codicon/index.ts +0 -1
- package/src/primitives/external-link-button/index.ts +0 -1
- package/src/primitives/library-detail-layout/index.ts +0 -6
- package/src/primitives/library-facet-filter-panel/index.ts +0 -1
- package/src/primitives/library-facet-filter-strip/index.ts +0 -1
- package/src/primitives/panel-loading/index.ts +0 -1
- package/src/primitives/scroll-area-infinite-load/index.ts +0 -2
- package/src/primitives/workbench-thumbnail/index.ts +0 -1
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { useId, type SVGProps } from 'react';
|
|
2
|
-
import { cx } from '../utils/cx';
|
|
3
|
-
import {
|
|
4
|
-
TILEPAPER_ICON_CANVAS,
|
|
5
|
-
TILEPAPER_ICON_GRADIENTS,
|
|
6
|
-
TILEPAPER_ICON_GRID,
|
|
7
|
-
TILEPAPER_ICON_ROOT_ELEVATION,
|
|
8
|
-
TILEPAPER_ICON_ROOT_PANEL,
|
|
9
|
-
TILEPAPER_ICON_TILES,
|
|
10
|
-
tilepaperPaperFoldPaths,
|
|
11
|
-
} from './tilepaper-app-icon-geometry.js';
|
|
12
|
-
|
|
13
|
-
export type TilepaperAppIconProps = Omit<SVGProps<SVGSVGElement>, 'viewBox'> & {
|
|
14
|
-
/** Flat rendering for small surfaces (e.g. titlebar) where elevation blur reads muddy. */
|
|
15
|
-
compact?: boolean;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
export function TilepaperAppIcon({ className, compact = false, ...props }: TilepaperAppIconProps) {
|
|
19
|
-
const idPrefix = `tilepaper-icon-${useId().replace(/:/g, '')}`;
|
|
20
|
-
const bgId = `${idPrefix}-bg`;
|
|
21
|
-
const panelId = `${idPrefix}-panel`;
|
|
22
|
-
const elevationId = `${idPrefix}-elevation`;
|
|
23
|
-
const blueId = `${idPrefix}-blue`;
|
|
24
|
-
const paperId = `${idPrefix}-paper`;
|
|
25
|
-
const tealId = `${idPrefix}-teal`;
|
|
26
|
-
const violetId = `${idPrefix}-violet`;
|
|
27
|
-
const { tileRx, tileSize } = TILEPAPER_ICON_GRID;
|
|
28
|
-
const fold = tilepaperPaperFoldPaths(
|
|
29
|
-
TILEPAPER_ICON_TILES.paper.x,
|
|
30
|
-
TILEPAPER_ICON_TILES.paper.y,
|
|
31
|
-
tileSize,
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
return (
|
|
35
|
-
<svg
|
|
36
|
-
aria-hidden="true"
|
|
37
|
-
className={cx('tilepaper-app-icon', className)}
|
|
38
|
-
fill="none"
|
|
39
|
-
viewBox={`0 0 ${TILEPAPER_ICON_CANVAS.size} ${TILEPAPER_ICON_CANVAS.size}`}
|
|
40
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
41
|
-
{...props}
|
|
42
|
-
>
|
|
43
|
-
<defs>
|
|
44
|
-
{compact ? null : (
|
|
45
|
-
<filter
|
|
46
|
-
id={elevationId}
|
|
47
|
-
x="-12%"
|
|
48
|
-
y="-8%"
|
|
49
|
-
width="124%"
|
|
50
|
-
height="128%"
|
|
51
|
-
colorInterpolationFilters="sRGB"
|
|
52
|
-
>
|
|
53
|
-
<feDropShadow
|
|
54
|
-
dx="0"
|
|
55
|
-
dy={TILEPAPER_ICON_ROOT_ELEVATION.dy}
|
|
56
|
-
floodColor={TILEPAPER_ICON_ROOT_ELEVATION.floodColor}
|
|
57
|
-
floodOpacity={TILEPAPER_ICON_ROOT_ELEVATION.floodOpacity}
|
|
58
|
-
stdDeviation={TILEPAPER_ICON_ROOT_ELEVATION.stdDeviation}
|
|
59
|
-
/>
|
|
60
|
-
</filter>
|
|
61
|
-
)}
|
|
62
|
-
<linearGradient
|
|
63
|
-
id={bgId}
|
|
64
|
-
x1={TILEPAPER_ICON_GRADIENTS.bg.x1}
|
|
65
|
-
x2={TILEPAPER_ICON_GRADIENTS.bg.x2}
|
|
66
|
-
y1={TILEPAPER_ICON_GRADIENTS.bg.y1}
|
|
67
|
-
y2={TILEPAPER_ICON_GRADIENTS.bg.y2}
|
|
68
|
-
gradientUnits="userSpaceOnUse"
|
|
69
|
-
>
|
|
70
|
-
<stop offset="0" stopColor="#0A1020" />
|
|
71
|
-
<stop offset="1" stopColor="#121C33" />
|
|
72
|
-
</linearGradient>
|
|
73
|
-
<linearGradient
|
|
74
|
-
id={panelId}
|
|
75
|
-
x1={TILEPAPER_ICON_GRADIENTS.panel.x1}
|
|
76
|
-
x2={TILEPAPER_ICON_GRADIENTS.panel.x2}
|
|
77
|
-
y1={TILEPAPER_ICON_GRADIENTS.panel.y1}
|
|
78
|
-
y2={TILEPAPER_ICON_GRADIENTS.panel.y2}
|
|
79
|
-
gradientUnits="userSpaceOnUse"
|
|
80
|
-
>
|
|
81
|
-
<stop offset="0" stopColor="#1A2C4D" />
|
|
82
|
-
<stop offset="0.42" stopColor="#162844" />
|
|
83
|
-
<stop offset="1" stopColor="#111D35" />
|
|
84
|
-
</linearGradient>
|
|
85
|
-
<linearGradient
|
|
86
|
-
id={blueId}
|
|
87
|
-
x1={TILEPAPER_ICON_GRADIENTS.blue.x1}
|
|
88
|
-
x2={TILEPAPER_ICON_GRADIENTS.blue.x2}
|
|
89
|
-
y1={TILEPAPER_ICON_GRADIENTS.blue.y1}
|
|
90
|
-
y2={TILEPAPER_ICON_GRADIENTS.blue.y2}
|
|
91
|
-
gradientUnits="userSpaceOnUse"
|
|
92
|
-
>
|
|
93
|
-
<stop offset="0" stopColor="#5D88FF" />
|
|
94
|
-
<stop offset="1" stopColor="#3158D6" />
|
|
95
|
-
</linearGradient>
|
|
96
|
-
<linearGradient
|
|
97
|
-
id={paperId}
|
|
98
|
-
x1={TILEPAPER_ICON_GRADIENTS.paper.x1}
|
|
99
|
-
x2={TILEPAPER_ICON_GRADIENTS.paper.x2}
|
|
100
|
-
y1={TILEPAPER_ICON_GRADIENTS.paper.y1}
|
|
101
|
-
y2={TILEPAPER_ICON_GRADIENTS.paper.y2}
|
|
102
|
-
gradientUnits="userSpaceOnUse"
|
|
103
|
-
>
|
|
104
|
-
<stop offset="0" stopColor="#FFF9EE" />
|
|
105
|
-
<stop offset="1" stopColor="#DDD9D1" />
|
|
106
|
-
</linearGradient>
|
|
107
|
-
<linearGradient
|
|
108
|
-
id={tealId}
|
|
109
|
-
x1={TILEPAPER_ICON_GRADIENTS.teal.x1}
|
|
110
|
-
x2={TILEPAPER_ICON_GRADIENTS.teal.x2}
|
|
111
|
-
y1={TILEPAPER_ICON_GRADIENTS.teal.y1}
|
|
112
|
-
y2={TILEPAPER_ICON_GRADIENTS.teal.y2}
|
|
113
|
-
gradientUnits="userSpaceOnUse"
|
|
114
|
-
>
|
|
115
|
-
<stop offset="0" stopColor="#2FD6C1" />
|
|
116
|
-
<stop offset="1" stopColor="#149685" />
|
|
117
|
-
</linearGradient>
|
|
118
|
-
<linearGradient
|
|
119
|
-
id={violetId}
|
|
120
|
-
x1={TILEPAPER_ICON_GRADIENTS.violet.x1}
|
|
121
|
-
x2={TILEPAPER_ICON_GRADIENTS.violet.x2}
|
|
122
|
-
y1={TILEPAPER_ICON_GRADIENTS.violet.y1}
|
|
123
|
-
y2={TILEPAPER_ICON_GRADIENTS.violet.y2}
|
|
124
|
-
gradientUnits="userSpaceOnUse"
|
|
125
|
-
>
|
|
126
|
-
<stop offset="0" stopColor="#8A67FF" />
|
|
127
|
-
<stop offset="1" stopColor="#5D3AC8" />
|
|
128
|
-
</linearGradient>
|
|
129
|
-
</defs>
|
|
130
|
-
<rect
|
|
131
|
-
width={TILEPAPER_ICON_CANVAS.size}
|
|
132
|
-
height={TILEPAPER_ICON_CANVAS.size}
|
|
133
|
-
rx={TILEPAPER_ICON_CANVAS.rx}
|
|
134
|
-
fill={`url(#${bgId})`}
|
|
135
|
-
/>
|
|
136
|
-
<rect
|
|
137
|
-
filter={compact ? undefined : `url(#${elevationId})`}
|
|
138
|
-
fill={`url(#${panelId})`}
|
|
139
|
-
height={TILEPAPER_ICON_ROOT_PANEL.size}
|
|
140
|
-
rx={TILEPAPER_ICON_ROOT_PANEL.rx}
|
|
141
|
-
width={TILEPAPER_ICON_ROOT_PANEL.size}
|
|
142
|
-
x={TILEPAPER_ICON_ROOT_PANEL.x}
|
|
143
|
-
y={TILEPAPER_ICON_ROOT_PANEL.y}
|
|
144
|
-
/>
|
|
145
|
-
<rect
|
|
146
|
-
x={TILEPAPER_ICON_TILES.blue.x}
|
|
147
|
-
y={TILEPAPER_ICON_TILES.blue.y}
|
|
148
|
-
width={tileSize}
|
|
149
|
-
height={tileSize}
|
|
150
|
-
rx={tileRx}
|
|
151
|
-
fill={`url(#${blueId})`}
|
|
152
|
-
/>
|
|
153
|
-
<rect
|
|
154
|
-
x={TILEPAPER_ICON_TILES.teal.x}
|
|
155
|
-
y={TILEPAPER_ICON_TILES.teal.y}
|
|
156
|
-
width={tileSize}
|
|
157
|
-
height={tileSize}
|
|
158
|
-
rx={tileRx}
|
|
159
|
-
fill={`url(#${tealId})`}
|
|
160
|
-
/>
|
|
161
|
-
<rect
|
|
162
|
-
x={TILEPAPER_ICON_TILES.violet.x}
|
|
163
|
-
y={TILEPAPER_ICON_TILES.violet.y}
|
|
164
|
-
width={tileSize}
|
|
165
|
-
height={tileSize}
|
|
166
|
-
rx={tileRx}
|
|
167
|
-
fill={`url(#${violetId})`}
|
|
168
|
-
/>
|
|
169
|
-
<rect
|
|
170
|
-
x={TILEPAPER_ICON_TILES.paper.x}
|
|
171
|
-
y={TILEPAPER_ICON_TILES.paper.y}
|
|
172
|
-
width={tileSize}
|
|
173
|
-
height={tileSize}
|
|
174
|
-
rx={tileRx}
|
|
175
|
-
fill={`url(#${paperId})`}
|
|
176
|
-
/>
|
|
177
|
-
<path d={fold.highlight} fill="white" fillOpacity="0.92" />
|
|
178
|
-
<path d={fold.shadow} fill="#C9C3B7" fillOpacity="0.74" />
|
|
179
|
-
</svg>
|
|
180
|
-
);
|
|
181
|
-
}
|
package/src/brand/index.ts
DELETED
|
@@ -1,201 +0,0 @@
|
|
|
1
|
-
/** Shared workbench app icon layout (1024 canvas, Material-style root surface). */
|
|
2
|
-
export const TILEPAPER_ICON_CANVAS_SIZE = 1024;
|
|
3
|
-
|
|
4
|
-
const REFERENCE_TILE_SIZE = 314;
|
|
5
|
-
/** Unified squircle radius — bumped for a softer, rounder Material feel. */
|
|
6
|
-
const REFERENCE_TILE_RX = 116;
|
|
7
|
-
|
|
8
|
-
/** Base rhythm for canvas → root panel inset. */
|
|
9
|
-
export const TILEPAPER_ICON_SPACING = 48;
|
|
10
|
-
|
|
11
|
-
/** Pulls the motif slightly toward the canvas center (px): wider outer rim, tighter tile grid. */
|
|
12
|
-
export const TILEPAPER_ICON_CENTER_CLUSTER = 8;
|
|
13
|
-
|
|
14
|
-
/** Ambient backdrop around the elevated root surface. */
|
|
15
|
-
export const TILEPAPER_ICON_CANVAS_MARGIN =
|
|
16
|
-
TILEPAPER_ICON_SPACING + TILEPAPER_ICON_CENTER_CLUSTER / 2;
|
|
17
|
-
|
|
18
|
-
/** Inset of the 4 tiles inside the root surface. */
|
|
19
|
-
export const TILEPAPER_ICON_GRID_MARGIN = TILEPAPER_ICON_SPACING - TILEPAPER_ICON_CENTER_CLUSTER;
|
|
20
|
-
export const TILEPAPER_ICON_GRID_GAP = TILEPAPER_ICON_SPACING - TILEPAPER_ICON_CENTER_CLUSTER;
|
|
21
|
-
|
|
22
|
-
/** Material-style elevation for the root surface panel. */
|
|
23
|
-
export const TILEPAPER_ICON_ROOT_ELEVATION = {
|
|
24
|
-
dy: 8,
|
|
25
|
-
floodColor: '#020617',
|
|
26
|
-
floodOpacity: 0.42,
|
|
27
|
-
stdDeviation: 12,
|
|
28
|
-
} as const;
|
|
29
|
-
|
|
30
|
-
const TILE_GRADIENT_OFFSETS = {
|
|
31
|
-
x1: 20,
|
|
32
|
-
x2: 250,
|
|
33
|
-
y1: 22,
|
|
34
|
-
y2: 262,
|
|
35
|
-
} as const;
|
|
36
|
-
|
|
37
|
-
const panelSize = TILEPAPER_ICON_CANVAS_SIZE - TILEPAPER_ICON_CANVAS_MARGIN * 2;
|
|
38
|
-
const panelX = TILEPAPER_ICON_CANVAS_MARGIN;
|
|
39
|
-
const panelY = TILEPAPER_ICON_CANVAS_MARGIN;
|
|
40
|
-
const tileSize = (panelSize - TILEPAPER_ICON_GRID_MARGIN * 2 - TILEPAPER_ICON_GRID_GAP) / 2;
|
|
41
|
-
|
|
42
|
-
/** Same absolute corner radius on every rounded rect (matches the 4 tiles). */
|
|
43
|
-
export const TILEPAPER_ICON_UNIFIED_RX = REFERENCE_TILE_RX;
|
|
44
|
-
|
|
45
|
-
const panelRx = TILEPAPER_ICON_UNIFIED_RX;
|
|
46
|
-
const tileRx = TILEPAPER_ICON_UNIFIED_RX;
|
|
47
|
-
const tileOrigin = panelX + TILEPAPER_ICON_GRID_MARGIN;
|
|
48
|
-
|
|
49
|
-
const gradientOffsetScale = tileSize / REFERENCE_TILE_SIZE;
|
|
50
|
-
const gradientOffsets = {
|
|
51
|
-
x1: Math.round(TILE_GRADIENT_OFFSETS.x1 * gradientOffsetScale),
|
|
52
|
-
x2: Math.round(TILE_GRADIENT_OFFSETS.x2 * gradientOffsetScale),
|
|
53
|
-
y1: Math.round(TILE_GRADIENT_OFFSETS.y1 * gradientOffsetScale),
|
|
54
|
-
y2: Math.round(TILE_GRADIENT_OFFSETS.y2 * gradientOffsetScale),
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export const TILEPAPER_ICON_CANVAS = {
|
|
58
|
-
size: TILEPAPER_ICON_CANVAS_SIZE,
|
|
59
|
-
rx: TILEPAPER_ICON_UNIFIED_RX,
|
|
60
|
-
} as const;
|
|
61
|
-
|
|
62
|
-
/** Material root surface — the primary app panel sitting above the backdrop. */
|
|
63
|
-
export const TILEPAPER_ICON_ROOT_PANEL = {
|
|
64
|
-
x: panelX,
|
|
65
|
-
y: panelY,
|
|
66
|
-
size: panelSize,
|
|
67
|
-
rx: panelRx,
|
|
68
|
-
} as const;
|
|
69
|
-
|
|
70
|
-
export const TILEPAPER_ICON_GRID = {
|
|
71
|
-
margin: TILEPAPER_ICON_GRID_MARGIN,
|
|
72
|
-
gap: TILEPAPER_ICON_GRID_GAP,
|
|
73
|
-
tileSize,
|
|
74
|
-
tileRx,
|
|
75
|
-
} as const;
|
|
76
|
-
|
|
77
|
-
export const TILEPAPER_ICON_TILES = {
|
|
78
|
-
blue: { x: tileOrigin, y: tileOrigin },
|
|
79
|
-
paper: { x: tileOrigin + tileSize + TILEPAPER_ICON_GRID_GAP, y: tileOrigin },
|
|
80
|
-
teal: { x: tileOrigin, y: tileOrigin + tileSize + TILEPAPER_ICON_GRID_GAP },
|
|
81
|
-
violet: {
|
|
82
|
-
x: tileOrigin + tileSize + TILEPAPER_ICON_GRID_GAP,
|
|
83
|
-
y: tileOrigin + tileSize + TILEPAPER_ICON_GRID_GAP,
|
|
84
|
-
},
|
|
85
|
-
} as const;
|
|
86
|
-
|
|
87
|
-
export function tilepaperRootElevationFilterMarkup(filterId = 'root-elevation'): string {
|
|
88
|
-
const { dy, floodColor, floodOpacity, stdDeviation } = TILEPAPER_ICON_ROOT_ELEVATION;
|
|
89
|
-
|
|
90
|
-
return `<filter id="${filterId}" x="-12%" y="-8%" width="124%" height="128%" color-interpolation-filters="sRGB">
|
|
91
|
-
<feDropShadow dx="0" dy="${dy}" stdDeviation="${stdDeviation}" flood-color="${floodColor}" flood-opacity="${floodOpacity}" />
|
|
92
|
-
</filter>`;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
/** Scale fold geometry from the original 286px tile art. */
|
|
96
|
-
export function tilepaperPaperFoldPaths(paperX: number, paperY: number, tileSizePx: number) {
|
|
97
|
-
const scale = tileSizePx / 286;
|
|
98
|
-
const inset = Math.round(84 * scale);
|
|
99
|
-
const foldStart = Math.round(88 * scale);
|
|
100
|
-
const shadowStart = Math.round(103 * scale);
|
|
101
|
-
const curveOffset = Math.round(37.608 * scale);
|
|
102
|
-
|
|
103
|
-
const right = paperX + tileSizePx;
|
|
104
|
-
const foldX = right - foldStart;
|
|
105
|
-
const shadowX = right - shadowStart;
|
|
106
|
-
|
|
107
|
-
return {
|
|
108
|
-
highlight: `M${foldX} ${paperY}H${foldX + 4}C${right - curveOffset} ${paperY} ${right} ${paperY + curveOffset} ${right} ${paperY + inset}V${paperY + inset + 4}L${foldX} ${paperY}Z`,
|
|
109
|
-
shadow: `M${shadowX} ${paperY}H${foldX}L${right} ${paperY + inset}V${paperY + shadowStart}L${shadowX} ${paperY}Z`,
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
const panelGradientInset = 18;
|
|
114
|
-
|
|
115
|
-
export const TILEPAPER_ICON_GRADIENTS = {
|
|
116
|
-
/** Dark ambient behind the elevated root surface. */
|
|
117
|
-
bg: { x1: 512, x2: 512, y1: 72, y2: 952 },
|
|
118
|
-
/** Material surface — slightly brighter toward the top edge. */
|
|
119
|
-
panel: {
|
|
120
|
-
x1: 512,
|
|
121
|
-
x2: 512,
|
|
122
|
-
y1: panelY + panelGradientInset,
|
|
123
|
-
y2: panelY + panelSize - panelGradientInset,
|
|
124
|
-
},
|
|
125
|
-
blue: {
|
|
126
|
-
x1: TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x1,
|
|
127
|
-
x2: TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x2,
|
|
128
|
-
y1: TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y1,
|
|
129
|
-
y2: TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y2,
|
|
130
|
-
},
|
|
131
|
-
paper: {
|
|
132
|
-
x1: 512 + (512 - (TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x2)),
|
|
133
|
-
x2: 512 + (512 - (TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x1)),
|
|
134
|
-
y1: TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y1,
|
|
135
|
-
y2: TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y2,
|
|
136
|
-
},
|
|
137
|
-
teal: {
|
|
138
|
-
x1: TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x1,
|
|
139
|
-
x2: TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x2,
|
|
140
|
-
y1: 512 + (512 - (TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y2)),
|
|
141
|
-
y2: 512 + (512 - (TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y1)),
|
|
142
|
-
},
|
|
143
|
-
violet: {
|
|
144
|
-
x1: 512 + (512 - (TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x2)),
|
|
145
|
-
x2: 512 + (512 - (TILEPAPER_ICON_TILES.blue.x + gradientOffsets.x1)),
|
|
146
|
-
y1: 512 + (512 - (TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y2)),
|
|
147
|
-
y2: 512 + (512 - (TILEPAPER_ICON_TILES.blue.y + gradientOffsets.y1)),
|
|
148
|
-
},
|
|
149
|
-
} as const;
|
|
150
|
-
|
|
151
|
-
/** Static favicon snapshot (keep in sync with geometry helpers above). */
|
|
152
|
-
export function renderTilepaperAppIconSvgMarkup(): string {
|
|
153
|
-
const fold = tilepaperPaperFoldPaths(
|
|
154
|
-
TILEPAPER_ICON_TILES.paper.x,
|
|
155
|
-
TILEPAPER_ICON_TILES.paper.y,
|
|
156
|
-
TILEPAPER_ICON_GRID.tileSize,
|
|
157
|
-
);
|
|
158
|
-
const { bg, panel, blue, paper, teal, violet } = TILEPAPER_ICON_GRADIENTS;
|
|
159
|
-
const { tileSize: t, tileRx: tr } = TILEPAPER_ICON_GRID;
|
|
160
|
-
const root = TILEPAPER_ICON_ROOT_PANEL;
|
|
161
|
-
|
|
162
|
-
return `<svg fill="none" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
|
163
|
-
<defs>
|
|
164
|
-
${tilepaperRootElevationFilterMarkup('root-elevation')}
|
|
165
|
-
<linearGradient id="bg" x1="${bg.x1}" x2="${bg.x2}" y1="${bg.y1}" y2="${bg.y2}" gradientUnits="userSpaceOnUse">
|
|
166
|
-
<stop offset="0" stop-color="#0A1020" />
|
|
167
|
-
<stop offset="1" stop-color="#121C33" />
|
|
168
|
-
</linearGradient>
|
|
169
|
-
<linearGradient id="panel" x1="${panel.x1}" x2="${panel.x2}" y1="${panel.y1}" y2="${panel.y2}" gradientUnits="userSpaceOnUse">
|
|
170
|
-
<stop offset="0" stop-color="#1A2C4D" />
|
|
171
|
-
<stop offset="0.42" stop-color="#162844" />
|
|
172
|
-
<stop offset="1" stop-color="#111D35" />
|
|
173
|
-
</linearGradient>
|
|
174
|
-
<linearGradient id="blue" x1="${blue.x1}" x2="${blue.x2}" y1="${blue.y1}" y2="${blue.y2}" gradientUnits="userSpaceOnUse">
|
|
175
|
-
<stop offset="0" stop-color="#5D88FF" />
|
|
176
|
-
<stop offset="1" stop-color="#3158D6" />
|
|
177
|
-
</linearGradient>
|
|
178
|
-
<linearGradient id="paper" x1="${paper.x1}" x2="${paper.x2}" y1="${paper.y1}" y2="${paper.y2}" gradientUnits="userSpaceOnUse">
|
|
179
|
-
<stop offset="0" stop-color="#FFF9EE" />
|
|
180
|
-
<stop offset="1" stop-color="#DDD9D1" />
|
|
181
|
-
</linearGradient>
|
|
182
|
-
<linearGradient id="teal" x1="${teal.x1}" x2="${teal.x2}" y1="${teal.y1}" y2="${teal.y2}" gradientUnits="userSpaceOnUse">
|
|
183
|
-
<stop offset="0" stop-color="#2FD6C1" />
|
|
184
|
-
<stop offset="1" stop-color="#149685" />
|
|
185
|
-
</linearGradient>
|
|
186
|
-
<linearGradient id="violet" x1="${violet.x1}" x2="${violet.x2}" y1="${violet.y1}" y2="${violet.y2}" gradientUnits="userSpaceOnUse">
|
|
187
|
-
<stop offset="0" stop-color="#8A67FF" />
|
|
188
|
-
<stop offset="1" stop-color="#5D3AC8" />
|
|
189
|
-
</linearGradient>
|
|
190
|
-
</defs>
|
|
191
|
-
<rect width="${TILEPAPER_ICON_CANVAS.size}" height="${TILEPAPER_ICON_CANVAS.size}" rx="${TILEPAPER_ICON_CANVAS.rx}" fill="url(#bg)" />
|
|
192
|
-
<rect x="${root.x}" y="${root.y}" width="${root.size}" height="${root.size}" rx="${root.rx}" fill="url(#panel)" filter="url(#root-elevation)" />
|
|
193
|
-
<rect x="${TILEPAPER_ICON_TILES.blue.x}" y="${TILEPAPER_ICON_TILES.blue.y}" width="${t}" height="${t}" rx="${tr}" fill="url(#blue)" />
|
|
194
|
-
<rect x="${TILEPAPER_ICON_TILES.teal.x}" y="${TILEPAPER_ICON_TILES.teal.y}" width="${t}" height="${t}" rx="${tr}" fill="url(#teal)" />
|
|
195
|
-
<rect x="${TILEPAPER_ICON_TILES.violet.x}" y="${TILEPAPER_ICON_TILES.violet.y}" width="${t}" height="${t}" rx="${tr}" fill="url(#violet)" />
|
|
196
|
-
<rect x="${TILEPAPER_ICON_TILES.paper.x}" y="${TILEPAPER_ICON_TILES.paper.y}" width="${t}" height="${t}" rx="${tr}" fill="url(#paper)" />
|
|
197
|
-
<path d="${fold.highlight}" fill="white" fill-opacity="0.92" />
|
|
198
|
-
<path d="${fold.shadow}" fill="#C9C3B7" fill-opacity="0.74" />
|
|
199
|
-
</svg>
|
|
200
|
-
`;
|
|
201
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './AbsoluteBox';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './CatalogBrowseCard';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './CatalogFilterOverlay';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Codicon';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './ExternalLinkButton';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './LibraryFacetFilterPanel';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './LibraryFacetFilterStrip';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './PanelLoading';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './WorkbenchThumbnail';
|