@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
|
@@ -259,6 +259,8 @@ let DeesSimpleLogin = (() => {
|
|
|
259
259
|
cssManager.defaultStyles,
|
|
260
260
|
css `
|
|
261
261
|
:host {
|
|
262
|
+
position: relative;
|
|
263
|
+
container-type: inline-size;
|
|
262
264
|
color: var(--dees-color-text-primary);
|
|
263
265
|
user-select: none;
|
|
264
266
|
display: block;
|
|
@@ -297,7 +299,15 @@ let DeesSimpleLogin = (() => {
|
|
|
297
299
|
|
|
298
300
|
.login {
|
|
299
301
|
width: 100%;
|
|
300
|
-
max-width:
|
|
302
|
+
max-width: 424px;
|
|
303
|
+
box-sizing: border-box;
|
|
304
|
+
padding: 32px;
|
|
305
|
+
margin: auto;
|
|
306
|
+
border: 1px solid var(--dees-color-border-subtle);
|
|
307
|
+
border-radius: var(--dees-radius-2xl);
|
|
308
|
+
corner-shape: var(--dees-corner-shape);
|
|
309
|
+
background: var(--dees-color-bg-primary);
|
|
310
|
+
--dees-input-control-height: 40px;
|
|
301
311
|
display: flex;
|
|
302
312
|
flex-direction: column;
|
|
303
313
|
gap: var(--dees-spacing-xl);
|
|
@@ -310,8 +320,20 @@ let DeesSimpleLogin = (() => {
|
|
|
310
320
|
text-align: center;
|
|
311
321
|
}
|
|
312
322
|
|
|
323
|
+
.identity {
|
|
324
|
+
display: grid;
|
|
325
|
+
place-items: center;
|
|
326
|
+
width: 48px;
|
|
327
|
+
height: 48px;
|
|
328
|
+
margin: 0 auto 12px;
|
|
329
|
+
border-radius: var(--dees-radius-xl);
|
|
330
|
+
background: var(--dees-color-fill-secondary);
|
|
331
|
+
color: var(--dees-color-text-primary);
|
|
332
|
+
}
|
|
333
|
+
|
|
313
334
|
.header {
|
|
314
335
|
font-size: var(--dees-font-title2-size);
|
|
336
|
+
line-height: 1.2;
|
|
315
337
|
font-weight: 600;
|
|
316
338
|
letter-spacing: -0.025em;
|
|
317
339
|
color: var(--dees-color-text-primary);
|
|
@@ -322,12 +344,13 @@ let DeesSimpleLogin = (() => {
|
|
|
322
344
|
/* secondary rather than muted: the tertiary label token is a 0.30 alpha and drops
|
|
323
345
|
under 2:1 against both backgrounds */
|
|
324
346
|
color: var(--dees-color-text-secondary);
|
|
347
|
+
line-height: 1.5;
|
|
325
348
|
}
|
|
326
349
|
|
|
327
350
|
.methods {
|
|
328
351
|
display: flex;
|
|
329
352
|
flex-direction: column;
|
|
330
|
-
gap: var(--dees-spacing-
|
|
353
|
+
gap: var(--dees-spacing-sm);
|
|
331
354
|
}
|
|
332
355
|
|
|
333
356
|
.method {
|
|
@@ -371,6 +394,7 @@ let DeesSimpleLogin = (() => {
|
|
|
371
394
|
}
|
|
372
395
|
|
|
373
396
|
.divider {
|
|
397
|
+
margin: 12px 0;
|
|
374
398
|
display: flex;
|
|
375
399
|
align-items: center;
|
|
376
400
|
gap: var(--dees-spacing-md);
|
|
@@ -384,7 +408,7 @@ let DeesSimpleLogin = (() => {
|
|
|
384
408
|
content: '';
|
|
385
409
|
flex: 1;
|
|
386
410
|
height: 1px;
|
|
387
|
-
background: var(--dees-color-border-
|
|
411
|
+
background: var(--dees-color-border-default);
|
|
388
412
|
}
|
|
389
413
|
|
|
390
414
|
.methodError {
|
|
@@ -395,6 +419,9 @@ let DeesSimpleLogin = (() => {
|
|
|
395
419
|
line-height: 1.4;
|
|
396
420
|
color: var(--dees-color-text-error);
|
|
397
421
|
user-select: text;
|
|
422
|
+
padding: 10px 12px;
|
|
423
|
+
border-radius: var(--dees-radius-md);
|
|
424
|
+
background: var(--dees-color-badge-error-bg);
|
|
398
425
|
}
|
|
399
426
|
|
|
400
427
|
.methodError dees-icon {
|
|
@@ -436,9 +463,23 @@ let DeesSimpleLogin = (() => {
|
|
|
436
463
|
}
|
|
437
464
|
|
|
438
465
|
dees-tile::part(content) {
|
|
439
|
-
padding:
|
|
466
|
+
padding: 0;
|
|
467
|
+
border: 0;
|
|
468
|
+
overflow: visible;
|
|
440
469
|
}
|
|
441
470
|
|
|
471
|
+
dees-tile::part(outer) {
|
|
472
|
+
border: 0;
|
|
473
|
+
border-radius: 0;
|
|
474
|
+
background: transparent;
|
|
475
|
+
overflow: visible;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
dees-tile::part(header) {
|
|
479
|
+
padding-bottom: 16px;
|
|
480
|
+
}
|
|
481
|
+
.credentials-title { color: var(--dees-color-text-secondary); font-size: 12px; font-weight: 500; }
|
|
482
|
+
|
|
442
483
|
dees-tile dees-form {
|
|
443
484
|
display: flex;
|
|
444
485
|
flex-direction: column;
|
|
@@ -453,6 +494,18 @@ let DeesSimpleLogin = (() => {
|
|
|
453
494
|
margin-top: var(--dees-spacing-sm);
|
|
454
495
|
width: 100%;
|
|
455
496
|
}
|
|
497
|
+
|
|
498
|
+
.loginContainer { background: var(--dees-color-bg-canvas); align-items: safe center; }
|
|
499
|
+
.loginContainer dees-button::part(button) { min-height: 40px; font-size: var(--dees-font-control-size); padding-inline: 16px; }
|
|
500
|
+
.credentials dees-form { display: grid; gap: 18px; }
|
|
501
|
+
.credentials dees-form-submit, dees-tile dees-form-submit { margin-top: 4px; }
|
|
502
|
+
@container (max-width: 480px) {
|
|
503
|
+
.loginContainer { padding: 20px; }
|
|
504
|
+
.login { padding: 24px; }
|
|
505
|
+
}
|
|
506
|
+
@media (prefers-reduced-motion: reduce) {
|
|
507
|
+
.login, .slotContainer { transition: none; }
|
|
508
|
+
}
|
|
456
509
|
`,
|
|
457
510
|
];
|
|
458
511
|
// ------------------------------------------------------------------------------------
|
|
@@ -592,6 +645,7 @@ let DeesSimpleLogin = (() => {
|
|
|
592
645
|
<div class="loginContainer">
|
|
593
646
|
<div class="login">
|
|
594
647
|
<div class="login-header">
|
|
648
|
+
<div class="identity"><slot name="brand"><dees-icon icon="lucide:logIn" iconSize="24"></dees-icon></slot></div>
|
|
595
649
|
<div class="header">${this.copy('heading', 'Sign in')}</div>
|
|
596
650
|
<div class="subheader">
|
|
597
651
|
${this.copy('subheading', `Enter your credentials to access ${this.name}`)}
|
|
@@ -619,7 +673,7 @@ let DeesSimpleLogin = (() => {
|
|
|
619
673
|
return html `
|
|
620
674
|
<div class="methods">
|
|
621
675
|
${methods.map((methodArg, index) => html `
|
|
622
|
-
${index === 0
|
|
676
|
+
${index === 0 || (methodArg !== 'password' && methods[index - 1] !== 'password')
|
|
623
677
|
? ''
|
|
624
678
|
: html `<div class="divider">${this.copy('divider', 'or')}</div>`}
|
|
625
679
|
${this.renderMethod(methodArg)}
|
|
@@ -652,6 +706,7 @@ let DeesSimpleLogin = (() => {
|
|
|
652
706
|
return html `
|
|
653
707
|
<dees-button
|
|
654
708
|
full-width
|
|
709
|
+
size="lg"
|
|
655
710
|
.type=${isRegister ? 'outline' : 'accent'}
|
|
656
711
|
.icon=${busy ? '' : isRegister ? 'lucide:keyRound' : 'lucide:fingerprint'}
|
|
657
712
|
.text=${isRegister
|
|
@@ -688,7 +743,8 @@ let DeesSimpleLogin = (() => {
|
|
|
688
743
|
return html `
|
|
689
744
|
<dees-button
|
|
690
745
|
full-width
|
|
691
|
-
|
|
746
|
+
size="lg"
|
|
747
|
+
title=${providerArg.label}
|
|
692
748
|
.type=${'secondary'}
|
|
693
749
|
.icon=${busy ? '' : providerArg.icon || ''}
|
|
694
750
|
.text=${prefix ? `${prefix} ${providerArg.label}` : providerArg.label}
|
|
@@ -729,17 +785,17 @@ let DeesSimpleLogin = (() => {
|
|
|
729
785
|
isPasswordBool
|
|
730
786
|
required
|
|
731
787
|
></dees-input-text>
|
|
732
|
-
<dees-form-submit full-width>${this.copy('passwordSubmit', 'Sign in')}</dees-form-submit>
|
|
788
|
+
<dees-form-submit full-width size="lg" .type=${this.resolvedMethods.length === 1 ? 'accent' : 'default'}>${this.copy('passwordSubmit', 'Sign in')}</dees-form-submit>
|
|
733
789
|
</dees-form>
|
|
734
790
|
`;
|
|
735
|
-
//
|
|
736
|
-
//
|
|
737
|
-
// a stray box — so the form joins the column bare and keeps the same 360px edge.
|
|
791
|
+
// Keep the password-only tile handle and configurable heading. Its parts are flat
|
|
792
|
+
// inside the shared login frame, so every method follows the same content edge.
|
|
738
793
|
return html `
|
|
739
794
|
<div class="method">
|
|
740
795
|
${this.resolvedMethods.length === 1
|
|
741
796
|
? html `
|
|
742
797
|
<dees-tile .heading=${this.copy('credentialsHeading', 'Credentials')}>
|
|
798
|
+
<div slot="header" class="credentials-title">${this.copy('credentialsHeading', 'Credentials')}</div>
|
|
743
799
|
${form}
|
|
744
800
|
</dees-tile>
|
|
745
801
|
`
|
|
@@ -1047,4 +1103,4 @@ let DeesSimpleLogin = (() => {
|
|
|
1047
1103
|
return DeesSimpleLogin = _classThis;
|
|
1048
1104
|
})();
|
|
1049
1105
|
export { DeesSimpleLogin };
|
|
1050
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zaW1wbGUtbG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1zaW1wbGUvZGVlcy1zaW1wbGUtbG9naW4vZGVlcy1zaW1wbGUtbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFFTCxVQUFVLEVBQ1YsR0FBRyxHQUNKLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLHdEQUF3RCxDQUFDO0FBQ2hFLE9BQU8sOENBQThDLENBQUM7QUErR3RELE1BQU0sb0JBQW9CLEdBQXVCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVyRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0lBRVUsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7OztnQ0FRN0MsUUFBUSxFQUFFO21DQVFWLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzswQ0FJM0IsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDOzRDQU85QixRQUFRLENBQUMsRUFBRSxT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
|
|
1106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zaW1wbGUtbG9naW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1zaW1wbGUvZGVlcy1zaW1wbGUtbG9naW4vZGVlcy1zaW1wbGUtbG9naW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUNSLEtBQUssRUFFTCxVQUFVLEVBQ1YsR0FBRyxHQUNKLE1BQU0sNkJBQTZCLENBQUM7QUFDckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEQsT0FBTyw2Q0FBNkMsQ0FBQztBQUNyRCxPQUFPLGlEQUFpRCxDQUFDO0FBQ3pELE9BQU8sMkNBQTJDLENBQUM7QUFDbkQsT0FBTyx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLHdEQUF3RCxDQUFDO0FBQ2hFLE9BQU8sOENBQThDLENBQUM7QUErR3RELE1BQU0sb0JBQW9CLEdBQXVCLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUVyRjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBOEJHO0lBRVUsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLG1CQUFtQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7OztnQ0FRN0MsUUFBUSxFQUFFO21DQVFWLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQzswQ0FJM0IsUUFBUSxDQUFDLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDOzRDQU85QixRQUFRLENBQUMsRUFBRSxT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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@design.estate/dees-catalog",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.",
|
|
6
6
|
"main": "dist_ts_web/index.js",
|
package/readme.hints.md
CHANGED
|
@@ -1197,3 +1197,29 @@ Both halves of `dees-simple-login` live in the DOM permanently, stacked and cros
|
|
|
1197
1197
|
- App UI caches inactive views with `display:none`; scope browser locators to
|
|
1198
1198
|
the active view. Chart startup can wait until the component enters the viewport.
|
|
1199
1199
|
After watch rebuilds, verify the new behavior before capturing screenshots.
|
|
1200
|
+
|
|
1201
|
+
## Simple family composition and motion
|
|
1202
|
+
|
|
1203
|
+
- The Simple catalog group contains `dees-simple-login`, `dees-simple-appdash`
|
|
1204
|
+
and `dees-shopping-productcard`. Their demos use shared theme wrappers and
|
|
1205
|
+
actual input/button/table primitives; see the README task chooser first.
|
|
1206
|
+
- Login's `.loginContainer`, `.login`, `.slotContainer`, password form keys and
|
|
1207
|
+
externally managed submit status are shipped consumer contracts. Keep the
|
|
1208
|
+
password-only tile handle even when flattening its visual parts. The brand
|
|
1209
|
+
slot is separate from authenticated content. Move focus through public input
|
|
1210
|
+
and button `focus()` methods; a dees-button face currently has `role=button`
|
|
1211
|
+
on a div, so querying a native `button` silently misses it.
|
|
1212
|
+
- `changeSubject` is an RxJS subject, not a DOM event. Quantity controls emit
|
|
1213
|
+
`newValue` for user increments/decrements; product cards translate it to
|
|
1214
|
+
`quantityChange`. Their checkbox independently emits `selectionChange`.
|
|
1215
|
+
- Dashboard notices live in normal flow above the content. The terminal mounts
|
|
1216
|
+
in the content wrapper, forwards a consumer-owned runtime, and uses a request
|
|
1217
|
+
counter to cancel pending creation during rapid toggles or disconnect.
|
|
1218
|
+
- Preserve the subtle sidebar motion: submenu grid reveal, chevron rotation,
|
|
1219
|
+
hover fades, and transform/opacity on rail contents. Resizing the main grid
|
|
1220
|
+
every animation frame causes unnecessary content reflow. Closed submenus
|
|
1221
|
+
become inert immediately; reduced-motion disables the visual transitions.
|
|
1222
|
+
- `test.dees-simple-components.chromium.ts` covers navigation, dynamic views,
|
|
1223
|
+
notice synchronization, narrow layout, terminal cancellation and independent
|
|
1224
|
+
selection/quantity events. Existing login and button tests cover the retained
|
|
1225
|
+
authentication and keyboard contracts.
|
package/readme.md
CHANGED
|
@@ -27,6 +27,8 @@ switcher**, **view-toggle**, and **single-selection toggle** all lead to
|
|
|
27
27
|
| Build an application shell with views and menus | [`dees-appui`](#deesappui) | Main/secondary navigation, content tabs, bars and view lifecycle. |
|
|
28
28
|
| Show, paste or share a link to the current app screen; address/location bar | [`dees-appui-location`](#deesappuilocation) | Clickable ancestors, URL editing and copy feedback. Enable it in App UI; route state belongs to the shell. |
|
|
29
29
|
| Build a simpler grouped dashboard | [`dees-simple-appdash`](#deessimpleappdash) | Grouped dashboard navigation without configuring the full App UI shell. |
|
|
30
|
+
| Offer sign-in methods and reveal an authenticated app | [`dees-simple-login`](#deessimplelogin) | Passkeys, providers and password form; the application owns authentication. |
|
|
31
|
+
| Show products with quantities or select a kit | [`dees-shopping-productcard`](#deesshoppingproductcard) | Independent quantity and selection events; the application owns the cart and inventory. |
|
|
30
32
|
| See components composed into one working application | [Integrated App UI demo](#integrated-app-ui-demo) | Shared state, layout presets, navigation, service tabs, charts, files, settings and activity. Start here before assembling a shell. |
|
|
31
33
|
| Collect and submit form values | [`dees-form`](#deesform), [`dees-form-submit`](#deesformsubmit) | Give each input a stable `key`; use the form's collection and validation flow. |
|
|
32
34
|
| Search, filter, sort, edit and act on records | [`dees-table`](#deestable) | Use its columns, selection and data actions before building a table toolbar or row-action layer. |
|
|
@@ -645,6 +647,10 @@ Non-negative integer input with native increment/decrement buttons. Decrement st
|
|
|
645
647
|
></dees-input-quantityselector>
|
|
646
648
|
```
|
|
647
649
|
|
|
650
|
+
User increments/decrements emit `newValue` with the numeric `event.detail`, bubbling
|
|
651
|
+
across shadow boundaries. The existing `changeSubject` subscription remains available
|
|
652
|
+
for form collection. Assigning `.value` or calling `setValue()` does not emit a user event.
|
|
653
|
+
|
|
648
654
|
#### `DeesInputMultitoggle`
|
|
649
655
|
The catalog's **segmented control** for view switchers, modes, time periods and
|
|
650
656
|
short setting choices. Despite the name and the default `type="multi"`, it selects
|
|
@@ -2546,22 +2552,52 @@ Search covers resource ID, kind, title, and preview. A matching attached resourc
|
|
|
2546
2552
|
|
|
2547
2553
|
### Pre-built Templates
|
|
2548
2554
|
|
|
2549
|
-
#### `
|
|
2550
|
-
|
|
2555
|
+
#### `DeesSimpleAppDash`
|
|
2556
|
+
|
|
2557
|
+
Compact application shell with grouped navigation, global notices, a content scroller
|
|
2558
|
+
and an optional terminal. Use this for a small collection of views; choose
|
|
2559
|
+
[`dees-appui`](#deesappui) for screen URLs, window menus, secondary navigation and inspectors.
|
|
2551
2560
|
|
|
2552
2561
|
```typescript
|
|
2553
2562
|
<dees-simple-appdash
|
|
2554
|
-
|
|
2555
|
-
.
|
|
2556
|
-
{ name: '
|
|
2557
|
-
{ name: 'Settings',
|
|
2563
|
+
name="Studio"
|
|
2564
|
+
.viewTabs=${[
|
|
2565
|
+
{ name: 'Overview', iconName: 'lucide:layoutGrid', element: StudioOverview },
|
|
2566
|
+
{ name: 'Settings', iconName: 'lucide:settings', subViews: [
|
|
2567
|
+
{ name: 'Profile', iconName: 'lucide:contact', element: StudioProfile }
|
|
2568
|
+
] }
|
|
2558
2569
|
]}
|
|
2559
|
-
|
|
2560
|
-
@
|
|
2561
|
-
>
|
|
2562
|
-
|
|
2563
|
-
|
|
2564
|
-
|
|
2570
|
+
@view-select=${(event) => showViewState(event.detail.view)}
|
|
2571
|
+
@logout=${signOut}
|
|
2572
|
+
></dees-simple-appdash>
|
|
2573
|
+
```
|
|
2574
|
+
|
|
2575
|
+
Each `element` is a registered `DeesElement` constructor. Give the shell a bounded
|
|
2576
|
+
height. A group without its own element opens its first navigable child. `loadView(view)`
|
|
2577
|
+
opens a view; selecting the current view preserves its instance and unsaved edits.
|
|
2578
|
+
Switching to another view creates that view anew, so keep shared application state outside
|
|
2579
|
+
the view instances, as the Studio demo does. Replacing `viewTabs` removes a selected view
|
|
2580
|
+
that no longer belongs to the collection.
|
|
2581
|
+
|
|
2582
|
+
Navigation supports Tab, Enter/Space and Up/Down/Home/End. `collapsed` selects an icon rail
|
|
2583
|
+
with speechbubble labels. Containers below 640px use the rail automatically.
|
|
2584
|
+
|
|
2585
|
+
Supply `globalMessages: IGlobalMessage[]`, or call `addMessage({ id?, type, message,
|
|
2586
|
+
dismissible?, icon?, actions? })`. Types are `info`, `success`, `warning`, and `error`;
|
|
2587
|
+
actions have `{ name, iconName?, action }`. `addMessage` returns the ID and replaces an
|
|
2588
|
+
existing message with the same ID. Property updates synchronize their messages while
|
|
2589
|
+
preserving API-added notices. `removeMessage(id)` emits `message-dismiss` with `{ id }`
|
|
2590
|
+
once; `clearMessages()` clears the stack. Notices wrap and scroll independently instead
|
|
2591
|
+
of covering the content.
|
|
2592
|
+
|
|
2593
|
+
`launchTerminal()` toggles the embedded terminal. Pass a consumer-owned
|
|
2594
|
+
`executionEnvironment: IExecutionEnvironment` and optional `terminalSetupCommand`.
|
|
2595
|
+
The shell forwards the environment and removes its terminal on disconnect; it does not
|
|
2596
|
+
destroy a shared runtime. `WebContainerEnvironment` requires a secure, cross-origin
|
|
2597
|
+
isolated browser context. The Studio demo supplies it without booting until Terminal opens.
|
|
2598
|
+
|
|
2599
|
+
The interactive Studio demo connects project archiving, overview counts, activity,
|
|
2600
|
+
workspace name, notification preferences, notices, and sign-out in one sample app.
|
|
2565
2601
|
|
|
2566
2602
|
#### `DeesSimpleLogin`
|
|
2567
2603
|
|
|
@@ -2627,12 +2663,24 @@ one; `reset()` takes no arguments and clears all busy and error state plus the p
|
|
|
2627
2663
|
Provider icons are always consumer-supplied Lucide names — the catalog ships no third-party
|
|
2628
2664
|
brand assets.
|
|
2629
2665
|
|
|
2666
|
+
The optional `brand` slot accepts an application mark; without it a neutral sign-in glyph
|
|
2667
|
+
is shown. All methods share one framed surface, with a divider between button methods
|
|
2668
|
+
and credentials. The password-only tile remains available through the existing shadow
|
|
2669
|
+
DOM handles. `.loginContainer`, `.login`, `.slotContainer`, the password form, its keys,
|
|
2670
|
+
and externally managed submit status retain their existing contracts.
|
|
2671
|
+
|
|
2672
|
+
The sign-in demo offers method configurations, success/error responses and a sign-out
|
|
2673
|
+
round trip. Real consumers should move focus into the authenticated view after awaiting
|
|
2674
|
+
`switchToSlottedContent()` and back into the login after signing out.
|
|
2675
|
+
|
|
2630
2676
|
---
|
|
2631
2677
|
|
|
2632
2678
|
### Shopping Components
|
|
2633
2679
|
|
|
2634
2680
|
#### `DeesShoppingProductcard`
|
|
2635
|
-
Product
|
|
2681
|
+
Product image, title, description, stock label and price in one surface, with optional
|
|
2682
|
+
quantity and selection controls. Reuse this component before assembling a custom product
|
|
2683
|
+
tile. `imageUrl` is contained without cropping; `iconName` supplies the fallback artwork.
|
|
2636
2684
|
|
|
2637
2685
|
```typescript
|
|
2638
2686
|
<dees-shopping-productcard
|
|
@@ -2646,12 +2694,25 @@ Product card component for e-commerce applications.
|
|
|
2646
2694
|
inStock: true,
|
|
2647
2695
|
imageUrl: '/images/headphones.jpg'
|
|
2648
2696
|
}}
|
|
2649
|
-
quantity
|
|
2650
|
-
showQuantitySelector
|
|
2697
|
+
.quantity=${1}
|
|
2698
|
+
.showQuantitySelector=${true}
|
|
2699
|
+
.selectable=${true}
|
|
2700
|
+
.selected=${false}
|
|
2651
2701
|
@quantityChange=${handleQuantityChange}
|
|
2702
|
+
@selectionChange=${handleSelectionChange}
|
|
2652
2703
|
></dees-shopping-productcard>
|
|
2653
2704
|
```
|
|
2654
2705
|
|
|
2706
|
+
`quantityChange` carries `{ quantity, productData }`; `selectionChange` carries
|
|
2707
|
+
`{ selected, productData }`. Both bubble across shadow roots. The checkbox is keyboard
|
|
2708
|
+
accessible and clicking the rest of a selectable card toggles it; using the quantity
|
|
2709
|
+
buttons never changes selection. External property assignments do not emit user events.
|
|
2710
|
+
|
|
2711
|
+
`inStock` and `stockText` describe availability. Cart totals, inventory limits and purchase
|
|
2712
|
+
policy belong to the consumer; omit the selector with `showQuantitySelector=false` for
|
|
2713
|
+
unavailable products. The work-kit demo demonstrates this, restocking, shared bag totals,
|
|
2714
|
+
and selecting a kit with `dees-input-multitoggle`. Its Review bag action places no order.
|
|
2715
|
+
|
|
2655
2716
|
---
|
|
2656
2717
|
|
|
2657
2718
|
## TypeScript Interfaces
|
|
@@ -29,7 +29,5 @@
|
|
|
29
29
|
"ts_web/elements/00group-media/dees-preview/dees-preview.demo.ts": 3,
|
|
30
30
|
"ts_web/elements/00group-media/dees-thumbnail-pdf/demo.ts": 3,
|
|
31
31
|
"ts_web/elements/00group-media/dees-video-viewer/demo.ts": 3,
|
|
32
|
-
"ts_web/elements/00group-simple/dees-shopping-productcard/dees-shopping-productcard.demo.ts": 8,
|
|
33
|
-
"ts_web/elements/00group-simple/dees-simple-appdash/dees-simple-appdash.demo.ts": 11,
|
|
34
32
|
"ts_web/elements/00group-utility/dees-theme/dees-theme.demo.ts": 13
|
|
35
33
|
}
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '9.
|
|
6
|
+
version: '9.4.0',
|
|
7
7
|
description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
|
|
8
8
|
}
|
package/ts_web/elements/00group-input/dees-input-quantityselector/dees-input-quantityselector.ts
CHANGED
|
@@ -76,7 +76,7 @@ export class DeesInputQuantitySelector extends DeesInputBase<DeesInputQuantitySe
|
|
|
76
76
|
font-weight: 500;
|
|
77
77
|
cursor: pointer;
|
|
78
78
|
transition: all 0.15s ease;
|
|
79
|
-
color: var(--dees-color-text-
|
|
79
|
+
color: var(--dees-color-text-secondary);
|
|
80
80
|
position: relative;
|
|
81
81
|
}
|
|
82
82
|
|
|
@@ -158,6 +158,7 @@ export class DeesInputQuantitySelector extends DeesInputBase<DeesInputQuantitySe
|
|
|
158
158
|
if (!this.disabled) {
|
|
159
159
|
this.value++;
|
|
160
160
|
this.changeSubject.next(this);
|
|
161
|
+
this.dispatchEvent(new CustomEvent('newValue', { detail: this.value, bubbles: true, composed: true }));
|
|
161
162
|
}
|
|
162
163
|
}
|
|
163
164
|
|
|
@@ -165,6 +166,7 @@ export class DeesInputQuantitySelector extends DeesInputBase<DeesInputQuantitySe
|
|
|
165
166
|
if (!this.disabled && this.value > 0) {
|
|
166
167
|
this.value--;
|
|
167
168
|
this.changeSubject.next(this);
|
|
169
|
+
this.dispatchEvent(new CustomEvent('newValue', { detail: this.value, bubbles: true, composed: true }));
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
|