@design.estate/dees-catalog 3.97.1 → 3.98.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.
Files changed (22) hide show
  1. package/dist_bundle/bundle.js +4606 -3404
  2. package/dist_ts_web/00_commitinfo_data.js +1 -1
  3. package/dist_ts_web/elements/00group-button/dees-button/dees-button.d.ts +35 -0
  4. package/dist_ts_web/elements/00group-button/dees-button/dees-button.js +128 -5
  5. package/dist_ts_web/elements/00group-feedback/dees-spinner/dees-spinner.js +12 -3
  6. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.d.ts +9 -0
  7. package/dist_ts_web/elements/00group-form/dees-form-submit/dees-form-submit.js +25 -2
  8. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.d.ts +15 -0
  9. package/dist_ts_web/elements/00group-input/dees-input-text/dees-input-text.js +36 -2
  10. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.d.ts +246 -0
  11. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.js +439 -21
  12. package/dist_ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.js +857 -23
  13. package/package.json +3 -3
  14. package/readme.hints.md +35 -0
  15. package/readme.md +80 -11
  16. package/ts_web/00_commitinfo_data.ts +1 -1
  17. package/ts_web/elements/00group-button/dees-button/dees-button.ts +128 -2
  18. package/ts_web/elements/00group-feedback/dees-spinner/dees-spinner.ts +11 -2
  19. package/ts_web/elements/00group-form/dees-form-submit/dees-form-submit.ts +18 -0
  20. package/ts_web/elements/00group-input/dees-input-text/dees-input-text.ts +29 -0
  21. package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.demo.ts +418 -19
  22. package/ts_web/elements/00group-simple/dees-simple-login/dees-simple-login.ts +969 -20
@@ -3,7 +3,7 @@
3
3
  */
4
4
  export const commitinfo = {
5
5
  name: '@design.estate/dees-catalog',
6
- version: '3.97.1',
6
+ version: '3.98.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
  };
9
9
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMDBfY29tbWl0aW5mb19kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vdHNfd2ViLzAwX2NvbW1pdGluZm9fZGF0YS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsNkJBQTZCO0lBQ25DLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLFdBQVcsRUFBRSxzSkFBc0o7Q0FDcEssQ0FBQSJ9
@@ -21,6 +21,13 @@ export declare class DeesButton extends DeesElement {
21
21
  */
22
22
  accessor shape: 'squircle' | 'pill';
23
23
  accessor insideForm: boolean;
24
+ /**
25
+ * stretches the inner button face to the host width.
26
+ * The host is `inline-block`, so `width: 100%` on the host alone leaves the
27
+ * `inline-flex` face shrink-wrapped. Opt in for stacked, full-bleed actions
28
+ * (login cards, sheets, empty states).
29
+ */
30
+ accessor fullWidth: boolean;
24
31
  accessor icon: string;
25
32
  accessor iconPosition: 'left' | 'right';
26
33
  constructor();
@@ -32,5 +39,33 @@ export declare class DeesButton extends DeesElement {
32
39
  private extractLightDom;
33
40
  render(): TemplateResult;
34
41
  dispatchClick(): Promise<void>;
42
+ /** the inner face — the element that actually carries focus */
43
+ private get faceElement();
44
+ /**
45
+ * States in which the button must not react to input. `disabled` is obvious; the status
46
+ * faces matter too, because `.button.pending / .success / .error` already set
47
+ * `pointer-events: none` and keyboard activation has to refuse the same interactions a
48
+ * mouse cannot make.
49
+ */
50
+ private get isInert();
51
+ /**
52
+ * Focus lives on the inner face inside the shadow root, so `host.focus()` has to forward
53
+ * or it is a silent no-op. Note that `dees-form-submit.focus()` is deliberately *not*
54
+ * wired to this — that method submits the form, and dees-form depends on it.
55
+ */
56
+ focus(optionsArg?: FocusOptions): void;
57
+ blur(): void;
58
+ private handleKeydown;
59
+ private handleKeyup;
60
+ /**
61
+ * Keyboard activation goes through a real click rather than dispatching `clicked`
62
+ * directly, exactly as a native button does. Several catalog components bind `@click` on
63
+ * dees-button instead of `@clicked` (dees-workspace-diff-editor, the profile picture
64
+ * modal), and both listener styles have to keep working from the keyboard.
65
+ *
66
+ * `pointer-events: none` does not block a programmatic `click()`, so inertness is
67
+ * enforced here rather than left to CSS.
68
+ */
69
+ private activateFromKeyboard;
35
70
  firstUpdated(): Promise<void>;
36
71
  }
@@ -69,6 +69,9 @@ let DeesButton = (() => {
69
69
  let _insideForm_decorators;
70
70
  let _insideForm_initializers = [];
71
71
  let _insideForm_extraInitializers = [];
72
+ let _fullWidth_decorators;
73
+ let _fullWidth_initializers = [];
74
+ let _fullWidth_extraInitializers = [];
72
75
  let _icon_decorators;
73
76
  let _icon_initializers = [];
74
77
  let _icon_extraInitializers = [];
@@ -109,6 +112,7 @@ let DeesButton = (() => {
109
112
  type: Boolean,
110
113
  reflect: true
111
114
  })];
115
+ _fullWidth_decorators = [property({ type: Boolean, reflect: true, attribute: 'full-width' })];
112
116
  _icon_decorators = [property({ type: String, reflect: true })];
113
117
  _iconPosition_decorators = [property({ type: String, reflect: true })];
114
118
  __esDecorate(this, null, _text_decorators, { kind: "accessor", name: "text", static: false, private: false, access: { has: obj => "text" in obj, get: obj => obj.text, set: (obj, value) => { obj.text = value; } }, metadata: _metadata }, _text_initializers, _text_extraInitializers);
@@ -120,6 +124,7 @@ let DeesButton = (() => {
120
124
  __esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
121
125
  __esDecorate(this, null, _shape_decorators, { kind: "accessor", name: "shape", static: false, private: false, access: { has: obj => "shape" in obj, get: obj => obj.shape, set: (obj, value) => { obj.shape = value; } }, metadata: _metadata }, _shape_initializers, _shape_extraInitializers);
122
126
  __esDecorate(this, null, _insideForm_decorators, { kind: "accessor", name: "insideForm", static: false, private: false, access: { has: obj => "insideForm" in obj, get: obj => obj.insideForm, set: (obj, value) => { obj.insideForm = value; } }, metadata: _metadata }, _insideForm_initializers, _insideForm_extraInitializers);
127
+ __esDecorate(this, null, _fullWidth_decorators, { kind: "accessor", name: "fullWidth", static: false, private: false, access: { has: obj => "fullWidth" in obj, get: obj => obj.fullWidth, set: (obj, value) => { obj.fullWidth = value; } }, metadata: _metadata }, _fullWidth_initializers, _fullWidth_extraInitializers);
123
128
  __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
124
129
  __esDecorate(this, null, _iconPosition_decorators, { kind: "accessor", name: "iconPosition", static: false, private: false, access: { has: obj => "iconPosition" in obj, get: obj => obj.iconPosition, set: (obj, value) => { obj.iconPosition = value; } }, metadata: _metadata }, _iconPosition_initializers, _iconPosition_extraInitializers);
125
130
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
@@ -160,7 +165,16 @@ let DeesButton = (() => {
160
165
  #insideForm_accessor_storage = (__runInitializers(this, _shape_extraInitializers), __runInitializers(this, _insideForm_initializers, false));
161
166
  get insideForm() { return this.#insideForm_accessor_storage; }
162
167
  set insideForm(value) { this.#insideForm_accessor_storage = value; }
163
- #icon_accessor_storage = (__runInitializers(this, _insideForm_extraInitializers), __runInitializers(this, _icon_initializers, void 0));
168
+ #fullWidth_accessor_storage = (__runInitializers(this, _insideForm_extraInitializers), __runInitializers(this, _fullWidth_initializers, false));
169
+ /**
170
+ * stretches the inner button face to the host width.
171
+ * The host is `inline-block`, so `width: 100%` on the host alone leaves the
172
+ * `inline-flex` face shrink-wrapped. Opt in for stacked, full-bleed actions
173
+ * (login cards, sheets, empty states).
174
+ */
175
+ get fullWidth() { return this.#fullWidth_accessor_storage; }
176
+ set fullWidth(value) { this.#fullWidth_accessor_storage = value; }
177
+ #icon_accessor_storage = (__runInitializers(this, _fullWidth_extraInitializers), __runInitializers(this, _icon_initializers, void 0));
164
178
  get icon() { return this.#icon_accessor_storage; }
165
179
  set icon(value) { this.#icon_accessor_storage = value; }
166
180
  #iconPosition_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _iconPosition_initializers, 'left'));
@@ -168,7 +182,6 @@ let DeesButton = (() => {
168
182
  set iconPosition(value) { this.#iconPosition_accessor_storage = value; }
169
183
  constructor() {
170
184
  super();
171
- __runInitializers(this, _iconPosition_extraInitializers);
172
185
  }
173
186
  async connectedCallback() {
174
187
  await super.connectedCallback();
@@ -205,6 +218,26 @@ let DeesButton = (() => {
205
218
  display: none;
206
219
  }
207
220
 
221
+ :host([full-width]) {
222
+ display: block;
223
+ width: 100%;
224
+ }
225
+
226
+ /* A full-width button is sized by its container, so its label has to yield rather
227
+ than spill out of the face when the container is narrower than the text. */
228
+ :host([full-width]) .button {
229
+ width: 100%;
230
+ min-width: 0;
231
+ overflow: hidden;
232
+ }
233
+
234
+ :host([full-width]) .textbox {
235
+ min-width: 0;
236
+ overflow: hidden;
237
+ text-overflow: ellipsis;
238
+ white-space: nowrap;
239
+ }
240
+
208
241
  /* Form spacing styles */
209
242
  :host([inside-form]) {
210
243
  margin-bottom: var(--dees-spacing-lg);
@@ -444,10 +477,30 @@ let DeesButton = (() => {
444
477
  display: none;
445
478
  }
446
479
 
447
- /* Focus state */
480
+ /* Focus state.
481
+ The base .button rule sets outline:none for the pointer path; the ring is restored
482
+ here for :focus-visible only, so a mouse press never leaves a ring behind while
483
+ keyboard focus is always visible. This rule is the focus affordance keyboard users
484
+ actually see — do not remove it alongside the base outline:none. */
448
485
  .button:focus-visible {
449
- outline: 2px solid var(--dees-color-focus-ring);
486
+ /* Deliberately NOT --dees-color-focus-ring: that token is a 0.45/0.55 alpha, which
487
+ composites to 1.85:1 (bright) and 2.31:1 (dark) against the surface behind the
488
+ button — under the 3:1 that WCAG 2.2 SC 1.4.11 requires of a focus indicator, and
489
+ effectively invisible as a navy hairline on a dark canvas. The opaque accent
490
+ measures 4.02:1 bright / 5.76:1 dark. Raising the alpha on the shared token would
491
+ fix every other control too and is the wider change. */
492
+ outline: 2px solid var(--dees-color-accent-primary);
450
493
  outline-offset: 2px;
494
+ /* The indicator has to appear at once. The base .button rule carries
495
+ transition:all, which animates outline-color up from its initial currentColor —
496
+ measured as ~50ms of a near-white ring on a bright accent face, i.e. briefly
497
+ invisible right when the user needs it. Only the focused state opts out. */
498
+ transition: none;
499
+ }
500
+
501
+ /* A disabled face is removed from the tab order, so it should never show a ring. */
502
+ .button.disabled:focus-visible {
503
+ outline: none;
451
504
  }
452
505
 
453
506
  /* Loading spinner */
@@ -553,7 +606,14 @@ let DeesButton = (() => {
553
606
  class="button ${this.isHidden ? 'hidden' : ''} ${actualType} size-${actualSize} shape-${this.shape} ${this.status} ${this.disabled
554
607
  ? 'disabled'
555
608
  : ''}"
609
+ role="button"
610
+ tabindex=${this.disabled ? -1 : 0}
611
+ aria-disabled=${this.disabled ? 'true' : 'false'}
612
+ aria-busy=${this.status === 'pending' ? 'true' : 'false'}
613
+ .ariaLabel=${showText ? null : this.text || null}
556
614
  @click="${this.dispatchClick}"
615
+ @keydown=${this.handleKeydown}
616
+ @keyup=${this.handleKeyup}
557
617
  >
558
618
  ${this.status === 'normal' ? html `` : html `
559
619
  <dees-spinner
@@ -579,6 +639,69 @@ let DeesButton = (() => {
579
639
  bubbles: true,
580
640
  }));
581
641
  }
642
+ /** the inner face — the element that actually carries focus */
643
+ get faceElement() {
644
+ return this.shadowRoot?.querySelector('.button') || null;
645
+ }
646
+ /**
647
+ * States in which the button must not react to input. `disabled` is obvious; the status
648
+ * faces matter too, because `.button.pending / .success / .error` already set
649
+ * `pointer-events: none` and keyboard activation has to refuse the same interactions a
650
+ * mouse cannot make.
651
+ */
652
+ get isInert() {
653
+ return this.disabled || this.status !== 'normal';
654
+ }
655
+ /**
656
+ * Focus lives on the inner face inside the shadow root, so `host.focus()` has to forward
657
+ * or it is a silent no-op. Note that `dees-form-submit.focus()` is deliberately *not*
658
+ * wired to this — that method submits the form, and dees-form depends on it.
659
+ */
660
+ focus(optionsArg) {
661
+ const face = this.faceElement;
662
+ if (face) {
663
+ face.focus(optionsArg);
664
+ return;
665
+ }
666
+ super.focus(optionsArg);
667
+ }
668
+ blur() {
669
+ this.faceElement?.blur();
670
+ super.blur();
671
+ }
672
+ handleKeydown = (__runInitializers(this, _iconPosition_extraInitializers), (eventArg) => {
673
+ if (eventArg.key === ' ' || eventArg.key === 'Spacebar') {
674
+ // Native buttons activate Space on keyup. Swallow the keydown so the page cannot
675
+ // scroll underneath the focused button.
676
+ eventArg.preventDefault();
677
+ return;
678
+ }
679
+ if (eventArg.key === 'Enter') {
680
+ eventArg.preventDefault();
681
+ this.activateFromKeyboard();
682
+ }
683
+ });
684
+ handleKeyup = (eventArg) => {
685
+ if (eventArg.key === ' ' || eventArg.key === 'Spacebar') {
686
+ eventArg.preventDefault();
687
+ this.activateFromKeyboard();
688
+ }
689
+ };
690
+ /**
691
+ * Keyboard activation goes through a real click rather than dispatching `clicked`
692
+ * directly, exactly as a native button does. Several catalog components bind `@click` on
693
+ * dees-button instead of `@clicked` (dees-workspace-diff-editor, the profile picture
694
+ * modal), and both listener styles have to keep working from the keyboard.
695
+ *
696
+ * `pointer-events: none` does not block a programmatic `click()`, so inertness is
697
+ * enforced here rather than left to CSS.
698
+ */
699
+ activateFromKeyboard() {
700
+ if (this.isInert) {
701
+ return;
702
+ }
703
+ this.faceElement?.click();
704
+ }
582
705
  async firstUpdated() {
583
706
  // Extract light DOM content (icon + text) and set as properties
584
707
  this.extractLightDom();
@@ -590,4 +713,4 @@ let DeesButton = (() => {
590
713
  return DeesButton = _classThis;
591
714
  })();
592
715
  export { DeesButton };
593
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1idXR0b24vZGVlcy1idXR0b24vZGVlcy1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRLEVBRVIsVUFBVSxFQUNWLEdBQUcsRUFFSCxTQUFTLEdBQ1YsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztJQVN6QyxVQUFVOzRCQUR0QixhQUFhLENBQUMsYUFBYSxDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQW5CLFNBQVEsV0FBVzs7OztnQ0FJeEMsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLFVBQVU7d0JBQ1IsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztpQkFDRixDQUFDOzJDQUdELFFBQVEsRUFBRTtvQ0FHVixRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQztvQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87aUJBQ2QsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztrQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztpQ0FR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
716
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1idXR0b24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90c193ZWIvZWxlbWVudHMvMDBncm91cC1idXR0b24vZGVlcy1idXR0b24vZGVlcy1idXR0b24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLE9BQU8sRUFDTCxhQUFhLEVBQ2IsSUFBSSxFQUNKLFdBQVcsRUFDWCxRQUFRLEVBRVIsVUFBVSxFQUNWLEdBQUcsRUFFSCxTQUFTLEdBQ1YsTUFBTSw2QkFBNkIsQ0FBQztBQUVyQyxPQUFPLEtBQUssUUFBUSxNQUFNLDhCQUE4QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztJQVN6QyxVQUFVOzRCQUR0QixhQUFhLENBQUMsYUFBYSxDQUFDOzs7O3NCQUNHLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7MEJBQW5CLFNBQVEsV0FBVzs7OztnQ0FJeEMsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJO29CQUNiLFVBQVU7d0JBQ1IsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQztpQkFDRixDQUFDOzJDQUdELFFBQVEsRUFBRTtvQ0FHVixRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87b0JBQ2IsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQztvQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE9BQU87aUJBQ2QsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztnQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztrQ0FHRCxRQUFRLENBQUM7b0JBQ1IsSUFBSSxFQUFFLE1BQU07aUJBQ2IsQ0FBQztp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
@@ -97,6 +97,10 @@ let DeesSpinner = (() => {
97
97
  display: block;
98
98
  }
99
99
 
100
+ /* --dees-spinner-color lets a spinner on a coloured surface (an accent button face,
101
+ a toast) match that surface's foreground. It is read as an inherited fallback
102
+ rather than declared on :host, because a :host declaration would outrank the
103
+ value an ancestor sets. Unset consumers keep the previous token. */
100
104
  #loading {
101
105
  position: relative;
102
106
  transition: none;
@@ -104,9 +108,14 @@ let DeesSpinner = (() => {
104
108
  justify-content: center;
105
109
  align-content: center;
106
110
  background: transparent;
107
- border: 3px solid color-mix(in srgb, var(--dees-color-text-primary) 20%, transparent);
111
+ border: 3px solid
112
+ color-mix(
113
+ in srgb,
114
+ var(--dees-spinner-color, var(--dees-color-text-primary)) 20%,
115
+ transparent
116
+ );
108
117
  border-radius: 50%;
109
- border-top-color: var(--dees-color-text-primary);
118
+ border-top-color: var(--dees-spinner-color, var(--dees-color-text-primary));
110
119
  animation: spin 1s ease-in-out infinite;
111
120
  -webkit-animation: spin 1s ease-in-out infinite;
112
121
  }
@@ -187,4 +196,4 @@ let DeesSpinner = (() => {
187
196
  return DeesSpinner = _classThis;
188
197
  })();
189
198
  export { DeesSpinner };
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zcGlubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZmVlZGJhY2svZGVlcy1zcGlubmVyL2RlZXMtc3Bpbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLFFBQVEsRUFFUixVQUFVLEVBQ1YsR0FBRyxFQUVILFNBQVMsR0FDVixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsV0FBVzs0QkFEdkIsYUFBYSxDQUFDLGNBQWMsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7OzJCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBVXpDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDOytCQUdELFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2tDQUdELFFBQVEsRUFBRTtZQVBYLGlLQUFTLElBQUksNkJBQUosSUFBSSxtRkFBTTtZQUtuQiw4SkFBUyxHQUFHLDZCQUFILEdBQUcsaUZBQWtCO1lBRzlCLHVLQUFTLE1BQU0sNkJBQU4sTUFBTSx1RkFBd0Q7WUFyQnpFLDZLQXNIQzs7OztRQXJIUSxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7eUJBSVIsRUFBRTswQkFDRCxFQUFFO0dBQ3pCLENBQUM7UUFLRixxRUFBZ0IsRUFBRSxFQUFDO1FBQW5CLElBQVMsSUFBSSwwQ0FBTTtRQUFuQixJQUFTLElBQUksZ0RBQU07UUFLbkIsc0hBQXdCLEtBQUssR0FBQztRQUE5QixJQUFTLEdBQUcseUNBQWtCO1FBQTlCLElBQVMsR0FBRywrQ0FBa0I7UUFHOUIsMkhBQThELFFBQVEsR0FBQztRQUF2RSxJQUFTLE1BQU0sNENBQXdEO1FBQXZFLElBQVMsTUFBTSxrREFBd0Q7UUFFdkU7WUFDRSxLQUFLLEVBQUUsQ0FBQzs7U0FDVDtRQUVNLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsa0JBQWtCO1lBQ2xCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0F3REY7U0FDRixDQUFDO1FBRUYsTUFBTTtZQUNKLE9BQU8sSUFBSSxDQUFBOzs7bUJBR0ksSUFBSSxDQUFDLElBQUk7b0JBQ1IsSUFBSSxDQUFDLElBQUk7OzttQkFHVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDOzs7O21CQUk5RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsOEJBQThCOzs7dUJBR3hFLElBQUksQ0FBQyxJQUFJOzs7b0JBR1osSUFBSSxDQUFDLE1BQU07VUFDckIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM5QixPQUFPLElBQUksQ0FBQSxzRUFBc0Usb0JBQW9CLGVBQWUsQ0FBQztnQkFDdkgsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ25DLE9BQVEsSUFBSSxDQUFBLG9CQUFvQixnQkFBZ0IsZUFBZSxDQUFDO2dCQUNsRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQUU7O0tBRVAsQ0FBQztRQUNKLENBQUM7O1lBckhVLHVEQUFXOzs7OztTQUFYLFdBQVcifQ==
199
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1zcGlubmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtZmVlZGJhY2svZGVlcy1zcGlubmVyL2RlZXMtc3Bpbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLFFBQVEsRUFFUixVQUFVLEVBQ1YsR0FBRyxFQUVILFNBQVMsR0FDVixNQUFNLDZCQUE2QixDQUFDO0FBRXJDLE9BQU8sS0FBSyxRQUFRLE1BQU0sOEJBQThCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsV0FBVzs0QkFEdkIsYUFBYSxDQUFDLGNBQWMsQ0FBQzs7OztzQkFDRyxXQUFXOzs7Ozs7Ozs7OzJCQUFuQixTQUFRLFdBQVc7Ozs7Z0NBVXpDLFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDOytCQUdELFFBQVEsQ0FBQztvQkFDUixJQUFJLEVBQUUsTUFBTTtpQkFDYixDQUFDO2tDQUdELFFBQVEsRUFBRTtZQVBYLGlLQUFTLElBQUksNkJBQUosSUFBSSxtRkFBTTtZQUtuQiw4SkFBUyxHQUFHLDZCQUFILEdBQUcsaUZBQWtCO1lBRzlCLHVLQUFTLE1BQU0sNkJBQU4sTUFBTSx1RkFBd0Q7WUFyQnpFLDZLQStIQzs7OztRQTlIUSxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDakMsTUFBTSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUE7Ozs7eUJBSVIsRUFBRTswQkFDRCxFQUFFO0dBQ3pCLENBQUM7UUFLRixxRUFBZ0IsRUFBRSxFQUFDO1FBQW5CLElBQVMsSUFBSSwwQ0FBTTtRQUFuQixJQUFTLElBQUksZ0RBQU07UUFLbkIsc0hBQXdCLEtBQUssR0FBQztRQUE5QixJQUFTLEdBQUcseUNBQWtCO1FBQTlCLElBQVMsR0FBRywrQ0FBa0I7UUFHOUIsMkhBQThELFFBQVEsR0FBQztRQUF2RSxJQUFTLE1BQU0sNENBQXdEO1FBQXZFLElBQVMsTUFBTSxrREFBd0Q7UUFFdkU7WUFDRSxLQUFLLEVBQUUsQ0FBQzs7U0FDVDtRQUVNLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsa0JBQWtCO1lBQ2xCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7S0FpRUY7U0FDRixDQUFDO1FBRUYsTUFBTTtZQUNKLE9BQU8sSUFBSSxDQUFBOzs7bUJBR0ksSUFBSSxDQUFDLElBQUk7b0JBQ1IsSUFBSSxDQUFDLElBQUk7OzttQkFHVixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDOzs7O21CQUk5RSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUMsOEJBQThCOzs7dUJBR3hFLElBQUksQ0FBQyxJQUFJOzs7b0JBR1osSUFBSSxDQUFDLE1BQU07VUFDckIsQ0FBQyxHQUFHLEVBQUU7Z0JBQ04sSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLFNBQVMsRUFBRSxDQUFDO29CQUM5QixPQUFPLElBQUksQ0FBQSxzRUFBc0Usb0JBQW9CLGVBQWUsQ0FBQztnQkFDdkgsQ0FBQztxQkFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7b0JBQ25DLE9BQVEsSUFBSSxDQUFBLG9CQUFvQixnQkFBZ0IsZUFBZSxDQUFDO2dCQUNsRSxDQUFDO1lBQ0gsQ0FBQyxDQUFDLEVBQUU7O0tBRVAsQ0FBQztRQUNKLENBQUM7O1lBOUhVLHVEQUFXOzs7OztTQUFYLFdBQVcifQ==
@@ -14,10 +14,19 @@ export declare class DeesFormSubmit extends DeesElement {
14
14
  accessor size: 'sm' | 'default' | 'lg' | 'icon' | 'small' | 'normal' | 'large';
15
15
  accessor icon: string;
16
16
  accessor iconPosition: 'left' | 'right';
17
+ /** stretches the button face to the full host width — see dees-button.fullWidth */
18
+ accessor fullWidth: boolean;
17
19
  constructor();
18
20
  static styles: import("@design.estate/dees-element").CSSResult[];
19
21
  render(): TemplateResult;
20
22
  firstUpdated(): Promise<void>;
21
23
  submit(): Promise<void>;
24
+ /**
25
+ * NOT a focus method despite the name — it submits. `dees-form.addBehaviours()` calls
26
+ * `getSubmitButton()?.focus()` when Enter is pressed in the last field, and that is the
27
+ * catalog's "Enter submits the form" behaviour. Renaming it would break every form, so it
28
+ * stays; keyboard *focus* reaches the submit through the inner dees-button face, which
29
+ * carries its own tabindex.
30
+ */
22
31
  focus(): Promise<void>;
23
32
  }
@@ -62,6 +62,9 @@ let DeesFormSubmit = (() => {
62
62
  let _iconPosition_decorators;
63
63
  let _iconPosition_initializers = [];
64
64
  let _iconPosition_extraInitializers = [];
65
+ let _fullWidth_decorators;
66
+ let _fullWidth_initializers = [];
67
+ let _fullWidth_extraInitializers = [];
65
68
  var DeesFormSubmit = class extends _classSuper {
66
69
  static { _classThis = this; }
67
70
  static {
@@ -73,6 +76,7 @@ let DeesFormSubmit = (() => {
73
76
  _size_decorators = [property({ type: String, reflect: true })];
74
77
  _icon_decorators = [property({ type: String })];
75
78
  _iconPosition_decorators = [property({ type: String })];
79
+ _fullWidth_decorators = [property({ type: Boolean, reflect: true, attribute: 'full-width' })];
76
80
  __esDecorate(this, null, _disabled_decorators, { kind: "accessor", name: "disabled", static: false, private: false, access: { has: obj => "disabled" in obj, get: obj => obj.disabled, set: (obj, value) => { obj.disabled = value; } }, metadata: _metadata }, _disabled_initializers, _disabled_extraInitializers);
77
81
  __esDecorate(this, null, _text_decorators, { kind: "accessor", name: "text", static: false, private: false, access: { has: obj => "text" in obj, get: obj => obj.text, set: (obj, value) => { obj.text = value; } }, metadata: _metadata }, _text_initializers, _text_extraInitializers);
78
82
  __esDecorate(this, null, _status_decorators, { kind: "accessor", name: "status", static: false, private: false, access: { has: obj => "status" in obj, get: obj => obj.status, set: (obj, value) => { obj.status = value; } }, metadata: _metadata }, _status_initializers, _status_extraInitializers);
@@ -80,6 +84,7 @@ let DeesFormSubmit = (() => {
80
84
  __esDecorate(this, null, _size_decorators, { kind: "accessor", name: "size", static: false, private: false, access: { has: obj => "size" in obj, get: obj => obj.size, set: (obj, value) => { obj.size = value; } }, metadata: _metadata }, _size_initializers, _size_extraInitializers);
81
85
  __esDecorate(this, null, _icon_decorators, { kind: "accessor", name: "icon", static: false, private: false, access: { has: obj => "icon" in obj, get: obj => obj.icon, set: (obj, value) => { obj.icon = value; } }, metadata: _metadata }, _icon_initializers, _icon_extraInitializers);
82
86
  __esDecorate(this, null, _iconPosition_decorators, { kind: "accessor", name: "iconPosition", static: false, private: false, access: { has: obj => "iconPosition" in obj, get: obj => obj.iconPosition, set: (obj, value) => { obj.iconPosition = value; } }, metadata: _metadata }, _iconPosition_initializers, _iconPosition_extraInitializers);
87
+ __esDecorate(this, null, _fullWidth_decorators, { kind: "accessor", name: "fullWidth", static: false, private: false, access: { has: obj => "fullWidth" in obj, get: obj => obj.fullWidth, set: (obj, value) => { obj.fullWidth = value; } }, metadata: _metadata }, _fullWidth_initializers, _fullWidth_extraInitializers);
83
88
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
84
89
  DeesFormSubmit = _classThis = _classDescriptor.value;
85
90
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -110,9 +115,13 @@ let DeesFormSubmit = (() => {
110
115
  #iconPosition_accessor_storage = (__runInitializers(this, _icon_extraInitializers), __runInitializers(this, _iconPosition_initializers, 'left'));
111
116
  get iconPosition() { return this.#iconPosition_accessor_storage; }
112
117
  set iconPosition(value) { this.#iconPosition_accessor_storage = value; }
118
+ #fullWidth_accessor_storage = (__runInitializers(this, _iconPosition_extraInitializers), __runInitializers(this, _fullWidth_initializers, false));
119
+ /** stretches the button face to the full host width — see dees-button.fullWidth */
120
+ get fullWidth() { return this.#fullWidth_accessor_storage; }
121
+ set fullWidth(value) { this.#fullWidth_accessor_storage = value; }
113
122
  constructor() {
114
123
  super();
115
- __runInitializers(this, _iconPosition_extraInitializers);
124
+ __runInitializers(this, _fullWidth_extraInitializers);
116
125
  }
117
126
  static styles = [
118
127
  themeDefaultStyles,
@@ -121,6 +130,12 @@ let DeesFormSubmit = (() => {
121
130
  :host {
122
131
  display: inline-block;
123
132
  }
133
+ /* The host has to stretch too, or forwarding fullWidth only widens the face inside a
134
+ still shrink-wrapped host and the property looks broken. */
135
+ :host([full-width]) {
136
+ display: block;
137
+ width: 100%;
138
+ }
124
139
  dees-button {
125
140
  width: 100%;
126
141
  }
@@ -135,6 +150,7 @@ let DeesFormSubmit = (() => {
135
150
  .icon=${this.icon}
136
151
  .iconPosition=${this.iconPosition}
137
152
  .text=${this.text}
153
+ .fullWidth=${this.fullWidth}
138
154
  ?disabled=${this.disabled}
139
155
  @clicked=${this.submit}
140
156
  ></dees-button>
@@ -162,6 +178,13 @@ let DeesFormSubmit = (() => {
162
178
  parentFormElement.gatherAndDispatch();
163
179
  }
164
180
  }
181
+ /**
182
+ * NOT a focus method despite the name — it submits. `dees-form.addBehaviours()` calls
183
+ * `getSubmitButton()?.focus()` when Enter is pressed in the last field, and that is the
184
+ * catalog's "Enter submits the form" behaviour. Renaming it would break every form, so it
185
+ * stays; keyboard *focus* reaches the submit through the inner dees-button face, which
186
+ * carries its own tabindex.
187
+ */
165
188
  async focus() {
166
189
  const domtools = await this.domtoolsPromise;
167
190
  if (!this.disabled) {
@@ -176,4 +199,4 @@ let DeesFormSubmit = (() => {
176
199
  return DeesFormSubmit = _classThis;
177
200
  })();
178
201
  export { DeesFormSubmit };
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1mb3JtLXN1Ym1pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWZvcm0vZGVlcy1mb3JtLXN1Ym1pdC9kZWVzLWZvcm0tc3VibWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztvQ0FRNUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBRzFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQ0FHekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBR3pDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt3Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1lBakIzQiw2S0FBUyxRQUFRLDZCQUFSLFFBQVEs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
202
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1mb3JtLXN1Ym1pdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3RzX3dlYi9lbGVtZW50cy8wMGdyb3VwLWZvcm0vZGVlcy1mb3JtLXN1Ym1pdC9kZWVzLWZvcm0tc3VibWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdEQsT0FBTyxFQUNMLGFBQWEsRUFDYixJQUFJLEVBQ0osV0FBVyxFQUNYLEdBQUcsRUFDSCxVQUFVLEVBQ1YsUUFBUSxHQUVULE1BQU0sNkJBQTZCLENBQUM7QUFFckMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7SUFTekMsY0FBYzs0QkFEMUIsYUFBYSxDQUFDLGtCQUFrQixDQUFDOzs7O3NCQUNFLFdBQVc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OEJBQW5CLFNBQVEsV0FBVzs7OztvQ0FRNUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBRzFDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztrQ0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO2dDQUcxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQztnQ0FHekMsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0NBR3pDLFFBQVEsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQzt3Q0FHMUIsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO3FDQUkxQixRQUFRLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDO1lBckJwRSw2S0FBUyxRQUFRLDZCQUFSLFFBQVEsMkZBQVM7WUFHMUIsaUtBQVMsSUFBSSw2QkFBSixJQUFJLG1GQUFVO1lBR3ZCLHVLQUFTLE1BQU0sNkJBQU4sTUFBTSx1RkFBd0Q7WUFHdkUsaUtBQVMsSUFBSSw2QkFBSixJQUFJLG1GQUFnSjtZQUc3SixpS0FBUyxJQUFJLDZCQUFKLElBQUksbUZBQThFO1lBRzNGLGlLQUFTLElBQUksNkJBQUosSUFBSSxtRkFBVTtZQUd2Qix5TEFBUyxZQUFZLDZCQUFaLFlBQVksbUdBQTRCO1lBSWpELGdMQUFTLFNBQVMsNkJBQVQsU0FBUyw2RkFBa0I7WUEvQnRDLDZLQThHQzs7OztRQTdHUSxNQUFNLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN2QixNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBTzlDLDZFQUFvQixLQUFLLEVBQUM7UUFMMUIsZ0RBQWdEO1FBQ2hELCtDQUErQztRQUMvQyxnREFBZ0Q7UUFHaEQsSUFBUyxRQUFRLDhDQUFTO1FBQTFCLElBQVMsUUFBUSxvREFBUztRQUcxQixxSUFBdUI7UUFBdkIsSUFBUyxJQUFJLDBDQUFVO1FBQXZCLElBQVMsSUFBSSxnREFBVTtRQUd2Qiw0SEFBOEQsUUFBUSxHQUFDO1FBQXZFLElBQVMsTUFBTSw0Q0FBd0Q7UUFBdkUsSUFBUyxNQUFNLGtEQUF3RDtRQUd2RSwwSEFBbUosU0FBUyxHQUFDO1FBQTdKLElBQVMsSUFBSSwwQ0FBZ0o7UUFBN0osSUFBUyxJQUFJLGdEQUFnSjtRQUc3Six3SEFBaUYsU0FBUyxHQUFDO1FBQTNGLElBQVMsSUFBSSwwQ0FBOEU7UUFBM0YsSUFBUyxJQUFJLGdEQUE4RTtRQUczRixpSUFBdUI7UUFBdkIsSUFBUyxJQUFJLDBDQUFVO1FBQXZCLElBQVMsSUFBSSxnREFBVTtRQUd2Qix3SUFBMEMsTUFBTSxHQUFDO1FBQWpELElBQVMsWUFBWSxrREFBNEI7UUFBakQsSUFBUyxZQUFZLHdEQUE0QjtRQUlqRCwwSUFBOEIsS0FBSyxHQUFDO1FBRnBDLG1GQUFtRjtRQUVuRixJQUFTLFNBQVMsK0NBQWtCO1FBQXBDLElBQVMsU0FBUyxxREFBa0I7UUFFcEM7WUFDRSxLQUFLLEVBQUUsQ0FBQzs7U0FDVDtRQUVNLE1BQU0sQ0FBQyxNQUFNLEdBQUc7WUFDckIsa0JBQWtCO1lBQ2xCLFVBQVUsQ0FBQyxhQUFhO1lBQ3hCLEdBQUcsQ0FBQTs7Ozs7Ozs7Ozs7OztLQWFGO1NBQ0YsQ0FBQztRQUVLLE1BQU07WUFDWCxPQUFPLElBQUksQ0FBQTs7a0JBRUcsSUFBSSxDQUFDLE1BQU07Z0JBQ2IsSUFBSSxDQUFDLElBQUk7Z0JBQ1QsSUFBSSxDQUFDLElBQUk7Z0JBQ1QsSUFBSSxDQUFDLElBQUk7d0JBQ0QsSUFBSSxDQUFDLFlBQVk7Z0JBQ3pCLElBQUksQ0FBQyxJQUFJO3FCQUNKLElBQUksQ0FBQyxTQUFTO29CQUNmLElBQUksQ0FBQyxRQUFRO21CQUNkLElBQUksQ0FBQyxNQUFNOztLQUV6QixDQUFDO1FBQ0osQ0FBQztRQUVNLEtBQUssQ0FBQyxZQUFZO1lBQ3ZCLHdFQUF3RTtZQUN4RSwwRUFBMEU7WUFDMUUsdUVBQXVFO1lBQ3ZFLDhDQUE4QztZQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNmLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzFDLElBQUksUUFBUSxFQUFFLENBQUM7b0JBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7Z0JBQ3ZCLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVNLEtBQUssQ0FBQyxNQUFNO1lBQ2pCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNsQixPQUFPO1lBQ1QsQ0FBQztZQUNELDZEQUE2RDtZQUM3RCxNQUFNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFhLENBQUM7WUFDaEUsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO2dCQUM3RCxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3hDLENBQUM7UUFDSCxDQUFDO1FBRUQ7Ozs7OztXQU1HO1FBQ0ksS0FBSyxDQUFDLEtBQUs7WUFDaEIsTUFBTSxRQUFRLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDO1lBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ25CLE1BQU0sUUFBUSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNsRCxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDaEIsQ0FBQztRQUNILENBQUM7O1lBN0dVLHVEQUFjOzs7OztTQUFkLGNBQWMifQ==
@@ -20,9 +20,24 @@ export declare class DeesInputText extends DeesInputBase {
20
20
  };
21
21
  accessor vintegrated: boolean;
22
22
  accessor validConfirmed: boolean;
23
+ /**
24
+ * autofill hint forwarded to the inner input element.
25
+ * Empty by default, which renders no `autocomplete` attribute at all — byte-identical to
26
+ * this component before the property existed. Set it to a concrete token list to help
27
+ * password managers (`'username'`, `'current-password'`, `'one-time-code'`) or to opt an
28
+ * input into WebAuthn conditional mediation (`'username webauthn'`).
29
+ */
30
+ accessor autocomplete: string;
23
31
  private validTimeout;
24
32
  static styles: import("@design.estate/dees-element").CSSResult[];
25
33
  render(): TemplateResult;
34
+ /**
35
+ * `autocomplete` is applied imperatively rather than bound in the template so that the
36
+ * default renders no attribute at all. Binding it would emit `autocomplete=""` on every
37
+ * text input in the catalog, and an empty or `on` value is not universally equivalent to
38
+ * an absent one across browser and password-manager heuristics.
39
+ */
40
+ updated(_changedProperties: Map<string, any>): void;
26
41
  firstUpdated(): void;
27
42
  updateValue(eventArg: Event): Promise<void>;
28
43
  getContextMenuItems(): ({
@@ -68,6 +68,9 @@ let DeesInputText = (() => {
68
68
  let _validConfirmed_decorators;
69
69
  let _validConfirmed_initializers = [];
70
70
  let _validConfirmed_extraInitializers = [];
71
+ let _autocomplete_decorators;
72
+ let _autocomplete_initializers = [];
73
+ let _autocomplete_extraInitializers = [];
71
74
  var DeesInputText = class extends _classSuper {
72
75
  static { _classThis = this; }
73
76
  static {
@@ -97,6 +100,7 @@ let DeesInputText = (() => {
97
100
  reflect: true,
98
101
  })];
99
102
  _validConfirmed_decorators = [property({ attribute: false })];
103
+ _autocomplete_decorators = [property({ type: String })];
100
104
  __esDecorate(this, null, _value_decorators, { kind: "accessor", name: "value", static: false, private: false, access: { has: obj => "value" in obj, get: obj => obj.value, set: (obj, value) => { obj.value = value; } }, metadata: _metadata }, _value_initializers, _value_extraInitializers);
101
105
  __esDecorate(this, null, _isPasswordBool_decorators, { kind: "accessor", name: "isPasswordBool", static: false, private: false, access: { has: obj => "isPasswordBool" in obj, get: obj => obj.isPasswordBool, set: (obj, value) => { obj.isPasswordBool = value; } }, metadata: _metadata }, _isPasswordBool_initializers, _isPasswordBool_extraInitializers);
102
106
  __esDecorate(this, null, _showPasswordBool_decorators, { kind: "accessor", name: "showPasswordBool", static: false, private: false, access: { has: obj => "showPasswordBool" in obj, get: obj => obj.showPasswordBool, set: (obj, value) => { obj.showPasswordBool = value; } }, metadata: _metadata }, _showPasswordBool_initializers, _showPasswordBool_extraInitializers);
@@ -105,6 +109,7 @@ let DeesInputText = (() => {
105
109
  __esDecorate(this, null, _validationFunction_decorators, { kind: "accessor", name: "validationFunction", static: false, private: false, access: { has: obj => "validationFunction" in obj, get: obj => obj.validationFunction, set: (obj, value) => { obj.validationFunction = value; } }, metadata: _metadata }, _validationFunction_initializers, _validationFunction_extraInitializers);
106
110
  __esDecorate(this, null, _vintegrated_decorators, { kind: "accessor", name: "vintegrated", static: false, private: false, access: { has: obj => "vintegrated" in obj, get: obj => obj.vintegrated, set: (obj, value) => { obj.vintegrated = value; } }, metadata: _metadata }, _vintegrated_initializers, _vintegrated_extraInitializers);
107
111
  __esDecorate(this, null, _validConfirmed_decorators, { kind: "accessor", name: "validConfirmed", static: false, private: false, access: { has: obj => "validConfirmed" in obj, get: obj => obj.validConfirmed, set: (obj, value) => { obj.validConfirmed = value; } }, metadata: _metadata }, _validConfirmed_initializers, _validConfirmed_extraInitializers);
112
+ __esDecorate(this, null, _autocomplete_decorators, { kind: "accessor", name: "autocomplete", static: false, private: false, access: { has: obj => "autocomplete" in obj, get: obj => obj.autocomplete, set: (obj, value) => { obj.autocomplete = value; } }, metadata: _metadata }, _autocomplete_initializers, _autocomplete_extraInitializers);
108
113
  __esDecorate(null, _classDescriptor = { value: _classThis }, _classDecorators, { kind: "class", name: _classThis.name, metadata: _metadata }, null, _classExtraInitializers);
109
114
  DeesInputText = _classThis = _classDescriptor.value;
110
115
  if (_metadata) Object.defineProperty(_classThis, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
@@ -136,7 +141,17 @@ let DeesInputText = (() => {
136
141
  #validConfirmed_accessor_storage = (__runInitializers(this, _vintegrated_extraInitializers), __runInitializers(this, _validConfirmed_initializers, false));
137
142
  get validConfirmed() { return this.#validConfirmed_accessor_storage; }
138
143
  set validConfirmed(value) { this.#validConfirmed_accessor_storage = value; }
139
- validTimeout = __runInitializers(this, _validConfirmed_extraInitializers);
144
+ #autocomplete_accessor_storage = (__runInitializers(this, _validConfirmed_extraInitializers), __runInitializers(this, _autocomplete_initializers, ''));
145
+ /**
146
+ * autofill hint forwarded to the inner input element.
147
+ * Empty by default, which renders no `autocomplete` attribute at all — byte-identical to
148
+ * this component before the property existed. Set it to a concrete token list to help
149
+ * password managers (`'username'`, `'current-password'`, `'one-time-code'`) or to opt an
150
+ * input into WebAuthn conditional mediation (`'username webauthn'`).
151
+ */
152
+ get autocomplete() { return this.#autocomplete_accessor_storage; }
153
+ set autocomplete(value) { this.#autocomplete_accessor_storage = value; }
154
+ validTimeout = __runInitializers(this, _autocomplete_extraInitializers);
140
155
  static styles = [
141
156
  themeDefaultStyles,
142
157
  ...DeesInputBase.baseStyles,
@@ -390,6 +405,25 @@ let DeesInputText = (() => {
390
405
  </div>
391
406
  `;
392
407
  }
408
+ /**
409
+ * `autocomplete` is applied imperatively rather than bound in the template so that the
410
+ * default renders no attribute at all. Binding it would emit `autocomplete=""` on every
411
+ * text input in the catalog, and an empty or `on` value is not universally equivalent to
412
+ * an absent one across browser and password-manager heuristics.
413
+ */
414
+ updated(_changedProperties) {
415
+ super.updated(_changedProperties);
416
+ const input = this.shadowRoot?.querySelector('input');
417
+ if (!input) {
418
+ return;
419
+ }
420
+ if (this.autocomplete) {
421
+ input.setAttribute('autocomplete', this.autocomplete);
422
+ }
423
+ else {
424
+ input.removeAttribute('autocomplete');
425
+ }
426
+ }
393
427
  firstUpdated() {
394
428
  if (this.validationFunction && this.value) {
395
429
  const result = this.validationFunction(this.value);
@@ -504,4 +538,4 @@ let DeesInputText = (() => {
504
538
  return DeesInputText = _classThis;
505
539
  })();
506
540
  export { DeesInputText };
507
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaW5wdXQvZGVlcy1pbnB1dC10ZXh0L2RlZXMtaW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE9BQU8sRUFDTCxhQUFhLEVBRWIsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLEdBQUcsR0FDSixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sNERBQTRELENBQUM7SUFTdkQsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGlCQUFpQixDQUFDOzs7O3NCQUNFLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkJBQXJCLFNBQVEsV0FBYTs7OztpQ0FLN0MsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7NENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MkNBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJQUFJ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
541
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVlcy1pbnB1dC10ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdHNfd2ViL2VsZW1lbnRzLzAwZ3JvdXAtaW5wdXQvZGVlcy1pbnB1dC10ZXh0L2RlZXMtaW5wdXQtdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxLQUFLLE1BQU0sTUFBTSxtQkFBbUIsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBRXJELE9BQU8sRUFDTCxhQUFhLEVBRWIsUUFBUSxFQUNSLEtBQUssRUFDTCxJQUFJLEVBQ0osVUFBVSxFQUNWLEdBQUcsR0FDSixNQUFNLDZCQUE2QixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RELE9BQU8sNERBQTRELENBQUM7SUFTdkQsYUFBYTs0QkFEekIsYUFBYSxDQUFDLGlCQUFpQixDQUFDOzs7O3NCQUNFLGFBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7NkJBQXJCLFNBQVEsV0FBYTs7OztpQ0FLN0MsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7NENBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxPQUFPO29CQUNiLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MkNBR0QsUUFBUSxDQUFDO29CQUNSLElBQUksRUFBRSxNQUFNO29CQUNaLE9BQU8sRUFBRSxJQUFJO2lCQUNkLENBQUM7MENBR0QsUUFBUSxDQUFDO29CQUNSLE9BQU8sRUFBRSxJ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