@vollowx/seele 0.14.3 → 0.14.4

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 (82) hide show
  1. package/README.md +6 -5
  2. package/package.json +5 -5
  3. package/src/all.d.ts +2 -0
  4. package/src/all.js +2 -0
  5. package/src/base/anchor.d.ts +21 -0
  6. package/src/base/anchor.js +60 -0
  7. package/src/base/autocomplete.d.ts +2 -2
  8. package/src/base/composed-menu.d.ts +2 -2
  9. package/src/base/composed-menu.js +6 -3
  10. package/src/base/controllers/list-controller.d.ts +1 -1
  11. package/src/base/controllers/list-controller.js +1 -1
  12. package/src/base/dialog.d.ts +1 -1
  13. package/src/base/dialog.js +2 -0
  14. package/src/base/input.d.ts +1 -1
  15. package/src/base/list.d.ts +1 -1
  16. package/src/base/menu.d.ts +1 -1
  17. package/src/base/menu.js +2 -1
  18. package/src/base/mixins/internals-attached.d.ts +1 -1
  19. package/src/base/mixins/internals-attached.js +4 -1
  20. package/src/base/popup.d.ts +1 -1
  21. package/src/base/select.d.ts +5 -6
  22. package/src/base/slider.d.ts +1 -1
  23. package/src/base/tab-panel.d.ts +1 -1
  24. package/src/base/tab.d.ts +1 -1
  25. package/src/base/tabs.d.ts +1 -1
  26. package/src/base/tooltip.d.ts +1 -1
  27. package/src/base/tooltip.js +3 -5
  28. package/src/core/ensure-ready.js +1 -1
  29. package/src/m3/autocomplete/autocomplete.d.ts +1 -1
  30. package/src/m3/badge/badge.d.ts +2 -2
  31. package/src/m3/button/common-button-link.d.ts +30 -0
  32. package/src/m3/button/common-button-link.js +62 -0
  33. package/src/m3/button/common-button-toggle.d.ts +1 -1
  34. package/src/m3/button/common-button.d.ts +2 -2
  35. package/src/m3/button/common-button.js +1 -0
  36. package/src/m3/button/icon-button-link.d.ts +24 -0
  37. package/src/m3/button/icon-button-link.js +53 -0
  38. package/src/m3/button/icon-button-toggle.d.ts +1 -1
  39. package/src/m3/button/icon-button.d.ts +1 -1
  40. package/src/m3/button/shared-button-link-styles.css.js +2 -0
  41. package/src/m3/button-group/connected-button-group.d.ts +1 -1
  42. package/src/m3/button-group/standard-button-group.d.ts +7 -2
  43. package/src/m3/button-group/standard-button-group.js +3 -1
  44. package/src/m3/checkbox/checkbox-styles.css.js +1 -1
  45. package/src/m3/checkbox/checkbox.d.ts +3 -3
  46. package/src/m3/dialog/dialog.d.ts +20 -18
  47. package/src/m3/dialog/dialog.js +135 -85
  48. package/src/m3/fab/fab.d.ts +1 -1
  49. package/src/m3/field/field.d.ts +7 -12
  50. package/src/m3/field/field.js +5 -10
  51. package/src/m3/field/filled-field.d.ts +1 -1
  52. package/src/m3/field/outlined-field.d.ts +2 -2
  53. package/src/m3/focus-ring/focus-ring.js +3 -2
  54. package/src/m3/item/item.d.ts +3 -3
  55. package/src/m3/item/item.js +2 -3
  56. package/src/m3/list/list-item.d.ts +3 -3
  57. package/src/m3/list/list-item.js +2 -2
  58. package/src/m3/loading/loading.d.ts +2 -2
  59. package/src/m3/loading/loading.js +1 -1
  60. package/src/m3/navigation/navigation-rail-item.d.ts +3 -3
  61. package/src/m3/navigation/navigation-rail-item.js +2 -1
  62. package/src/m3/navigation/navigation-rail.d.ts +1 -1
  63. package/src/m3/progress/circular-progress.d.ts +1 -1
  64. package/src/m3/progress/linear-progress.d.ts +1 -1
  65. package/src/m3/radio/radio-styles.css.js +1 -1
  66. package/src/m3/radio/radio.d.ts +2 -2
  67. package/src/m3/ripple/ripple.js +3 -0
  68. package/src/m3/select/filled-select.d.ts +1 -1
  69. package/src/m3/select/outlined-select.d.ts +1 -1
  70. package/src/m3/select/select.d.ts +1 -1
  71. package/src/m3/slider/slider.d.ts +1 -1
  72. package/src/m3/switch/switch.d.ts +5 -5
  73. package/src/m3/tab/tab.d.ts +3 -4
  74. package/src/m3/tab/tab.js +2 -4
  75. package/src/m3/text-field/filled-text-field.d.ts +1 -1
  76. package/src/m3/text-field/outlined-text-field.d.ts +1 -1
  77. package/src/m3/toolbar/toolbar.d.ts +1 -1
  78. package/src/win98/button/button.d.ts +1 -1
  79. package/src/base/field.d.ts +0 -3
  80. package/src/base/field.js +0 -3
  81. package/src/base/item.d.ts +0 -7
  82. package/src/base/item.js +0 -7
@@ -19,8 +19,8 @@ let M3ListItem = class M3ListItem extends ListItem {
19
19
  constructor() {
20
20
  super();
21
21
  this.updateComplete.then(() => {
22
- this.$ripple.$control = this;
23
- this.$focusRing.$control = this;
22
+ this.$ripple.attach(this);
23
+ this.$focusRing.attach(this);
24
24
  });
25
25
  }
26
26
  updated(changed) {
@@ -17,9 +17,9 @@ declare const M3Loading_base: Constructor<import("../../base/mixins/internals-at
17
17
  export declare class M3Loading extends M3Loading_base {
18
18
  #private;
19
19
  contained: boolean;
20
- $canvas: HTMLCanvasElement;
20
+ $canvas: HTMLCanvasElement | null;
21
21
  static styles: any[];
22
- render(): import("lit-html").TemplateResult<1>;
22
+ render(): import("lit").TemplateResult<1>;
23
23
  constructor();
24
24
  firstUpdated(): void;
25
25
  disconnectedCallback(): void;
@@ -80,7 +80,7 @@ let M3Loading = class M3Loading extends InternalsAttached(LitElement) {
80
80
  this.#color = color;
81
81
  }
82
82
  #draw(from, to, progress, rotation, scale) {
83
- if (!this.#ctx || !this.$canvas)
83
+ if (!this.#ctx)
84
84
  return;
85
85
  const ctx = this.#ctx;
86
86
  ctx.clearRect(0, 0, this.$canvas.width, this.$canvas.height);
@@ -7,10 +7,10 @@ import { type M3Ripple } from '../ripple/ripple.js';
7
7
  export declare class M3NavigationRailItem extends Button {
8
8
  label: string;
9
9
  active: boolean;
10
- $focusRing: M3FocusRing;
11
- $ripple: M3Ripple;
10
+ $focusRing: M3FocusRing | null;
11
+ $ripple: M3Ripple | null;
12
12
  static styles: any[];
13
- render(): import("lit-html").TemplateResult<1>;
13
+ render(): import("lit").TemplateResult<1>;
14
14
  updated(changed: PropertyValues): void;
15
15
  firstUpdated(): void;
16
16
  }
@@ -9,6 +9,7 @@ import { navigationRailItemStyles } from './navigation-rail-item-styles.css.js';
9
9
  let M3NavigationRailItem = class M3NavigationRailItem extends Button {
10
10
  constructor() {
11
11
  super(...arguments);
12
+ this.label = '';
12
13
  this.active = false;
13
14
  }
14
15
  static { this.styles = [navigationRailItemStyles]; }
@@ -27,7 +28,7 @@ let M3NavigationRailItem = class M3NavigationRailItem extends Button {
27
28
  }
28
29
  };
29
30
  __decorate([
30
- property({ reflect: true })
31
+ property()
31
32
  ], M3NavigationRailItem.prototype, "label", void 0);
32
33
  __decorate([
33
34
  property({ type: Boolean, reflect: true })
@@ -3,7 +3,7 @@ import { type M3NavigationRailItem } from './navigation-rail-item.js';
3
3
  export declare class M3NavigationRail extends LitElement {
4
4
  get $items(): Array<M3NavigationRailItem>;
5
5
  static styles: any[];
6
- render(): import("lit-html").TemplateResult<1>;
6
+ render(): import("lit").TemplateResult<1>;
7
7
  }
8
8
  declare global {
9
9
  interface HTMLElementTagNameMap {
@@ -10,7 +10,7 @@ import { ProgressBar } from '../../base/progressbar.js';
10
10
  */
11
11
  export declare class M3CircularProgress extends ProgressBar {
12
12
  static styles: any[];
13
- render(): import("lit-html").TemplateResult<1>;
13
+ render(): import("lit").TemplateResult<1>;
14
14
  }
15
15
  declare global {
16
16
  interface HTMLElementTagNameMap {
@@ -13,7 +13,7 @@ import { ProgressBar } from '../../base/progressbar.js';
13
13
  */
14
14
  export declare class M3LinearProgress extends ProgressBar {
15
15
  static styles: any[];
16
- render(): import("lit-html").TemplateResult<1>;
16
+ render(): import("lit").TemplateResult<1>;
17
17
  }
18
18
  declare global {
19
19
  interface HTMLElementTagNameMap {
@@ -1,2 +1,2 @@
1
1
  import { css } from 'lit';
2
- export const radioStyles = css`:host{--_d:var(--md-sys-motion-effects-default-duration);--_default:var(--_d) var(--md-sys-motion-effects-default);--_slow:var(--md-sys-motion-effects-slow-duration) var(--md-sys-motion-effects-slow);cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;border-radius:20px;outline:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;position:relative}.icon{z-index:1;width:20px;height:20px}.ring{fill:none;r:9px;stroke:var(--md-sys-color-on-surface-variant);stroke-width:2px;transition:stroke var(--_default);will-change:r, stroke-width}:host(:state(checked)) .ring{stroke:var(--md-sys-color-primary)}.dot{fill:var(--md-sys-color-primary);r:0px;will-change:r}:host(:state(checked)) .dot{r:5px}:host(:state(checking)) .ring{animation:check-ring-1 var(--_default), check-ring-2 var(--_slow) var(--_d)}:host(:state(checking)) .dot{animation:check-dot-1 var(--_default), check-dot-2 var(--_slow) var(--_d)}@keyframes check-ring-1{0%{r:9px;stroke-width:2px}to{r:4.5px;stroke-width:9px}}@keyframes check-ring-2{0%{r:8px;stroke-width:2px}to{r:9px;stroke-width:2px}}@keyframes check-dot-1{0%,to{r:0px}}@keyframes check-dot-2{0%{r:7px}to{r:5px}}:host(:state(unchecking)) .ring{animation:uncheck-ring-1 var(--_default), uncheck-ring-2 var(--_slow) var(--_d)}:host(:state(unchecking)) .dot{animation:uncheck-dot-1 var(--_default)}@keyframes uncheck-ring-1{0%{r:9px;stroke:var(--md-sys-color-primary);stroke-width:2px}to{r:8px;stroke:var(--md-sys-color-on-surface-variant);stroke-width:2px}}@keyframes uncheck-ring-2{0%{r:4.5px;stroke-width:9px}to{r:9px;stroke-width:2px}}@keyframes uncheck-dot-1{0%{fill:var(--md-sys-color-primary);r:5px}to{fill:var(--md-sys-color-on-surface-variant);r:7.5px}}:host([disabled]){pointer-events:none}:host([disabled]) .ring{stroke:oklch(from var(--md-sys-color-on-surface) l c h / 38%)}:host([disabled]) .dot{fill:oklch(from var(--md-sys-color-on-surface) l c h / 38%)}@media (forced-colors:active){:host{--md-sys-color-primary:SelectedItem;--md-sys-color-on-surface-variant:CanvasText}:host(:disabled) .ring{stroke:graytext}:host(:disabled) .dot{fill:graytext}}`;
2
+ export const radioStyles = css`:host{--_d:var(--md-sys-motion-effects-default-duration);--_default:var(--_d) var(--md-sys-motion-effects-default);--_slow:var(--md-sys-motion-effects-slow-duration) var(--md-sys-motion-effects-slow);cursor:pointer;isolation:isolate;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;outline:0;place-content:center;place-items:center;margin:10px;display:inline-grid;position:relative}.icon{z-index:1;width:20px;height:20px}.ring{fill:none;r:9px;stroke:var(--md-sys-color-on-surface-variant);stroke-width:2px;transition:stroke var(--_default);will-change:r, stroke-width}:host(:state(checked)){--_ripple-color:var(--md-sys-color-primary);& .ring{stroke:var(--md-sys-color-primary)}}.dot{fill:var(--md-sys-color-primary);r:0px;will-change:r}:host(:state(checked)) .dot{r:5px}:host(:state(checking)) .ring{animation:check-ring-1 var(--_default), check-ring-2 var(--_slow) var(--_d)}:host(:state(checking)) .dot{animation:check-dot-1 var(--_default), check-dot-2 var(--_slow) var(--_d)}@keyframes check-ring-1{0%{r:9px;stroke-width:2px}to{r:4.5px;stroke-width:9px}}@keyframes check-ring-2{0%{r:8px;stroke-width:2px}to{r:9px;stroke-width:2px}}@keyframes check-dot-1{0%,to{r:0px}}@keyframes check-dot-2{0%{r:7px}to{r:5px}}:host(:state(unchecking)) .ring{animation:uncheck-ring-1 var(--_default), uncheck-ring-2 var(--_slow) var(--_d)}:host(:state(unchecking)) .dot{animation:uncheck-dot-1 var(--_default)}@keyframes uncheck-ring-1{0%{r:9px;stroke:var(--md-sys-color-primary);stroke-width:2px}to{r:8px;stroke:var(--md-sys-color-on-surface-variant);stroke-width:2px}}@keyframes uncheck-ring-2{0%{r:4.5px;stroke-width:9px}to{r:9px;stroke-width:2px}}@keyframes uncheck-dot-1{0%{fill:var(--md-sys-color-primary);r:5px}to{fill:var(--md-sys-color-on-surface-variant);r:7.5px}}:host([disabled]){pointer-events:none}:host([disabled]) .ring{stroke:oklch(from var(--md-sys-color-on-surface) l c h / 38%)}:host([disabled]) .dot{fill:oklch(from var(--md-sys-color-on-surface) l c h / 38%)}md-focus-ring{height:44px;inset:unset;width:44px}md-ripple{--md-ripple-color:var(--_ripple-color);height:40px;inset:unset;border-radius:9999px;width:40px}@media (forced-colors:active){:host{--md-sys-color-primary:SelectedItem;--md-sys-color-on-surface-variant:CanvasText}:host(:disabled) .ring{stroke:graytext}:host(:disabled) .dot{fill:graytext}}`;
@@ -7,9 +7,9 @@ import type { M3Ripple } from '../ripple/ripple.js';
7
7
  * @tag md-radio
8
8
  */
9
9
  export declare class M3Radio extends Radio {
10
- $ripple: M3Ripple;
10
+ $ripple: M3Ripple | null;
11
11
  static styles: any[];
12
- render(): import("lit-html").TemplateResult<1>;
12
+ render(): import("lit").TemplateResult<1>;
13
13
  firstUpdated(): void;
14
14
  updated(changedProperties: PropertyValues<this>): void;
15
15
  }
@@ -62,6 +62,7 @@ let M3Ripple = class M3Ripple extends Attachable(InternalsAttached(LitElement))
62
62
  if (e.pointerType === 'mouse')
63
63
  this.#pointerDown = true;
64
64
  document.addEventListener('pointerup', this.handlePointerUp);
65
+ document.addEventListener('pointercancel', this.handlePointerUp);
65
66
  document.addEventListener('touchcancel', this.handlePointerUp);
66
67
  document.addEventListener('touchend', this.handlePointerUp);
67
68
  document.addEventListener('touchmove', this.handlePointerUp);
@@ -73,6 +74,7 @@ let M3Ripple = class M3Ripple extends Attachable(InternalsAttached(LitElement))
73
74
  this.handlePointerUp = () => {
74
75
  this.#pointerDown = false;
75
76
  document.removeEventListener('pointerup', this.handlePointerUp);
77
+ document.removeEventListener('pointercancel', this.handlePointerUp);
76
78
  document.removeEventListener('touchcancel', this.handlePointerUp);
77
79
  document.removeEventListener('touchend', this.handlePointerUp);
78
80
  document.removeEventListener('touchmove', this.handlePointerUp);
@@ -90,6 +92,7 @@ let M3Ripple = class M3Ripple extends Attachable(InternalsAttached(LitElement))
90
92
  pointerenter: { fn: this.handlePointerEnter, kbd: false },
91
93
  pointerleave: { fn: this.handlePointerLeave, kbd: false },
92
94
  pointerdown: { fn: this.handlePointerDown, kbd: false },
95
+ pointercancel: { fn: this.handlePointerUp, kbd: false },
93
96
  };
94
97
  Object.entries(eventHandlers).forEach(([eventName, { fn, kbd }]) => {
95
98
  prev?.labels?.forEach((label) => label.removeEventListener(eventName, fn));
@@ -7,7 +7,7 @@ import '../field/filled-field.js';
7
7
  */
8
8
  export declare class M3FilledSelect extends M3Select {
9
9
  static styles: any[];
10
- protected renderField(): import("lit-html").TemplateResult<1>;
10
+ protected renderField(): import("lit").TemplateResult<1>;
11
11
  }
12
12
  declare global {
13
13
  interface HTMLElementTagNameMap {
@@ -7,7 +7,7 @@ import '../field/outlined-field.js';
7
7
  */
8
8
  export declare class M3OutlinedSelect extends M3Select {
9
9
  static styles: any[];
10
- protected renderField(): import("lit-html").TemplateResult<1>;
10
+ protected renderField(): import("lit").TemplateResult<1>;
11
11
  }
12
12
  declare global {
13
13
  interface HTMLElementTagNameMap {
@@ -7,5 +7,5 @@ export declare abstract class M3Select extends Select {
7
7
  supportingText: string;
8
8
  protected focused: boolean;
9
9
  protected field: M3Field;
10
- protected renderMenu(): import("lit-html").TemplateResult<1>;
10
+ protected renderMenu(): import("lit").TemplateResult<1>;
11
11
  }
@@ -11,7 +11,7 @@ export declare class M3Slider extends Slider {
11
11
  ticks: boolean;
12
12
  labeled: boolean;
13
13
  static styles: any[];
14
- render(): import("lit-html").TemplateResult<1>;
14
+ render(): import("lit").TemplateResult<1>;
15
15
  private renderTrack;
16
16
  private renderLabel;
17
17
  private renderHandle;
@@ -12,12 +12,12 @@ export declare class M3Switch extends ToggleButton {
12
12
  #private;
13
13
  icons: boolean;
14
14
  checkedIconOnly: boolean;
15
- $ripple: M3Ripple;
16
- $thumb: HTMLSpanElement;
15
+ $ripple: M3Ripple | null;
16
+ $thumb: HTMLSpanElement | null;
17
17
  static styles: any[];
18
- render(): import("lit-html").TemplateResult<1>;
19
- renderOnIcon(): import("lit-html").TemplateResult<1>;
20
- renderOffIcon(): import("lit-html").TemplateResult<1>;
18
+ render(): import("lit").TemplateResult<1>;
19
+ renderOnIcon(): import("lit").TemplateResult<1>;
20
+ renderOffIcon(): import("lit").TemplateResult<1>;
21
21
  connectedCallback(): void;
22
22
  disconnectedCallback(): void;
23
23
  firstUpdated(): void;
@@ -8,12 +8,11 @@ import '../ripple/ripple.js';
8
8
  * @slot - label
9
9
  */
10
10
  export declare class M3Tab extends Tab {
11
- $content: HTMLDivElement;
12
- $indicator: HTMLElement;
11
+ $indicator: HTMLElement | null;
13
12
  protected _isSecondary: boolean;
14
13
  static styles: any[];
15
- render(): import("lit-html").TemplateResult<1>;
16
- animateIndicator(previousTab: M3Tab): void;
14
+ render(): import("lit").TemplateResult<1>;
15
+ animateIndicator(previousTab: M3Tab): Promise<void>;
17
16
  }
18
17
  declare global {
19
18
  interface HTMLElementTagNameMap {
package/src/m3/tab/tab.js CHANGED
@@ -23,7 +23,8 @@ let M3Tab = class M3Tab extends Tab {
23
23
  render() {
24
24
  return html `<md-focus-ring inward></md-focus-ring><md-ripple></md-ripple><span part="target"></span><div part="content"><slot part="icon" name="icon" aria-hidden="true"></slot><slot part="label"></slot>${!this._isSecondary ? html `<div part="indicator" role="presentation"></div>` : nothing}</div>${this._isSecondary ? html `<div part="indicator" role="presentation"></div>` : nothing}`;
25
25
  }
26
- animateIndicator(previousTab) {
26
+ async animateIndicator(previousTab) {
27
+ await this.updateComplete;
27
28
  const indicator = this.$indicator;
28
29
  indicator.getAnimations().forEach((a) => a.cancel());
29
30
  const prevIndicator = previousTab.$indicator;
@@ -77,9 +78,6 @@ let M3Tab = class M3Tab extends Tab {
77
78
  }
78
79
  }
79
80
  };
80
- __decorate([
81
- query('[part="content"]')
82
- ], M3Tab.prototype, "$content", void 0);
83
81
  __decorate([
84
82
  query('[part="indicator"]')
85
83
  ], M3Tab.prototype, "$indicator", void 0);
@@ -4,7 +4,7 @@ export declare class M3FilledTextField extends Input {
4
4
  label: string;
5
5
  supportingText: string;
6
6
  static styles: any[];
7
- render(): import("lit-html").TemplateResult<1>;
7
+ render(): import("lit").TemplateResult<1>;
8
8
  }
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
@@ -4,7 +4,7 @@ export declare class M3OutlinedTextField extends Input {
4
4
  label: string;
5
5
  supportingText: string;
6
6
  static styles: any[];
7
- render(): import("lit-html").TemplateResult<1>;
7
+ render(): import("lit").TemplateResult<1>;
8
8
  }
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
@@ -14,7 +14,7 @@ export declare class M3Toolbar extends M3Toolbar_base {
14
14
  color: 'standard' | 'vibrant';
15
15
  orientation: 'horizontal' | 'vertical';
16
16
  static styles: any[];
17
- render(): import("lit-html").TemplateResult<1>;
17
+ render(): import("lit").TemplateResult<1>;
18
18
  constructor();
19
19
  protected updated(changed: Map<string, unknown>): void;
20
20
  }
@@ -4,7 +4,7 @@ import { Button } from '../../base/button.js';
4
4
  */
5
5
  export declare class Win98Button extends Button {
6
6
  static styles: any[];
7
- render(): import("lit-html").TemplateResult<1>;
7
+ render(): import("lit").TemplateResult<1>;
8
8
  }
9
9
  declare global {
10
10
  interface HTMLElementTagNameMap {
@@ -1,3 +0,0 @@
1
- import { LitElement } from 'lit';
2
- export declare class Field extends LitElement {
3
- }
package/src/base/field.js DELETED
@@ -1,3 +0,0 @@
1
- import { LitElement } from 'lit';
2
- export class Field extends LitElement {
3
- }
@@ -1,7 +0,0 @@
1
- import { LitElement } from 'lit';
2
- /**
3
- * This class works as a "UI item", it should be contained in menu items,
4
- * options, etc.
5
- */
6
- export declare class Item extends LitElement {
7
- }
package/src/base/item.js DELETED
@@ -1,7 +0,0 @@
1
- import { LitElement } from 'lit';
2
- /**
3
- * This class works as a "UI item", it should be contained in menu items,
4
- * options, etc.
5
- */
6
- export class Item extends LitElement {
7
- }