@memberjunction/ng-shared-generic 6.1.2 → 6.2.0-edge.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.
@@ -257,9 +257,62 @@
257
257
  --mj-search-highlight-bg: color-mix(in srgb, var(--mj-status-warning) 24%, transparent);
258
258
  --mj-search-highlight-text: var(--mj-text-primary);
259
259
 
260
- /* Login Banner Gradient & Waves */
260
+ /* Login Surface — component tokens.
261
+ The sign-in page is themable end to end through this group, the same way every other
262
+ Explorer surface is: override tokens (a theme overlay, a host stylesheet, runtime
263
+ branding), never CSS against the login DOM. Defaults reproduce Login C (editorial
264
+ split) exactly. var() resolves at usage time, so the dark block's --mj-login-grad-*
265
+ overrides flow into --mj-login-banner-bg without it being redefined there — which is
266
+ also why a deployment can retheme the banner by overriding just the two grad stops,
267
+ or replace the gradient wholesale (flat color, image, different geometry) by
268
+ overriding --mj-login-banner-bg itself. */
261
269
  --mj-login-grad-start: var(--mj-color-brand-900);
262
270
  --mj-login-grad-mid: var(--mj-color-brand-700);
271
+ --mj-login-banner-bg: linear-gradient(
272
+ 160deg,
273
+ var(--mj-login-grad-start) 0%,
274
+ color-mix(in srgb, var(--mj-login-grad-start) 65%, var(--mj-login-grad-mid)) 60%,
275
+ var(--mj-login-grad-mid) 140%
276
+ );
277
+ /* The banner defaults dark in BOTH themes, so its text defaults white rather than to a
278
+ semantic text token (which would flip unreadable in dark mode). A light-panel brand
279
+ overrides these two alongside --mj-login-banner-bg. */
280
+ --mj-login-banner-text: var(--mj-color-neutral-0);
281
+ --mj-login-banner-text-secondary: color-mix(in srgb, var(--mj-login-banner-text) 82%, transparent);
282
+ /* The banner's brand image and its box. `contain` fit, so only the box needs sizing. */
283
+ --mj-login-banner-logo: var(--mj-logo-wordmark);
284
+ --mj-login-banner-logo-width: 297px;
285
+ --mj-login-banner-logo-height: 45px;
286
+ /* Login C's 1.05 : 1 editorial split between the story panel and the sign-in column. */
287
+ --mj-login-banner-flex: 1.05;
288
+ --mj-login-panel-bg: var(--mj-bg-surface);
289
+ /* Inherited text colour for the sign-in region — the pair to --mj-login-banner-text. Both
290
+ exist so that content a host PROJECTS into a slot lands readable without the host having to
291
+ know which token the surface behind it was painted from. */
292
+ --mj-login-panel-text: var(--mj-text-primary);
293
+ /* The picker's own lede and attribution, so a themed panel carries its whole text ramp rather
294
+ than just the body colour. Default to the semantics: an app that themes nothing is unchanged. */
295
+ --mj-login-panel-text-secondary: var(--mj-text-secondary);
296
+ --mj-login-panel-text-muted: var(--mj-text-muted);
297
+ --mj-login-panel-flex: 1;
298
+ --mj-login-picker-max-width: 400px;
299
+ /* Width of the sign-in card in the 'centered' layout, where the panel stops being a column
300
+ and becomes a card floating on the banner background. */
301
+ --mj-login-centered-card-width: 440px;
302
+ /* Login cards — the optional tiles a deployment configures beside the sign-in options.
303
+ Two surfaces, because the two regions sit on different grounds: panel cards on the sign-in
304
+ surface, banner cards on the story panel's background. Both derive from tokens that already
305
+ swap with the theme, so neither needs a dark-mode entry of its own. */
306
+ --mj-login-card-bg: var(--mj-bg-surface-card);
307
+ --mj-login-card-border: var(--mj-border-default);
308
+ --mj-login-card-text: var(--mj-text-primary);
309
+ --mj-login-card-text-secondary: var(--mj-text-secondary);
310
+ --mj-login-card-radius: var(--mj-radius-md);
311
+ --mj-login-banner-card-bg: color-mix(in srgb, var(--mj-login-banner-text) 10%, transparent);
312
+ --mj-login-banner-card-border: color-mix(in srgb, var(--mj-login-banner-text) 24%, transparent);
313
+ --mj-login-banner-card-text: var(--mj-login-banner-text);
314
+ /* Legacy inputs from the pre-Login-C animated-waves banner. Nothing in-tree consumes
315
+ them any more; kept because downstream theme sheets may still set or read them. */
263
316
  --mj-login-grad-end: var(--mj-color-brand-300);
264
317
  --mj-login-wave-1: var(--mj-color-brand-500);
265
318
  --mj-login-wave-2: var(--mj-color-accent-400);
@@ -511,7 +564,10 @@
511
564
  --mj-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.5), 0 8px 10px -6px rgba(0, 0, 0, 0.4);
512
565
  --mj-shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.6);
513
566
 
514
- /* Login Banner Gradient & Waves */
567
+ /* Login Surface — only the gradient stops need dark values; every other login token
568
+ either references a semantic token that swaps here on its own (--mj-login-panel-bg)
569
+ or is theme-constant by design (--mj-login-banner-text: the banner stays dark in
570
+ both themes). --mj-login-banner-bg picks these up through var() indirection. */
515
571
  --mj-login-grad-start: var(--mj-color-neutral-950);
516
572
  --mj-login-grad-mid: var(--mj-color-brand-900);
517
573
  --mj-login-grad-end: var(--mj-color-brand-700);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@memberjunction/ng-shared-generic",
3
- "version": "6.1.2",
3
+ "version": "6.2.0-edge.0",
4
4
  "description": "MemberJunction: Generic Angular Shared Package - utility services and reusable elements used in any Angular application.",
5
5
  "main": "./dist/public-api.js",
6
6
  "typings": "./dist/public-api.d.ts",
@@ -16,7 +16,7 @@
16
16
  "devDependencies": {
17
17
  "@angular/compiler": "21.2.22",
18
18
  "@angular/compiler-cli": "21.2.22",
19
- "@memberjunction/ng-test-utils": "6.1.2",
19
+ "@memberjunction/ng-test-utils": "6.2.0-edge.0",
20
20
  "vitest": "^4.0.18"
21
21
  },
22
22
  "peerDependencies": {
@@ -26,11 +26,11 @@
26
26
  "rxjs": "^7.8.2"
27
27
  },
28
28
  "dependencies": {
29
- "@memberjunction/core": "6.1.2",
30
- "@memberjunction/ng-base-types": "6.1.2",
31
- "@memberjunction/core-entities": "6.1.2",
32
- "@memberjunction/global": "6.1.2",
33
- "@memberjunction/theme-engine": "6.1.2",
29
+ "@memberjunction/core": "6.2.0-edge.0",
30
+ "@memberjunction/ng-base-types": "6.2.0-edge.0",
31
+ "@memberjunction/core-entities": "6.2.0-edge.0",
32
+ "@memberjunction/global": "6.2.0-edge.0",
33
+ "@memberjunction/theme-engine": "6.2.0-edge.0",
34
34
  "dompurify": "^3.3.0",
35
35
  "tslib": "^2.8.1"
36
36
  },