@design.estate/dees-catalog 9.5.0 → 9.6.2

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.
Files changed (31) hide show
  1. package/dist_bundle/bundle.js +1319 -1452
  2. package/dist_bundle/bundle.js.map +1 -1
  3. package/dist_ts_web/00_commitinfo_data.js +1 -1
  4. package/dist_ts_web/elements/00group-dataview/dees-table/dees-table.js +5 -4
  5. package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.d.ts +1 -8
  6. package/dist_ts_web/elements/00group-input/dees-input-base/dees-input-base.js +7 -2
  7. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.d.ts +21 -2
  8. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.d.ts +4 -0
  9. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.js +218 -193
  10. package/dist_ts_web/elements/00group-layout/dees-stepper/dees-stepper.js +288 -403
  11. package/dist_ts_web/elements/00group-layout/dees-stepper/styles.d.ts +1 -0
  12. package/dist_ts_web/elements/00group-layout/dees-stepper/styles.js +41 -0
  13. package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.d.ts +1 -1
  14. package/dist_ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.js +5 -4
  15. package/package.json +2 -2
  16. package/readme.md +52 -3
  17. package/scripts/check-bdtheme-ratchet.cjs +2 -2
  18. package/scripts/check-packed-consumer.mjs +45 -0
  19. package/ts_web/00_commitinfo_data.ts +1 -1
  20. package/ts_web/elements/00group-dataview/dees-table/dees-table.ts +3 -2
  21. package/ts_web/elements/00group-input/dees-input-base/dees-input-base.ts +6 -1
  22. package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.demo.ts +142 -200
  23. package/ts_web/elements/00group-layout/dees-stepper/dees-stepper.ts +216 -400
  24. package/ts_web/elements/00group-layout/dees-stepper/styles.ts +41 -0
  25. package/ts_web/elements/00group-overlay/dees-contextmenu/dees-contextmenu.ts +3 -3
  26. package/readme.hints.md +0 -1233
  27. package/readme.icons.md +0 -1849
  28. package/readme.info.md +0 -80
  29. package/readme.plan.md +0 -671
  30. package/readme.playbook.md +0 -820
  31. package/readme.theme-migration.md +0 -168
@@ -0,0 +1 @@
1
+ export declare const stepperStyles: import("@design.estate/dees-element").CSSResult;
@@ -0,0 +1,41 @@
1
+ import { css } from '@design.estate/dees-element';
2
+ export const stepperStyles = css `
3
+ :host { display: block; position: relative; width: 100%; height: 100%; min-height: 440px; min-width: 0; font-family: var(--dees-font-family); color: var(--dees-color-text-primary); }
4
+ :host([overlay]) { position: static; width: 0; height: 0; min-height: 0; }
5
+ .stepperContainer { position: absolute; inset: 0; width: 100%; height: 100%; overflow: hidden; overflow-anchor: none; box-sizing: border-box; container: stepper-surface / inline-size; }
6
+ .stepperContainer.overlay { position: fixed; width: 100%; height: 100dvh; max-width: none; max-height: none; border: 0; padding: 0; margin: 0; color: inherit; background: transparent; }
7
+ .stepperContainer::backdrop { background: var(--dees-color-scrim); }
8
+ dees-tile.step { position: relative; width: min(var(--dees-stepper-width, 520px), calc(100% - 40px)); max-height: calc(100% - 48px); min-height: min(280px, calc(100% - 48px)); margin: 0 auto 20px; pointer-events: none; opacity: .25; transition: opacity 240ms var(--dees-ease-standard); }
9
+ dees-tile.step::part(outer) { border-color: var(--dees-color-border-subtle); }
10
+ dees-tile.step.selected { pointer-events: auto; opacity: 1; }
11
+ dees-tile.step.selected::part(outer) { border-color: var(--dees-color-border-default); box-shadow: var(--dees-shadow-md); }
12
+ dees-tile.step.hiddenStep { opacity: 0; }
13
+ dees-tile.step:last-child { margin-bottom: 100dvh; }
14
+ .step-header { display: flex; align-items: center; gap: 16px; padding: 16px 24px; min-height: 48px; box-sizing: border-box; }
15
+ .step-rail { display: flex; flex: 1; gap: 5px; list-style: none; margin: 0; padding: 0; min-width: 0; }
16
+ .step-marker { flex: 1; height: 4px; border-radius: 2px; background: var(--dees-color-fill-secondary); }
17
+ .step-marker.complete { background: var(--dees-color-text-secondary); }
18
+ .step-marker.current { background: var(--dees-color-accent-primary); }
19
+ .step-counter { flex: none; font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; color: var(--dees-color-text-secondary); }
20
+ .step-body { padding: 24px; }
21
+ .heading-row { display: flex; align-items: flex-start; gap: 16px; }
22
+ .title { margin: 0; font-size: 20px; line-height: 1.3; font-weight: 600; letter-spacing: -.025em; overflow-wrap: anywhere; outline: none; }
23
+ .description { margin: 8px 0 0; font-size: 13px; line-height: 1.55; color: var(--dees-color-text-secondary); }
24
+ .content { margin-top: 24px; font-size: 13px; line-height: 1.55; overflow-wrap: anywhere; }
25
+ .content:empty { display: none; }
26
+ .progressStep { margin: 20px -8px 0; }
27
+ .step-error { display: flex; align-items: flex-start; gap: 8px; padding: 12px; margin-top: 16px; border-radius: var(--dees-radius-md); background: var(--dees-color-badge-error-bg); color: var(--dees-color-text-error); font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
28
+ .step-error dees-icon { flex: none; margin-top: 1px; }
29
+ .step-footer { padding: 12px 24px; }
30
+ .step-hint { flex: 0 0 120px; padding-top: 4px; margin-left: auto; color: var(--dees-color-text-secondary); font-size: 11px; line-height: 1.4; text-align: right; transition: opacity 160ms var(--dees-ease-standard), visibility 160ms; }
31
+ .step-hint[aria-hidden='true'] { opacity: 0; visibility: hidden; pointer-events: none; }
32
+ .bottomButtons { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
33
+ .back-action { margin-right: auto; }
34
+ .footer-spacer { margin-right: auto; }
35
+ .empty { display: grid; place-content: center; height: 100%; text-align: center; color: var(--dees-color-text-secondary); font-size: 13px; }
36
+ .predestroy .step.selected { animation: stepper-exit 160ms var(--dees-ease-standard) forwards; }
37
+ @keyframes stepper-exit { to { opacity: 0; transform: translateY(10px); } }
38
+ @media (prefers-reduced-motion: reduce) { dees-tile.step, .step-hint { transition: none; } .predestroy .step.selected { animation: none; } }
39
+ @container stepper-surface (max-width: 540px) { dees-tile.step { width: calc(100% - 24px); max-height: calc(100% - 24px); } .step-header { padding: 12px 20px; } .step-body { padding: 20px; } .step-footer { padding: 12px 20px; } .step-hint { flex-basis: 84px; } }
40
+ `;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtbGF5b3V0L2RlZXMtc3RlcHBlci9zdHlsZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLENBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBc0MvQixDQUFDIn0=
@@ -64,7 +64,7 @@ export declare class DeesContextmenu extends DeesElement {
64
64
  private returnFocusTarget;
65
65
  private static deepActiveElement;
66
66
  private ownsFocus;
67
- constructor();
67
+ connectedCallback(): Promise<void>;
68
68
  /**
69
69
  * STATIC STYLES
70
70
  */
@@ -177,9 +177,10 @@ let DeesContextmenu = (() => {
177
177
  ownsFocus(active) {
178
178
  return !!active && (active === this || !!this.shadowRoot?.contains(active) || !!this.submenu?.ownsFocus(active));
179
179
  }
180
- constructor() {
181
- super();
182
- this.tabIndex = 0;
180
+ connectedCallback() {
181
+ if (!this.hasAttribute('tabindex'))
182
+ this.tabIndex = 0;
183
+ return super.connectedCallback();
183
184
  }
184
185
  /**
185
186
  * STATIC STYLES
@@ -566,4 +567,4 @@ let DeesContextmenu = (() => {
566
567
  })();
567
568
  export { DeesContextmenu };
568
569
  DeesContextmenu.initializeGlobalListener();
569
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jb250ZXh0bWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLW92ZXJsYXkvZGVlcy1jb250ZXh0bWVudS9kZWVzLWNvbnRleHRtZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUVSLFVBQVUsRUFDVixHQUFHLEVBRUgsU0FBUyxHQUNWLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFpQnpDLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzs7OztzQkFDRyxXQUFXOzs7OytCQUFuQixTQUFRLFdBQVc7Ozs7cUNBK0c3QyxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLEtBQUs7aUJBQ1osQ0FBQztZQUNGLGdMQUFTLFNBQVMsNkJBQVQsU0FBUyw2RkFBK087WUFsSG5RLDZLQTRoQkM7Ozs7UUEzaEJDLE9BQU87UUFDQSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQTtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsU0FBUztRQUNULGlEQUFpRDtRQUMxQyxNQUFNLENBQUMsc0JB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
570
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1jb250ZXh0bWVudS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLW92ZXJsYXkvZGVlcy1jb250ZXh0bWVudS9kZWVzLWNvbnRleHRtZW51LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQ0wsYUFBYSxFQUNiLElBQUksRUFDSixXQUFXLEVBQ1gsUUFBUSxFQUVSLFVBQVUsRUFDVixHQUFHLEVBRUgsU0FBUyxHQUNWLE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxLQUFLLFFBQVEsTUFBTSw4QkFBOEIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDMUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2pELE9BQU8sOENBQThDLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFpQnpDLGVBQWU7NEJBRDNCLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQzs7OztzQkFDRyxXQUFXOzs7OytCQUFuQixTQUFRLFdBQVc7Ozs7cUNBK0c3QyxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLEtBQUs7aUJBQ1osQ0FBQztZQUNGLGdMQUFTLFNBQVMsNkJBQVQsU0FBUyw2RkFBK087WUFsSG5RLDZLQTRoQkM7Ozs7UUEzaEJDLE9BQU87UUFDQSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQTtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFdkMsU0FBUztRQUNULGlEQUFpRDtRQUMxQyxNQUFNLENBQUMsc0JB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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@design.estate/dees-catalog",
3
- "version": "9.5.0",
3
+ "version": "9.6.2",
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",
@@ -47,7 +47,7 @@
47
47
  "@design.estate/dees-wcctools": "^3.9.4",
48
48
  "@git.zone/tsbuild": "^4.4.2",
49
49
  "@git.zone/tsbundle": "^2.13.0",
50
- "@git.zone/tstest": "^4.0.0",
50
+ "@git.zone/tstest": "^6.0.0",
51
51
  "@git.zone/tswatch": "^3.3.5",
52
52
  "@push.rocks/projectinfo": "^5.1.0",
53
53
  "@types/node": "^26.4.1"
package/readme.md CHANGED
@@ -59,7 +59,7 @@ switcher**, **view-toggle**, and **single-selection toggle** all lead to
59
59
  - [Component index](#component-index): exact tags, API sections and source files
60
60
  - [Component API](#component-api): properties, examples and behavior
61
61
  - [TypeScript interfaces](#typescript-interfaces)
62
- - [UI Components Playbook](readme.playbook.md): library implementation patterns
62
+ - [UI Components Playbook](https://code.foss.global/design.estate/dees-catalog/src/branch/main/docs/development/readme.playbook.md): library implementation patterns
63
63
  - [Third-party notices](#third-party-notices) and [license](#license-and-legal-information)
64
64
 
65
65
  ## Installation
@@ -90,7 +90,26 @@ class MyApp extends DeesElement {
90
90
 
91
91
  ## Development Guide
92
92
 
93
- For developers working on this library, please refer to the [UI Components Playbook](readme.playbook.md) for comprehensive patterns, best practices, and architectural guidelines.
93
+ For developers working on this library, please refer to the [UI Components Playbook](https://code.foss.global/design.estate/dees-catalog/src/branch/main/docs/development/readme.playbook.md) for comprehensive patterns, best practices, and architectural guidelines.
94
+
95
+ Repository development notes, including `readme.plan.md` and `readme.hints.md`,
96
+ live in `docs/development/`. These notes are retained in Git and excluded from the
97
+ published package.
98
+
99
+ Before publishing, verify the installed package as well as the source tests:
100
+
101
+ ```sh
102
+ pnpm test
103
+ node scripts/check-packed-consumer.mjs
104
+ ```
105
+
106
+ `pnpm test` rebuilds the package first. The consumer check installs its tarball in
107
+ an isolated temporary project and checks the table, settings, modal, PDF viewer,
108
+ PDF thumbnail and harness message-list declarations with TypeScript 5.9.3 and
109
+ 6.0.3, `strict: true` and `skipLibCheck: false`. It also runs Chromium construction,
110
+ reconnect, selection/copy and real keyboard checks against the installed modules
111
+ and bundle. No source aliases or vendor declarations are used. Pass an existing
112
+ release tarball as the script's argument to verify those exact bytes.
94
113
 
95
114
  ## Component index
96
115
 
@@ -2173,13 +2192,43 @@ const layer = await DeesWindowLayer.createAndShow({
2173
2192
  ### Navigation Components
2174
2193
 
2175
2194
  #### `DeesStepper`
2176
- Multi-step navigation component for guided user flows, including optional auto-advancing progress steps that can render `dees-progressbar` status output between form steps.
2195
+ Guided form and background-work flows with a compact progress strip, shared action
2196
+ buttons, and a vertical transition between steps. Use it inline or open the same
2197
+ steps as a modal with `DeesStepper.createAndShow({ steps, cancelable: true })`.
2198
+
2199
+ - `IStep` accepts `title`, optional `description`, `content`, `menuOptions`,
2200
+ `allowBack`, `validationFunc`, `onReturnToStepFunc`, and `progressStep`.
2201
+ - The last menu action is primary. A nested `dees-form` gates that action on its
2202
+ required fields and dispatches collected `formData` before the action runs.
2203
+ The required-fields hint fades beside the heading without changing its layout.
2204
+ - Async actions prevent duplicate activation and display failures in the current
2205
+ step. Progress failures expose **Try again**; `retryStep()` reruns validation.
2206
+ Keep external work abortable using the callback's `AbortSignal`.
2207
+ - Progress steps use `dees-progressbar` and advance after successful validation
2208
+ unless `progressStep.autoAdvance` is `false`. Use `updateProgressStep()`,
2209
+ `appendProgressStepLine()`, and `resetProgressStep()` to report work.
2210
+ - `goNext()` and `goBack()` preserve mounted form contents. Back honors
2211
+ `allowBack: false`. Inactive steps are inert. Transitions respect reduced motion
2212
+ and adjust to changing content and container sizes without snapping.
2213
+ - Overlay mode uses native dialog focus containment and restoration. Cancel,
2214
+ Escape, and backdrop clicks share a confirmation flow; `cancelable: false`
2215
+ disables those dismissal paths. `destroy()` closes the flow; `stepper-close`
2216
+ fires when it disconnects. Disconnecting also aborts work and releases observers.
2217
+ - Inline steppers fill a bounded area (440px minimum height by default). Set a
2218
+ height appropriate to the composition; `--dees-stepper-width` controls the card's
2219
+ maximum width (520px by default).
2220
+
2221
+ The catalog demo combines setup fields, preferences, a review, background work,
2222
+ and completion. **Retry example** fails the first background attempt and preserves
2223
+ the choices for recovery. It also shows optional and required-completion overlays.
2177
2224
 
2178
2225
  ```typescript
2179
2226
  <dees-stepper
2227
+ style="height: 540px"
2180
2228
  .steps=${[
2181
2229
  {
2182
2230
  title: 'Account Setup',
2231
+ description: 'Choose the owner of your workspace.',
2183
2232
  content: html`<dees-form>...</dees-form>`,
2184
2233
  menuOptions: [{ name: 'Continue', action: async (stepper) => stepper?.goNext() }]
2185
2234
  },
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * bdTheme ratchet: cssManager.bdTheme() is legacy (see readme.theme-migration.md).
3
+ * bdTheme ratchet: cssManager.bdTheme() is legacy (see docs/development/readme.theme-migration.md).
4
4
  * The only sanctioned usage is the token bridge in ts_web/elements/00theme.ts.
5
5
  * Per-file call counts are frozen in scripts/bdtheme-baseline.json and may only shrink.
6
6
  *
@@ -72,7 +72,7 @@ for (const [file, count] of Object.entries(current)) {
72
72
 
73
73
  if (violations.length > 0) {
74
74
  console.error('[bdtheme-ratchet] FAIL — cssManager.bdTheme() is legacy; use --dees-* tokens from 00theme.ts');
75
- console.error('[bdtheme-ratchet] see readme.theme-migration.md and readme.playbook.md (Theming System)');
75
+ console.error('[bdtheme-ratchet] see docs/development/readme.theme-migration.md and docs/development/readme.playbook.md (Theming System)');
76
76
  for (const violation of violations) console.error(` ${violation}`);
77
77
  process.exit(1);
78
78
  }
@@ -0,0 +1,45 @@
1
+ import { execFileSync } from 'node:child_process';
2
+ import { cpSync, mkdirSync, mkdtempSync, readFileSync, renameSync, writeFileSync } from 'node:fs';
3
+ import { join, resolve } from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
5
+
6
+ // An actual isolated consumer: install the tarball, never source aliases or links.
7
+ // An optional argument checks a release journal's exact tarball without repacking.
8
+ const root = fileURLToPath(new URL('../', import.meta.url));
9
+ const debugRoot = join(root, '.nogit/debug');
10
+ mkdirSync(debugRoot, { recursive: true });
11
+ const consumer = mkdtempSync(join(debugRoot, 'packed-consumer-'));
12
+ const run = (args, cwd = consumer) => execFileSync('pnpm', args, { cwd, stdio: 'inherit' });
13
+ const tarball = process.argv[2] ? resolve(process.argv[2]) : join(consumer, 'catalog.tgz');
14
+ if (!process.argv[2]) run(['pack', '--out', tarball], root);
15
+ cpSync(join(root, 'test/fixtures/packed-consumer'), consumer, { recursive: true });
16
+ renameSync(join(consumer, 'entrypoints.ts.fixture'), join(consumer, 'entrypoints.ts'));
17
+ writeFileSync(join(consumer, 'package.json'), JSON.stringify({
18
+ name: 'catalog-packed-consumer', private: true, type: 'module',
19
+ packageManager: 'pnpm@12.3.1',
20
+ dependencies: {
21
+ '@design.estate/dees-catalog': tarball,
22
+ '@design.estate/dees-element': '3.1.1',
23
+ },
24
+ devDependencies: {
25
+ typescript: '5.9.3',
26
+ '@types/node': '26.4.1',
27
+ '@git.zone/tstest': '6.0.0',
28
+ '@push.rocks/smartbrowser': '2.0.11',
29
+ },
30
+ }, null, 2));
31
+ writeFileSync(join(consumer, 'pnpm-workspace.yaml'), 'packages:\n - "."\n');
32
+ // Run the same construction regression against installed JavaScript, not sources.
33
+ const browserTest = readFileSync(join(root, 'test/test.table-construction.browser.ts'), 'utf8')
34
+ .replaceAll('../ts_web/', '@design.estate/dees-catalog/dist_ts_web/');
35
+ writeFileSync(join(consumer, 'test.table-construction.browser.ts'), browserTest);
36
+ console.log(`Packed consumer: ${consumer}`);
37
+ run(['install', '--ignore-scripts']);
38
+ run(['exec', 'tsc', '--version']);
39
+ run(['exec', 'tsc', '--project', 'tsconfig.json']);
40
+ // Verify the current producer compiler too; neither run skips dependency checks.
41
+ run(['add', '--save-dev', '--save-exact', '--ignore-scripts', 'typescript@6.0.3']);
42
+ run(['exec', 'tsc', '--version']);
43
+ run(['exec', 'tsc', '--project', 'tsconfig.json']);
44
+ run(['exec', 'tstest', 'test.table-construction.browser.ts', '--verbose', '--logfile']);
45
+ run(['exec', 'node', 'browser.mjs']);
@@ -3,6 +3,6 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '9.5.0',
6
+ version: '9.6.2',
7
7
  description: 'A comprehensive library that provides dynamic web components for building sophisticated and modern web applications using JavaScript and TypeScript.'
8
8
  }
@@ -356,8 +356,6 @@ export class DeesTable<T> extends DeesElement {
356
356
 
357
357
  constructor() {
358
358
  super();
359
- // Make the host focusable so it can receive Ctrl/Cmd+C for copy.
360
- if (!this.hasAttribute('tabindex')) this.setAttribute('tabindex', '0');
361
359
  this.addEventListener('keydown', this.__handleHostKeydown);
362
360
  }
363
361
 
@@ -1280,6 +1278,9 @@ export class DeesTable<T> extends DeesElement {
1280
1278
  }
1281
1279
 
1282
1280
  public connectedCallback(): Promise<void> {
1281
+ // Custom-element constructors must not add host attributes. Initialize the
1282
+ // keyboard entry point here, after parser/caller attributes are available.
1283
+ if (!this.hasAttribute('tabindex')) this.setAttribute('tabindex', '0');
1283
1284
  const connected = super.connectedCallback();
1284
1285
  if (this.hasUpdated) this.requestUpdate();
1285
1286
  return connected;
@@ -15,7 +15,12 @@ import '../../00group-layout/dees-label/dees-label.js';
15
15
  * Provides unified margin system and layout mode support
16
16
  */
17
17
  export abstract class DeesInputBase<T = any> extends DeesElement {
18
- public static shadowRootOptions = { ...DeesElement.shadowRootOptions, delegatesFocus: true };
18
+ // Keep declarations tied to the superclass's DOM contract instead of emitting
19
+ // the build compiler's inferred (and potentially newer) ShadowRootInit shape.
20
+ public static override shadowRootOptions: typeof DeesElement.shadowRootOptions = {
21
+ ...DeesElement.shadowRootOptions,
22
+ delegatesFocus: true,
23
+ };
19
24
  public static inputLayout: 'field' | 'choice' | 'compound' = 'field';
20
25
  /**
21
26
  * Layout mode for the input component