@swiftwc/ui 0.0.0-dev.94 → 0.0.0-dev.96

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 (90) hide show
  1. package/generated/client/index.js +7 -7
  2. package/generated/components/alert-dialog.d.ts +1 -1
  3. package/generated/components/alert-dialog.js +1 -1
  4. package/generated/components/body-view.d.ts +1 -1
  5. package/generated/components/body-view.js +1 -1
  6. package/generated/components/confirmation-dialog.d.ts +1 -2
  7. package/generated/components/confirmation-dialog.js +1 -2
  8. package/generated/components/content-unavailable.js +11 -11
  9. package/generated/components/date-picker.js +17 -17
  10. package/generated/components/disclosure-group.d.ts +4 -1
  11. package/generated/components/disclosure-group.js +5 -1
  12. package/generated/components/fine-tooltip.js +2 -1
  13. package/generated/components/form-view.d.ts +2 -0
  14. package/generated/components/form-view.js +2 -0
  15. package/generated/components/h-stack.d.ts +2 -2
  16. package/generated/components/h-stack.js +2 -2
  17. package/generated/components/image-view.d.ts +4 -0
  18. package/generated/components/image-view.js +7 -2
  19. package/generated/components/label-view.d.ts +7 -3
  20. package/generated/components/label-view.js +14 -10
  21. package/generated/components/labeled-content.d.ts +13 -0
  22. package/generated/components/labeled-content.js +26 -12
  23. package/generated/components/list-view.d.ts +2 -0
  24. package/generated/components/list-view.js +2 -0
  25. package/generated/components/menu-view.js +12 -12
  26. package/generated/components/navigation-large-title.d.ts +7 -0
  27. package/generated/components/navigation-large-title.js +7 -0
  28. package/generated/components/navigation-split-view.d.ts +1 -1
  29. package/generated/components/navigation-split-view.js +1 -1
  30. package/generated/components/navigation-stack.d.ts +1 -1
  31. package/generated/components/navigation-stack.js +1 -1
  32. package/generated/components/navigation-title.d.ts +5 -0
  33. package/generated/components/navigation-title.js +7 -1
  34. package/generated/components/picker-view.d.ts +1 -1
  35. package/generated/components/picker-view.js +51 -50
  36. package/generated/components/progress-view.d.ts +1 -1
  37. package/generated/components/progress-view.js +21 -20
  38. package/generated/components/scroll-view-proxy.d.ts +1 -1
  39. package/generated/components/scroll-view-proxy.js +1 -1
  40. package/generated/components/scroll-view.d.ts +2 -0
  41. package/generated/components/scroll-view.js +16 -14
  42. package/generated/components/section-view.js +11 -11
  43. package/generated/components/sheet-view.d.ts +3 -0
  44. package/generated/components/sheet-view.js +3 -0
  45. package/generated/components/sidebar-toggle.d.ts +3 -0
  46. package/generated/components/sidebar-toggle.js +3 -0
  47. package/generated/components/sidebar-view.d.ts +3 -0
  48. package/generated/components/sidebar-view.js +3 -0
  49. package/generated/components/tab-bar.d.ts +1 -1
  50. package/generated/components/tab-bar.js +1 -1
  51. package/generated/components/tab-item.d.ts +3 -0
  52. package/generated/components/tab-item.js +3 -0
  53. package/generated/components/tab-view.d.ts +1 -0
  54. package/generated/components/tab-view.js +1 -0
  55. package/generated/components/table-view.d.ts +1 -1
  56. package/generated/components/table-view.js +35 -35
  57. package/generated/components/text-field.d.ts +2 -0
  58. package/generated/components/text-field.js +16 -14
  59. package/generated/components/toggle-view.js +30 -13
  60. package/generated/components/tool-bar-item-group.d.ts +1 -1
  61. package/generated/components/tool-bar-item-group.js +1 -1
  62. package/generated/components/tool-bar-item.d.ts +1 -1
  63. package/generated/components/tool-bar-item.js +1 -1
  64. package/generated/components/tool-bar.d.ts +1 -1
  65. package/generated/components/tool-bar.js +28 -28
  66. package/generated/components/v-stack.d.ts +2 -2
  67. package/generated/components/v-stack.js +2 -2
  68. package/generated/internal/utils/cash/index.d.ts +4 -3
  69. package/generated/internal/utils/cash/index.js +4 -2
  70. package/generated/internal/utils/ensure-placeholder.js +2 -1
  71. package/generated/morphdom/index.d.ts +4 -2
  72. package/generated/morphdom/index.js +4 -2
  73. package/generated/morphdom/morph.d.ts +2 -2
  74. package/generated/morphdom/morph.js +3 -2
  75. package/generated/morphdom/query-morph.d.ts +2 -2
  76. package/generated/morphdom/query-morph.js +1 -1
  77. package/generated/morphdom/render-to-string.d.ts +12 -0
  78. package/generated/morphdom/render-to-string.js +48 -0
  79. package/generated/morphdom/unsafe-html.d.ts +2 -0
  80. package/generated/morphdom/unsafe-html.js +4 -0
  81. package/generated/tpl/html.js +4 -0
  82. package/generated/tpl/index.d.ts +2 -0
  83. package/generated/tpl/index.js +2 -0
  84. package/generated/tpl/is-template-result.d.ts +3 -0
  85. package/generated/tpl/is-template-result.js +1 -0
  86. package/package.json +6 -4
  87. package/web-components.css-data/en.json +28 -0
  88. package/web-components.html-data/en.json +179 -117
  89. package/generated/morphdom/html.d.ts +0 -8
  90. package/generated/morphdom/html.js +0 -37
@@ -7,7 +7,13 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var NavigationTitle_1;
8
8
  import { microtaskOnConnected } from '../internal/decorators';
9
9
  import { devFlags } from '../internal/utils';
10
- import { html, queryMorph } from '../morphdom';
10
+ import { queryMorph } from '../morphdom';
11
+ import { html } from '../tpl';
12
+ /**
13
+ * @summary A container view.
14
+ *
15
+ * @attr {boolean} padding
16
+ */
11
17
  let NavigationTitle = NavigationTitle_1 = class NavigationTitle extends HTMLElement {
12
18
  static get observedAttributes() {
13
19
  return ['value', 'subtitle', 'system-image', 'system-image-weight'];
@@ -14,7 +14,7 @@ export type Dictionary = DictEntry[];
14
14
  *
15
15
  * @attr {menu|inline|navigation-link|sheet|automatic} picker-style
16
16
  *
17
- * @attr {string} help — Adds a help tooltip to the trigger of the picker, if style supports one
17
+ * @attr help — Adds a help tooltip to the trigger of the picker, if style supports one
18
18
  *
19
19
  * @attr {DictEntry[]} dictionary — Renders all options using this array
20
20
  *
@@ -6,7 +6,7 @@ import { MutationObserverSet } from '../internal/class/mutation-observer-set';
6
6
  import { NavigationPath } from '../internal/class/navigation-path';
7
7
  import { queryInsertPosition, startViewTransition } from '../internal/privateNamespace';
8
8
  import { $, devFlags, kebabCase, onoff } from '../internal/utils';
9
- import { html as htmx, queryMorph } from '../morphdom';
9
+ import { queryMorph } from '../morphdom';
10
10
  import { html, render } from '../tpl';
11
11
  const pickerStyles = ['menu', 'inline', 'navigation-link', 'sheet', 'automatic'];
12
12
  const update = (path, node, overwrite = true) => {
@@ -120,7 +120,7 @@ const collectLeafValues = (node) => (node.children.length ? node.children.flatMa
120
120
  *
121
121
  * @attr {menu|inline|navigation-link|sheet|automatic} picker-style
122
122
  *
123
- * @attr {string} help — Adds a help tooltip to the trigger of the picker, if style supports one
123
+ * @attr help — Adds a help tooltip to the trigger of the picker, if style supports one
124
124
  *
125
125
  * @attr {DictEntry[]} dictionary — Renders all options using this array
126
126
  *
@@ -173,7 +173,7 @@ export class PickerView extends FormAssociatedBase {
173
173
  #spawnPage = (elements, tag, parentGroupId, searchable = false, title) => {
174
174
  if (devFlags.debug)
175
175
  console.debug(`${_a.name} #spawnPage`);
176
- const body = $(`<${'sheet-view' === tag ? 'dialog is="sheet-view"' : 'body-view'}><scroll-view><v-stack placement="leading fill"><list-view preferred-expanded-style="inset"></list-view></v-stack></scroll-view><tool-bar><tool-bar-item slot="top-bar-leading"><button type="button" tabindex="0"><label-view system-image="${'sheet-view' === tag ? 'x' : 'caret-left'}"></label-view></button></tool-bar-item></tool-bar></${'sheet-view' === tag ? 'dialog' : 'body-view'}>`, '>1'), sv = body.querySelector('scroll-view'), list = body.querySelector('list-view'), backBtn = body.querySelector('button');
176
+ const body = $(html `<${'sheet-view' === tag ? 'dialog is="sheet-view"' : 'body-view'}><scroll-view><v-stack placement="leading fill"><list-view preferred-expanded-style="inset"></list-view></v-stack></scroll-view><tool-bar><tool-bar-item slot="top-bar-leading"><button type="button" tabindex="0"><label-view system-image="${'sheet-view' === tag ? 'x' : 'caret-left'}"></label-view></button></tool-bar-item></tool-bar></${'sheet-view' === tag ? 'dialog' : 'body-view'}>`, '>1'), sv = body.querySelector('scroll-view'), list = body.querySelector('list-view'), backBtn = body.querySelector('button');
177
177
  if (title)
178
178
  sv?.setAttribute('navigation-inline-title', title);
179
179
  if (searchable) {
@@ -372,7 +372,7 @@ export class PickerView extends FormAssociatedBase {
372
372
  case 'sheet':
373
373
  case 'navigation-link': {
374
374
  // current value label only
375
- const currentValueLabel = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(`<label-view></label-view>`, '>1'));
375
+ const currentValueLabel = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(html `<label-view></label-view>`, '>1'));
376
376
  // reset state
377
377
  // if (currentValueLabel) {
378
378
  // renderLabelIcon(currentValueLabel, 'dots-three') // overwritten
@@ -406,7 +406,7 @@ export class PickerView extends FormAssociatedBase {
406
406
  break;
407
407
  }
408
408
  case 'menu': {
409
- const menu = this.querySelector(':scope>menu-view:not([slot])') ?? this.appendChild($(`<menu-view></menu-view>`, '>1'));
409
+ const menu = this.querySelector(':scope>menu-view:not([slot])') ?? this.appendChild($(html `<menu-view></menu-view>`, '>1'));
410
410
  // reset state
411
411
  menu.innerHTML = '';
412
412
  menu.tabIndex = 0;
@@ -414,7 +414,7 @@ export class PickerView extends FormAssociatedBase {
414
414
  for (const el of this.querySelectorAll(':scope>:not([slot])'))
415
415
  if (menu !== el)
416
416
  el.remove();
417
- const currentValueLabel = menu.querySelector(':scope>label-view[slot=label]') ?? menu.appendChild($(`<label-view slot="label"></label-view>`, '>1'));
417
+ const currentValueLabel = menu.querySelector(':scope>label-view[slot=label]') ?? menu.appendChild($(html `<label-view slot="label"></label-view>`, '>1'));
418
418
  // if (currentValueLabel) {
419
419
  // renderLabelIcon(currentValueLabel, 'dots-three') // overwritten
420
420
  // renderLabelTitle(currentValueLabel, this.#currentValueLabel) // overwritten
@@ -426,8 +426,8 @@ export class PickerView extends FormAssociatedBase {
426
426
  }
427
427
  case 'inline':
428
428
  default: {
429
- const sectionTpl = `<section-view></section-view>`;
430
- const inlineList = this.querySelector(':scope>list-view:not([slot])') ?? this.appendChild($(`<list-view>${sectionTpl}</list-view>`, '>1')), section = inlineList.querySelector(':scope>section-view') ?? inlineList.appendChild($(sectionTpl, '>1'));
429
+ const sectionTpl = html `<section-view></section-view>`;
430
+ const inlineList = this.querySelector(':scope>list-view:not([slot])') ?? this.appendChild($(html `<list-view>${sectionTpl}</list-view>`, '>1')), section = inlineList.querySelector(':scope>section-view') ?? inlineList.appendChild($(sectionTpl, '>1'));
431
431
  // reset state
432
432
  section.innerHTML = '';
433
433
  // clear all siblings
@@ -437,8 +437,10 @@ export class PickerView extends FormAssociatedBase {
437
437
  // add label as a plain element
438
438
  const value = this.getAttribute(this.constructor.ATTR.LABEL);
439
439
  if (value) {
440
- const hStack = $(`<h-stack distribution="leading" template="auto spacer"><label-view data-role="check" style="visibility: hidden"><image-view slot="icon" system-name="check"></image-view></label-view><label-view><span></span></label-view></h-stack>`, '>1');
441
- queryMorph('label-view:nth-child(2)', htmx `<label-view>${value ? htmx `<span>${value}</span>` : null}</label-view>`, hStack);
440
+ const hStack = $(html `<h-stack distribution="leading" template="auto spacer"
441
+ ><label-view data-role="check" style="visibility: hidden"><image-view slot="icon" system-name="check"></image-view></label-view><label-view><span></span></label-view
442
+ ></h-stack>`, '>1');
443
+ queryMorph('label-view:nth-child(2)', html `<label-view>${value ? html `<span>${value}</span>` : null}</label-view>`, hStack);
442
444
  // if (label) renderLabelTitle(label, value) //label.setAttribute('title', value)
443
445
  section.insertAdjacentElement('beforeend', hStack);
444
446
  }
@@ -503,32 +505,32 @@ export class PickerView extends FormAssociatedBase {
503
505
  switch (this.pickerStyle) {
504
506
  case 'sheet':
505
507
  case 'navigation-link':
506
- _a.#templates.set(this.pickerStyle, $(String.raw `
507
- <label part="root picker-stack">
508
- <div part="root picker-label-stack">
509
- <slot name="label"></slot>
510
- </div>
511
- <div part="root picker-input-stack">
512
- <slot></slot>
513
- </div>
514
- <slot name="list" hidden></slot>
515
- <slot name="validity-options" hidden></slot>
516
- </label>
517
- `));
508
+ _a.#templates.set(this.pickerStyle, $(html `
509
+ <label part="root picker-stack">
510
+ <div part="root picker-label-stack">
511
+ <slot name="label"></slot>
512
+ </div>
513
+ <div part="root picker-input-stack">
514
+ <slot></slot>
515
+ </div>
516
+ <slot name="list" hidden></slot>
517
+ <slot name="validity-options" hidden></slot>
518
+ </label>
519
+ `));
518
520
  break;
519
521
  case 'menu':
520
- _a.#templates.set(this.pickerStyle, $(String.raw `
521
- <label part="root picker-stack">
522
- <div part="root picker-label-stack">
523
- <slot name="label"></slot>
524
- </div>
525
- <div part="root picker-input-stack">
526
- <slot></slot>
527
- </div>
528
- <slot name="list" hidden></slot>
529
- <slot name="validity-options" hidden></slot>
530
- </label>
531
- `));
522
+ _a.#templates.set(this.pickerStyle, $(html `
523
+ <label part="root picker-stack">
524
+ <div part="root picker-label-stack">
525
+ <slot name="label"></slot>
526
+ </div>
527
+ <div part="root picker-input-stack">
528
+ <slot></slot>
529
+ </div>
530
+ <slot name="list" hidden></slot>
531
+ <slot name="validity-options" hidden></slot>
532
+ </label>
533
+ `));
532
534
  // break
533
535
  // case 'compact':
534
536
  // PickerView.#templates.set(
@@ -577,17 +579,16 @@ export class PickerView extends FormAssociatedBase {
577
579
  // break
578
580
  case 'inline':
579
581
  default:
580
- _a.#templates.set(this.pickerStyle, $(String.raw `
581
- <label part="root picker-stack">
582
- <div part="root picker-label-stack">
583
- <slot name="label"></slot>
584
- </div>
585
- <div part="root picker-input-stack">
586
- <slot></slot>
587
- </div>
588
- <slot name="list" hidden></slot>
589
- <slot name="validity-options" hidden></slot>
590
- </label>`));
582
+ _a.#templates.set(this.pickerStyle, $(html ` <label part="root picker-stack">
583
+ <div part="root picker-label-stack">
584
+ <slot name="label"></slot>
585
+ </div>
586
+ <div part="root picker-input-stack">
587
+ <slot></slot>
588
+ </div>
589
+ <slot name="list" hidden></slot>
590
+ <slot name="validity-options" hidden></slot>
591
+ </label>`));
591
592
  break;
592
593
  }
593
594
  return _a.#templates.get(this.pickerStyle);
@@ -985,7 +986,7 @@ export class PickerView extends FormAssociatedBase {
985
986
  #reflectLabel(value) {
986
987
  if (devFlags.debug)
987
988
  console.debug(`${_a.name} #reflectLabel`);
988
- queryMorph('[slot=label]', htmx `<label-view slot="label">${value ? htmx `<span>${value}</span>` : null}</label-view>`, this);
989
+ queryMorph('[slot=label]', html `<label-view slot="label">${value ? html `<span>${value}</span>` : null}</label-view>`, this);
989
990
  this.#renderSlotted([]);
990
991
  }
991
992
  #reflectSelectionOnButtons() {
@@ -1033,8 +1034,8 @@ export class PickerView extends FormAssociatedBase {
1033
1034
  // if (!cvl) currentValueLabel.setAttribute('foreground', 'secondary')
1034
1035
  // else currentValueLabel.removeAttribute('foreground')
1035
1036
  const title = this.#currentValueLabel || this.#selection || this.getAttribute(this.constructor.ATTR.PLACEHOLDER), systemImage = this.#currentValueIcon || this.getAttribute(this.constructor.ATTR.PLACEHOLDER_ICON);
1036
- queryMorph(':not([slot])', htmx `<span>${title}</span>`, currentValueLabel, { removeIf: !title });
1037
- queryMorph('[slot=icon]', htmx `<image-view slot="icon" system-name="${systemImage}"></image-view>`, currentValueLabel, { removeIf: !systemImage });
1037
+ queryMorph(':not([slot])', html `<span>${title}</span>`, currentValueLabel, { removeIf: !title });
1038
+ queryMorph('[slot=icon]', html `<image-view slot="icon" system-name="${systemImage}"></image-view>`, currentValueLabel, { removeIf: !systemImage });
1038
1039
  // morph(
1039
1040
  // htmx`<label-view>${systemImage ? htmx`<image-view slot="icon" system-name="${systemImage}"></image-view>` : null}${title ? htmx`<span>${title}</span>` : null}</label-view>`,
1040
1041
  // currentValueLabel
@@ -1048,8 +1049,8 @@ export class PickerView extends FormAssociatedBase {
1048
1049
  // if (!cvl) currentValueLabel.setAttribute('foreground', 'secondary')
1049
1050
  // else currentValueLabel.removeAttribute('foreground')
1050
1051
  const title = this.#currentValueLabel || this.#selection || this.getAttribute(this.constructor.ATTR.PLACEHOLDER), systemImage = this.#currentValueIcon || this.getAttribute(this.constructor.ATTR.PLACEHOLDER_ICON);
1051
- queryMorph(':not([slot])', htmx `<span>${title}</span>`, currentValueLabel, { removeIf: !title });
1052
- queryMorph('[slot=icon]', htmx `<image-view slot="icon" system-name="${systemImage}"></image-view>`, currentValueLabel, { removeIf: !systemImage });
1052
+ queryMorph(':not([slot])', html `<span>${title}</span>`, currentValueLabel, { removeIf: !title });
1053
+ queryMorph('[slot=icon]', html `<image-view slot="icon" system-name="${systemImage}"></image-view>`, currentValueLabel, { removeIf: !systemImage });
1053
1054
  // morph(
1054
1055
  // htmx`<label-view slot="label">${systemImage ? htmx`<image-view slot="icon" system-name="${systemImage}"></image-view>` : null}${title ? htmx`<span>${title}</span>` : null}</label-view>`,
1055
1056
  // currentValueLabel
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @summary A view that shows the progress toward completion of a task.
2
+ * @summary A view that shows how far along a task is.
3
3
  *
4
4
  * @slot — The default slot.
5
5
  * @slot current-value
@@ -2,11 +2,12 @@ var _a;
2
2
  import { CleanupRegistry } from '../internal/class/cleanup-registry';
3
3
  import { CSSStyleObserver } from '../internal/class/css-style-observer';
4
4
  import { $, devFlags } from '../internal/utils';
5
- import { html, queryMorph } from '../morphdom';
5
+ import { queryMorph } from '../morphdom';
6
6
  import { Snapshot } from '../snapshot';
7
+ import { html } from '../tpl';
7
8
  const progressViewStyles = ['circular', 'linear'];
8
9
  /**
9
- * @summary A view that shows the progress toward completion of a task.
10
+ * @summary A view that shows how far along a task is.
10
11
  *
11
12
  * @slot — The default slot.
12
13
  * @slot current-value
@@ -28,27 +29,27 @@ export class ProgressView extends HTMLElement {
28
29
  if (!_a.#templates.has(this.progressViewStyle))
29
30
  switch (this.progressViewStyle) {
30
31
  case 'linear':
31
- _a.#templates.set(this.progressViewStyle, $(String.raw `
32
- <slot></slot>
33
- <div part="root progress-control progress-line-control"></div>
34
- <slot name="current-value"></slot>
32
+ _a.#templates.set(this.progressViewStyle, $(html `
33
+ <slot></slot>
34
+ <div part="root progress-control progress-line-control"></div>
35
+ <slot name="current-value"></slot>
35
36
  `));
36
37
  break;
37
38
  case 'circular':
38
39
  default:
39
- _a.#templates.set(this.progressViewStyle, $(String.raw `
40
- <div part="root progress-control progress-circular-control">
41
- <div part="root progress-control progress-circular-blade progress-circular-blade-1"></div>
42
- <div part="root progress-control progress-circular-blade progress-circular-blade-2"></div>
43
- <div part="root progress-control progress-circular-blade progress-circular-blade-3"></div>
44
- <div part="root progress-control progress-circular-blade progress-circular-blade-4"></div>
45
- <div part="root progress-control progress-circular-blade progress-circular-blade-5"></div>
46
- <div part="root progress-control progress-circular-blade progress-circular-blade-6"></div>
47
- <div part="root progress-control progress-circular-blade progress-circular-blade-7"></div>
48
- <div part="root progress-control progress-circular-blade progress-circular-blade-8"></div>
49
- </div>
50
- <slot></slot>
51
- <slot name="current-value"></slot>
40
+ _a.#templates.set(this.progressViewStyle, $(html `
41
+ <div part="root progress-control progress-circular-control">
42
+ <div part="root progress-control progress-circular-blade progress-circular-blade-1"></div>
43
+ <div part="root progress-control progress-circular-blade progress-circular-blade-2"></div>
44
+ <div part="root progress-control progress-circular-blade progress-circular-blade-3"></div>
45
+ <div part="root progress-control progress-circular-blade progress-circular-blade-4"></div>
46
+ <div part="root progress-control progress-circular-blade progress-circular-blade-5"></div>
47
+ <div part="root progress-control progress-circular-blade progress-circular-blade-6"></div>
48
+ <div part="root progress-control progress-circular-blade progress-circular-blade-7"></div>
49
+ <div part="root progress-control progress-circular-blade progress-circular-blade-8"></div>
50
+ </div>
51
+ <slot></slot>
52
+ <slot name="current-value"></slot>
52
53
  `));
53
54
  break;
54
55
  }
@@ -63,7 +64,7 @@ export class ProgressView extends HTMLElement {
63
64
  console.debug(`${_a.name} ⚡️ attr-change [${name}] ("${oldValue}" → "${newValue}")`);
64
65
  switch (name) {
65
66
  case 'label': {
66
- const label = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(`<label-view foreground="secondary"></label-view>`, '>1'));
67
+ const label = this.querySelector(':scope>label-view:not([slot])') ?? this.appendChild($(html `<label-view foreground="secondary"></label-view>`, '>1'));
67
68
  if (newValue) {
68
69
  label.setAttribute('title', newValue);
69
70
  }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @summary A wrapper to {hv}-stacks
2
+ * @summary A wrapper for {hv}-stacks
3
3
  */
4
4
  export declare class ScrollViewProxy extends HTMLElement {
5
5
  constructor();
@@ -1,6 +1,6 @@
1
1
  import { devFlags } from '../internal/utils';
2
2
  /**
3
- * @summary A wrapper to {hv}-stacks
3
+ * @summary A wrapper for {hv}-stacks
4
4
  */
5
5
  export class ScrollViewProxy extends HTMLElement {
6
6
  constructor() {
@@ -1,4 +1,6 @@
1
1
  /**
2
+ * @summary A view that scrolls its content when it doesn’t fit the screen.
3
+ *
2
4
  * @slot — The default slot.
3
5
  * @slot top-bar-principal
4
6
  * @slot bottom-bar-principal
@@ -3,9 +3,12 @@ import { lifecycleObserver } from '../buses';
3
3
  import { CleanupRegistry } from '../internal/class/cleanup-registry';
4
4
  import { ResizeObserverSingleton } from '../internal/class/resize-observer-singleton';
5
5
  import { $, devFlags, frame, onoff, slowHideShow } from '../internal/utils';
6
- import { html, queryMorph } from '../morphdom';
6
+ import { queryMorph } from '../morphdom';
7
+ import { html } from '../tpl';
7
8
  const observers = new ResizeObserverSingleton();
8
9
  /**
10
+ * @summary A view that scrolls its content when it doesn’t fit the screen.
11
+ *
9
12
  * @slot — The default slot.
10
13
  * @slot top-bar-principal
11
14
  * @slot bottom-bar-principal
@@ -25,18 +28,17 @@ export class ScrollView extends HTMLElement {
25
28
  }
26
29
  static #template;
27
30
  static get template() {
28
- return (this.#template ??= $(String.raw `
29
- <slot></slot>
30
- <div part="root scroll-view-navbar">
31
- <div part="root scroll-view-navbar-stack">
32
- <slot name="top-bar-principal"></slot>
33
- </div>
34
- </div>
35
- <div part="root scroll-view-toolbar">
36
- <div part="root scroll-view-toolbar-stack">
37
- <slot name="bottom-bar-principal"></slot>
38
- </div>
39
- </div>`));
31
+ return (this.#template ??= $(html `<slot></slot>
32
+ <div part="root scroll-view-navbar">
33
+ <div part="root scroll-view-navbar-stack">
34
+ <slot name="top-bar-principal"></slot>
35
+ </div>
36
+ </div>
37
+ <div part="root scroll-view-toolbar">
38
+ <div part="root scroll-view-toolbar-stack">
39
+ <slot name="bottom-bar-principal"></slot>
40
+ </div>
41
+ </div>`));
40
42
  }
41
43
  #shadowRoot;
42
44
  #slots = new Map();
@@ -228,7 +230,7 @@ export class ScrollView extends HTMLElement {
228
230
  // const container = ((vs = this.querySelector<HTMLElement>(':scope>v-stack') ?? (this.appendChild($(`<v-stack></v-stack>`, '>1')) as HTMLElement)) =>
229
231
  // vs.querySelector<HTMLElement>(':scope>navigation-title:not([slot])') ??
230
232
  // vs.appendChild($(html`<navigation-title value="${title}" subtitle="${subtitle}" system-image="${icon}" padding></navigation-title>`.toString(), '>1')))()
231
- const container = this.querySelector(':scope>v-stack') ?? this.appendChild($(`<v-stack></v-stack>`, '>1'));
233
+ const container = this.querySelector(':scope>v-stack') ?? this.appendChild($(html `<v-stack></v-stack>`, '>1'));
232
234
  queryMorph('navigation-title:not([slot])', html `<navigation-title value="${title}" subtitle="${subtitle}" system-image="${icon}" padding></navigation-title>`, container);
233
235
  };
234
236
  }
@@ -1,5 +1,6 @@
1
1
  import { $, devFlags } from '../internal/utils';
2
- import { html, queryMorph } from '../morphdom';
2
+ import { queryMorph } from '../morphdom';
3
+ import { html } from '../tpl';
3
4
  /**
4
5
  * @summary A container view that groups related content together.
5
6
  *
@@ -13,16 +14,15 @@ export class SectionView extends HTMLElement {
13
14
  }
14
15
  static #template;
15
16
  static get template() {
16
- return (this.#template ??= $(String.raw `
17
- <div part="root section-main-stack">
18
- <slot></slot>
19
- </div>
20
- <div part="root section-header-stack">
21
- <slot name="header"></slot>
22
- </div>
23
- <div part="root section-footer-stack">
24
- <slot name="footer"></slot>
25
- </div>`));
17
+ return (this.#template ??= $(html `<div part="root section-main-stack">
18
+ <slot></slot>
19
+ </div>
20
+ <div part="root section-header-stack">
21
+ <slot name="header"></slot>
22
+ </div>
23
+ <div part="root section-footer-stack">
24
+ <slot name="footer"></slot>
25
+ </div>`));
26
26
  // <div class="sticky-sentinel" style="grid-area:sentinel;inline-size:100%;block-size:0.1px;pointer-events:none;"></div>
27
27
  }
28
28
  #shadowRoot;
@@ -1,4 +1,7 @@
1
1
  import { DialogBase } from '../namespace-browser/base';
2
+ /**
3
+ * @summary A dialog that slides up over the current screen.
4
+ */
2
5
  export declare class SheetView extends DialogBase {
3
6
  #private;
4
7
  constructor();
@@ -1,6 +1,9 @@
1
1
  import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
2
  import { devFlags, onoff } from '../internal/utils';
3
3
  import { DialogBase } from '../namespace-browser/base';
4
+ /**
5
+ * @summary A dialog that slides up over the current screen.
6
+ */
4
7
  export class SheetView extends DialogBase {
5
8
  constructor() {
6
9
  super();
@@ -1,3 +1,6 @@
1
+ /**
2
+ * @summary A control that shows or hides the sidebar view.
3
+ */
1
4
  export declare class SidebarToggle extends HTMLElement {
2
5
  #private;
3
6
  constructor();
@@ -3,6 +3,9 @@ import { CleanupRegistry } from '../internal/class/cleanup-registry';
3
3
  import { ResizeObserverSingleton } from '../internal/class/resize-observer-singleton';
4
4
  import { debounce, devFlags, onoff } from '../internal/utils';
5
5
  const observers = new ResizeObserverSingleton();
6
+ /**
7
+ * @summary A control that shows or hides the sidebar view.
8
+ */
6
9
  export class SidebarToggle extends HTMLElement {
7
10
  constructor() {
8
11
  super();
@@ -1,4 +1,7 @@
1
1
  import { DialogBase } from '../namespace-browser/base';
2
+ /**
3
+ * @summary A container view that arranges navigation destinations in a single column.
4
+ */
2
5
  export declare class SidebarView extends DialogBase {
3
6
  #private;
4
7
  constructor();
@@ -1,6 +1,9 @@
1
1
  import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
2
  import { devFlags, onoff, touchGlass } from '../internal/utils';
3
3
  import { DialogBase } from '../namespace-browser/base';
4
+ /**
5
+ * @summary A container view that arranges navigation destinations in a single column.
6
+ */
4
7
  export class SidebarView extends DialogBase {
5
8
  constructor() {
6
9
  super();
@@ -1,6 +1,6 @@
1
1
  import { DialogBase } from '../namespace-browser/base';
2
2
  /**
3
- * @summary A screen that lets users switch between different views using buttons, tabs, or other controls.
3
+ * @summary A container view that groups tab-items together along the top or bottom of the screen.
4
4
  */
5
5
  export declare class TabBar extends DialogBase {
6
6
  #private;
@@ -2,7 +2,7 @@ import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
2
  import { devFlags, onoff, touchGlass } from '../internal/utils';
3
3
  import { DialogBase } from '../namespace-browser/base';
4
4
  /**
5
- * @summary A screen that lets users switch between different views using buttons, tabs, or other controls.
5
+ * @summary A container view that groups tab-items together along the top or bottom of the screen.
6
6
  */
7
7
  export class TabBar extends DialogBase {
8
8
  constructor() {
@@ -1,4 +1,7 @@
1
1
  import { ButtonBase } from '../namespace-browser/base';
2
+ /**
3
+ * @summary A control that switches the tab view to this tab.
4
+ */
2
5
  export declare class TabItem extends ButtonBase {
3
6
  #private;
4
7
  constructor();
@@ -2,6 +2,9 @@ import { CleanupRegistry } from '../internal/class/cleanup-registry';
2
2
  import { devFlags, onoff } from '../internal/utils';
3
3
  import { ButtonBase } from '../namespace-browser/base';
4
4
  import { TabView } from './tab-view';
5
+ /**
6
+ * @summary A control that switches the tab view to this tab.
7
+ */
5
8
  export class TabItem extends ButtonBase {
6
9
  constructor() {
7
10
  super();
@@ -3,6 +3,7 @@ import { type NavigationStack } from './navigation-stack';
3
3
  declare const TAB_BAR_PLACEMENTS: readonly ["bottom-bar", "ornament", "sidebar", "top-bar"];
4
4
  export type TabBarPlacement = (typeof TAB_BAR_PLACEMENTS)[number];
5
5
  /**
6
+ * @summary A container view that switches between screens using tabs.
6
7
  *
7
8
  * @cssprop --adaptable-tab-bar-placement
8
9
  *
@@ -6,6 +6,7 @@ import { $, cssTime, debounce, devFlags, frame, onoff, timeout } from '../intern
6
6
  import { Snapshot } from '../snapshot';
7
7
  const TAB_BAR_PLACEMENTS = ['bottom-bar', 'ornament', 'sidebar', 'top-bar'];
8
8
  /**
9
+ * @summary A container view that switches between screens using tabs.
9
10
  *
10
11
  * @cssprop --adaptable-tab-bar-placement
11
12
  *
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @summary Display selectable, sortable data arranged in rows and columns.
2
+ * @summary A container view that arranges data in rows and columns, optionally letting the user select one or more of them.
3
3
  *
4
4
  * @attr {title:trailing:subtitle|trailing:title:subtitle|title:subtitle:trailing|*} preferred-compact-template — Sets the template areas when the table is in compact mode
5
5
  *