@dereekb/dbx-web 14.0.1 → 14.2.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.
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web/eslint",
3
- "version": "14.0.1",
3
+ "version": "14.2.0",
4
+ "sideEffects": false,
4
5
  "type": "module",
5
6
  "peerDependencies": {
6
- "@dereekb/util": "14.0.1",
7
+ "@dereekb/util": "14.2.0",
7
8
  "@typescript-eslint/utils": "8.69.0"
8
9
  },
9
10
  "devDependencies": {
10
11
  "@angular-eslint/template-parser": "22.2.0",
11
12
  "@angular/core": "22.1.4",
12
- "@dereekb/dbx-core": "14.0.1",
13
- "@dereekb/rxjs": "14.0.1",
13
+ "@dereekb/dbx-core": "14.2.0",
14
+ "@dereekb/rxjs": "14.2.0",
14
15
  "@typescript-eslint/parser": "8.69.0",
15
16
  "eslint": "10.9.1",
16
17
  "rxjs": "^7.8.2"
@@ -8,6 +8,31 @@ $dbx-dialog-content-close-right-offset: $dbx-dialog-content-close-edge-padding;
8
8
 
9
9
  // MARK: Mixin
10
10
  @mixin core() {
11
+ // Restores the pre-M3 default ceiling on the dialog panel's width.
12
+ //
13
+ // Angular Material caps `.cdk-overlay-pane.mat-mdc-dialog-panel` with
14
+ // `--mat-dialog-container-max-width`, whose baked-in fallback is the M3 spec value of 560px (under M2
15
+ // theming it was 80vw). Because `max-width` outranks the `width` a dialog is opened with, the 560px
16
+ // value silently defeats every dialog that asks to be wide — most visibly `DbxInjectionDialogComponent`,
17
+ // which opens at `width: 80vw; height: 80vh` and therefore renders full-height but only 560px wide.
18
+ //
19
+ // This only lifts a ceiling: a dialog opened without an explicit `width` is still content-sized, so
20
+ // nothing that did not already ask to be wider than 560px changes size. The <=599px breakpoint reads a
21
+ // separate token (`--mat-dialog-container-small-max-width`, defaulting to `calc(100vw - 32px)`) and is
22
+ // left alone, so phone-width dialogs keep Material's near-full-screen behavior.
23
+ //
24
+ // Declared on the CDK overlay container rather than `:root`, and that placement is load-bearing:
25
+ // `theme()` emits `mat.all-component-themes()` — and with it `--mat-dialog-container-max-width: 560px` —
26
+ // under the app's theme selector, which `dbxStyleBody` puts on `<body>`, while the overlay container is
27
+ // appended to `<body>` as a child. A `:root` (`<html>`) declaration is therefore shadowed by the nearer
28
+ // `<body>` value no matter how it is ordered or how specific it is. `.cdk-overlay-container` sits between
29
+ // the themed body and every dialog pane, so its declaration is the one each pane inherits. For that same
30
+ // reason an app retunes this through `--dbx-dialog-max-width` (inherited from `:root`, read here) rather
31
+ // than by declaring the Material token itself.
32
+ .cdk-overlay-container {
33
+ --mat-dialog-container-max-width: var(--dbx-dialog-max-width, 80vw);
34
+ }
35
+
11
36
  .mat-mdc-dialog-surface {
12
37
  color: var(--mat-sys-on-surface);
13
38
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/dbx-web",
3
- "version": "14.0.1",
3
+ "version": "14.2.0",
4
4
  "sideEffects": [
5
5
  "*.scss",
6
6
  "*.css"
@@ -13,12 +13,12 @@
13
13
  "@angular/material": "^22.1.4",
14
14
  "@angular/platform-browser": "22.1.4",
15
15
  "@cantoo/pdf-lib": "^2.6.5",
16
- "@dereekb/browser": "14.0.1",
17
- "@dereekb/date": "14.0.1",
18
- "@dereekb/dbx-core": "14.0.1",
19
- "@dereekb/rxjs": "14.0.1",
20
- "@dereekb/util": "14.0.1",
21
- "@dereekb/vitest": "14.0.1",
16
+ "@dereekb/browser": "14.2.0",
17
+ "@dereekb/date": "14.2.0",
18
+ "@dereekb/dbx-core": "14.2.0",
19
+ "@dereekb/rxjs": "14.2.0",
20
+ "@dereekb/util": "14.2.0",
21
+ "@dereekb/vitest": "14.2.0",
22
22
  "@ngbracket/ngx-layout": "^22.0.1",
23
23
  "@ngrx/component-store": "^22.0.0",
24
24
  "@ngrx/effects": "^22.0.0",