@design.estate/dees-catalog 9.0.0 → 9.1.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 +2636 -2150
- package/dist_bundle/bundle.js.map +1 -1
- package/dist_ts_web/00_commitinfo_data.js +1 -1
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.d.ts +7 -2
- package/dist_ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.js +56 -5
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.d.ts +1 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.js +62 -18
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.d.ts +4 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.js +7 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.js +69 -29
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.d.ts +6 -1
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.d.ts +2 -0
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.js +419 -83
- package/dist_ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.js +247 -118
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.js +2 -2
- package/dist_ts_web/elements/00group-harness/dees-harness-tool-card/renderers.js +2 -4
- package/dist_ts_web/elements/00group-harness/interfaces.d.ts +15 -4
- package/dist_ts_web/elements/00group-harness/toolregistry.d.ts +2 -1
- package/dist_ts_web/elements/00group-harness/toolregistry.js +1 -1
- package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.d.ts +1 -1
- package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +30 -12
- package/dist_ts_web/elements/00theme.js +3 -1
- package/package.json +1 -1
- package/readme.md +19 -3
- package/readme.plan.md +97 -0
- package/ts_web/00_commitinfo_data.ts +1 -1
- package/ts_web/elements/00group-dataview/dees-dataview-codebox/dees-dataview-codebox.ts +48 -4
- package/ts_web/elements/00group-harness/dees-harness-chat/dees-harness-chat.ts +62 -17
- package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.demo.ts +6 -1
- package/ts_web/elements/00group-harness/dees-harness-composer/dees-harness-composer.ts +60 -27
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.demo.ts +341 -88
- package/ts_web/elements/00group-harness/dees-harness-session-list/dees-harness-session-list.ts +257 -125
- package/ts_web/elements/00group-harness/dees-harness-tool-card/dees-harness-tool-card.ts +1 -1
- package/ts_web/elements/00group-harness/dees-harness-tool-card/renderers.ts +1 -3
- package/ts_web/elements/00group-harness/interfaces.ts +16 -4
- package/ts_web/elements/00group-harness/toolregistry.ts +2 -1
- package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +29 -15
- package/ts_web/elements/00theme.ts +2 -0
|
@@ -153,6 +153,7 @@ let DeesContextmenu = (() => {
|
|
|
153
153
|
// backdrop-filter drops out while an opacity/transform animation runs and
|
|
154
154
|
// snaps back in at the end. Appearing directly keeps the vibrancy stable.
|
|
155
155
|
contextMenu.style.visibility = 'visible';
|
|
156
|
+
contextMenu.focus({ preventScroll: true });
|
|
156
157
|
return contextMenu;
|
|
157
158
|
}
|
|
158
159
|
#menuItems_accessor_storage = __runInitializers(this, _menuItems_initializers, []);
|
|
@@ -225,8 +226,10 @@ let DeesContextmenu = (() => {
|
|
|
225
226
|
position: relative;
|
|
226
227
|
}
|
|
227
228
|
|
|
228
|
-
.menuitem:hover
|
|
229
|
+
.menuitem:hover,
|
|
230
|
+
.menuitem:focus {
|
|
229
231
|
background: var(--dees-color-active);
|
|
232
|
+
outline: none;
|
|
230
233
|
}
|
|
231
234
|
|
|
232
235
|
.menuitem.has-submenu::after {
|
|
@@ -278,7 +281,7 @@ let DeesContextmenu = (() => {
|
|
|
278
281
|
];
|
|
279
282
|
render() {
|
|
280
283
|
return html `
|
|
281
|
-
<div class="mainbox">
|
|
284
|
+
<div class="mainbox" role="menu">
|
|
282
285
|
${this.menuItems.map((menuItemArg) => {
|
|
283
286
|
if ('divider' in menuItemArg && menuItemArg.divider) {
|
|
284
287
|
return html `<div class="menu-divider"></div>`;
|
|
@@ -288,8 +291,16 @@ let DeesContextmenu = (() => {
|
|
|
288
291
|
return html `
|
|
289
292
|
<div
|
|
290
293
|
class="menuitem ${menuItem.disabled ? 'disabled' : ''} ${hasSubmenu ? 'has-submenu' : ''}"
|
|
294
|
+
role="menuitem"
|
|
295
|
+
tabindex="-1"
|
|
296
|
+
aria-disabled=${menuItem.disabled ? 'true' : 'false'}
|
|
291
297
|
@click=${() => !menuItem.disabled && !hasSubmenu && this.handleClick(menuItem)}
|
|
292
|
-
@mouseenter=${() =>
|
|
298
|
+
@mouseenter=${(event) => {
|
|
299
|
+
if (menuItem.disabled)
|
|
300
|
+
return;
|
|
301
|
+
event.currentTarget.focus({ preventScroll: true });
|
|
302
|
+
void this.handleMenuItemHover(menuItem, hasSubmenu);
|
|
303
|
+
}}
|
|
293
304
|
@mouseleave=${() => this.handleMenuItemLeave()}
|
|
294
305
|
>
|
|
295
306
|
${menuItem.iconName ? html `
|
|
@@ -303,7 +314,7 @@ let DeesContextmenu = (() => {
|
|
|
303
314
|
`;
|
|
304
315
|
})}
|
|
305
316
|
${this.menuItems.length === 0 ? html `
|
|
306
|
-
<div class="menuitem" @click=${() => {
|
|
317
|
+
<div class="menuitem" role="menuitem" tabindex="-1" @click=${() => {
|
|
307
318
|
DeesContextmenu.contextMenuDeactivated = true;
|
|
308
319
|
this.destroy();
|
|
309
320
|
}}>
|
|
@@ -314,35 +325,42 @@ let DeesContextmenu = (() => {
|
|
|
314
325
|
</div>
|
|
315
326
|
`;
|
|
316
327
|
}
|
|
317
|
-
|
|
328
|
+
firstUpdated(changedProperties) {
|
|
329
|
+
super.firstUpdated(changedProperties);
|
|
318
330
|
// Focus on the menu for keyboard navigation
|
|
319
331
|
this.focus();
|
|
320
332
|
// Add keyboard event listeners
|
|
321
333
|
this.addEventListener('keydown', this.handleKeydown);
|
|
322
334
|
}
|
|
323
335
|
handleKeydown = (event) => {
|
|
336
|
+
if (!['ArrowDown', 'ArrowUp', 'Enter', 'Escape'].includes(event.key))
|
|
337
|
+
return;
|
|
338
|
+
event.preventDefault();
|
|
339
|
+
event.stopPropagation();
|
|
324
340
|
const menuItems = Array.from(this.shadowRoot.querySelectorAll('.menuitem:not(.disabled)'));
|
|
325
|
-
const currentIndex = menuItems.findIndex(item => item.
|
|
341
|
+
const currentIndex = menuItems.findIndex(item => item === this.shadowRoot.activeElement);
|
|
326
342
|
switch (event.key) {
|
|
327
343
|
case 'ArrowDown':
|
|
328
|
-
|
|
344
|
+
if (!menuItems.length)
|
|
345
|
+
return;
|
|
329
346
|
const nextIndex = currentIndex + 1 < menuItems.length ? currentIndex + 1 : 0;
|
|
347
|
+
menuItems[nextIndex].focus({ preventScroll: true });
|
|
330
348
|
menuItems[nextIndex].dispatchEvent(new MouseEvent('mouseenter'));
|
|
331
349
|
break;
|
|
332
350
|
case 'ArrowUp':
|
|
333
|
-
|
|
351
|
+
if (!menuItems.length)
|
|
352
|
+
return;
|
|
334
353
|
const prevIndex = currentIndex - 1 >= 0 ? currentIndex - 1 : menuItems.length - 1;
|
|
354
|
+
menuItems[prevIndex].focus({ preventScroll: true });
|
|
335
355
|
menuItems[prevIndex].dispatchEvent(new MouseEvent('mouseenter'));
|
|
336
356
|
break;
|
|
337
357
|
case 'Enter':
|
|
338
|
-
event.preventDefault();
|
|
339
358
|
if (currentIndex >= 0) {
|
|
340
359
|
menuItems[currentIndex].click();
|
|
341
360
|
}
|
|
342
361
|
break;
|
|
343
362
|
case 'Escape':
|
|
344
|
-
|
|
345
|
-
this.destroy();
|
|
363
|
+
void this.destroyAll();
|
|
346
364
|
break;
|
|
347
365
|
}
|
|
348
366
|
};
|
|
@@ -483,4 +501,4 @@ let DeesContextmenu = (() => {
|
|
|
483
501
|
})();
|
|
484
502
|
export { DeesContextmenu };
|
|
485
503
|
DeesContextmenu.initializeGlobalListener();
|
|
486
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jb250ZXh0bWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLW92ZXJsYXkvZGVlcy1jb250ZXh0bWVudS9kZWVzLWNvbnRleHRtZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUVSLFVBQVUsRUFDVixHQUFHLEVBRUgsU0FBUyxHQUNWLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7OztxQ0E0RzdDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsS0FBSztpQkFDWixDQUFDO1lBQ0YsZ0xBQVMsU0FBUyw2QkFBVCxTQUFTLDZGQUErTztZQS9HblEsNktBa2RDOzs7O1FBamRDLE9BQU87UUFDQSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQTtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsU0FBUztRQUNULGlEQUFpRDtRQUMxQyxNQUFNLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1FBQ3RDLE1BQU0sQ0FBQyxvQkFBb0IsR0FBMk4sRUFBRSxDQUFDO1FBRWhRLCtEQUErRDtRQUN4RCxNQUFNLENBQUMsd0JBQXdCO1lBQ3BDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFpQixFQUFFLEVBQUU7Z0JBQzdELElBQUksSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7b0JBQ2hDLE9BQU87Z0JBQ1QsQ0FBQztnQkFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBRXZCLHFDQUFxQztnQkFDckMsZUFBZSxDQUFDLG9CQUFvQixHQUFHLEVBQUUsQ0FBQztnQkFFMUMsOERBQThEO2dCQUM5RCxNQUFNLElBQUksR0FBRyxLQUFLLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBRWxDLHNEQUFzRDtnQkFDdEQsS0FBSyxNQUFNLE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDM0IsSUFBSyxPQUFlLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzt3QkFDekMsTUFBTSxLQUFLLEdBQUksT0FBZSxDQUFDLG1CQUFtQixFQUFFLENBQUM7d0JBQ3JELElBQUksS0FBSyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7NEJBQzlCLElBQUksZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQ0FDcEQsZUFBZSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDOzRCQUMvRCxDQUFDOzRCQUNELGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQzt3QkFDdEQsQ0FBQztvQkFDSCxDQUFDO2dCQUNILENBQUM7Z0JBRUQsbURBQW1EO2dCQUNuRCxlQUFlLENBQUMsMEJBQTBCLENBQUMsS0FBSyxFQUFFLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1lBQzFGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUVELCtDQUErQztRQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDLDBCQUEwQixDQUFDLFFBQW9CLEVBQUUsWUFBb087WUFDdlMsSUFBSSxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztnQkFDaEMsT0FBTztZQUNULENBQUM7WUFDRCxRQUFRLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDMUIsUUFBUSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzNCLE1BQU0sV0FBVyxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7WUFDMUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO1lBQ3JDLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3BFLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQztZQUN4QyxXQUFXLENBQUMsU0FBUyxHQUFHLFlBQVksQ0FBQztZQUNyQyxvRUFBb0U7WUFDcEUsOEVBQThFO1lBQzlFLDhFQUE4RTtZQUM5RSw2RUFBNkU7WUFDN0UsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7WUFDNUQsV0FBVyxDQUFDLFdBQVcsR0FBRyxNQUFNLGVBQWUsQ0FBQyxhQUFhLENBQUM7Z0JBQzVELE1BQU0sRUFBRSxLQUFLLEVBQUUscUJBQXFCLEVBQUUsSUFBSTtnQkFDMUMsWUFBWSxFQUFFLEtBQUssWUFBWSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSTthQUNuRCxDQUFDLENBQUM7WUFDSCxXQUFXLENBQUMsV0FBVyxDQUFDLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO1lBQy9ELFdBQVcsQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtnQkFDaEUsd0RBQXdEO2dCQUN4RCxNQUFNLGNBQWMsR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztnQkFDbkQsTUFBTSxhQUFhLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUNqRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7b0JBQ25CLE1BQU0sV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUM5QixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUE7WUFDRixXQUFXLENBQUMsV0FBVyxDQUFDLGFBQWMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7WUFFM0QscUNBQXFDO1lBQ3JDLE1BQU0sUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzlDLE1BQU0sSUFBSSxHQUFHLFdBQVcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ2pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDdEMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQztZQUV4QyxxQkFBcUI7WUFDckIsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztZQUMzQixJQUFJLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1lBRTVCLHlDQUF5QztZQUN6QyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO2dCQUNwQyxJQUFJLEdBQUcsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZDLENBQUM7WUFFRCwwQ0FBMEM7WUFDMUMsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxZQUFZLEVBQUUsQ0FBQztnQkFDckMsR0FBRyxHQUFHLFlBQVksR0FBRyxJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQztZQUN4QyxDQUFDO1lBRUQsOENBQThDO1lBQzlDLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQUUsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN6QixJQUFJLEdBQUcsR0FBRyxFQUFFO2dCQUFFLEdBQUcsR0FBRyxFQUFFLENBQUM7WUFFdkIsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztZQUNuQyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksR0FBRyxHQUFHLElBQUksSUFBSSxDQUFDO1lBQ3JDLHFFQUFxRTtZQUNyRSwwRUFBMEU7WUFDMUUsMEVBQTBFO1lBQzFFLFdBQVcsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLFNBQVMsQ0FBQztZQUN6QyxPQUFPLFdBQVcsQ0FBQztRQUNyQixDQUFDO1FBTUQsK0VBQThQLEVBQUUsRUFBQztRQUpqUSxXQUFXO1FBSVgsSUFBUyxTQUFTLCtDQUErTztRQUFqUSxJQUFTLFNBQVMscURBQStPO1FBQ2pRLFdBQVcseURBQW1CO1FBRXRCLE9BQU8sR0FBMkIsSUFBSSxDQUFDO1FBQ3ZDLGNBQWMsR0FBUSxJQUFJLENBQUM7UUFDM0IsVUFBVSxHQUEyQixJQUFJLENBQUM7UUFDMUMsWUFBWSxHQUFZLEtBQUssQ0FBQztRQUV0QztZQUNFLEtBQUssRUFBRSxDQUFDO1lBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUM7UUFDcEIsQ0FBQztRQUVEOztXQUVHO1FBQ0ksTUFBTSxDQUFDLE1BQU0sR0FBRztZQUNyQixrQkFBa0I7WUFDbEIsVUFBVSxDQUFDLGFBQWE7WUFDeEIsR0FBRyxDQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBb0dGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7VUFFTCxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFdBQVcsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLFNBQVMsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNwRCxPQUFPLElBQUksQ0FBQSxrQ0FBa0MsQ0FBQztnQkFDaEQsQ0FBQztnQkFFRCxNQUFNLFFBQVEsR0FBRyxXQUEyRyxDQUFDO2dCQUM3SCxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztnQkFDbkUsT0FBTyxJQUFJLENBQUE7O2dDQUVXLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFO3VCQUMvRSxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUM7NEJBQ2hFLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDOzRCQUNwRCxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEVBQUU7O2dCQUU1QyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUE7b0NBQ0osUUFBUSxDQUFDLFFBQVE7ZUFDdEMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0Q0FDd0IsUUFBUSxDQUFDLElBQUk7Z0JBQ3pDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTtrREFDTCxRQUFRLENBQUMsUUFBUTtlQUNwRCxDQUFDLENBQUMsQ0FBQyxFQUFFOztXQUVULENBQUM7WUFDSixDQUFDLENBQUM7VUFDQSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQTsyQ0FDRCxHQUFHLEVBQUU7Z0JBQ2xDLGVBQWUsQ0FBQyxzQkFBc0IsR0FBRyxJQUFJLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixDQUFDOzs7O1NBSUosQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFBLEVBQUU7O0tBRWIsQ0FBQztRQUNKLENBQUM7UUFFTSxLQUFLLENBQUMsWUFBWTtZQUN2Qiw0Q0FBNEM7WUFDNUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRWIsK0JBQStCO1lBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3ZELENBQUM7UUFFTyxhQUFhLEdBQUcsQ0FBQyxLQUFvQixFQUFFLEVBQUU7WUFDL0MsTUFBTSxTQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVyxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQztZQUM1RixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRXpFLFFBQVEsS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUNsQixLQUFLLFdBQVc7b0JBQ2QsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixNQUFNLFNBQVMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFDNUUsU0FBUyxDQUFDLFNBQVMsQ0FBaUIsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztvQkFDbEYsTUFBTTtnQkFFUixLQUFLLFNBQVM7b0JBQ1osS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixNQUFNLFNBQVMsR0FBRyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7b0JBQ2pGLFNBQVMsQ0FBQyxTQUFTLENBQWlCLENBQUMsYUFBYSxDQUFDLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7b0JBQ2xGLE1BQU07Z0JBRVIsS0FBSyxPQUFPO29CQUNWLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztvQkFDdkIsSUFBSSxZQUFZLElBQUksQ0FBQyxFQUFFLENBQUM7d0JBQ3JCLFNBQVMsQ0FBQyxZQUFZLENBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ25ELENBQUM7b0JBQ0QsTUFBTTtnQkFFUixLQUFLLFFBQVE7b0JBQ1gsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN2QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7b0JBQ2YsTUFBTTtZQUNWLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFTSxLQUFLLENBQUMsV0FBVyxDQUFDLFFBQXVGO1lBQzlHLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUVsQixnRUFBZ0U7WUFDaEUsTUFBTSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDMUIsQ0FBQztRQUVPLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxRQUErRCxFQUFFLFVBQW1CO1lBQ3BILDZCQUE2QjtZQUM3QixJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztnQkFDbEMsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUM7WUFDN0IsQ0FBQztZQUVELHlEQUF5RDtZQUN6RCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsTUFBTSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsQ0FBQztZQUVELG9DQUFvQztZQUNwQyxJQUFJLFVBQVUsSUFBSSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDcEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDN0IsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsNkNBQTZDO1lBQ3hELENBQUM7UUFDSCxDQUFDO1FBRU8sbUJBQW1CO1lBQ3pCLHVEQUF1RDtZQUN2RCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztnQkFDeEIsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNwQyxDQUFDO1lBRUQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQyxJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUNwRCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3JCLENBQUM7WUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDVixDQUFDO1FBRU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxRQUErRDtZQUN2RixJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE9BQU87WUFFL0QsNkJBQTZCO1lBQzdCLE1BQU0sU0FBUyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVcsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1lBQzdFLE1BQU0sZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsV0FBVyxLQUFLLFFBQVEsQ0FBQyxJQUFJLENBQWdCLENBQUM7WUFDL0gsSUFBSSxDQUFDLGVBQWU7Z0JBQUUsT0FBTztZQUU3QixpQkFBaUI7WUFDakIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQy9CLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUM7WUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUM7WUFFN0MsMkNBQTJDO1lBQzNDLElBQUksQ0FBQyxhQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUV6QyxtQkFBbUI7WUFDbkIsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUMsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDekQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDOUMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQ3pELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFFdEMsSUFBSSxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxpQkFBaUI7WUFDaEQsSUFBSSxHQUFHLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUV2QiwyQ0FBMkM7WUFDM0MsSUFBSSxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxXQUFXLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQ2hELDRCQUE0QjtnQkFDNUIsSUFBSSxHQUFHLFFBQVEsQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7WUFDL0MsQ0FBQztZQUVELHFDQUFxQztZQUNyQyxJQUFJLEdBQUcsR0FBRyxXQUFXLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsRUFBRSxFQUFFLENBQUM7Z0JBQ3ZELEdBQUcsR0FBRyxNQUFNLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1lBQ3JELENBQUM7WUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQztZQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQztZQUVwQyxhQUFhO1lBQ2IsTUFBTSxRQUFRLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztZQUNqQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO1lBRTFDLHVCQUF1QjtZQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLFlBQVksRUFBRSxHQUFHLEVBQUU7Z0JBQy9DLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO29CQUN4QixZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztnQkFDN0IsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsR0FBRyxFQUFFO2dCQUMvQyxJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUM7UUFFTyxLQUFLLENBQUMsV0FBVztZQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTztZQUUxQixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDdEIsQ0FBQztRQUVNLEtBQUssQ0FBQyxPQUFPO1lBQ2xCLG1DQUFtQztZQUNuQyxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztnQkFDdEIsT0FBTztZQUNULENBQUM7WUFDRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUV6QixnQkFBZ0I7WUFDaEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3hCLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQ2xDLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzdCLENBQUM7WUFFRCx3QkFBd0I7WUFDeEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDN0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7WUFDdEIsQ0FBQztZQUVELHFEQUFxRDtZQUNyRCw2RUFBNkU7WUFDN0UsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO2dCQUN6QyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQzdCLENBQUM7WUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxRQUFRLENBQUM7WUFFakMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7UUFDSCxDQUFDO1FBRUQ7O1dBRUc7UUFDSSxLQUFLLENBQUMsVUFBVTtZQUNyQix3Q0FBd0M7WUFDeEMsSUFBSSxRQUFRLEdBQW9CLElBQUksQ0FBQztZQUNyQyxPQUFPLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDM0IsUUFBUSxHQUFHLFFBQVEsQ0FBQyxVQUFVLENBQUM7WUFDakMsQ0FBQztZQUVELGlFQUFpRTtZQUNqRSxNQUFNLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMzQixDQUFDOztZQWpkVSx1REFBZTs7Ozs7U0FBZixlQUFlO0FBb2Q1QixlQUFlLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyJ9
|
|
504
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jb250ZXh0bWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLW92ZXJsYXkvZGVlcy1jb250ZXh0bWVudS9kZWVzLWNvbnRleHRtZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUVSLFVBQVUsRUFDVixHQUFHLEVBRUgsU0FBUyxHQUNWLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsZUFBZTs0QkFEM0IsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7K0JBQW5CLFNBQVEsV0FBVzs7OztxQ0E2RzdDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsS0FBSztpQkFDWixDQUFDO1lBQ0YsZ0xBQVMsU0FBUyw2QkFBVCxTQUFTLDZGQUErTztZQWhIblEsNktBZ2VDOzs7O1FBL2RDLE9BQU87UUFDQSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQTtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsU0FBUztRQUNULGlEQUFpRDtRQUMxQyxNQUFNLENBQUMsc0JBQXNC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
|
|
@@ -430,6 +430,8 @@ export const themeDefaultStyles = css `
|
|
|
430
430
|
--dees-shadow-xl: ${cssManager.bdTheme(shadowsLight.xl, shadowsDark.xl)};
|
|
431
431
|
/* upward-casting bar shadow (mirrored sm) for bottom-docked chrome */
|
|
432
432
|
--dees-shadow-up-sm: ${cssManager.bdTheme(mirrorShadow(shadowsLight.sm), mirrorShadow(shadowsDark.sm))};
|
|
433
|
+
/* Contact shadow where scrolling content passes beneath opaque chrome. */
|
|
434
|
+
--dees-color-scroll-edge-shadow: ${cssManager.bdTheme('rgba(0, 0, 0, 0.11)', 'rgba(0, 0, 0, 0.55)')};
|
|
433
435
|
|
|
434
436
|
/* ========================================
|
|
435
437
|
* Materials / Vibrancy (theme-aware bg + opaque fallback; theme-agnostic filter)
|
|
@@ -459,4 +461,4 @@ export const themeDefaultStyles = css `
|
|
|
459
461
|
background-color: var(--dees-color-selection);
|
|
460
462
|
}
|
|
461
463
|
`;
|
|
462
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDB0aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMHRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBa0IsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUEwTnRFLCtDQUErQztBQUMvQywyQ0FBMkM7QUFDM0MsK0NBQStDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVztJQUNuQyxNQUFNLEVBQUU7UUFDTixLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsU0FBUyxFQUF1QixtQkFBbUI7WUFDOUQsV0FBVyxFQUFFLFNBQVMsRUFBcUIsc0NBQXNDO1lBQ2pGLFVBQVUsRUFBRSxTQUFTLEVBQXNCLG9DQUFvQztZQUMvRSxRQUFRLEVBQUUsU0FBUyxFQUF3QixnREFBZ0Q7WUFDM0YsU0FBUyxFQUFFLFNBQVMsRUFBdUIsMkJBQTJCO1lBQ3RFLFdBQVcsRUFBRSxTQUFTLEVBQXFCLG1CQUFtQjtZQUM5RCxhQUFhLEVBQUUsU0FBUztZQUN4QixTQUFTLEVBQUUsU0FBUztZQUNwQixlQUFlLEVBQUUsU0FBUyxFQUFlLCtCQUErQjtZQUN4RSxRQUFRLEVBQUUsU0FBUyxFQUF3QixjQUFjO1lBQ3pELFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLGFBQWEsRUFBRSx3QkFBd0IsRUFBSSxZQUFZO1lBQ3ZELFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsWUFBWSxFQUFFLHdCQUF3QixFQUFLLHNCQUFzQjtZQUNqRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUcsYUFBYTtZQUN4RCxhQUFhLEVBQUUsMkJBQTJCO1lBQzFDLFlBQVksRUFBRSwyQkFBMkI7WUFDekMsYUFBYSxFQUFFLFNB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
|
|
464
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDB0aGVtZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMHRoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBa0IsTUFBTSw2QkFBNkIsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUEwTnRFLCtDQUErQztBQUMvQywyQ0FBMkM7QUFDM0MsK0NBQStDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBVztJQUNuQyxNQUFNLEVBQUU7UUFDTixLQUFLLEVBQUU7WUFDTCxTQUFTLEVBQUUsU0FBUyxFQUF1QixtQkFBbUI7WUFDOUQsV0FBVyxFQUFFLFNBQVMsRUFBcUIsc0NBQXNDO1lBQ2pGLFVBQVUsRUFBRSxTQUFTLEVBQXNCLG9DQUFvQztZQUMvRSxRQUFRLEVBQUUsU0FBUyxFQUF3QixnREFBZ0Q7WUFDM0YsU0FBUyxFQUFFLFNBQVMsRUFBdUIsMkJBQTJCO1lBQ3RFLFdBQVcsRUFBRSxTQUFTLEVBQXFCLG1CQUFtQjtZQUM5RCxhQUFhLEVBQUUsU0FBUztZQUN4QixTQUFTLEVBQUUsU0FBUztZQUNwQixlQUFlLEVBQUUsU0FBUyxFQUFlLCtCQUErQjtZQUN4RSxRQUFRLEVBQUUsU0FBUyxFQUF3QixjQUFjO1lBQ3pELFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFdBQVcsRUFBRSxTQUFTO1lBQ3RCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLGFBQWEsRUFBRSx3QkFBd0IsRUFBSSxZQUFZO1lBQ3ZELFlBQVksRUFBRSx3QkFBd0I7WUFDdEMsWUFBWSxFQUFFLHdCQUF3QixFQUFLLHNCQUFzQjtZQUNqRSxXQUFXLEVBQUUsMkJBQTJCLEVBQUcsYUFBYTtZQUN4RCxhQUFhLEVBQUUsMkJBQTJCO1lBQzFDLFlBQVksRUFBRSwyQkFBMkI7WUFDekMsYUFBYSxFQUFFLFNB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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.1.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.md
CHANGED
|
@@ -1197,7 +1197,7 @@ Code display component with syntax highlighting and line numbers.
|
|
|
1197
1197
|
></dees-dataview-codebox>
|
|
1198
1198
|
```
|
|
1199
1199
|
|
|
1200
|
-
**Diff mode** — set `codeBefore` (compared against `codeToDisplay` as the after state) or a pre-computed `unifiedDiff` patch; `diffView` selects `'inline'
|
|
1200
|
+
**Diff mode** — set `codeBefore` (compared against `codeToDisplay` as the after state) or a pre-computed `unifiedDiff` patch; `diffView` selects `'inline'`, `'split'` (side-by-side), or `'auto'` and can force diff mode on its own:
|
|
1201
1201
|
|
|
1202
1202
|
```typescript
|
|
1203
1203
|
<dees-dataview-codebox
|
|
@@ -1211,6 +1211,8 @@ Code display component with syntax highlighting and line numbers.
|
|
|
1211
1211
|
|
|
1212
1212
|
Diff rendering includes word-level intraline change highlighting, unchanged-context folding with expandable "N unchanged lines" rows, `+added −removed` stats in the footer, and a "Copy Unified Diff" context-menu action. The app bar switches between inline and split layouts and emits the bubbling, composed `diff-view-change` event with `IDiffViewChangeDetail` (`{ diffView: TDiffView }`). The exported `TDiffView` type is `'inline' | 'split'`. Split mode keeps a fixed center divider and gives each side an independent horizontal scroll position while the containing surface owns their shared vertical movement. Set `showDiffLineNumbers` to `false` when snippet inputs do not carry trustworthy source positions. The copy button yields the after-state text. The dependency-free engine (`computeLineDiff`, `parseUnifiedDiff`, `foldContextRows`, `buildSplitRows`, `diffStats`, `toUnifiedDiff`) is exported for programmatic use.
|
|
1213
1213
|
|
|
1214
|
+
`diffView="auto"` uses inline rows below 640px of codebox width and split rows at 640px or wider. Resizing preserves expanded context and does not emit `diff-view-change`. Clicking either layout button fixes that choice, including when it already matches the automatic layout; set `diffView` back to `'auto'` to resume adaptation. The exported `TDiffViewRequest` adds `'auto'` to `TDiffView`, while event details and saved manual choices remain `'inline' | 'split'`. The default empty `diffView` and explicit layouts retain their existing behavior.
|
|
1215
|
+
|
|
1214
1216
|
#### `DeesDataviewStatusobject`
|
|
1215
1217
|
Status display component for complex objects with nested status indicators.
|
|
1216
1218
|
|
|
@@ -1590,6 +1592,8 @@ from background work. Toast `duration: 0` keeps it visible until dismissal.
|
|
|
1590
1592
|
#### `DeesContextmenu`
|
|
1591
1593
|
Context menu component for right-click actions with nested submenu support.
|
|
1592
1594
|
|
|
1595
|
+
Menus take focus after becoming visible. ArrowUp/ArrowDown move through enabled items, Enter activates the focused item, and Escape dismisses the menu chain without reaching enclosing app shortcuts. Hosts can register focus restoration with the returned menu's `registerGarbageFunction()` hook.
|
|
1596
|
+
|
|
1593
1597
|
```typescript
|
|
1594
1598
|
// Programmatic usage
|
|
1595
1599
|
DeesContextmenu.openContextMenuWithOptions(mouseEvent, [
|
|
@@ -1970,7 +1974,7 @@ DeesHarnessToolRegistry.default.register({
|
|
|
1970
1974
|
});
|
|
1971
1975
|
```
|
|
1972
1976
|
|
|
1973
|
-
Custom tool renderers receive `IHarnessToolRenderHelpers`. Its `diffBlock(before, after, options)` helper accepts `language`, `filename`, and `view`, plus `unifiedDiff` for a positioned patch and `showLineNumbers` to suppress untrustworthy gutters.
|
|
1977
|
+
Custom tool renderers receive `IHarnessToolRenderHelpers`. Its `diffBlock(before, after, options)` helper accepts `language`, `filename`, and `view`, plus `unifiedDiff` for a positioned patch and `showLineNumbers` to suppress untrustworthy gutters. The default view is `'auto'`: inline below 640px of codebox width and split at 640px or wider. An explicit helper view remains fixed. User choices override the helper default and retain the existing transcript view-state persistence.
|
|
1974
1978
|
|
|
1975
1979
|
`server__tool` names resolve automatically to the MCP kind with server + annotation badges (`readOnlyHint` → success, `destructiveHint` → error, `openWorldHint` → warning). Per-element isolation: assign a forked registry to `.toolRegistry`.
|
|
1976
1980
|
|
|
@@ -1998,6 +2002,8 @@ A question the agent asks mid-run: option buttons with descriptions (single-sele
|
|
|
1998
2002
|
|
|
1999
2003
|
#### `DeesHarnessComposer`
|
|
2000
2004
|
|
|
2005
|
+
Place optional reply or task context in `slot="context"` to integrate it above the textarea inside one input surface. Set `contextDescription` to the same context as plain text for the textarea's accessible description. An empty slot reserves no space. Clicking informational context focuses the prompt; links and controls retain their own behavior. `DeesHarnessChat` supplies its reply heading here and keeps the composer within the conversation column, alongside the full-height desktop sidebar.
|
|
2006
|
+
|
|
2001
2007
|
Prompt input: autogrow textarea, attachment picker/paste/drag-drop with configurable `maxAttachmentCount`, `maxAttachmentBytes` (10 MB default), and `maxTotalAttachmentBytes` (30 MB default), image/text/binary classification, optional account, model, and reasoning-effort dropdowns, Cmd/Ctrl+Enter to send. Attachment count is unlimited unless the host sets it. `dees-harness-chat` forwards all three limits and `suggestions` to its composer. Controlled component — the host owns `value`, `attachments`, `suggestions`, `account`, and the other selections. Set `accountOptions` to `{ label, value }[]` so the dropdown displays readable labels while events retain opaque stable account values. Account changes emit `harness-account-change` with `{ account }`; `harness-send` includes optional `account` alongside `model` and `reasoningEffort`.
|
|
2002
2008
|
|
|
2003
2009
|
Set `suggestions` to `IHarnessComposerSuggestion[]`, where each item is `{ label, value, description? }`. The composer does not filter or generate suggestions: listen for `harness-input`, update the controlled `value`, and provide a fresh filtered array. While the textarea owns focus, the listbox stays anchored above the composer; moving focus to another control closes it. Arrow keys wrap through rows, Enter chooses the active row, and Escape dismisses the current list until the next text input or fresh suggestions array. Choosing a row sets `value` to the suggestion's `value` and emits the existing bubbling/composed `harness-input` event; it does not emit `harness-send`.
|
|
@@ -2034,7 +2040,17 @@ Direct sidebar hosts can set `intelligenceAvailabilityStatus`, `intelligenceUnav
|
|
|
2034
2040
|
|
|
2035
2041
|
Searchable, card-based conversation column for sidebars or a `DeesModal` (`harness-session-select` on click, `harness-session-open` on double-click/Enter). Cards stay collapsed until their independent accessible expansion control is used. Selection and working-state changes do not affect expansion.
|
|
2036
2042
|
|
|
2037
|
-
|
|
2043
|
+
Each card exposes an Actions button. Actions, right-click, and ContextMenu/Shift+F10 on the primary or Actions control emit `harness-session-context` with the unchanged `IHarnessSessionContextDetail` (`session`, viewport `clientX`/`clientY`, and `originalEvent: MouseEvent`). Button and keyboard requests anchor the menu below the invoking control; pointer requests keep the pointer coordinates. Actions do not select, open, expand, or drag the session. Hosts own the menu choices and focus restoration. Call `DeesContextmenu.openContextMenuWithOptions(detail.originalEvent, items)` synchronously in the event handler, before any `await`, so the event's composed path retains the owning dialog. The session demo shows menu cleanup and focus restoration through `registerGarbageFunction()`.
|
|
2044
|
+
|
|
2045
|
+
`IHarnessSessionMeta.state` accepts `normal`, `working`, `finished`, `attention`, or `error`. Every collapsed row shows its status icon and text. Optional `statusLabel` refines the description (for example, `Starting`, `Waiting for feedback`, or `Approval needed`); blank labels fall back to the standard state name. Optional `harness: IHarnessAgentIdentity` supplies `{ id, name, icon? }`, independently of the model and state. The harness name stays on its own metadata line; omitted identity renders no guessed provider. Search includes harness names/ids and status labels.
|
|
2046
|
+
|
|
2047
|
+
Attention and error rows retain a colored edge even when selected. Group headings count both states, including when collapsed. `working` controls the small activity pulse on normal/working rows, defaulting to `state === 'working'`; attention, error and finished indicators remain stationary. Reduced-motion preferences disable the pulse. State changes preserve row height, selection, expansion and host-provided order.
|
|
2048
|
+
|
|
2049
|
+
With `enableGrouping`, sortable cards can move within and between groups. Drag from a card's focusable grip, or use its ArrowUp, ArrowDown, Home, and End keys. Pointer dragging moves a full-card preview, opens a matching drop slot, and animates surrounding cards; `harness-session-move` includes both the compatibility `index` and a stable optional `beforeSessionId` anchor. Set `draggable: false` for pinned entries such as terminals. Pass `ungroupedSessionIds` to control the order outside groups; omitted or unknown entries fall back to recency order.
|
|
2050
|
+
|
|
2051
|
+
The compact **New group** button sits beside search whenever `enableGrouping` is true, including while filtering, and emits `harness-group-create-request`. The host owns creation; the list keeps its current search until the host chooses to clear it. The demo clears search after adding the group. Both search and the group action use 44px targets for coarse pointers.
|
|
2052
|
+
|
|
2053
|
+
The Sessions demo pairs the list with a selected-session workspace. Its controls step through starting, working, feedback, approval, completion and failure without timers or backend operations. Question and permission responses update the selected session; declining approval pauses it. The narrow layout switches between the preserved list and detail panes with an **All sessions** control that restores row focus.
|
|
2038
2054
|
|
|
2039
2055
|
Generic host resources use the exported `IHarnessResourceMeta` and `IHarnessResourceAssociation` contracts. Set `.resources`, `.resourceAssociations`, `.selectedResourceId`, and `.eligibleSessionIdsByResourceId`. Unattached resources render in a labelled **Resources** list; attached resources render as compact persistent child rows inside their exact session article and stay visible while session details are collapsed. Resource metadata is presentation-only: the list never mounts a terminal, browser, file viewer, or other runtime.
|
|
2040
2056
|
|
package/readme.plan.md
CHANGED
|
@@ -1,5 +1,81 @@
|
|
|
1
1
|
# Catalog modernization — September 2026
|
|
2
2
|
|
|
3
|
+
## Session scroll shadows and search toolbar
|
|
4
|
+
|
|
5
|
+
Correct the session list's floating shadow band: the 16px edge overlay was
|
|
6
|
+
casting an outer box shadow from its inner edge. Use the shared transcript
|
|
7
|
+
contact-shadow gradient inside the overlay, darkest at the scroll boundary.
|
|
8
|
+
Keep overflow-driven visibility and hit targets unchanged.
|
|
9
|
+
Move New group into a compact action beside search and remove the bottom row.
|
|
10
|
+
Keep the action visible while filtering, preserve its request event, and let the
|
|
11
|
+
demo clear search after successful creation. Use distinct 44px touch targets.
|
|
12
|
+
Verify both appearances, scrolling endpoints, filtering, keyboard/touch creation
|
|
13
|
+
and the existing session tests; review the rendered result with Fable.
|
|
14
|
+
|
|
15
|
+
The taller viewport exposed browser scroll anchoring moving the list after drag
|
|
16
|
+
auto-scroll stopped. Disable anchoring only during active drags so moving drop
|
|
17
|
+
placeholders cannot shift the manually controlled viewport; restore normal
|
|
18
|
+
anchoring when the gesture ends.
|
|
19
|
+
|
|
20
|
+
Implemented and reviewed with Fable in dark, bright and touch layouts. Build,
|
|
21
|
+
strict checks for both changed tests, all 49 session/resource/demo tests and the
|
|
22
|
+
theme ratchet pass. Browser checks confirm flush inward shadows, end-of-scroll
|
|
23
|
+
visibility, stable search width, keyboard and touch creation, retained button
|
|
24
|
+
focus, and distinct 44px input/button targets with an 8px gap on touch devices.
|
|
25
|
+
|
|
26
|
+
## Session states and harness identity
|
|
27
|
+
|
|
28
|
+
Add optional harness identity and precise status labels to session metadata.
|
|
29
|
+
Keep a stable three-line row (title, status, harness/time) so both the state and
|
|
30
|
+
the harness remain visible at sidebar widths. Use small semantic state icons,
|
|
31
|
+
stationary warning/error edge cues, and activity-only reduced-motion-safe pulses.
|
|
32
|
+
Preserve controlled selection, expansion, grouping, resources and ordering; show
|
|
33
|
+
attention counts even when groups are collapsed. Make identity and state searchable.
|
|
34
|
+
|
|
35
|
+
Replace the repetitive session demo with a bounded two-pane app and curated
|
|
36
|
+
sessions. Let users step through starting, working, feedback, approval, completion
|
|
37
|
+
and failure using existing question and permission cards. Keep all transitions
|
|
38
|
+
local and deterministic, with no timers, and retain resource and modal examples.
|
|
39
|
+
Review both themes and phone layouts with Fable, run the session/resource tests,
|
|
40
|
+
strict test checks and build, then commit the verified changes locally.
|
|
41
|
+
|
|
42
|
+
Implemented and reviewed with Fable. The native build, strict checks for both
|
|
43
|
+
changed test files, 48 session/resource/demo tests and theme ratchet pass.
|
|
44
|
+
Browser checks cover both themes, seven visible desktop states, real approval
|
|
45
|
+
and question responses, reduced motion, dialog-owned Actions, and touch navigation
|
|
46
|
+
with focus restored to the selected row. Resources remain attached to the final
|
|
47
|
+
session so their child rows do not hide other states on the initial desktop view.
|
|
48
|
+
|
|
49
|
+
## Transcript scroll depth
|
|
50
|
+
|
|
51
|
+
Give the transcript fixed top and bottom contact shadows so it reads as passing
|
|
52
|
+
under the header and composer. Keep the 20px gradients inside the transcript
|
|
53
|
+
width, hide the upper shadow when there is no toolbar, and leave scroll/follow
|
|
54
|
+
behavior and nested transcript fades untouched. Use a shared theme token for
|
|
55
|
+
the stronger dark appearance. Verify both themes, scroll endpoints, empty and
|
|
56
|
+
toolbar-free states, suggestions, the jump control, and the narrow drawer.
|
|
57
|
+
|
|
58
|
+
Implemented with a passing build, 20 chat browser tests, and the theme ratchet.
|
|
59
|
+
Browser checks confirm stationary edges, toolbar-aware upper shadow visibility,
|
|
60
|
+
unchanged hit targets, and unobstructed suggestions and narrow drawers.
|
|
61
|
+
|
|
62
|
+
## Chat composer and sidebar alignment
|
|
63
|
+
|
|
64
|
+
Integrate reply context into the composer's input surface through a named
|
|
65
|
+
`context` slot and an accessible text description. Keep the composer at a stable
|
|
66
|
+
position inside the transcript column so its width follows the conversation and
|
|
67
|
+
the desktop sidebar extends to the bottom. Preserve draft, attachment, suggestion,
|
|
68
|
+
IME, send/steer, and narrow drawer behavior. Use one field border/focus treatment,
|
|
69
|
+
an empty slot with no reserved height, and bounded context text. Verify desktop
|
|
70
|
+
geometry, narrow drawer hit targets, keyboard focus, and both themes with Fable
|
|
71
|
+
before the native checks and local main commit.
|
|
72
|
+
|
|
73
|
+
Implemented and reviewed with Fable. The focused chat/composer suite passes 42
|
|
74
|
+
tests, including preserved draft and selection, field focus, slot geometry, and
|
|
75
|
+
drawer hit testing. Strict checks cover both changed test files. Browser checks
|
|
76
|
+
cover both themes, the embedded desktop view, and a real coarse-pointer phone
|
|
77
|
+
context. The narrow chat owns clipping of its closed off-canvas drawer.
|
|
78
|
+
|
|
3
79
|
## Harness components
|
|
4
80
|
|
|
5
81
|
Continue the shared visual system across chat, composer, transcript cards,
|
|
@@ -19,6 +95,27 @@ final responsive polish is covered by the affected harness tests and a fresh
|
|
|
19
95
|
build. Browser checks cover both themes, 320/390px layouts, visible demo responses,
|
|
20
96
|
session-modal dismissal, subagent activity and reduced-motion behavior.
|
|
21
97
|
|
|
98
|
+
## Harness touch and adaptive diffs
|
|
99
|
+
|
|
100
|
+
Following the 9.0.0 release, add automatic codebox layouts using the codebox's
|
|
101
|
+
own width, while retaining concrete manual choices and transcript view state.
|
|
102
|
+
Keep automatic resize updates limited to the 640px boundary, preserve unfolded
|
|
103
|
+
context, and disconnect observation outside auto mode or after removal.
|
|
104
|
+
|
|
105
|
+
Expose session Actions alongside the independent expander, with 44px coarse
|
|
106
|
+
pointer targets and ContextMenu/Shift+F10 access through the existing context
|
|
107
|
+
event. The session demos open dialog-owned menus synchronously, show action
|
|
108
|
+
results, and restore focus through the menu lifecycle, including group moves.
|
|
109
|
+
Correct the shared context menu's hidden-focus and hover-based keyboard handling
|
|
110
|
+
so these controls support arrow navigation, Enter, and isolated Escape dismissal.
|
|
111
|
+
|
|
112
|
+
Implemented with a passing native build, 80 focused browser tests, and strict
|
|
113
|
+
type checks for the four changed test files. Browser checks cover automatic and
|
|
114
|
+
manual diff layouts, 44px touch targets, dialog ownership, keyboard menu actions,
|
|
115
|
+
and focus restoration after dismissal and session moves. Real coarse-pointer
|
|
116
|
+
browser assertions also confirm resting surfaces remain unchanged after tapping
|
|
117
|
+
and dismissing Actions; desktop hover feedback remains available.
|
|
118
|
+
|
|
22
119
|
## Catalog foundations
|
|
23
120
|
|
|
24
121
|
Approved scope: modern Apple app styling, coordinated with Fable 5.1, with an
|
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const commitinfo = {
|
|
5
5
|
name: '@design.estate/dees-catalog',
|
|
6
|
-
version: '9.
|
|
6
|
+
version: '9.1.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
|
}
|
|
@@ -41,6 +41,7 @@ declare global {
|
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
export type TDiffView = 'inline' | 'split';
|
|
44
|
+
export type TDiffViewRequest = TDiffView | 'auto';
|
|
44
45
|
|
|
45
46
|
export interface IDiffViewChangeDetail {
|
|
46
47
|
diffView: TDiffView;
|
|
@@ -73,9 +74,9 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
73
74
|
@property({ type: String })
|
|
74
75
|
accessor unifiedDiff: string = '';
|
|
75
76
|
|
|
76
|
-
/** '' = regular code
|
|
77
|
+
/** '' = regular code; 'inline' = unified rows; 'split' = side by side; 'auto' splits at 640px. */
|
|
77
78
|
@property({ type: String })
|
|
78
|
-
accessor diffView: '' |
|
|
79
|
+
accessor diffView: '' | TDiffViewRequest = '';
|
|
79
80
|
|
|
80
81
|
/** Hide gutters when a diff source does not provide trustworthy positions. */
|
|
81
82
|
@property({ type: Boolean })
|
|
@@ -93,6 +94,9 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
93
94
|
@state()
|
|
94
95
|
accessor highlightVersion: number = 0;
|
|
95
96
|
|
|
97
|
+
@state()
|
|
98
|
+
private accessor autoDiffIsNarrow = true;
|
|
99
|
+
|
|
96
100
|
public static styles = [
|
|
97
101
|
themeDefaultStyles,
|
|
98
102
|
cssManager.defaultStyles,
|
|
@@ -103,6 +107,8 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
103
107
|
text-align: left;
|
|
104
108
|
font-family: var(--dees-font-family);
|
|
105
109
|
box-sizing: border-box;
|
|
110
|
+
container-type: inline-size;
|
|
111
|
+
container-name: dees-codebox;
|
|
106
112
|
}
|
|
107
113
|
|
|
108
114
|
dees-tile {
|
|
@@ -146,6 +152,15 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
146
152
|
background: var(--dees-color-bg-tertiary);
|
|
147
153
|
}
|
|
148
154
|
|
|
155
|
+
@container dees-codebox (width < 640px) {
|
|
156
|
+
.appbar {
|
|
157
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
158
|
+
gap: var(--dees-spacing-sm);
|
|
159
|
+
}
|
|
160
|
+
.appbar .fileName { grid-column: 1; min-width: 0; }
|
|
161
|
+
.appbar .actions { grid-column: 2; }
|
|
162
|
+
}
|
|
163
|
+
|
|
149
164
|
.viewButton {
|
|
150
165
|
padding: 3px 7px;
|
|
151
166
|
border: 0;
|
|
@@ -640,6 +655,31 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
640
655
|
private copiedResetTimeout: ReturnType<typeof setTimeout> | null = null;
|
|
641
656
|
private diffRows: IDiffRow[] = [];
|
|
642
657
|
private diffHighlightCache = new Map<string, string>();
|
|
658
|
+
private autoDiffResizeObserver: ResizeObserver | null = null;
|
|
659
|
+
|
|
660
|
+
public async connectedCallback(): Promise<void> {
|
|
661
|
+
await super.connectedCallback();
|
|
662
|
+
this.syncAutoDiffObservation();
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
private syncAutoDiffObservation(): void {
|
|
666
|
+
if (!this.isConnected || this.diffView !== 'auto') {
|
|
667
|
+
this.autoDiffResizeObserver?.disconnect();
|
|
668
|
+
this.autoDiffResizeObserver = null;
|
|
669
|
+
return;
|
|
670
|
+
}
|
|
671
|
+
if (this.autoDiffResizeObserver) return;
|
|
672
|
+
const observer = new ResizeObserver((entries) => {
|
|
673
|
+
if (this.autoDiffResizeObserver !== observer || !this.isConnected || this.diffView !== 'auto') return;
|
|
674
|
+
const entry = entries.find((candidate) => candidate.target === this);
|
|
675
|
+
if (!entry) return;
|
|
676
|
+
const narrow = (entry.contentBoxSize[0]?.inlineSize ?? entry.contentRect.width) < 640;
|
|
677
|
+
// Pixel-by-pixel resizing does not invalidate rendering or highlight caches.
|
|
678
|
+
if (narrow !== this.autoDiffIsNarrow) this.autoDiffIsNarrow = narrow;
|
|
679
|
+
});
|
|
680
|
+
this.autoDiffResizeObserver = observer;
|
|
681
|
+
observer.observe(this);
|
|
682
|
+
}
|
|
643
683
|
|
|
644
684
|
/** Diff mode is active when a diff input or an explicit diffView is set. */
|
|
645
685
|
public get isDiffActive(): boolean {
|
|
@@ -647,11 +687,12 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
647
687
|
}
|
|
648
688
|
|
|
649
689
|
public get effectiveDiffView(): TDiffView {
|
|
650
|
-
return this.diffView === 'split'
|
|
690
|
+
return this.diffView === 'split' || (this.diffView === 'auto' && !this.autoDiffIsNarrow)
|
|
691
|
+
? 'split' : 'inline';
|
|
651
692
|
}
|
|
652
693
|
|
|
653
694
|
private setDiffView(diffViewArg: TDiffView): void {
|
|
654
|
-
if (this.effectiveDiffView === diffViewArg) return;
|
|
695
|
+
if (this.diffView !== 'auto' && this.effectiveDiffView === diffViewArg) return;
|
|
655
696
|
this.diffView = diffViewArg;
|
|
656
697
|
this.dispatchEvent(new CustomEvent<IDiffViewChangeDetail>('diff-view-change', {
|
|
657
698
|
detail: { diffView: diffViewArg },
|
|
@@ -712,6 +753,7 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
712
753
|
|
|
713
754
|
public async updated(changedProperties: Map<string, any>) {
|
|
714
755
|
super.updated(changedProperties);
|
|
756
|
+
if (changedProperties.has('diffView')) this.syncAutoDiffObservation();
|
|
715
757
|
// adopt slotted text content as code source once (regular mode only)
|
|
716
758
|
if (!this.codeToDisplay && !this.isDiffActive) {
|
|
717
759
|
const slottedText = Array.from(this.childNodes).find(
|
|
@@ -835,6 +877,8 @@ export class DeesDataviewCodebox extends DeesElement {
|
|
|
835
877
|
};
|
|
836
878
|
|
|
837
879
|
public async disconnectedCallback() {
|
|
880
|
+
this.autoDiffResizeObserver?.disconnect();
|
|
881
|
+
this.autoDiffResizeObserver = null;
|
|
838
882
|
if (this.copiedResetTimeout) {
|
|
839
883
|
clearTimeout(this.copiedResetTimeout);
|
|
840
884
|
this.copiedResetTimeout = null;
|