@dereekb/dbx-web 13.19.0 → 13.21.0
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/eslint/package.json +4 -4
- package/fesm2022/dereekb-dbx-web-style-demo.mjs +12 -2
- package/fesm2022/dereekb-dbx-web-style-demo.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-web.mjs +17 -8
- package/fesm2022/dereekb-dbx-web.mjs.map +1 -1
- package/lib/extension/calendar/_calendar.scss +16 -8
- package/lib/extension/table/_table.scss +6 -1
- package/lib/interaction/style/_style.scss +1 -4
- package/lib/layout/column/_column.scss +7 -1
- package/lib/layout/content/_content.scss +76 -15
- package/lib/layout/list/_list.scss +197 -13
- package/lib/router/layout/anchorlist/_anchorlist.scss +34 -7
- package/lib/router/layout/sidenav/_sidenav.scss +34 -0
- package/lib/style/_root-variables.scss +13 -0
- package/lib/style/_style-demo.scss +16 -0
- package/lib/style/_variables.scss +36 -0
- package/package.json +7 -7
- package/types/dereekb-dbx-web-style-demo.d.ts +5 -2
- package/types/dereekb-dbx-web.d.ts +9 -3
|
@@ -161,6 +161,19 @@
|
|
|
161
161
|
#{theming.$dbx-outline-variant-color-var}: var(--mat-sys-outline-variant);
|
|
162
162
|
#{theming.$dbx-error-color-var}: var(--mat-sys-error);
|
|
163
163
|
|
|
164
|
+
// Shared border system — base divider color + opacity knob, blended into a single
|
|
165
|
+
// semi-transparent border color. Components apply var(--dbx-border-color-current);
|
|
166
|
+
// override --dbx-border-color or --dbx-border-opacity (globally here, or locally on a
|
|
167
|
+
// scope) and the computed value recomputes automatically at the point of use.
|
|
168
|
+
#{theming.$dbx-border-color-var}: var(--mat-sys-outline-variant);
|
|
169
|
+
#{theming.$dbx-border-opacity-var}: 60%;
|
|
170
|
+
#{theming.$dbx-border-color-current-var}: color-mix(in srgb, var(--dbx-border-color) var(--dbx-border-opacity), transparent);
|
|
171
|
+
|
|
172
|
+
// Shared divider color — defaults to the computed semi-transparent border so dbx-table-view,
|
|
173
|
+
// dbx-two-column, dbx-calendar (and any other) dividers stay consistent. Override here for an
|
|
174
|
+
// app-wide divider retint, or override a component's own divider token for a one-off.
|
|
175
|
+
#{theming.$dbx-divider-color-var}: var(--dbx-border-color-current);
|
|
176
|
+
|
|
164
177
|
// Curated color set (avatar initials, etc.) — selects light/dark values from the theme's theme-type.
|
|
165
178
|
@include curated.curated-color-variables($theme-config);
|
|
166
179
|
}
|
|
@@ -115,6 +115,16 @@
|
|
|
115
115
|
@return ('--dbx-anchor-list-item-border-radius': $value);
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
+
/// Builds the dbx-sidenav-only trailing-edge shape override map for a single corner-radius value.
|
|
119
|
+
///
|
|
120
|
+
/// Backs the `sidenav-corner-*` levers: re-points the nested `mat-sidenav` drawer's top/bottom trailing-edge
|
|
121
|
+
/// radius tokens (`--dbx-sidenav-top-corner-radius` / `--dbx-sidenav-bottom-corner-radius`, extra-large by
|
|
122
|
+
/// default) together so the rounded drawer edge flips live. Independent of every other shape lever — the
|
|
123
|
+
/// sidenav reads its own tokens. Private to this module (`-` prefix).
|
|
124
|
+
@function -dbx-style-demo-sidenav-shape-map($value) {
|
|
125
|
+
@return ('--dbx-sidenav-top-corner-radius': $value, '--dbx-sidenav-bottom-corner-radius': $value);
|
|
126
|
+
}
|
|
127
|
+
|
|
118
128
|
/// Map of demo template key -> CSS custom-property overrides emitted for that template's debug class.
|
|
119
129
|
$dbx-style-demo-templates: (
|
|
120
130
|
// M3 corner-radius scale levers. Each re-points the component shape tokens that `dbx-components-shapes()`
|
|
@@ -157,6 +167,12 @@ $dbx-style-demo-templates: (
|
|
|
157
167
|
'anchor-list-corner-medium': -dbx-style-demo-anchor-list-shape-map(var(--mat-sys-corner-medium)),
|
|
158
168
|
'anchor-list-corner-large': -dbx-style-demo-anchor-list-shape-map(var(--mat-sys-corner-large)),
|
|
159
169
|
'anchor-list-corner-extra-large': -dbx-style-demo-anchor-list-shape-map(var(--mat-sys-corner-extra-large)),
|
|
170
|
+
// dbx-sidenav-only trailing-edge corner levers (own 'Sidenav Shape' toggle group), independent of every other
|
|
171
|
+
// shape lever (the sidenav drawer reads its own --dbx-sidenav-top/bottom-corner-radius tokens). Only the three
|
|
172
|
+
// requested stops are exposed: none (square), medium, and extra (extra-large, the drawer's default).
|
|
173
|
+
'sidenav-corner-none': -dbx-style-demo-sidenav-shape-map(0),
|
|
174
|
+
'sidenav-corner-medium': -dbx-style-demo-sidenav-shape-map(var(--mat-sys-corner-medium)),
|
|
175
|
+
'sidenav-corner-extra': -dbx-style-demo-sidenav-shape-map(var(--mat-sys-corner-extra-large)),
|
|
160
176
|
// Tints surfaces toward the primary color by mixing the theme's own system tokens — stays theme-correct.
|
|
161
177
|
'surface-tint': (
|
|
162
178
|
'--mat-sys-surface': color-mix(in srgb, var(--mat-sys-primary) 8%, var(--mat-sys-surface)),
|
|
@@ -157,6 +157,37 @@ $dbx-outline-variant-color-var: --dbx-outline-variant-color;
|
|
|
157
157
|
/// @see --mat-sys-error
|
|
158
158
|
$dbx-error-color-var: --dbx-error-color;
|
|
159
159
|
|
|
160
|
+
// Shared border system — a base color + an opacity knob blended into a single
|
|
161
|
+
// semi-transparent border color. Components apply --dbx-border-color-current and
|
|
162
|
+
// can tune either input token locally without touching the others.
|
|
163
|
+
/// Base border color for the shared semi-transparent border system. Defaults to `--mat-sys-outline-variant` (the M3 divider color). Blended with `--dbx-border-opacity` to produce `--dbx-border-color-current`.
|
|
164
|
+
/// @intent border base color, divider base color, outline base color
|
|
165
|
+
/// @role color
|
|
166
|
+
/// @see --mat-sys-outline-variant
|
|
167
|
+
/// @see --dbx-border-opacity
|
|
168
|
+
/// @see --dbx-border-color-current
|
|
169
|
+
$dbx-border-color-var: --dbx-border-color;
|
|
170
|
+
/// Opacity applied to `--dbx-border-color` when computing the effective border color. A percentage (e.g. `70%`). Lower it for a fainter border, raise it toward `100%` for a solid divider.
|
|
171
|
+
/// @intent border opacity, divider transparency, border alpha, semi-transparent border opacity
|
|
172
|
+
/// @role misc
|
|
173
|
+
/// @see --dbx-border-color
|
|
174
|
+
/// @see --dbx-border-color-current
|
|
175
|
+
$dbx-border-opacity-var: --dbx-border-opacity;
|
|
176
|
+
/// Effective, semi-transparent border color — a `color-mix` of `--dbx-border-color` at `--dbx-border-opacity`. Apply this directly to `border` / `border-top` / `border-bottom`. Overriding either input token (globally or on a local scope) recomputes this automatically.
|
|
177
|
+
/// @intent border color, divider color, semi-transparent border color, computed border color
|
|
178
|
+
/// @role color
|
|
179
|
+
/// @anti-use Don't hardcode `border: 1px solid rgba(0,0,0,0.1)`; use this token so the color and opacity stay themeable.
|
|
180
|
+
/// @see --dbx-border-color
|
|
181
|
+
/// @see --dbx-border-opacity
|
|
182
|
+
$dbx-border-color-current-var: --dbx-border-color-current;
|
|
183
|
+
|
|
184
|
+
/// Shared divider color for component dividers/separators (dbx-table-view summary rule, dbx-two-column boundary, dbx-calendar cell borders, etc.). Defaults to `--dbx-border-color-current` so every divider inherits the themeable semi-transparent border by default; override this single token (globally or on a local scope) to retint all dividers at once, or override a component's own divider token to retint just that one.
|
|
185
|
+
/// @intent divider color, separator color, shared divider, component divider color
|
|
186
|
+
/// @role color
|
|
187
|
+
/// @anti-use Don't hardcode a per-component divider color; default it to this token so dividers stay consistent and themeable.
|
|
188
|
+
/// @see --dbx-border-color-current
|
|
189
|
+
$dbx-divider-color-var: --dbx-divider-color;
|
|
190
|
+
|
|
160
191
|
/// Per-app additional offset subtracted from the app-height base. Set to a non-zero value to shrink `--dbx-app-height` by a fixed amount (e.g. for a sticky footer). Defaults to `0px`.
|
|
161
192
|
/// @intent app height offset, app height adjustment, shrink app height
|
|
162
193
|
/// @role size
|
|
@@ -323,6 +354,11 @@ $dbx-outline-color: var($dbx-outline-color-var);
|
|
|
323
354
|
$dbx-outline-variant-color: var($dbx-outline-variant-color-var);
|
|
324
355
|
$dbx-error-color: var($dbx-error-color-var);
|
|
325
356
|
|
|
357
|
+
$dbx-border-color: var($dbx-border-color-var);
|
|
358
|
+
$dbx-border-opacity: var($dbx-border-opacity-var);
|
|
359
|
+
$dbx-border-color-current: var($dbx-border-color-current-var);
|
|
360
|
+
$dbx-divider-color: var($dbx-divider-color-var);
|
|
361
|
+
|
|
326
362
|
/// Border radius for the `[dbxContentPit]`, applied by default to every pit. Defaults to `var(--mat-sys-corner-medium)`.
|
|
327
363
|
/// @intent pit radius, rounded pit corner, content pit radius
|
|
328
364
|
/// @role radius
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dereekb/dbx-web",
|
|
3
|
-
"version": "13.
|
|
3
|
+
"version": "13.21.0",
|
|
4
4
|
"sideEffects": [
|
|
5
5
|
"*.scss",
|
|
6
6
|
"*.css"
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
"@angular/material": "^21.2.9",
|
|
14
14
|
"@angular/platform-browser": "21.2.11",
|
|
15
15
|
"@cantoo/pdf-lib": "^2.6.5",
|
|
16
|
-
"@dereekb/browser": "13.
|
|
17
|
-
"@dereekb/date": "13.
|
|
18
|
-
"@dereekb/dbx-core": "13.
|
|
19
|
-
"@dereekb/rxjs": "13.
|
|
20
|
-
"@dereekb/util": "13.
|
|
21
|
-
"@dereekb/vitest": "13.
|
|
16
|
+
"@dereekb/browser": "13.21.0",
|
|
17
|
+
"@dereekb/date": "13.21.0",
|
|
18
|
+
"@dereekb/dbx-core": "13.21.0",
|
|
19
|
+
"@dereekb/rxjs": "13.21.0",
|
|
20
|
+
"@dereekb/util": "13.21.0",
|
|
21
|
+
"@dereekb/vitest": "13.21.0",
|
|
22
22
|
"@ngbracket/ngx-layout": "^21.0.0",
|
|
23
23
|
"@ngrx/component-store": "^21.1.0",
|
|
24
24
|
"@ngrx/effects": "^21.1.0",
|
|
@@ -818,7 +818,9 @@ declare class DbxStyleDemoTypeRolesSectionComponent {
|
|
|
818
818
|
* `'Shape'` toggle group, so only one is active at a time; `pill-controls` (`'Controls'`), `button-corner-*`
|
|
819
819
|
* (`'Button Shape'`), `list-corner-*` (`'List Shape'`) and `anchor-list-corner-*` (`'Anchor List Shape'`) each live in
|
|
820
820
|
* their own group so they compose on top of a corner lever instead of radio-excluding it — their debug classes are
|
|
821
|
-
* emitted after `corner-shape-*` / `pill-controls` so they win the shape tokens they share.
|
|
821
|
+
* emitted after `corner-shape-*` / `pill-controls` so they win the shape tokens they share. The `sidenav-corner-*`
|
|
822
|
+
* levers (`'Sidenav Shape'`) re-round the nested `mat-sidenav` drawer's own trailing-edge tokens and are independent
|
|
823
|
+
* of every other shape lever.
|
|
822
824
|
*/
|
|
823
825
|
declare const DBX_WEB_STYLE_DEMO_TEMPLATES: DbxStyleDemoStyleTemplate[];
|
|
824
826
|
/**
|
|
@@ -827,7 +829,8 @@ declare const DBX_WEB_STYLE_DEMO_TEMPLATES: DbxStyleDemoStyleTemplate[];
|
|
|
827
829
|
* The `corner-shape-*` levers share the `'Shape'` group (mutually exclusive); the component-scoped `button-corner-*`
|
|
828
830
|
* (`'Button Shape'`), `list-corner-*` (`'List Shape'`) and `anchor-list-corner-*` (`'Anchor List Shape'`) levers are
|
|
829
831
|
* mutually exclusive within their own groups but compose with `'Shape'` and `'Controls'`, letting a global corner
|
|
830
|
-
* preset be overridden for just buttons, just `dbx-list` rows, or just `dbx-anchor-list` (nav) rows.
|
|
832
|
+
* preset be overridden for just buttons, just `dbx-list` rows, or just `dbx-anchor-list` (nav) rows. The
|
|
833
|
+
* `sidenav-corner-*` levers (`'Sidenav Shape'`) re-round the `dbx-sidenav` drawer edge independently. `pill-controls`
|
|
831
834
|
* (`'Controls'`), `surface-tint` and `vivid-primary` are independent toggles in their own groups.
|
|
832
835
|
*/
|
|
833
836
|
declare const DBX_WEB_STYLE_DEMO_TEMPLATE_TOGGLES: DbxStyleDemoTemplateToggle[];
|
|
@@ -2448,9 +2448,14 @@ type DbxContentPitScrollableHeightSetting = 'small' | 'medium' | 'large';
|
|
|
2448
2448
|
* Wraps content in a recessed "pit" container with optional scrollable overflow and rounded corners.
|
|
2449
2449
|
* Useful for displaying bounded content areas such as lists or previews with a constrained height.
|
|
2450
2450
|
*
|
|
2451
|
-
* Pits round their corners by default. Pass `[
|
|
2451
|
+
* Pits round their corners by default. Pass `[square]="true"` to square the pit — this applies the
|
|
2452
2452
|
* common `.dbx-corners-none` opt-out utility rather than a pit-specific class.
|
|
2453
2453
|
*
|
|
2454
|
+
* When `[scrollable]` is set the pit frame (padding, background, corners) stays fixed and an inner
|
|
2455
|
+
* `.dbx-content-pit-scrollable-content` wrapper does the scrolling — wrap the body in that element so
|
|
2456
|
+
* the frame doesn't shift at the scroll extremes. The resolved max height is published as the
|
|
2457
|
+
* `--dbx-content-pit-scrollable-max-height` custom property, which the inner wrapper reads.
|
|
2458
|
+
*
|
|
2454
2459
|
* @dbxWebComponent
|
|
2455
2460
|
* @dbxWebSlug content-pit
|
|
2456
2461
|
* @dbxWebCategory layout
|
|
@@ -2467,10 +2472,11 @@ type DbxContentPitScrollableHeightSetting = 'small' | 'medium' | 'large';
|
|
|
2467
2472
|
*/
|
|
2468
2473
|
declare class DbxContentPitDirective {
|
|
2469
2474
|
readonly scrollable: _angular_core.InputSignal<Maybe<DbxContentPitScrollableInput>>;
|
|
2470
|
-
readonly
|
|
2475
|
+
readonly square: _angular_core.InputSignal<boolean>;
|
|
2471
2476
|
readonly scrollableHeightSignal: _angular_core.Signal<string | null>;
|
|
2477
|
+
readonly scrollableMaxHeightSignal: _angular_core.Signal<string>;
|
|
2472
2478
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DbxContentPitDirective, never>;
|
|
2473
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DbxContentPitDirective, "dbx-content-pit, [dbxContentPit]", never, { "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; "
|
|
2479
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DbxContentPitDirective, "dbx-content-pit, [dbxContentPit]", never, { "scrollable": { "alias": "scrollable"; "required": false; "isSignal": true; }; "square": { "alias": "square"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
2474
2480
|
}
|
|
2475
2481
|
|
|
2476
2482
|
/**
|