Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions apps/dotcom/client/e2e/tests/homepage.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,11 +52,11 @@ test.describe('preferences', () => {
await expect(page.locator('div.tla-theme__dark.tl-theme__dark')).not.toBeVisible()
await expect(page.locator('div.tl-background')).toHaveCSS(
'background-color',
'rgb(249, 250, 251)'
'rgb(247, 247, 242)'
)
await expect(page.locator('div.tla-theme-container')).toHaveCSS(
'background-color',
'rgb(252, 252, 252)'
'rgb(247, 247, 242)'
)
})
await test.step('can toggle dark mode', async () => {
Expand All @@ -69,11 +69,11 @@ test.describe('preferences', () => {
await expect(page.locator('div.tla-theme__dark.tl-theme__dark')).toBeVisible()
await expect(page.locator('div.tl-background')).toHaveCSS(
'background-color',
'rgb(16, 16, 17)'
'rgb(33, 33, 33)'
)
await expect(page.locator('div.tla-theme-container')).toHaveCSS(
'background-color',
'rgb(13, 13, 13)'
'rgb(41, 41, 41)'
)
}, page)
})
Expand Down
4 changes: 2 additions & 2 deletions apps/dotcom/client/public/favicon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions apps/dotcom/client/public/theme-init.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,13 @@
// this helps with safari
if (parsed.theme === 'dark') {
// this is the same as --tl-color-background, if you ever update that, update this too
document.documentElement.style.backgroundColor = 'hsl(240, 5%, 6.5%)'
document.documentElement.style.backgroundColor = '#212121'
// this is the same as --tl-color-text, if you ever update that, update this too
document.documentElement.style.color = 'hsl(210, 17%, 98%)'
document.documentElement.style.color = '#fcfcf8'
document.documentElement.style.colorScheme = 'dark'
} else if (parsed.theme === 'light') {
// this is the same as --tl-color-background, if you ever update that, update this too
document.documentElement.style.backgroundColor = 'hsl(210, 20%, 98%)'
document.documentElement.style.backgroundColor = '#f7f7f2'
document.documentElement.style.colorScheme = 'light'
}
}
Expand Down
136 changes: 67 additions & 69 deletions apps/dotcom/client/src/tla/styles/tla.css
Original file line number Diff line number Diff line change
Expand Up @@ -31,89 +31,87 @@
}

.tla-theme__light {
--tla-color-sidebar: hsl(0, 0%, 99%);
--tla-color-tooltip: hsla(200, 14%, 4%, 1);
--tla-color-canvas: hsl(210, 20%, 98%);
--tla-color-panel: hsl(0, 0%, 100%);
--tla-color-text-1: hsl(204, 8%, 5%);
--tla-color-text-2: hsl(204, 2%, 20%);
--tla-color-text-3: hsl(204, 4%, 45%);
--tla-color-contrast: hsl(0, 0%, 100%);
--tla-color-low: hsl(204, 16%, 94%);
--tla-color-border: hsl(204, 16%, 85%);
--tla-color-hover-1: hsl(204, 16%, 4%, 3%);
--tla-color-hover-2: hsl(204, 16%, 4%, 4.5%);
--tla-color-hover-3: hsla(0, 0%, 100%, 32.5%);
--tla-color-overlay: hsla(240, 16%, 2%, 30%);
--tla-color-cta: hsl(214, 92%, 50%);
--tla-color-cta-hover: hsl(214, 92%, 53%);
--tla-color-inactive: hsl(204, 4%, 55%);
--tla-color-inactive-hover: hsl(204, 4%, 59%);
--tla-color-primary: hsl(214, 84%, 56%);
--tla-color-primary-hover: hsl(214, 84%, 58%);
--tla-color-secondary: hsl(0, 0%, 92%);
--tla-color-secondary-hover: hsl(0, 0%, 93.5%);
--tla-color-secondary-border: hsl(0, 0%, 80%);
--tla-color-accent-1: hsl(50, 91%, 70%);
--tla-color-accent-2: hsl(28, 88%, 57%);
--tla-color-accent-3: hsl(135, 59%, 49%);
--tla-color-warning: hsl(0, 88%, 57%);
--tla-color-drop-zone: hsl(204, 16%, 4%, 2.5%);
/* App chrome */
--tla-color-sidebar: #f7f7f2;
--tla-color-tooltip: #292929;
--tla-color-canvas: #f7f7f2;
--tla-color-panel: #ffffff;
--tla-color-text-1: #292929;
--tla-color-text-2: #4e4d4b;
--tla-color-text-3: #72726e;
--tla-color-contrast: #ffffff;
--tla-color-low: #eaebe5;
--tla-color-border: #e2e3dc;
--tla-color-hover-1: rgba(41, 41, 41, 0.03);
--tla-color-hover-2: rgba(41, 41, 41, 0.035);
--tla-color-hover-3: rgba(255, 255, 255, 0.325);
--tla-color-overlay: rgba(41, 41, 41, 0.3);
--tla-color-cta: #576f00;
--tla-color-cta-hover: #677b01;
--tla-color-inactive: #72726e;
--tla-color-inactive-hover: #818179;
--tla-color-primary: #576f00;
--tla-color-primary-hover: #677b01;
--tla-color-secondary: #eaebe5;
--tla-color-secondary-hover: #f2f2ec;
--tla-color-secondary-border: #e2e3dc;
--tla-color-accent-1: #e5eacd;
--tla-color-accent-2: #ed9212;
--tla-color-accent-3: #576f00;
--tla-color-warning: #e02518;
--tla-color-drop-zone: rgba(41, 41, 41, 0.025);
/* Shadows */
/* --tla-shadow-primary-highlight: inset 0px 4px 2px -4px hsl(214, 94%, 94%),
inset 4px 4px 4px -6px hsl(214, 94%, 100%); */
--tla-shadow-1: 0px 1px 2px hsl(0, 0%, 0%, 25%), 0px 1px 3px hsl(0, 0%, 0%, 9%);
--tla-shadow-1: 0px 1px 2px rgba(41, 41, 41, 0.18), 0px 1px 3px rgba(41, 41, 41, 0.07);
--tla-shadow-2:
0px 0px 2px hsl(0, 0%, 0%, 16%), 0px 2px 3px hsl(0, 0%, 0%, 24%),
0px 2px 6px hsl(0, 0%, 0%, 0.1), inset 0px 0px 0px 1px var(--tla-color-contrast);
0px 0px 2px rgba(41, 41, 41, 0.12), 0px 2px 3px rgba(41, 41, 41, 0.18),
0px 2px 6px rgba(41, 41, 41, 0.08), inset 0px 0px 0px 1px var(--tla-color-contrast);
--tla-shadow-3:
0px 1px 2px hsl(0, 0%, 0%, 28%), 0px 2px 6px hsl(0, 0%, 0%, 14%),
0px 1px 2px rgba(41, 41, 41, 0.2), 0px 2px 6px rgba(41, 41, 41, 0.1),
inset 0px 0px 0px 1px var(--tla-color-contrast);
--tla-shadow-4:
0px 0px 3px hsl(0, 0%, 0%, 19%), 0px 5px 4px hsl(0, 0%, 0%, 16%),
0px 2px 16px hsl(0, 0%, 0%, 6%), inset 0px 0px 0px 1px var(--tla-color-contrast);
0px 0px 3px rgba(41, 41, 41, 0.14), 0px 5px 4px rgba(41, 41, 41, 0.12),
0px 2px 16px rgba(41, 41, 41, 0.05), inset 0px 0px 0px 1px var(--tla-color-contrast);
}

.tla-theme__dark {
--tla-color-sidebar: hsl(0, 0%, 5%);
--tla-color-tooltip: hsla(0, 0%, 100%, 1);
--tla-color-canvas: hsl(240, 5%, 6.5%);
--tla-color-panel: hsl(240, 6%, 13%);
--tla-color-text-1: hsl(204, 8%, 98%);
--tla-color-text-2: hsl(204, 5%, 85%);
--tla-color-text-3: hsl(204, 4%, 75%);
--tla-color-contrast: hsl(0, 0%, 100%);
--tla-color-low: hsl(240, 4%, 11%);
--tla-color-border: hsl(240, 12%, 20%);
--tla-color-hover-1: hsl(240, 8%, 100%, 3%);
--tla-color-hover-2: hsl(240, 8%, 100%, 5%);
--tla-color-hover-3: hsl(204, 16%, 4%, 3%);
--tla-color-overlay: hsla(240, 0%, 0%, 81%);
--tla-color-cta: hsl(214, 100%, 50%);
--tla-color-cta-hover: hsl(214, 100%, 52%);
--tla-color-inactive: hsl(204, 4%, 45%);
--tla-color-inactive-hover: hsl(204, 4%, 49%);
--tla-color-primary: hsl(214, 84%, 46%);
--tla-color-primary-hover: hsl(214, 84%, 50%);
--tla-color-secondary: hsl(0, 0%, 20%);
--tla-color-secondary-hover: hsl(0, 0%, 22%);
--tla-color-secondary-border: hsl(0, 0%, 25%);
--tla-color-accent-1: hsl(50, 91%, 60%);
--tla-color-accent-2: hsl(28, 88%, 47%);
--tla-color-accent-3: hsl(135, 59%, 39%);
--tla-color-warning: hsl(0, 95%, 65%);
--tla-color-drop-zone: hsl(204, 16%, 4%, 2.5%);
/* App chrome */
--tla-color-sidebar: #292929;
--tla-color-tooltip: #fcfcf8;
--tla-color-canvas: #212121;
--tla-color-panel: #363635;
--tla-color-text-1: #fcfcf8;
--tla-color-text-2: #acada8;
--tla-color-text-3: #9e9e99;
--tla-color-contrast: #fcfcf8;
--tla-color-low: #292929;
--tla-color-border: #4e4d4b;
--tla-color-hover-1: rgba(252, 252, 248, 0.03);
--tla-color-hover-2: rgba(252, 252, 248, 0.05);
--tla-color-hover-3: rgba(41, 41, 41, 0.03);
--tla-color-overlay: rgba(14, 15, 12, 0.81);
--tla-color-cta: #677b01;
--tla-color-cta-hover: #788c15;
--tla-color-inactive: #9e9e99;
--tla-color-inactive-hover: #acada8;
--tla-color-primary: #788c15;
--tla-color-primary-hover: #b2c248;
--tla-color-secondary: #4e4d4b;
--tla-color-secondary-hover: #6a6c6a;
--tla-color-secondary-border: #6a6c6a;
--tla-color-accent-1: #434625;
--tla-color-accent-2: #ed9212;
--tla-color-accent-3: #788c15;
--tla-color-warning: #e02518;
--tla-color-drop-zone: rgba(252, 252, 248, 0.025);
/* Shadows */
/* --tla-shadow-primary-highlight: inset 0px 1px 1px -1px hsl(214, 94%, 72%),
inset 4px 4px 4px -6px hsl(214, 94%, 80%); */
--tla-shadow-1:
0px 1px 2px hsl(0, 0%, 0%, 16.1%), 0px 1px 3px hsl(0, 0%, 0%, 22%),
0px 1px 2px rgba(14, 15, 12, 0.2), 0px 1px 3px rgba(14, 15, 12, 0.28),
inset 0px 0px 0px 1px var(--tla-color-panel);
--tla-shadow-2:
0px 1px 3px hsla(0, 44%, 27%, 0.666), 0px 2px 6px hsl(0, 0%, 0%, 33%),
0px 1px 3px rgba(14, 15, 12, 0.66), 0px 2px 6px rgba(14, 15, 12, 0.33),
inset 0px 0px 0px 1px var(--tla-color-panel);
--tla-shadow-3:
0px 1px 3px hsl(0, 0%, 0%, 50%), 0px 2px 12px hsl(0, 0%, 0%, 50%),
0px 1px 3px rgba(14, 15, 12, 0.5), 0px 2px 12px rgba(14, 15, 12, 0.5),
inset 0px 0px 0px 1px var(--tla-color-panel);
}

Expand Down
108 changes: 102 additions & 6 deletions apps/dotcom/client/styles/globals.css
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,16 @@ html[data-theme='dark'],
html[data-theme='dark'] body,
html[data-theme='dark'] #root {
/* this is the same as --tl-color-background, if you ever update that, update this too */
background-color: hsl(240, 5%, 6.5%);
background-color: #212121;
/* this is the same as --tl-color-text, if you ever update that, update this too */
color: hsl(210, 17%, 98%);
color: #fcfcf8;
color-scheme: dark;
}
html[data-theme='light'],
html[data-theme='light'] body,
html[data-theme='light'] #root {
/* this is the same as --tl-color-background, if you ever update that, update this too */
background-color: hsl(210, 20%, 98%);
background-color: #f7f7f2;
color-scheme: light;
}

Expand All @@ -28,20 +28,116 @@ html[data-theme='light'] #root {
html:not([data-theme='light']),
html:not([data-theme='light']) body,
html:not([data-theme='light']) #root {
background-color: hsl(240, 5%, 6.5%);
color: hsl(210, 17%, 98%);
background-color: #212121;
color: #fcfcf8;
color-scheme: dark;
}
}
@media (prefers-color-scheme: light) {
html:not([data-theme='dark']),
html:not([data-theme='dark']) body,
html:not([data-theme='dark']) #root {
background-color: hsl(210, 20%, 98%);
background-color: #f7f7f2;
color-scheme: light;
}
}

/* Granola-inspired editor theme overrides */
.tl-theme__light {
--tl-color-selection-fill: rgba(87, 111, 0, 0.15);
--tl-color-selection-stroke: #576f00;
--tl-color-background: #f7f7f2;
--tl-color-brush-fill: rgba(87, 111, 0, 0.1);
--tl-color-brush-stroke: rgba(87, 111, 0, 0.25);
--tl-color-grid: #9e9e99;
--tl-color-low: #eaebe5;
--tl-color-low-border: #e2e3dc;
--tl-color-culled: #f2f2ec;
--tl-color-muted-none: rgba(41, 41, 41, 0);
--tl-color-muted-0: rgba(41, 41, 41, 0.02);
--tl-color-muted-1: rgba(41, 41, 41, 0.1);
--tl-color-muted-2: rgba(41, 41, 41, 0.035);
--tl-color-hint: rgba(41, 41, 41, 0.045);
--tl-color-overlay: rgba(41, 41, 41, 0.2);
--tl-color-divider: #eaebe5;
--tl-color-panel: #ffffff;
--tl-color-panel-contrast: #ffffff;
--tl-color-panel-overlay: rgba(255, 255, 255, 0.82);
--tl-color-panel-transparent: rgba(255, 255, 255, 0);
--tl-color-selected: #576f00;
--tl-color-selected-contrast: #fcfcf8;
--tl-color-focus: #576f00;
--tl-color-tooltip: #292929;
--tl-color-text: #292929;
--tl-color-text-0: #292929;
--tl-color-text-1: #4e4d4b;
--tl-color-text-3: #72726e;
--tl-color-text-shadow: #ffffff;
--tl-color-text-highlight: #e5eacd;
--tl-color-primary: #576f00;
--tl-color-success: #576f00;
--tl-color-info: #2d5e9d;
--tl-color-warning: #ed9212;
--tl-color-danger: #e02518;
--tl-shadow-1: 0px 1px 2px rgba(41, 41, 41, 0.18), 0px 1px 3px rgba(41, 41, 41, 0.07);
--tl-shadow-2:
0px 0px 2px rgba(41, 41, 41, 0.12), 0px 2px 3px rgba(41, 41, 41, 0.18),
0px 2px 6px rgba(41, 41, 41, 0.08), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
--tl-shadow-3:
0px 1px 2px rgba(41, 41, 41, 0.2), 0px 2px 6px rgba(41, 41, 41, 0.1),
inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
--tl-shadow-4:
0px 0px 3px rgba(41, 41, 41, 0.14), 0px 5px 4px rgba(41, 41, 41, 0.12),
0px 2px 16px rgba(41, 41, 41, 0.05), inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
}

.tl-theme__dark {
--tl-color-selection-fill: rgba(120, 140, 21, 0.2);
--tl-color-selection-stroke: #788c15;
--tl-color-background: #212121;
--tl-color-brush-fill: rgba(120, 140, 21, 0.08);
--tl-color-brush-stroke: rgba(120, 140, 21, 0.25);
--tl-color-grid: #4e4d4b;
--tl-color-low: #292929;
--tl-color-low-border: #292929;
--tl-color-culled: #363635;
--tl-color-muted-none: rgba(252, 252, 248, 0);
--tl-color-muted-0: rgba(252, 252, 248, 0.02);
--tl-color-muted-1: rgba(252, 252, 248, 0.1);
--tl-color-muted-2: rgba(252, 252, 248, 0.05);
--tl-color-hint: rgba(252, 252, 248, 0.07);
--tl-color-overlay: rgba(14, 15, 12, 0.5);
--tl-color-divider: #4e4d4b;
--tl-color-panel: #363635;
--tl-color-panel-contrast: #4e4d4b;
--tl-color-panel-overlay: rgba(54, 54, 53, 0.82);
--tl-color-panel-transparent: rgba(54, 54, 53, 0);
--tl-color-selected: #788c15;
--tl-color-selected-contrast: #fcfcf8;
--tl-color-focus: #b2c248;
--tl-color-tooltip: #fcfcf8;
--tl-color-text: #fcfcf8;
--tl-color-text-0: #fcfcf8;
--tl-color-text-1: #acada8;
--tl-color-text-3: #9e9e99;
--tl-color-text-shadow: #292929;
--tl-color-text-highlight: #434625;
--tl-color-primary: #788c15;
--tl-color-success: #788c15;
--tl-color-info: #47a3f3;
--tl-color-warning: #ed9212;
--tl-color-danger: #e02518;
--tl-shadow-1:
0px 1px 2px rgba(14, 15, 12, 0.2), 0px 1px 3px rgba(14, 15, 12, 0.28),
inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
--tl-shadow-2:
0px 1px 3px rgba(14, 15, 12, 0.66), 0px 2px 6px rgba(14, 15, 12, 0.33),
inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
--tl-shadow-3:
0px 1px 3px rgba(14, 15, 12, 0.5), 0px 2px 12px rgba(14, 15, 12, 0.5),
inset 0px 0px 0px 1px var(--tl-color-panel-contrast);
}

.tldraw__editor {
height: 100%;
position: relative;
Expand Down
4 changes: 2 additions & 2 deletions apps/examples/src/icons/tldraw.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading