@design.estate/dees-catalog 9.3.0 → 9.4.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/dist_bundle/bundle.js +1372 -2727
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +2 -1
- package/dist_ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.js +4 -2
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.d.ts +11 -9
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.d.ts +2 -2
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.js +148 -319
- package/dist_ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.js +60 -279
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.d.ts +25 -10
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.d.ts +3 -4
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.js +229 -388
- package/dist_ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.js +253 -813
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.d.ts +2 -0
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.js +150 -389
- package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +67 -11
- package/package.json +1 -1
- package/readme.hints.md +26 -0
- package/readme.md +76 -15
- package/scripts/bdtheme-baseline.json +0 -2
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-button/dees-button/dees-button.ts +1 -0
- package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts +3 -1
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.ts +67 -332
- package/ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.ts +65 -322
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.ts +136 -382
- package/ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.ts +224 -872
- package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.ts +116 -421
- package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +66 -10
|
@@ -257,6 +257,8 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
257
257
|
cssManager.defaultStyles,
|
|
258
258
|
css`
|
|
259
259
|
:host {
|
|
260
|
+
position: relative;
|
|
261
|
+
container-type: inline-size;
|
|
260
262
|
color: var(--dees-color-text-primary);
|
|
261
263
|
user-select: none;
|
|
262
264
|
display: block;
|
|
@@ -295,7 +297,15 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
295
297
|
|
|
296
298
|
.login {
|
|
297
299
|
width: 100%;
|
|
298
|
-
max-width:
|
|
300
|
+
max-width: 424px;
|
|
301
|
+
box-sizing: border-box;
|
|
302
|
+
padding: 32px;
|
|
303
|
+
margin: auto;
|
|
304
|
+
border: 1px solid var(--dees-color-border-subtle);
|
|
305
|
+
border-radius: var(--dees-radius-2xl);
|
|
306
|
+
corner-shape: var(--dees-corner-shape);
|
|
307
|
+
background: var(--dees-color-bg-primary);
|
|
308
|
+
--dees-input-control-height: 40px;
|
|
299
309
|
display: flex;
|
|
300
310
|
flex-direction: column;
|
|
301
311
|
gap: var(--dees-spacing-xl);
|
|
@@ -308,8 +318,20 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
308
318
|
text-align: center;
|
|
309
319
|
}
|
|
310
320
|
|
|
321
|
+
.identity {
|
|
322
|
+
display: grid;
|
|
323
|
+
place-items: center;
|
|
324
|
+
width: 48px;
|
|
325
|
+
height: 48px;
|
|
326
|
+
margin: 0 auto 12px;
|
|
327
|
+
border-radius: var(--dees-radius-xl);
|
|
328
|
+
background: var(--dees-color-fill-secondary);
|
|
329
|
+
color: var(--dees-color-text-primary);
|
|
330
|
+
}
|
|
331
|
+
|
|
311
332
|
.header {
|
|
312
333
|
font-size: var(--dees-font-title2-size);
|
|
334
|
+
line-height: 1.2;
|
|
313
335
|
font-weight: 600;
|
|
314
336
|
letter-spacing: -0.025em;
|
|
315
337
|
color: var(--dees-color-text-primary);
|
|
@@ -320,12 +342,13 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
320
342
|
/* secondary rather than muted: the tertiary label token is a 0.30 alpha and drops
|
|
321
343
|
under 2:1 against both backgrounds */
|
|
322
344
|
color: var(--dees-color-text-secondary);
|
|
345
|
+
line-height: 1.5;
|
|
323
346
|
}
|
|
324
347
|
|
|
325
348
|
.methods {
|
|
326
349
|
display: flex;
|
|
327
350
|
flex-direction: column;
|
|
328
|
-
gap: var(--dees-spacing-
|
|
351
|
+
gap: var(--dees-spacing-sm);
|
|
329
352
|
}
|
|
330
353
|
|
|
331
354
|
.method {
|
|
@@ -369,6 +392,7 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
369
392
|
}
|
|
370
393
|
|
|
371
394
|
.divider {
|
|
395
|
+
margin: 12px 0;
|
|
372
396
|
display: flex;
|
|
373
397
|
align-items: center;
|
|
374
398
|
gap: var(--dees-spacing-md);
|
|
@@ -382,7 +406,7 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
382
406
|
content: '';
|
|
383
407
|
flex: 1;
|
|
384
408
|
height: 1px;
|
|
385
|
-
background: var(--dees-color-border-
|
|
409
|
+
background: var(--dees-color-border-default);
|
|
386
410
|
}
|
|
387
411
|
|
|
388
412
|
.methodError {
|
|
@@ -393,6 +417,9 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
393
417
|
line-height: 1.4;
|
|
394
418
|
color: var(--dees-color-text-error);
|
|
395
419
|
user-select: text;
|
|
420
|
+
padding: 10px 12px;
|
|
421
|
+
border-radius: var(--dees-radius-md);
|
|
422
|
+
background: var(--dees-color-badge-error-bg);
|
|
396
423
|
}
|
|
397
424
|
|
|
398
425
|
.methodError dees-icon {
|
|
@@ -434,9 +461,23 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
434
461
|
}
|
|
435
462
|
|
|
436
463
|
dees-tile::part(content) {
|
|
437
|
-
padding:
|
|
464
|
+
padding: 0;
|
|
465
|
+
border: 0;
|
|
466
|
+
overflow: visible;
|
|
438
467
|
}
|
|
439
468
|
|
|
469
|
+
dees-tile::part(outer) {
|
|
470
|
+
border: 0;
|
|
471
|
+
border-radius: 0;
|
|
472
|
+
background: transparent;
|
|
473
|
+
overflow: visible;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
dees-tile::part(header) {
|
|
477
|
+
padding-bottom: 16px;
|
|
478
|
+
}
|
|
479
|
+
.credentials-title { color: var(--dees-color-text-secondary); font-size: 12px; font-weight: 500; }
|
|
480
|
+
|
|
440
481
|
dees-tile dees-form {
|
|
441
482
|
display: flex;
|
|
442
483
|
flex-direction: column;
|
|
@@ -451,6 +492,18 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
451
492
|
margin-top: var(--dees-spacing-sm);
|
|
452
493
|
width: 100%;
|
|
453
494
|
}
|
|
495
|
+
|
|
496
|
+
.loginContainer { background: var(--dees-color-bg-canvas); align-items: safe center; }
|
|
497
|
+
.loginContainer dees-button::part(button) { min-height: 40px; font-size: var(--dees-font-control-size); padding-inline: 16px; }
|
|
498
|
+
.credentials dees-form { display: grid; gap: 18px; }
|
|
499
|
+
.credentials dees-form-submit, dees-tile dees-form-submit { margin-top: 4px; }
|
|
500
|
+
@container (max-width: 480px) {
|
|
501
|
+
.loginContainer { padding: 20px; }
|
|
502
|
+
.login { padding: 24px; }
|
|
503
|
+
}
|
|
504
|
+
@media (prefers-reduced-motion: reduce) {
|
|
505
|
+
.login, .slotContainer { transition: none; }
|
|
506
|
+
}
|
|
454
507
|
`,
|
|
455
508
|
];
|
|
456
509
|
|
|
@@ -613,6 +666,7 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
613
666
|
<div class="loginContainer">
|
|
614
667
|
<div class="login">
|
|
615
668
|
<div class="login-header">
|
|
669
|
+
<div class="identity"><slot name="brand"><dees-icon icon="lucide:logIn" iconSize="24"></dees-icon></slot></div>
|
|
616
670
|
<div class="header">${this.copy('heading', 'Sign in')}</div>
|
|
617
671
|
<div class="subheader">
|
|
618
672
|
${this.copy('subheading', `Enter your credentials to access ${this.name}`)}
|
|
@@ -642,7 +696,7 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
642
696
|
<div class="methods">
|
|
643
697
|
${methods.map(
|
|
644
698
|
(methodArg, index) => html`
|
|
645
|
-
${index === 0
|
|
699
|
+
${index === 0 || (methodArg !== 'password' && methods[index - 1] !== 'password')
|
|
646
700
|
? ''
|
|
647
701
|
: html`<div class="divider">${this.copy('divider', 'or')}</div>`}
|
|
648
702
|
${this.renderMethod(methodArg)}
|
|
@@ -680,6 +734,7 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
680
734
|
return html`
|
|
681
735
|
<dees-button
|
|
682
736
|
full-width
|
|
737
|
+
size="lg"
|
|
683
738
|
.type=${isRegister ? 'outline' : 'accent'}
|
|
684
739
|
.icon=${busy ? '' : isRegister ? 'lucide:keyRound' : 'lucide:fingerprint'}
|
|
685
740
|
.text=${isRegister
|
|
@@ -720,7 +775,8 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
720
775
|
return html`
|
|
721
776
|
<dees-button
|
|
722
777
|
full-width
|
|
723
|
-
|
|
778
|
+
size="lg"
|
|
779
|
+
title=${providerArg.label}
|
|
724
780
|
.type=${'secondary'}
|
|
725
781
|
.icon=${busy ? '' : providerArg.icon || ''}
|
|
726
782
|
.text=${prefix ? `${prefix} ${providerArg.label}` : providerArg.label}
|
|
@@ -764,17 +820,17 @@ export class DeesSimpleLogin extends DeesElement {
|
|
|
764
820
|
isPasswordBool
|
|
765
821
|
required
|
|
766
822
|
></dees-input-text>
|
|
767
|
-
<dees-form-submit full-width>${this.copy('passwordSubmit', 'Sign in')}</dees-form-submit>
|
|
823
|
+
<dees-form-submit full-width size="lg" .type=${this.resolvedMethods.length === 1 ? 'accent' : 'default'}>${this.copy('passwordSubmit', 'Sign in')}</dees-form-submit>
|
|
768
824
|
</dees-form>
|
|
769
825
|
`;
|
|
770
|
-
//
|
|
771
|
-
//
|
|
772
|
-
// a stray box — so the form joins the column bare and keeps the same 360px edge.
|
|
826
|
+
// Keep the password-only tile handle and configurable heading. Its parts are flat
|
|
827
|
+
// inside the shared login frame, so every method follows the same content edge.
|
|
773
828
|
return html`
|
|
774
829
|
<div class="method">
|
|
775
830
|
${this.resolvedMethods.length === 1
|
|
776
831
|
? html`
|
|
777
832
|
<dees-tile .heading=${this.copy('credentialsHeading', 'Credentials')}>
|
|
833
|
+
<div slot="header" class="credentials-title">${this.copy('credentialsHeading', 'Credentials')}</div>
|
|
778
834
|
${form}
|
|
779
835
|
</dees-tile>
|
|
780
836
|
`
|