Compare commits

...

10 Commits

Author SHA1 Message Date
31d728ec49 v3.55.3
Some checks failed
Default (tags) / security (push) Failing after 0s
Default (tags) / test (push) Failing after 0s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-04-04 10:50:19 +00:00
ca290d1267 fix(theme): align component styles with shared theme CSS variables 2026-04-04 10:50:19 +00:00
dcef6faa66 v3.55.2
Some checks failed
Default (tags) / security (push) Failing after 1s
Default (tags) / test (push) Failing after 0s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-04-04 09:42:44 +00:00
fe9eb21fe0 fix(dees-simple-appdash,dees-simple-login): migrate app dashboard and login styles to shared theme CSS variables 2026-04-04 09:42:44 +00:00
f352314971 v3.55.1
Some checks failed
Default (tags) / security (push) Failing after 0s
Default (tags) / test (push) Failing after 0s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-04-04 09:37:06 +00:00
130ca68471 fix(appui): replace hardcoded app UI theme colors with shared dees CSS variables 2026-04-04 09:37:06 +00:00
cdde25d0b4 v3.55.0
Some checks failed
Default (tags) / security (push) Failing after 0s
Default (tags) / test (push) Failing after 0s
Default (tags) / release (push) Has been skipped
Default (tags) / metadata (push) Has been skipped
2026-04-04 09:23:11 +00:00
231c57b596 feat(theme): centralize theme CSS tokens in theme defaults and add missing interactive color variables 2026-04-04 09:23:11 +00:00
167dcb2b0a feat(theme): enhance color definitions and add warm text and badge colors 2026-04-04 09:12:54 +00:00
fdccdcdf73 feat(dees-simple-appdash): update color themes for improved UI consistency 2026-04-04 08:38:54 +00:00
26 changed files with 456 additions and 309 deletions

View File

@@ -1,5 +1,31 @@
# Changelog
## 2026-04-04 - 3.55.3 - fix(theme)
align component styles with shared theme CSS variables
- replace hardcoded bdTheme color usages across chart, dataview, input, layout, modal, media, simple, and workspace components with shared --dees-* theme tokens
- add themeDefaultStyles to components and style modules that were not yet inheriting the shared theme defaults
- standardize hover, border, background, text, and scrollbar colors for more consistent theming across the catalog
## 2026-04-04 - 3.55.2 - fix(dees-simple-appdash,dees-simple-login)
migrate app dashboard and login styles to shared theme CSS variables
- Replaces hardcoded bdTheme color values with --dees-* design tokens across dashboard and login components
- Aligns backgrounds, borders, text, hover, active, and scrollbar colors with the shared theming system
## 2026-04-04 - 3.55.1 - fix(appui)
replace hardcoded app UI theme colors with shared dees CSS variables
- Standardizes app UI component styling on shared --dees-* theme tokens across app bar, menus, tabs, main content, and bottom bar
- Removes remaining hardcoded light/dark color values in favor of centralized background, border, text, badge, tooltip, scrollbar, and accent variables
## 2026-04-04 - 3.55.0 - feat(theme)
centralize theme CSS tokens in theme defaults and add missing interactive color variables
- Refactors theme CSS variables to derive light and dark values from the shared themeDefaults token map instead of hardcoded color literals.
- Adjusts dark background token values so secondary and tertiary surfaces align more consistently with the dark UI palette.
- Adds new theme variables for interactive states, focus ring, tooltip, link, code, selection, and scrollbar styling.
## 2026-04-04 - 3.54.0 - feat(media)
rename media tile components to thumbnail components and add shared thumbnail base exports

View File

@@ -1,6 +1,6 @@
{
"name": "@design.estate/dees-catalog",
"version": "3.54.0",
"version": "3.55.3",
"private": false,
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
"main": "dist_ts_web/index.js",

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@design.estate/dees-catalog',
version: '3.54.0',
version: '3.55.3',
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
}

View File

@@ -12,8 +12,8 @@ export const appuiAppbarStyles = [
position: relative;
width: 100%;
height: var(--appbar-height);
border-bottom: 1px solid ${cssManager.bdTheme('#e0e0e0', '#202020')};
background: ${cssManager.bdTheme('#ffffff', '#000000')};
border-bottom: 1px solid var(--dees-color-border-default);
background: var(--dees-color-bg-primary);
color: ${cssManager.bdTheme('#00000080', '#ffffff80')};
font-size: var(--appbar-font-size);
display: grid;
@@ -78,8 +78,8 @@ export const appuiAppbarStyles = [
top: 100%;
left: 0;
min-width: 200px;
background: ${cssManager.bdTheme('#ffffff', '#000000')};
border: 1px solid ${cssManager.bdTheme('#e0e0e0', '#202020')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
box-shadow: ${cssManager.bdTheme('0 4px 12px rgba(0, 0, 0, 0.15)', '0 4px 12px rgba(0, 0, 0, 0.3)')};
margin-top: 4px;
@@ -112,7 +112,7 @@ export const appuiAppbarStyles = [
.dropdown-divider {
height: 1px;
background: ${cssManager.bdTheme('#e0e0e0', '#202020')};
background: var(--dees-color-border-default);
margin: 4px 0;
}
@@ -215,7 +215,7 @@ export const appuiAppbarStyles = [
width: 8px;
height: 8px;
border-radius: 50%;
border: 2px solid ${cssManager.bdTheme('#ffffff', '#000000')};
border: 2px solid var(--dees-color-bg-primary);
}
.user-status.online {

View File

@@ -52,10 +52,10 @@ export class DeesAppuiBottombar extends DeesElement implements IBottomBarAPI {
align-items: center;
padding: 0 8px;
gap: 4px;
background: ${cssManager.bdTheme('hsl(0 0% 94%)', 'hsl(0 0% 6%)')};
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 85%)', 'hsl(0 0% 15%)')};
background: var(--dees-color-bg-tertiary);
border-top: 1px solid var(--dees-color-border-default);
font-size: 11px;
color: ${cssManager.bdTheme('hsl(0 0% 40%)', 'hsl(0 0% 60%)')};
color: var(--dees-color-text-muted);
}
.widget {
@@ -70,8 +70,8 @@ export class DeesAppuiBottombar extends DeesElement implements IBottomBarAPI {
}
.widget:hover {
background: ${cssManager.bdTheme('hsl(0 0% 88%)', 'hsl(0 0% 12%)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 80%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-secondary);
}
.widget dees-icon {
@@ -81,7 +81,7 @@ export class DeesAppuiBottombar extends DeesElement implements IBottomBarAPI {
.widget-separator {
width: 1px;
height: 14px;
background: ${cssManager.bdTheme('hsl(0 0% 80%)', 'hsl(0 0% 20%)')};
background: var(--dees-color-border-strong);
margin: 0 4px;
}
@@ -124,12 +124,12 @@ export class DeesAppuiBottombar extends DeesElement implements IBottomBarAPI {
border-radius: 3px;
cursor: pointer;
transition: background 0.15s ease;
color: ${cssManager.bdTheme('hsl(0 0% 40%)', 'hsl(0 0% 60%)')};
color: var(--dees-color-text-muted);
}
.action-button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 88%)', 'hsl(0 0% 12%)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 80%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-secondary);
}
.action-button.disabled {
@@ -139,7 +139,7 @@ export class DeesAppuiBottombar extends DeesElement implements IBottomBarAPI {
.action-button.disabled:hover {
background: transparent;
color: ${cssManager.bdTheme('hsl(0 0% 40%)', 'hsl(0 0% 60%)')};
color: var(--dees-color-text-muted);
}
`,
];

View File

@@ -63,14 +63,13 @@ export class DeesAppuiMaincontent extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
color: ${cssManager.bdTheme('#333', '#fff')};
color: var(--dees-color-text-secondary);
display: grid;
grid-template-rows: auto 1fr;
width: 100%;
height: 100%;
background: ${cssManager.bdTheme('#fafafa', '#0a0a0a')};
background: var(--dees-color-bg-secondary);
}
.maincontainer {

View File

@@ -55,28 +55,27 @@ export class DeesAppuiMainmenu extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
--menu-width-expanded: 200px;
--menu-width-collapsed: 56px;
--tooltip-bg: ${cssManager.bdTheme('#18181b', '#fafafa')};
--tooltip-fg: ${cssManager.bdTheme('#fafafa', '#18181b')};
--tooltip-bg: var(--dees-color-tooltip-bg);
--tooltip-fg: var(--dees-color-tooltip-fg);
position: relative;
display: block;
height: 100%;
}
.mainContainer {
color: ${cssManager.bdTheme('#666', '#ccc')};
color: var(--dees-color-text-secondary);
z-index: ${zIndexLayers.fixed.appBar};
display: flex;
flex-direction: column;
position: relative;
width: var(--menu-width-expanded);
height: 100%;
background: ${cssManager.bdTheme('#fafafa', '#0a0a0a')};
background: var(--dees-color-bg-secondary);
user-select: none;
border-right: 1px solid ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
border-right: 1px solid var(--dees-color-border-subtle);
font-family: 'Geist Sans', 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
transition: width 0.25s ease;
}
@@ -94,23 +93,23 @@ export class DeesAppuiMainmenu extends DeesElement {
width: 24px;
height: 24px;
border-radius: 50%;
background: ${cssManager.bdTheme('#ffffff', '#27272a')};
border: 1px solid ${cssManager.bdTheme('#e5e5e5', '#3f3f46')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-strong);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
cursor: pointer;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
color: ${cssManager.bdTheme('#737373', '#a1a1aa')};
color: var(--dees-color-text-muted);
opacity: 0;
transition: opacity 0.2s ease, background 0.15s ease;
padding: 0;
}
.collapse-toggle:hover {
background: ${cssManager.bdTheme('#f4f4f5', '#3f3f46')};
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
background: var(--dees-color-bg-tertiary);
color: var(--dees-color-text-primary);
}
:host(:hover) .collapse-toggle {
@@ -128,14 +127,14 @@ export class DeesAppuiMainmenu extends DeesElement {
gap: 10px;
height: 48px;
padding: 0 14px;
border-bottom: 1px solid ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
border-bottom: 1px solid var(--dees-color-border-subtle);
flex-shrink: 0;
box-sizing: border-box;
}
.logoSection .logoIcon {
font-size: 22px;
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
color: var(--dees-color-text-primary);
flex-shrink: 0;
}
@@ -143,7 +142,7 @@ export class DeesAppuiMainmenu extends DeesElement {
flex: 1;
font-size: 15px;
font-weight: 600;
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
color: var(--dees-color-text-primary);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -178,12 +177,12 @@ export class DeesAppuiMainmenu extends DeesElement {
}
.menuSection::-webkit-scrollbar-thumb {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.15)', 'rgba(255, 255, 255, 0.15)')};
background: var(--dees-color-scrollbar-thumb);
border-radius: 3px;
}
.menuSection::-webkit-scrollbar-thumb:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.25)', 'rgba(255, 255, 255, 0.25)')};
background: var(--dees-color-scrollbar-thumb-hover);
}
/* Menu Group */
@@ -200,7 +199,7 @@ export class DeesAppuiMainmenu extends DeesElement {
padding: 8px 12px 6px;
font-size: 11px;
font-weight: 600;
color: ${cssManager.bdTheme('#737373', '#737373')};
color: var(--dees-color-text-muted);
text-transform: uppercase;
letter-spacing: 0.5px;
white-space: nowrap;
@@ -238,21 +237,21 @@ export class DeesAppuiMainmenu extends DeesElement {
border-radius: 6px;
cursor: pointer;
transition: all 0.15s ease;
color: ${cssManager.bdTheme('#525252', '#a3a3a3')};
color: var(--dees-color-text-secondary);
}
.tab:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.04)', 'rgba(255, 255, 255, 0.06)')};
background: var(--dees-color-hover);
color: ${cssManager.bdTheme('#262626', '#e5e5e5')};
}
.tab:active {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.08)')};
background: var(--dees-color-active);
}
.tab.selectedTab {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.08)')};
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
background: var(--dees-color-active);
color: var(--dees-color-text-primary);
}
.tab.selectedTab::before {
@@ -263,7 +262,7 @@ export class DeesAppuiMainmenu extends DeesElement {
transform: translateY(-50%);
width: 3px;
height: 16px;
background: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
background: var(--dees-color-text-primary);
border-radius: 0 2px 2px 0;
}
@@ -353,23 +352,23 @@ export class DeesAppuiMainmenu extends DeesElement {
}
.badge.default {
background: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
color: ${cssManager.bdTheme('#3f3f46', '#a1a1aa')};
background: var(--dees-color-badge-default-bg);
color: var(--dees-color-badge-default-fg);
}
.badge.success {
background: ${cssManager.bdTheme('#dcfce7', '#14532d')};
color: ${cssManager.bdTheme('#166534', '#4ade80')};
background: var(--dees-color-badge-success-bg);
color: var(--dees-color-badge-success-fg);
}
.badge.warning {
background: ${cssManager.bdTheme('#fef3c7', '#451a03')};
color: ${cssManager.bdTheme('#92400e', '#fbbf24')};
background: var(--dees-color-badge-warning-bg);
color: var(--dees-color-badge-warning-fg);
}
.badge.error {
background: ${cssManager.bdTheme('#fee2e2', '#450a0a')};
color: ${cssManager.bdTheme('#991b1b', '#f87171')};
background: var(--dees-color-badge-error-bg);
color: var(--dees-color-badge-error-fg);
}
:host([collapsed]) .badge {
@@ -380,7 +379,7 @@ export class DeesAppuiMainmenu extends DeesElement {
.bottomSection {
flex-shrink: 0;
padding: 8px;
border-top: 1px solid ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
border-top: 1px solid var(--dees-color-border-subtle);
display: flex;
flex-direction: column;
gap: 2px;

View File

@@ -73,30 +73,29 @@ export class DeesAppuiSecondarymenu extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
--sidebar-width-expanded: 240px;
--sidebar-width-collapsed: 56px;
--sidebar-bg: ${cssManager.bdTheme('#fafafa', '#0a0a0a')};
--sidebar-fg: ${cssManager.bdTheme('#525252', '#a3a3a3')};
--sidebar-fg-muted: ${cssManager.bdTheme('#737373', '#737373')};
--sidebar-fg-active: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
--sidebar-border: ${cssManager.bdTheme('#e5e5e5', '#1a1a1a')};
--sidebar-hover: ${cssManager.bdTheme('rgba(0, 0, 0, 0.04)', 'rgba(255, 255, 255, 0.06)')};
--sidebar-active: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.08)')};
--sidebar-accent: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
--tooltip-bg: ${cssManager.bdTheme('#18181b', '#fafafa')};
--tooltip-fg: ${cssManager.bdTheme('#fafafa', '#18181b')};
--sidebar-bg: var(--dees-color-bg-secondary);
--sidebar-fg: var(--dees-color-text-secondary);
--sidebar-fg-muted: var(--dees-color-text-muted);
--sidebar-fg-active: var(--dees-color-text-primary);
--sidebar-border: var(--dees-color-border-subtle);
--sidebar-hover: var(--dees-color-hover);
--sidebar-active: var(--dees-color-active);
--sidebar-accent: var(--dees-color-text-primary);
--tooltip-bg: var(--dees-color-tooltip-bg);
--tooltip-fg: var(--dees-color-tooltip-fg);
/* Badge colors */
--badge-default-bg: ${cssManager.bdTheme('#f4f4f5', '#27272a')};
--badge-default-fg: ${cssManager.bdTheme('#3f3f46', '#a1a1aa')};
--badge-success-bg: ${cssManager.bdTheme('#dcfce7', '#14532d')};
--badge-success-fg: ${cssManager.bdTheme('#166534', '#4ade80')};
--badge-warning-bg: ${cssManager.bdTheme('#fef3c7', '#451a03')};
--badge-warning-fg: ${cssManager.bdTheme('#92400e', '#fbbf24')};
--badge-error-bg: ${cssManager.bdTheme('#fee2e2', '#450a0a')};
--badge-error-fg: ${cssManager.bdTheme('#991b1b', '#f87171')};
--badge-default-bg: var(--dees-color-badge-default-bg);
--badge-default-fg: var(--dees-color-badge-default-fg);
--badge-success-bg: var(--dees-color-badge-success-bg);
--badge-success-fg: var(--dees-color-badge-success-fg);
--badge-warning-bg: var(--dees-color-badge-warning-bg);
--badge-warning-fg: var(--dees-color-badge-warning-fg);
--badge-error-bg: var(--dees-color-badge-error-bg);
--badge-error-fg: var(--dees-color-badge-error-fg);
/* Action colors */
--action-primary: ${cssManager.bdTheme('#2563eb', '#3b82f6')};
@@ -136,23 +135,23 @@ export class DeesAppuiSecondarymenu extends DeesElement {
width: 24px;
height: 24px;
border-radius: 50%;
background: ${cssManager.bdTheme('#ffffff', '#27272a')};
border: 1px solid ${cssManager.bdTheme('#e5e5e5', '#3f3f46')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-strong);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
cursor: pointer;
z-index: 10;
display: flex;
align-items: center;
justify-content: center;
color: ${cssManager.bdTheme('#737373', '#a1a1aa')};
color: var(--dees-color-text-muted);
opacity: 0;
transition: opacity 0.2s ease, background 0.15s ease;
padding: 0;
}
.collapse-toggle:hover {
background: ${cssManager.bdTheme('#f4f4f5', '#3f3f46')};
color: ${cssManager.bdTheme('#0a0a0a', '#fafafa')};
background: var(--dees-color-bg-tertiary);
color: var(--dees-color-text-primary);
}
:host(:hover) .collapse-toggle {
@@ -215,12 +214,12 @@ export class DeesAppuiSecondarymenu extends DeesElement {
}
.menuSection::-webkit-scrollbar-thumb {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.15)', 'rgba(255, 255, 255, 0.15)')};
background: var(--dees-color-scrollbar-thumb);
border-radius: 3px;
}
.menuSection::-webkit-scrollbar-thumb:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.25)', 'rgba(255, 255, 255, 0.25)')};
background: var(--dees-color-scrollbar-thumb-hover);
}
/* Menu Group */
@@ -261,7 +260,7 @@ export class DeesAppuiSecondarymenu extends DeesElement {
gap: 8px;
font-size: 11px;
font-weight: 600;
color: ${cssManager.bdTheme('#78716c', '#b5a99a')};
color: var(--dees-color-text-warm);
text-transform: uppercase;
letter-spacing: 0.5px;
white-space: nowrap;
@@ -270,13 +269,13 @@ export class DeesAppuiSecondarymenu extends DeesElement {
.groupHeader .groupTitle dees-icon {
font-size: 16px;
color: ${cssManager.bdTheme('#78716c', '#b5a99a')};
color: var(--dees-color-text-warm);
}
.groupHeader .chevron {
font-size: 12px;
transition: transform 0.2s ease;
color: ${cssManager.bdTheme('#78716c', '#b5a99a')};
color: var(--dees-color-text-warm);
}
.groupHeader.collapsed .chevron {

View File

@@ -60,7 +60,6 @@ export class DeesAppuiTabs extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
display: block;
position: relative;
@@ -76,7 +75,7 @@ export class DeesAppuiTabs extends DeesElement {
.tabs-wrapper.horizontal-wrapper {
height: 48px;
border-bottom: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
border-bottom: 1px solid var(--dees-color-border-default);
box-sizing: border-box;
overflow: hidden;
display: flex;
@@ -133,13 +132,13 @@ export class DeesAppuiTabs extends DeesElement {
.tab-actions.left {
padding-left: 12px;
padding-right: 8px;
border-right: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
border-right: 1px solid var(--dees-color-border-default);
}
.tab-actions.right {
padding-right: 12px;
padding-left: 8px;
border-left: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
border-left: 1px solid var(--dees-color-border-default);
}
.tab-action-button {
@@ -152,17 +151,17 @@ export class DeesAppuiTabs extends DeesElement {
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
background: transparent;
color: ${cssManager.bdTheme('#71717a', '#71717a')};
color: var(--dees-color-text-muted);
flex-shrink: 0;
}
.tab-action-button:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.06)')};
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
background: var(--dees-color-active);
color: var(--dees-color-text-primary);
}
.tab-action-button:active {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.1)', 'rgba(255, 255, 255, 0.1)')};
background: var(--dees-color-pressed);
}
.tab-action-button.disabled {
@@ -172,7 +171,7 @@ export class DeesAppuiTabs extends DeesElement {
.tab-action-button.disabled:hover {
background: transparent;
color: ${cssManager.bdTheme('#71717a', '#71717a')};
color: var(--dees-color-text-muted);
}
.tab-action-button dees-icon {
@@ -237,12 +236,12 @@ export class DeesAppuiTabs extends DeesElement {
font-size: 14px;
gap: 2px;
position: relative;
background: ${cssManager.bdTheme('#f9fafb', '#18181b')};
background: var(--dees-color-bg-tertiary);
border-radius: 8px;
}
.tab {
color: ${cssManager.bdTheme('#71717a', '#71717a')};
color: var(--dees-color-text-muted);
white-space: nowrap;
cursor: pointer;
transition: color 0.15s ease;
@@ -270,7 +269,7 @@ export class DeesAppuiTabs extends DeesElement {
transform: translateY(-50%);
height: 20px;
width: 1px;
background: ${cssManager.bdTheme('#e5e7eb', '#27272a')};
background: var(--dees-color-border-default);
opacity: 0.5;
}
@@ -291,11 +290,11 @@ export class DeesAppuiTabs extends DeesElement {
}
.tab:hover {
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
color: var(--dees-color-text-primary);
}
.horizontal .tab:hover {
background: ${cssManager.bdTheme('rgba(0, 0, 0, 0.03)', 'rgba(255, 255, 255, 0.03)')};
background: var(--dees-color-hover);
}
.horizontal .tab:hover::after,
@@ -308,7 +307,7 @@ export class DeesAppuiTabs extends DeesElement {
}
.horizontal .tab.selectedTab {
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
color: var(--dees-color-text-primary);
}
.horizontal .tab.selectedTab::after,
@@ -317,7 +316,7 @@ export class DeesAppuiTabs extends DeesElement {
}
.vertical .tab.selectedTab {
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
color: var(--dees-color-text-primary);
}
.tab dees-icon {
@@ -337,7 +336,7 @@ export class DeesAppuiTabs extends DeesElement {
.tabs-wrapper .tabIndicator {
height: 3px;
bottom: 0;
background: ${cssManager.bdTheme('#3b82f6', '#3b82f6')};
background: var(--dees-color-accent-primary);
border-radius: 3px 3px 0 0;
z-index: 3;
}
@@ -350,7 +349,7 @@ export class DeesAppuiTabs extends DeesElement {
left: 8px;
right: 8px;
border-radius: 6px;
background: ${cssManager.bdTheme('#ffffff', '#27272a')};
background: var(--dees-color-bg-primary);
z-index: 1;
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
@@ -366,7 +365,7 @@ export class DeesAppuiTabs extends DeesElement {
margin-left: 8px;
opacity: 0.4;
transition: opacity 0.15s, background 0.15s;
color: ${cssManager.bdTheme('#71717a', '#71717a')};
color: var(--dees-color-text-muted);
}
.tab:hover .tab-close {
@@ -375,8 +374,8 @@ export class DeesAppuiTabs extends DeesElement {
.tab-close:hover {
opacity: 1;
background: ${cssManager.bdTheme('rgba(0,0,0,0.1)', 'rgba(255,255,255,0.1)')};
color: ${cssManager.bdTheme('#ef4444', '#f87171')};
background: var(--dees-color-pressed);
color: var(--dees-color-accent-error);
}
.tab.selectedTab .tab-close {

View File

@@ -184,12 +184,11 @@ export class DeesAppui extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
position: absolute;
height: 100%;
width: 100%;
background: ${cssManager.bdTheme('#f0f0f0', '#1a1a1a')};
background: var(--dees-color-bg-tertiary);
}
.maingrid {
position: absolute;

View File

@@ -1,13 +1,15 @@
import { css, cssManager } from '@design.estate/dees-element';
import { themeDefaultStyles } from '../../00theme.js';
export const chartAreaStyles = [
themeDefaultStyles,
cssManager.defaultStyles,
css`
:host {
display: block;
height: 400px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif;
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
font-size: 14px;
}
dees-tile {
@@ -24,7 +26,7 @@ export const chartAreaStyles = [
font-size: 14px;
font-weight: 500;
letter-spacing: -0.01em;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-secondary);
}
.expandBtn {
display: flex;
@@ -36,13 +38,13 @@ export const chartAreaStyles = [
border-radius: 4px;
background: transparent;
cursor: pointer;
color: ${cssManager.bdTheme('hsl(0 0% 55%)', 'hsl(0 0% 45%)')};
color: var(--dees-color-text-muted);
transition: all 0.15s ease;
padding: 0;
}
.expandBtn:hover {
background: ${cssManager.bdTheme('hsl(0 0% 93%)', 'hsl(0 0% 12%)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-secondary);
}
.chartContainer {
position: absolute;
@@ -64,7 +66,7 @@ export const chartAreaStyles = [
}
.statsSeries + .statsSeries {
padding-left: 24px;
border-left: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-left: 1px solid var(--dees-color-border-default);
}
.statsColor {
width: 8px;
@@ -75,15 +77,15 @@ export const chartAreaStyles = [
.statsName {
font-weight: 500;
font-size: 11px;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 80%)')};
color: var(--dees-color-text-secondary);
margin-right: 4px;
}
.statsItem {
font-size: 11px;
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
color: var(--dees-color-text-muted);
}
.statsItem strong {
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
color: var(--dees-color-text-primary);
}
.lw-tooltip {
position: absolute;

View File

@@ -106,7 +106,7 @@ export class DeesChartLog extends DeesElement {
display: block;
height: 400px;
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
}
dees-tile {
@@ -124,7 +124,7 @@ export class DeesChartLog extends DeesElement {
.title {
font-weight: 500;
font-size: 14px;
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
color: var(--dees-color-text-primary);
white-space: nowrap;
}
@@ -141,10 +141,10 @@ export class DeesChartLog extends DeesElement {
flex: 1;
padding: 4px 8px;
font-size: 12px;
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
background: var(--dees-color-bg-primary);
color: var(--dees-color-text-primary);
outline: none;
}
@@ -153,7 +153,7 @@ export class DeesChartLog extends DeesElement {
}
.search-box input::placeholder {
color: ${cssManager.bdTheme('hsl(0 0% 63.9%)', 'hsl(0 0% 45.1%)')};
color: var(--dees-color-text-muted);
}
.search-nav {
@@ -164,35 +164,35 @@ export class DeesChartLog extends DeesElement {
.search-nav button {
padding: 4px 6px;
font-size: 11px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 14.9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 3px;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
cursor: pointer;
line-height: 1;
}
.search-nav button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 20%)')};
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-primary);
}
.filter-toggle {
padding: 4px 8px;
font-size: 11px;
font-weight: 500;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 14.9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
cursor: pointer;
transition: all 0.15s;
white-space: nowrap;
}
.filter-toggle:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 20%)')};
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-primary);
}
.filter-toggle.active {
@@ -208,11 +208,11 @@ export class DeesChartLog extends DeesElement {
}
.control-button {
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 14.9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
padding: 4px 10px;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
cursor: pointer;
font-size: 12px;
font-weight: 500;
@@ -220,9 +220,9 @@ export class DeesChartLog extends DeesElement {
}
.control-button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 20%)')};
border-color: ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 25%)')};
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
background: var(--dees-color-hover);
border-color: var(--dees-color-border-strong);
color: var(--dees-color-text-primary);
}
.control-button.active {
@@ -247,7 +247,7 @@ export class DeesChartLog extends DeesElement {
align-items: center;
justify-content: center;
height: 100%;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
font-style: italic;
font-size: 13px;
}
@@ -299,7 +299,7 @@ export class DeesChartLog extends DeesElement {
.metric.rate {
margin-left: auto;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
}
.metric.rate::before {

View File

@@ -2,6 +2,7 @@ import { demoFunc } from './dees-dataview-codebox.demo.js';
import {
DeesElement,
html,
css,
customElement,
type TemplateResult,
property,
@@ -9,6 +10,7 @@ import {
cssManager,
} from '@design.estate/dees-element';
import { cssGeistFontFamily, cssMonoFontFamily } from '../../00fonts.js';
import { themeDefaultStyles } from '../../00theme.js';
import type { HLJSApi } from 'highlight.js';
@@ -39,6 +41,11 @@ export class DeesDataviewCodebox extends DeesElement {
})
accessor codeToDisplay: string = '';
public static styles = [
themeDefaultStyles,
cssManager.defaultStyles,
];
constructor() {
super();
}
@@ -56,11 +63,11 @@ export class DeesDataviewCodebox extends DeesElement {
box-sizing: border-box;
}
dees-tile {
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
color: var(--dees-color-text-primary);
}
.appbar {
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
color: var(--dees-color-text-muted);
height: 32px;
display: flex;
font-size: 13px;
@@ -78,7 +85,7 @@ export class DeesDataviewCodebox extends DeesElement {
}
.bottomBar {
color: ${cssManager.bdTheme('#71717a', '#a1a1aa')};
color: var(--dees-color-text-muted);
height: 28px;
font-size: 11px;
line-height: 28px;
@@ -118,10 +125,10 @@ export class DeesDataviewCodebox extends DeesElement {
}
.lineNumbers {
color: ${cssManager.bdTheme('#71717a', '#52525b')};
color: var(--dees-color-text-muted);
padding: 24px 16px 0px 0px;
text-align: right;
border-right: 1px solid ${cssManager.bdTheme('#e5e7eb', '#27272a')};
border-right: 1px solid var(--dees-color-border-default);
}
.lineCounter:last-child {

View File

@@ -42,7 +42,7 @@ export class DeesDataviewStatusobject extends DeesElement {
}
dees-tile {
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
cursor: default;
}
@@ -61,7 +61,7 @@ export class DeesDataviewStatusobject extends DeesElement {
font-size: 14px;
font-weight: 500;
letter-spacing: -0.01em;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-secondary);
flex: 1;
}
@@ -78,21 +78,21 @@ export class DeesDataviewStatusobject extends DeesElement {
.copyMain {
font-size: 11px;
font-weight: 500;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 14.9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
text-align: center;
padding: 4px 10px;
border-radius: 4px;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
user-select: none;
cursor: pointer;
transition: all 0.15s ease;
}
.copyMain:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 14.9%)')};
border-color: ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 20.9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
background: var(--dees-color-hover);
border-color: var(--dees-color-border-strong);
color: var(--dees-color-text-primary);
}
.copyMain:active {
@@ -121,7 +121,7 @@ export class DeesDataviewStatusobject extends DeesElement {
gap: 10px;
height: 36px;
padding: 0 16px;
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 10%)')};
border-bottom: 1px solid var(--dees-color-border-subtle);
transition: background-color 0.15s ease;
cursor: context-menu;
}
@@ -149,7 +149,7 @@ export class DeesDataviewStatusobject extends DeesElement {
.detail .detailsText .label {
font-size: 12px;
font-weight: 500;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
letter-spacing: -0.01em;
white-space: nowrap;
flex-shrink: 0;
@@ -167,7 +167,7 @@ export class DeesDataviewStatusobject extends DeesElement {
}
.bottomBar {
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
height: 28px;
font-size: 11px;
line-height: 28px;

View File

@@ -160,7 +160,7 @@ export class DeesStatsGrid extends DeesElement {
.grid-title {
font-size: 16px;
font-weight: 500;
color: ${cssManager.bdTheme('#09090b', '#fafafa')};
color: var(--dees-color-text-primary);
letter-spacing: -0.01em;
}
@@ -186,7 +186,7 @@ export class DeesStatsGrid extends DeesElement {
}
.stats-tile:hover::part(outer) {
border-color: ${cssManager.bdTheme('#d0d0d0', '#2a2a2a')};
border-color: var(--dees-color-border-strong);
}
.stats-tile.clickable {

View File

@@ -13,7 +13,7 @@ export const tableStyles: CSSResult[] = [
}
dees-tile {
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
font-family: ${cssGeistFontFamily};
font-weight: 400;
font-size: 14px;
@@ -41,7 +41,7 @@ export const tableStyles: CSSResult[] = [
.heading1 {
font-size: 14px;
font-weight: 500;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-secondary);
letter-spacing: -0.01em;
}
@@ -69,18 +69,18 @@ export const tableStyles: CSSResult[] = [
padding: 4px 10px;
font-size: 12px;
font-weight: 500;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
background: transparent;
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
cursor: pointer;
transition: all 0.15s ease;
}
.headerAction:hover {
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 14.9%)')};
border-color: ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 20.9%)')};
color: var(--dees-color-text-primary);
background: var(--dees-color-hover);
border-color: var(--dees-color-border-strong);
}
.headerAction dees-icon {
@@ -93,8 +93,8 @@ export const tableStyles: CSSResult[] = [
grid-gap: 16px;
grid-template-columns: 1fr max-content;
padding: 16px 24px;
background: ${cssManager.bdTheme('hsl(210 40% 98%)', 'hsl(0 0% 3.9%)')};
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-secondary);
border-bottom: 1px solid var(--dees-color-border-default);
transition: all 0.2s ease;
}
@@ -157,7 +157,7 @@ export const tableStyles: CSSResult[] = [
thead {
background: ${cssManager.bdTheme('hsl(210 40% 96.1%)', 'hsl(0 0% 9%)')};
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 20.9%)')};
border-bottom: 1px solid var(--dees-color-border-strong);
}
:host([sticky-header]) thead th {
position: sticky;
@@ -172,7 +172,7 @@ export const tableStyles: CSSResult[] = [
/* Default horizontal lines (bottom border only) */
tbody tr {
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-bottom: 1px solid var(--dees-color-border-default);
}
tbody tr:last-child {
@@ -181,8 +181,8 @@ export const tableStyles: CSSResult[] = [
/* Full horizontal lines when enabled */
:host([show-horizontal-lines]) tbody tr {
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-top: 1px solid var(--dees-color-border-default);
border-bottom: 1px solid var(--dees-color-border-default);
}
:host([show-horizontal-lines]) tbody tr:first-child {
@@ -190,7 +190,7 @@ export const tableStyles: CSSResult[] = [
}
:host([show-horizontal-lines]) tbody tr:last-child {
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-bottom: 1px solid var(--dees-color-border-default);
}
tbody tr:hover {
@@ -222,13 +222,13 @@ export const tableStyles: CSSResult[] = [
/* Grid mode - shows both vertical and horizontal lines */
:host([show-grid]) th {
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-left: none;
border-top: none;
}
:host([show-grid]) td {
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-left: none;
border-top: none;
}
@@ -251,12 +251,12 @@ export const tableStyles: CSSResult[] = [
tbody td.actionsCol {
position: sticky;
right: 0;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
background: var(--dees-color-bg-primary);
}
thead th.actionsCol { z-index: 3; }
tbody td.actionsCol {
z-index: 1;
box-shadow: -1px 0 0 0 ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
box-shadow: -1px 0 0 0 var(--dees-color-border-default);
}
tbody tr.selected {
@@ -278,18 +278,18 @@ export const tableStyles: CSSResult[] = [
}
:host([show-vertical-lines]) th {
border-right: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-right: 1px solid var(--dees-color-border-default);
}
td {
padding: 8px 16px;
vertical-align: middle;
font-size: 13px;
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
}
:host([show-vertical-lines]) td {
border-right: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-right: 1px solid var(--dees-color-border-default);
}
th:first-child,
@@ -327,10 +327,10 @@ export const tableStyles: CSSResult[] = [
height: calc(100% - 8px);
padding: 0 12px;
outline: none;
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-radius: 6px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
font-family: inherit;
font-size: inherit;
font-weight: inherit;
@@ -355,9 +355,9 @@ export const tableStyles: CSSResult[] = [
padding: 6px 8px;
font-size: 13px;
border-radius: 6px;
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
}
.actionsContainer {
display: flex;
@@ -398,7 +398,7 @@ export const tableStyles: CSSResult[] = [
height: 32px;
padding: 0 16px;
font-size: 11px;
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
color: var(--dees-color-text-muted);
width: 100%;
box-sizing: border-box;
}

View File

@@ -142,16 +142,16 @@ export class DeesInputCode extends DeesInputBase<string> {
padding: 4px 10px;
font-size: 12px;
font-weight: 500;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 12%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 20%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
cursor: pointer;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
color: var(--dees-color-text-secondary);
transition: all 0.15s ease;
}
.language-button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 15%)')};
background: var(--dees-color-hover);
}
.language-dropdown {
@@ -159,8 +159,8 @@ export class DeesInputCode extends DeesInputBase<string> {
top: 100%;
left: 0;
margin-top: 4px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 20%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 6px;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
z-index: 100;
@@ -173,16 +173,16 @@ export class DeesInputCode extends DeesInputBase<string> {
padding: 8px 12px;
font-size: 12px;
cursor: pointer;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
color: var(--dees-color-text-secondary);
transition: background 0.15s ease;
}
.language-option:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 15%)')};
background: var(--dees-color-hover);
}
.language-option.selected {
background: ${cssManager.bdTheme('hsl(0 0% 90%)', 'hsl(0 0% 20%)')};
background: var(--dees-color-active);
}
.toolbar-button {
@@ -195,18 +195,18 @@ export class DeesInputCode extends DeesInputBase<string> {
border: none;
border-radius: 4px;
cursor: pointer;
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 60%)')};
color: var(--dees-color-text-muted);
transition: all 0.15s ease;
}
.toolbar-button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 90%)', 'hsl(0 0% 15%)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-secondary);
}
.toolbar-button.active {
background: ${cssManager.bdTheme('hsl(0 0% 85%)', 'hsl(0 0% 20%)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-active);
color: var(--dees-color-text-secondary);
}
.toolbar-button.success {
@@ -226,7 +226,7 @@ export class DeesInputCode extends DeesInputBase<string> {
.toolbar-divider {
width: 1px;
height: 20px;
background: ${cssManager.bdTheme('hsl(0 0% 85%)', 'hsl(0 0% 20%)')};
background: var(--dees-color-border-default);
margin: 0 4px;
}

View File

@@ -1,7 +1,9 @@
import { css, cssManager } from '@design.estate/dees-element';
import { DeesInputBase } from '../dees-input-base/dees-input-base.js';
import { themeDefaultStyles } from '../../00theme.js';
export const richtextStyles = [
themeDefaultStyles,
...DeesInputBase.baseStyles,
cssManager.defaultStyles,
css`
@@ -20,7 +22,7 @@ export const richtextStyles = [
margin-bottom: 8px;
font-size: 14px;
font-weight: 500;
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
color: var(--dees-color-text-primary);
}
dees-tile {
@@ -28,7 +30,7 @@ export const richtextStyles = [
}
dees-tile:hover::part(outer) {
border-color: ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 20.9%)')};
border-color: var(--dees-color-border-strong);
}
dees-tile.focused::part(outer) {
@@ -68,8 +70,8 @@ export const richtextStyles = [
}
.toolbar-button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 14.9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-primary);
}
.toolbar-button.active {
@@ -85,7 +87,7 @@ export const richtextStyles = [
.toolbar-divider {
width: 1px;
height: 24px;
background: ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-border-default);
margin: 0 4px;
}
@@ -99,7 +101,7 @@ export const richtextStyles = [
.editor-content .ProseMirror {
outline: none;
line-height: 1.6;
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
min-height: 100%;
white-space: pre-wrap;
word-wrap: break-word;
@@ -149,7 +151,7 @@ export const richtextStyles = [
}
.editor-content .ProseMirror blockquote {
border-left: 4px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-left: 4px solid var(--dees-color-border-default);
margin: 1em 0;
padding-left: 1em;
color: ${cssManager.bdTheme('hsl(215.4 16.3% 46.9%)', 'hsl(215 20.2% 65.1%)')};
@@ -157,12 +159,12 @@ export const richtextStyles = [
}
.editor-content .ProseMirror code {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-tertiary);
border-radius: 3px;
padding: 0.2em 0.4em;
font-family: 'Intel One Mono', 'Fira Code', 'SF Mono', Monaco, 'Cascadia Code', 'Roboto Mono', Consolas, 'Courier New', monospace;
font-size: 0.9em;
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 93.9%)')};
color: var(--dees-color-text-primary);
}
.editor-content .ProseMirror pre {
@@ -195,7 +197,7 @@ export const richtextStyles = [
padding: 0 12px;
height: 28px;
font-size: 11px;
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
color: var(--dees-color-text-muted);
display: flex;
justify-content: space-between;
align-items: center;
@@ -213,8 +215,8 @@ export const richtextStyles = [
top: 100%;
left: 0;
right: 0;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 6px;
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
padding: 12px;
@@ -228,12 +230,12 @@ export const richtextStyles = [
.link-input input {
width: 100%;
padding: 8px 12px;
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-radius: 6px;
outline: none;
font-size: 14px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
background: var(--dees-color-bg-primary);
color: var(--dees-color-text-primary);
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
@@ -250,19 +252,19 @@ export const richtextStyles = [
.link-input-buttons button {
padding: 6px 12px;
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border: 1px solid var(--dees-color-border-default);
border-radius: 4px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
background: var(--dees-color-bg-primary);
cursor: pointer;
font-size: 12px;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
transition: all 0.15s ease;
font-weight: 500;
}
.link-input-buttons button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95.1%)', 'hsl(0 0% 14.9%)')};
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-primary);
}
.link-input-buttons button.primary {

View File

@@ -56,7 +56,7 @@ export class DeesTile extends DeesElement {
display: flex;
flex-direction: column;
font-family: ${cssGeistFontFamily};
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
}
/* --- The frame --- */
@@ -64,8 +64,8 @@ export class DeesTile extends DeesElement {
position: relative;
flex: 1;
min-height: 0;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 8px;
overflow: hidden;
display: flex;
@@ -84,7 +84,7 @@ export class DeesTile extends DeesElement {
font-size: 14px;
font-weight: 500;
letter-spacing: -0.01em;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-secondary);
}
/* --- Content: the rounded inset --- */
@@ -92,8 +92,8 @@ export class DeesTile extends DeesElement {
flex: 1;
position: relative;
border-radius: 8px;
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 93%)', 'hsl(0 0% 11%)')};
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 93%)', 'hsl(0 0% 11%)')};
border-top: 1px solid var(--dees-color-border-subtle);
border-bottom: 1px solid var(--dees-color-border-subtle);
overflow: hidden;
}

View File

@@ -1,6 +1,8 @@
import { css, cssManager } from '@design.estate/dees-element';
import { themeDefaultStyles } from '../../00theme.js';
export const viewerStyles = [
themeDefaultStyles,
cssManager.defaultStyles,
css`
:host {
@@ -369,7 +371,7 @@ export const viewerStyles = [
display: flex;
align-items: center;
font-size: 11px;
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
color: var(--dees-color-text-muted);
width: 100%;
box-sizing: border-box;
position: relative;
@@ -383,7 +385,7 @@ export const viewerStyles = [
.pdf-footer-left .pdf-footer-item + .pdf-footer-item {
padding-left: 12px;
border-left: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-left: 1px solid var(--dees-color-border-default);
}
.pdf-footer-center {

View File

@@ -129,7 +129,7 @@ export class DeesModal extends DeesElement {
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
font-family: ${cssGeistFontFamily};
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
color: var(--dees-color-text-primary);
}
.modalContainer {
display: flex;
@@ -231,7 +231,7 @@ export class DeesModal extends DeesElement {
font-weight: 500;
font-size: 13px;
letter-spacing: -0.01em;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-secondary);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -255,12 +255,12 @@ export class DeesModal extends DeesElement {
cursor: pointer;
transition: all 0.15s ease;
background: transparent;
color: ${cssManager.bdTheme('hsl(0 0% 55%)', 'hsl(0 0% 45%)')};
color: var(--dees-color-text-muted);
}
.heading .header-button:hover {
background: ${cssManager.bdTheme('hsl(0 0% 93%)', 'hsl(0 0% 12%)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-secondary);
}
.heading .header-button:active {
@@ -278,7 +278,7 @@ export class DeesModal extends DeesElement {
overflow-x: hidden;
overscroll-behavior: contain;
scrollbar-width: thin;
scrollbar-color: ${cssManager.bdTheme('hsl(0 0% 85%)', 'hsl(0 0% 20%)')} transparent;
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
}
.bottomButtons {
display: flex;
@@ -302,8 +302,8 @@ export class DeesModal extends DeesElement {
transition: all 0.15s ease;
background: transparent;
border: none;
border-left: 1px solid ${cssManager.bdTheme('hsl(0 0% 93%)', 'hsl(0 0% 11%)')};
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
border-left: 1px solid var(--dees-color-border-subtle);
color: var(--dees-color-text-muted);
white-space: nowrap;
display: flex;
align-items: center;
@@ -314,8 +314,8 @@ export class DeesModal extends DeesElement {
}
.bottomButtons .bottomButton:hover {
background: ${cssManager.bdTheme('hsl(0 0% 95%)', 'hsl(0 0% 10%)')};
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-primary);
}
.bottomButtons .bottomButton:active {

View File

@@ -67,7 +67,7 @@ export class DeesShoppingProductcard extends DeesElement {
}
dees-tile:hover::part(outer) {
border-color: ${cssManager.bdTheme('hsl(0 0% 79.8%)', 'hsl(0 0% 20.9%)')};
border-color: var(--dees-color-border-strong);
box-shadow: 0 4px 6px -1px hsl(0 0% 0% / 0.1), 0 2px 4px -2px hsl(0 0% 0% / 0.1);
}
@@ -148,7 +148,7 @@ export class DeesShoppingProductcard extends DeesElement {
.product-name {
font-size: 14px;
font-weight: 500;
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-secondary);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -204,7 +204,7 @@ export class DeesShoppingProductcard extends DeesElement {
.price-current {
font-size: 20px;
font-weight: 600;
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 95%)')};
color: var(--dees-color-text-primary);
}
.price-original {

View File

@@ -76,9 +76,8 @@ export class DeesSimpleAppDash extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
color: var(--dees-color-text-primary);
user-select: none;
display: block;
overflow: hidden;
@@ -102,8 +101,8 @@ export class DeesSimpleAppDash extends DeesElement {
left: 0px;
height: calc(100% - 24px);
width: 240px;
background: ${cssManager.bdTheme('hsl(0 0% 99%)', 'hsl(0 0% 7%)')};
border-right: 1px solid ${cssManager.bdTheme('hsl(0 0% 91%)', 'hsl(0 0% 13%)')};
background: var(--dees-color-bg-secondary);
border-right: 1px solid var(--dees-color-border-default);
font-size: 13px;
font-family: 'Geist Sans', sans-serif;
z-index: 2;
@@ -114,7 +113,7 @@ export class DeesSimpleAppDash extends DeesElement {
.sidebar-header {
padding: 20px 16px;
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 91%)', 'hsl(0 0% 13%)')};
border-bottom: 1px solid var(--dees-color-border-default);
display: flex;
align-items: center;
gap: 12px;
@@ -127,25 +126,22 @@ export class DeesSimpleAppDash extends DeesElement {
width: 36px;
height: 36px;
border-radius: 10px;
background: ${cssManager.bdTheme(
'linear-gradient(135deg, hsl(215 20% 95%) 0%, hsl(215 20% 90%) 100%)',
'linear-gradient(135deg, hsl(215 20% 18%) 0%, hsl(215 20% 14%) 100%)'
)};
background: var(--dees-color-bg-tertiary);
box-shadow: ${cssManager.bdTheme(
'0 1px 2px rgb(0 0 0 / 0.05), inset 0 1px 0 rgb(255 255 255 / 0.5)',
'0 1px 2px rgb(0 0 0 / 0.2), inset 0 1px 0 rgb(255 255 255 / 0.05)'
'0 1px 2px rgb(0 0 0 / 0.05)',
'0 1px 2px rgb(0 0 0 / 0.2)'
)};
}
.header-icon-wrapper dees-icon {
font-size: 18px;
color: ${cssManager.bdTheme('hsl(215 20% 40%)', 'hsl(215 20% 70%)')};
color: var(--dees-color-text-primary);
}
.appName {
font-size: 15px;
font-weight: 600;
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -156,7 +152,7 @@ export class DeesSimpleAppDash extends DeesElement {
overflow-y: auto;
padding: 12px 8px;
scrollbar-width: thin;
scrollbar-color: ${cssManager.bdTheme('hsl(0 0% 85%)', 'hsl(0 0% 20%)')} transparent;
scrollbar-color: var(--dees-color-scrollbar-thumb) transparent;
}
.viewTabs-container::-webkit-scrollbar {
@@ -168,12 +164,12 @@ export class DeesSimpleAppDash extends DeesElement {
}
.viewTabs-container::-webkit-scrollbar-thumb {
background: ${cssManager.bdTheme('hsl(0 0% 85%)', 'hsl(0 0% 20%)')};
background: var(--dees-color-scrollbar-thumb);
border-radius: 3px;
}
.viewTabs-container::-webkit-scrollbar-thumb:hover {
background: ${cssManager.bdTheme('hsl(0 0% 75%)', 'hsl(0 0% 30%)')};
background: var(--dees-color-scrollbar-thumb-hover);
}
.section-label {
@@ -181,7 +177,7 @@ export class DeesSimpleAppDash extends DeesElement {
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: ${cssManager.bdTheme('hsl(0 0% 50%)', 'hsl(0 0% 50%)')};
color: var(--dees-color-text-muted);
padding: 8px 12px 8px;
margin-bottom: 4px;
}
@@ -199,25 +195,25 @@ export class DeesSimpleAppDash extends DeesElement {
padding: 10px 12px;
cursor: default;
transition: all 0.15s ease;
color: ${cssManager.bdTheme('hsl(0 0% 40%)', 'hsl(0 0% 65%)')};
color: var(--dees-color-text-secondary);
user-select: none;
position: relative;
border-radius: 8px;
}
.viewTab:hover {
background: ${cssManager.bdTheme('hsl(0 0% 0% / 0.04)', 'hsl(0 0% 100% / 0.05)')};
color: ${cssManager.bdTheme('hsl(0 0% 15%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-hover);
color: ${cssManager.bdTheme('#262626', '#e5e5e5')};
}
.viewTab:active {
background: ${cssManager.bdTheme('hsl(0 0% 0% / 0.06)', 'hsl(0 0% 100% / 0.07)')};
background: var(--dees-color-active);
transform: scale(0.99);
}
.viewTab.selected {
background: ${cssManager.bdTheme('hsl(215 25% 95%)', 'hsl(215 20% 15%)')};
color: ${cssManager.bdTheme('hsl(215 25% 30%)', 'hsl(215 25% 85%)')};
background: var(--dees-color-active);
color: var(--dees-color-text-primary);
font-weight: 500;
}
@@ -229,7 +225,7 @@ export class DeesSimpleAppDash extends DeesElement {
bottom: 8px;
width: 3px;
border-radius: 0 2px 2px 0;
background: ${cssManager.bdTheme('hsl(215 70% 50%)', 'hsl(215 70% 60%)')};
background: var(--dees-color-text-primary);
}
.viewTab dees-icon {
@@ -243,8 +239,8 @@ export class DeesSimpleAppDash extends DeesElement {
}
.viewTab.selected dees-icon {
opacity: 0.9;
color: ${cssManager.bdTheme('hsl(215 70% 45%)', 'hsl(215 70% 65%)')};
opacity: 1;
color: var(--dees-color-text-primary);
}
.viewTab span {
@@ -256,7 +252,7 @@ export class DeesSimpleAppDash extends DeesElement {
.appActions {
padding: 12px 8px;
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 91%)', 'hsl(0 0% 13%)')};
border-top: 1px solid var(--dees-color-border-default);
}
.action {
@@ -267,7 +263,7 @@ export class DeesSimpleAppDash extends DeesElement {
border-radius: 8px;
cursor: default;
transition: all 0.15s ease;
color: ${cssManager.bdTheme('hsl(0 0% 40%)', 'hsl(0 0% 65%)')};
color: var(--dees-color-text-secondary);
}
.action:hover {
@@ -295,7 +291,7 @@ export class DeesSimpleAppDash extends DeesElement {
bottom: 24px;
width: calc(100% - 240px);
overflow: auto;
background: ${cssManager.bdTheme('hsl(0 0% 97%)', 'hsl(0 0% 5%)')};
background: var(--dees-color-bg-secondary);
overscroll-behavior: contain;
}
@@ -335,14 +331,14 @@ export class DeesSimpleAppDash extends DeesElement {
}
.controlbar {
color: ${cssManager.bdTheme('hsl(0 0% 45%)', 'hsl(0 0% 55%)')};
color: var(--dees-color-text-muted);
position: absolute;
bottom: 0px;
left: 0px;
width: 100%;
height: 24px;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
border-top: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-tertiary);
border-top: 1px solid var(--dees-color-border-default);
z-index: 11;
display: flex;
justify-content: flex-end;
@@ -361,9 +357,9 @@ export class DeesSimpleAppDash extends DeesElement {
height: 100%;
white-space: nowrap;
cursor: default;
color: ${cssManager.bdTheme('hsl(0 0% 55%)', 'hsl(0 0% 50%)')};
color: var(--dees-color-text-muted);
transition: all 0.15s ease;
border-left: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
border-left: 1px solid var(--dees-color-border-strong);
}
@@ -372,8 +368,8 @@ export class DeesSimpleAppDash extends DeesElement {
}
.control:hover {
background: ${cssManager.bdTheme('hsl(0 0% 0% / 0.04)', 'hsl(0 0% 100% / 0.06)')};
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 90%)')};
background: var(--dees-color-hover);
color: var(--dees-color-text-primary);
}
.control dees-icon {
@@ -381,11 +377,11 @@ export class DeesSimpleAppDash extends DeesElement {
}
.control.status-connected dees-icon {
color: hsl(142 70% 50%);
color: ${cssManager.bdTheme('hsl(142 70% 35%)', 'hsl(142 70% 50%)')};
}
.control.status-terminal dees-icon {
color: hsl(45 90% 55%);
color: ${cssManager.bdTheme('hsl(38 92% 45%)', 'hsl(38 92% 55%)')};
}
/* Global Message Banners */
@@ -408,7 +404,7 @@ export class DeesSimpleAppDash extends DeesElement {
font-size: 13px;
font-family: 'Geist Sans', sans-serif;
font-weight: 500;
border-bottom: 1px solid ${cssManager.bdTheme('hsl(0 0% 91%)', 'hsl(0 0% 13%)')};
border-bottom: 1px solid var(--dees-color-border-default);
animation: bannerSlideDown 0.25s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}

View File

@@ -31,9 +31,8 @@ export class DeesSimpleLogin extends DeesElement {
themeDefaultStyles,
cssManager.defaultStyles,
css`
/* TODO: Migrate hardcoded values to --dees-* CSS variables */
:host {
color: ${cssManager.bdTheme('hsl(0 0% 3.9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
user-select: none;
display: block;
width: 100%;
@@ -50,7 +49,7 @@ export class DeesSimpleLogin extends DeesElement {
height: 100%;
top: 0;
left: 0;
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 3.9%)')};
background: var(--dees-color-bg-primary);
}
.slotContainer {
@@ -83,17 +82,17 @@ export class DeesSimpleLogin extends DeesElement {
font-size: 24px;
font-weight: 600;
letter-spacing: -0.025em;
color: ${cssManager.bdTheme('hsl(0 0% 9%)', 'hsl(0 0% 98%)')};
color: var(--dees-color-text-primary);
}
.subheader {
font-size: 14px;
color: ${cssManager.bdTheme('hsl(0 0% 45.1%)', 'hsl(0 0% 63.9%)')};
color: var(--dees-color-text-muted);
}
.login-card {
background: ${cssManager.bdTheme('hsl(0 0% 100%)', 'hsl(0 0% 9%)')};
border: 1px solid ${cssManager.bdTheme('hsl(0 0% 89.8%)', 'hsl(0 0% 14.9%)')};
background: var(--dees-color-bg-primary);
border: 1px solid var(--dees-color-border-default);
border-radius: 8px;
padding: 24px;
}

View File

@@ -81,15 +81,15 @@ export class DeesWorkspaceTerminalPreview extends DeesElement {
height: 32px;
font-size: 12px;
font-family: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Code', monospace;
color: ${cssManager.bdTheme('hsl(0 0% 40%)', 'hsl(0 0% 60%)')};
color: var(--dees-color-text-muted);
}
.terminal-header-icon {
color: ${cssManager.bdTheme('hsl(0 0% 50%)', 'hsl(0 0% 50%)')};
color: var(--dees-color-text-muted);
}
.terminal-header-command {
color: ${cssManager.bdTheme('hsl(0 0% 20%)', 'hsl(0 0% 80%)')};
color: var(--dees-color-text-secondary);
font-weight: 500;
}
@@ -243,12 +243,12 @@ export class DeesWorkspaceTerminalPreview extends DeesElement {
}
.xterm .xterm-viewport::-webkit-scrollbar-thumb {
background: ${cssManager.bdTheme('hsl(0 0% 80%)', 'hsl(0 0% 25%)')};
background: var(--dees-color-scrollbar-thumb);
border-radius: 4px;
}
.xterm .xterm-viewport::-webkit-scrollbar-thumb:hover {
background: ${cssManager.bdTheme('hsl(0 0% 70%)', 'hsl(0 0% 35%)')};
background: var(--dees-color-scrollbar-thumb-hover);
}
`,
];

View File

@@ -1,4 +1,4 @@
import { css, type CSSResult } from '@design.estate/dees-element';
import { css, cssManager, unsafeCSS, type CSSResult } from '@design.estate/dees-element';
// ============================================
// Theme Token Type Definitions
@@ -11,6 +11,7 @@ export interface IThemeColors {
textPrimary: string;
textSecondary: string;
textMuted: string;
textWarm: string;
borderDefault: string;
borderSubtle: string;
borderStrong: string;
@@ -18,6 +19,14 @@ export interface IThemeColors {
accentSuccess: string;
accentWarning: string;
accentError: string;
badgeDefaultBg: string;
badgeDefaultFg: string;
badgeSuccessBg: string;
badgeSuccessFg: string;
badgeWarningBg: string;
badgeWarningFg: string;
badgeErrorBg: string;
badgeErrorFg: string;
}
export interface IThemeSpacing {
@@ -79,34 +88,52 @@ export interface ITheme {
export const themeDefaults: ITheme = {
colors: {
light: {
bgPrimary: '#ffffff',
bgSecondary: '#fafafa',
bgTertiary: '#f4f4f5',
textPrimary: '#09090b',
textSecondary: '#374151',
textMuted: '#71717a',
borderDefault: '#e5e7eb',
borderSubtle: '#f4f4f5',
borderStrong: '#d1d5db',
bgPrimary: 'hsl(0 0% 100%)', // #ffffff
bgSecondary: 'hsl(0 0% 98%)', // #fafafa
bgTertiary: 'hsl(0 0% 96%)', // #f5f5f5
textPrimary: 'hsl(0 0% 3.9%)', // #0a0a0a
textSecondary: 'hsl(0 0% 20%)', // #333333
textMuted: 'hsl(0 0% 45%)', // #737373
textWarm: '#78716c', // warm stone
borderDefault: 'hsl(0 0% 89.8%)', // #e5e5e5
borderSubtle: 'hsl(0 0% 93%)', // #ededed
borderStrong: 'hsl(0 0% 80%)', // #cccccc
accentPrimary: '#3b82f6',
accentSuccess: '#22c55e',
accentWarning: '#f59e0b',
accentError: '#ef4444',
badgeDefaultBg: '#f4f4f5',
badgeDefaultFg: '#3f3f46',
badgeSuccessBg: '#dcfce7',
badgeSuccessFg: '#166534',
badgeWarningBg: '#fef3c7',
badgeWarningFg: '#92400e',
badgeErrorBg: '#fee2e2',
badgeErrorFg: '#991b1b',
},
dark: {
bgPrimary: '#09090b',
bgSecondary: '#0a0a0a',
bgTertiary: '#18181b',
textPrimary: '#fafafa',
textSecondary: '#d4d4d8',
textMuted: '#a1a1aa',
borderDefault: '#27272a',
borderSubtle: '#1a1a1a',
borderStrong: '#3f3f46',
bgPrimary: 'hsl(0 0% 3.9%)', // #0a0a0a
bgSecondary: 'hsl(0 0% 3.9%)', // #0a0a0a (matches sidebar/tile in dark)
bgTertiary: 'hsl(0 0% 7%)', // #121212
textPrimary: 'hsl(0 0% 98%)', // #fafafa
textSecondary: 'hsl(0 0% 63.9%)', // #a3a3a3
textMuted: 'hsl(0 0% 55%)', // #8c8c8c
textWarm: '#b5a99a', // warm stone
borderDefault: 'hsl(0 0% 14.9%)', // #262626
borderSubtle: 'hsl(0 0% 11%)', // #1c1c1c
borderStrong: 'hsl(0 0% 20%)', // #333333
accentPrimary: '#3b82f6',
accentSuccess: '#22c55e',
accentWarning: '#f59e0b',
accentError: '#ef4444',
badgeDefaultBg: '#27272a',
badgeDefaultFg: '#a1a1aa',
badgeSuccessBg: '#14532d',
badgeSuccessFg: '#4ade80',
badgeWarningBg: '#451a03',
badgeWarningFg: '#fbbf24',
badgeErrorBg: '#450a0a',
badgeErrorFg: '#f87171',
},
},
spacing: {
@@ -146,13 +173,17 @@ export const themeDefaults: ITheme = {
},
};
// Shorthand aliases for CSS template usage
const l = themeDefaults.colors.light;
const d = themeDefaults.colors.dark;
// ============================================
// CSS Block for Component Import
// ============================================
/**
* Default theme styles to be imported into every component's static styles array.
* Provides CSS custom properties for spacing, radius, shadows, transitions, and control heights.
* Provides CSS custom properties for colors, spacing, radius, shadows, transitions, and control heights.
*
* Usage:
* ```typescript
@@ -170,6 +201,93 @@ export const themeDefaults: ITheme = {
*/
export const themeDefaultStyles: CSSResult = css`
:host {
/* ========================================
* Colors — Background (from themeDefaults)
* ======================================== */
--dees-color-bg-primary: ${cssManager.bdTheme(l.bgPrimary, d.bgPrimary)};
--dees-color-bg-secondary: ${cssManager.bdTheme(l.bgSecondary, d.bgSecondary)};
--dees-color-bg-tertiary: ${cssManager.bdTheme(l.bgTertiary, d.bgTertiary)};
/* ========================================
* Colors — Text (from themeDefaults)
* ======================================== */
--dees-color-text-primary: ${cssManager.bdTheme(l.textPrimary, d.textPrimary)};
--dees-color-text-secondary: ${cssManager.bdTheme(l.textSecondary, d.textSecondary)};
--dees-color-text-muted: ${cssManager.bdTheme(l.textMuted, d.textMuted)};
/* ========================================
* Colors — Border (from themeDefaults)
* ======================================== */
--dees-color-border-default: ${cssManager.bdTheme(l.borderDefault, d.borderDefault)};
--dees-color-border-subtle: ${cssManager.bdTheme(l.borderSubtle, d.borderSubtle)};
--dees-color-border-strong: ${cssManager.bdTheme(l.borderStrong, d.borderStrong)};
/* ========================================
* Colors — Warm Text (from themeDefaults)
* ======================================== */
--dees-color-text-warm: ${cssManager.bdTheme(l.textWarm, d.textWarm)};
/* ========================================
* Colors — Accent (from themeDefaults)
* ======================================== */
--dees-color-accent-primary: ${cssManager.bdTheme(l.accentPrimary, d.accentPrimary)};
--dees-color-accent-success: ${cssManager.bdTheme(l.accentSuccess, d.accentSuccess)};
--dees-color-accent-warning: ${cssManager.bdTheme(l.accentWarning, d.accentWarning)};
--dees-color-accent-error: ${cssManager.bdTheme(l.accentError, d.accentError)};
/* ========================================
* Colors — Badge (from themeDefaults)
* ======================================== */
--dees-color-badge-default-bg: ${cssManager.bdTheme(l.badgeDefaultBg, d.badgeDefaultBg)};
--dees-color-badge-default-fg: ${cssManager.bdTheme(l.badgeDefaultFg, d.badgeDefaultFg)};
--dees-color-badge-success-bg: ${cssManager.bdTheme(l.badgeSuccessBg, d.badgeSuccessBg)};
--dees-color-badge-success-fg: ${cssManager.bdTheme(l.badgeSuccessFg, d.badgeSuccessFg)};
--dees-color-badge-warning-bg: ${cssManager.bdTheme(l.badgeWarningBg, d.badgeWarningBg)};
--dees-color-badge-warning-fg: ${cssManager.bdTheme(l.badgeWarningFg, d.badgeWarningFg)};
--dees-color-badge-error-bg: ${cssManager.bdTheme(l.badgeErrorBg, d.badgeErrorBg)};
--dees-color-badge-error-fg: ${cssManager.bdTheme(l.badgeErrorFg, d.badgeErrorFg)};
/* ========================================
* Colors — Interactive States
* ======================================== */
--dees-color-hover: ${cssManager.bdTheme('rgba(0, 0, 0, 0.04)', 'rgba(255, 255, 255, 0.06)')};
--dees-color-active: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.08)')};
--dees-color-pressed: ${cssManager.bdTheme('rgba(0, 0, 0, 0.08)', 'rgba(255, 255, 255, 0.12)')};
/* ========================================
* Colors — Focus Ring
* ======================================== */
--dees-color-focus-ring: ${cssManager.bdTheme('rgba(59, 130, 246, 0.4)', 'rgba(59, 130, 246, 0.4)')};
/* ========================================
* Colors — Tooltip (inverted contrast)
* ======================================== */
--dees-color-tooltip-bg: ${cssManager.bdTheme('#18181b', '#fafafa')};
--dees-color-tooltip-fg: ${cssManager.bdTheme('#fafafa', '#18181b')};
/* ========================================
* Colors — Link
* ======================================== */
--dees-color-link: ${cssManager.bdTheme('#3b82f6', '#60a5fa')};
--dees-color-link-hover: ${cssManager.bdTheme('#2563eb', '#93bbfd')};
/* ========================================
* Colors — Code
* ======================================== */
--dees-color-code-bg: ${cssManager.bdTheme('rgba(0, 0, 0, 0.06)', 'rgba(255, 255, 255, 0.1)')};
--dees-color-code-block-bg: ${cssManager.bdTheme('#f4f4f5', '#18181b')};
/* ========================================
* Colors — Selection
* ======================================== */
--dees-color-selection: ${cssManager.bdTheme('rgba(59, 130, 246, 0.2)', 'rgba(59, 130, 246, 0.3)')};
/* ========================================
* Colors — Scrollbar
* ======================================== */
--dees-color-scrollbar-thumb: ${cssManager.bdTheme('rgba(0, 0, 0, 0.15)', 'rgba(255, 255, 255, 0.15)')};
--dees-color-scrollbar-thumb-hover: ${cssManager.bdTheme('rgba(0, 0, 0, 0.25)', 'rgba(255, 255, 255, 0.25)')};
/* ========================================
* Spacing Scale
* ======================================== */