@crowdstrike/glide-core 0.26.0 → 0.27.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 (105) hide show
  1. package/dist/accordion.d.ts +2 -2
  2. package/dist/accordion.js +1 -1
  3. package/dist/button-group.button.d.ts +2 -2
  4. package/dist/button-group.button.js +1 -1
  5. package/dist/button-group.d.ts +3 -3
  6. package/dist/button-group.js +1 -1
  7. package/dist/button.d.ts +2 -2
  8. package/dist/button.js +1 -1
  9. package/dist/checkbox-group.d.ts +3 -3
  10. package/dist/checkbox-group.js +9 -9
  11. package/dist/checkbox.d.ts +2 -3
  12. package/dist/checkbox.js +3 -3
  13. package/dist/checkbox.styles.js +8 -16
  14. package/dist/drawer.d.ts +2 -2
  15. package/dist/drawer.js +1 -1
  16. package/dist/dropdown.d.ts +8 -13
  17. package/dist/dropdown.js +53 -55
  18. package/dist/dropdown.option.d.ts +2 -3
  19. package/dist/dropdown.option.js +1 -1
  20. package/dist/dropdown.option.styles.js +16 -79
  21. package/dist/dropdown.styles.js +10 -29
  22. package/dist/form-controls-layout.d.ts +3 -3
  23. package/dist/form-controls-layout.js +1 -1
  24. package/dist/icon-button.d.ts +2 -2
  25. package/dist/icon-button.js +1 -1
  26. package/dist/icon-button.styles.js +29 -0
  27. package/dist/inline-alert.d.ts +2 -2
  28. package/dist/inline-alert.js +1 -1
  29. package/dist/input.d.ts +2 -2
  30. package/dist/input.js +2 -2
  31. package/dist/label.d.ts +2 -2
  32. package/dist/label.js +1 -1
  33. package/dist/label.styles.js +5 -1
  34. package/dist/library/assert-slot.d.ts +1 -1
  35. package/dist/library/assert-slot.test.js +22 -22
  36. package/dist/library/expect-window-error.js +1 -1
  37. package/dist/library/final.test.js +9 -9
  38. package/dist/library/localize.d.ts +2 -1
  39. package/dist/library/localize.test.js +6 -6
  40. package/dist/library/required.test.js +5 -5
  41. package/dist/library/unique-id.d.ts +2 -0
  42. package/dist/library/unique-id.js +1 -0
  43. package/dist/link.d.ts +2 -3
  44. package/dist/link.js +1 -1
  45. package/dist/link.styles.js +1 -1
  46. package/dist/menu.button.d.ts +2 -2
  47. package/dist/menu.button.js +1 -1
  48. package/dist/menu.d.ts +3 -9
  49. package/dist/menu.js +1 -1
  50. package/dist/menu.link.d.ts +2 -2
  51. package/dist/menu.link.js +1 -1
  52. package/dist/menu.options.d.ts +3 -4
  53. package/dist/menu.options.js +1 -1
  54. package/dist/menu.options.styles.js +6 -19
  55. package/dist/modal.d.ts +6 -6
  56. package/dist/modal.icon-button.d.ts +2 -2
  57. package/dist/modal.icon-button.js +1 -1
  58. package/dist/modal.js +1 -1
  59. package/dist/popover.d.ts +2 -2
  60. package/dist/popover.js +1 -1
  61. package/dist/radio-group.d.ts +3 -3
  62. package/dist/radio-group.js +6 -6
  63. package/dist/radio-group.radio.d.ts +2 -2
  64. package/dist/radio-group.radio.js +1 -1
  65. package/dist/spinner.d.ts +2 -2
  66. package/dist/spinner.js +1 -1
  67. package/dist/split-button.d.ts +4 -10
  68. package/dist/split-button.js +1 -1
  69. package/dist/split-button.primary-button.d.ts +2 -2
  70. package/dist/split-button.primary-button.js +1 -1
  71. package/dist/split-button.primary-button.styles.js +4 -14
  72. package/dist/split-button.primary-link.d.ts +2 -2
  73. package/dist/split-button.primary-link.js +1 -1
  74. package/dist/split-button.secondary-button.d.ts +3 -4
  75. package/dist/split-button.secondary-button.js +1 -1
  76. package/dist/split-button.secondary-button.styles.js +4 -15
  77. package/dist/tab.d.ts +12 -4
  78. package/dist/tab.group.d.ts +4 -5
  79. package/dist/tab.group.js +1 -1
  80. package/dist/tab.group.styles.js +14 -16
  81. package/dist/tab.js +1 -1
  82. package/dist/tab.panel.d.ts +12 -5
  83. package/dist/tab.panel.js +1 -1
  84. package/dist/tag.d.ts +2 -4
  85. package/dist/tag.js +1 -1
  86. package/dist/tag.styles.js +7 -52
  87. package/dist/textarea.d.ts +2 -2
  88. package/dist/textarea.js +7 -7
  89. package/dist/textarea.styles.js +2 -1
  90. package/dist/toast.d.ts +3 -3
  91. package/dist/toast.js +1 -1
  92. package/dist/toast.toasts.d.ts +9 -9
  93. package/dist/toast.toasts.js +17 -17
  94. package/dist/toggle.d.ts +2 -2
  95. package/dist/toggle.js +1 -1
  96. package/dist/tooltip.container.d.ts +2 -2
  97. package/dist/tooltip.container.js +1 -1
  98. package/dist/tooltip.d.ts +3 -3
  99. package/dist/tooltip.js +1 -1
  100. package/dist/translations/en.js +1 -1
  101. package/dist/translations/fr.d.ts +1 -1
  102. package/dist/translations/fr.js +1 -1
  103. package/dist/translations/ja.d.ts +1 -1
  104. package/dist/translations/ja.js +1 -1
  105. package/package.json +4 -4
@@ -1,11 +1,17 @@
1
1
  import { LitElement } from 'lit';
2
2
  declare global {
3
3
  interface HTMLElementTagNameMap {
4
- 'glide-core-tab-panel': GlideCoreTabPanel;
4
+ 'glide-core-tab-panel': TabPanel;
5
5
  }
6
6
  }
7
7
  /**
8
- * @attr {string} name - The corresponding GlideCoreTab should have a `panel` attribute with this name
8
+ * @attr {string} name - The corresponding Tab should have a `panel` attribute with this name
9
+ *
10
+ * @readonly
11
+ * @attr {string} [id]
12
+ *
13
+ * @readonly
14
+ * @attr {string} [role='tabpanel']
9
15
  *
10
16
  * @readonly
11
17
  * @attr {string} [version]
@@ -15,17 +21,18 @@ declare global {
15
21
  * @cssprop [--padding-inline-end=0rem]
16
22
  * @cssprop [--padding-inline-start=0rem]
17
23
  */
18
- export default class GlideCoreTabPanel extends LitElement {
24
+ export default class TabPanel extends LitElement {
19
25
  #private;
20
26
  static shadowRootOptions: ShadowRootInit;
21
27
  static styles: import("lit").CSSResult[];
22
28
  /**
23
- * The corresponding GlideCoreTab should have a `panel` attribute with this name
29
+ * The corresponding Tab should have a `panel` attribute with this name
24
30
  */
25
31
  name?: string;
26
32
  get privateIsSelected(): boolean;
27
33
  set privateIsSelected(isSelected: boolean);
28
34
  readonly version: string;
29
- protected firstUpdated(): void;
35
+ readonly role = "tabpanel";
36
+ readonly id: string;
30
37
  render(): import("lit").TemplateResult<1>;
31
38
  }
package/dist/tab.panel.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,a=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,r);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(a=(s<3?i(a):s>3?i(t,o,a):i(t,o))||a);return s>3&&a&&Object.defineProperty(t,o,a),a};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import styles from"./tab.panel.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreTabPanel=class GlideCoreTabPanel extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.#e=nanoid(),this.#t=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get privateIsSelected(){return this.#t}set privateIsSelected(e){this.setAttribute("aria-hidden",e?"false":"true"),this.#t=e}firstUpdated(){this.setAttribute("role","tabpanel"),this.id=this.#e}render(){return html`<div class="${classMap({component:!0,hidden:!this.privateIsSelected,selected:this.privateIsSelected})}" data-test="tab-panel"><slot></slot></div>`}#e;#t};__decorate([property({reflect:!0}),required],GlideCoreTabPanel.prototype,"name",void 0),__decorate([property({type:Boolean})],GlideCoreTabPanel.prototype,"privateIsSelected",null),__decorate([property({reflect:!0})],GlideCoreTabPanel.prototype,"version",void 0),GlideCoreTabPanel=__decorate([customElement("glide-core-tab-panel"),final],GlideCoreTabPanel);export default GlideCoreTabPanel;
1
+ var __decorate=this&&this.__decorate||function(e,t,r,o){var a,i=arguments.length,s=i<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,r):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,o);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(s=(i<3?a(s):i>3?a(t,r,s):a(t,r))||s);return i>3&&s&&Object.defineProperty(t,r,s),s};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import packageJson from"../package.json"with{type:"json"};import styles from"./tab.panel.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";import uniqueId from"./library/unique-id.js";let TabPanel=class TabPanel extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.role="tabpanel",this.id=uniqueId(),this.#e=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get privateIsSelected(){return this.#e}set privateIsSelected(e){this.setAttribute("aria-hidden",e?"false":"true"),this.#e=e}render(){return html`<div class="${classMap({component:!0,hidden:!this.privateIsSelected,selected:this.privateIsSelected})}" data-test="tab-panel"><slot></slot></div>`}#e};__decorate([property({reflect:!0}),required],TabPanel.prototype,"name",void 0),__decorate([property({type:Boolean})],TabPanel.prototype,"privateIsSelected",null),__decorate([property({reflect:!0})],TabPanel.prototype,"version",void 0),__decorate([property({reflect:!0})],TabPanel.prototype,"role",void 0),__decorate([property({reflect:!0})],TabPanel.prototype,"id",void 0),TabPanel=__decorate([customElement("glide-core-tab-panel"),final],TabPanel);export default TabPanel;
package/dist/tag.d.ts CHANGED
@@ -1,14 +1,13 @@
1
1
  import { LitElement } from 'lit';
2
2
  declare global {
3
3
  interface HTMLElementTagNameMap {
4
- 'glide-core-tag': GlideCoreTag;
4
+ 'glide-core-tag': Tag;
5
5
  }
6
6
  }
7
7
  /**
8
8
  * @attr {string} label
9
9
  * @attr {boolean} [disabled=false]
10
10
  * @attr {boolean} [removable=false]
11
- * @attr {'small'|'medium'|'large'} [size='medium']
12
11
  *
13
12
  * @readonly
14
13
  * @attr {string} [version]
@@ -18,7 +17,7 @@ declare global {
18
17
  * @fires {Event} edit
19
18
  * @fires {Event} remove
20
19
  */
21
- export default class GlideCoreTag extends LitElement {
20
+ export default class Tag extends LitElement {
22
21
  #private;
23
22
  static shadowRootOptions: ShadowRootInit;
24
23
  static styles: import("lit").CSSResult[];
@@ -26,7 +25,6 @@ export default class GlideCoreTag extends LitElement {
26
25
  disabled: boolean;
27
26
  privateEditable: boolean;
28
27
  removable: boolean;
29
- size: 'small' | 'medium' | 'large';
30
28
  readonly version: string;
31
29
  click(): void;
32
30
  firstUpdated(): void;
package/dist/tag.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,i){var s,a=arguments.length,l=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,i);else for(var r=e.length-1;r>=0;r--)(s=e[r])&&(l=(a<3?s(l):a>3?s(t,o,l):s(t,o))||l);return a>3&&l&&Object.defineProperty(t,o,l),l};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import pencilIcon from"./icons/pencil.js";import styles from"./tag.styles.js";import xIcon from"./icons/x.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreTag=class GlideCoreTag extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.privateEditable=!1,this.removable=!1,this.size="medium",this.version=packageJson.version,this.#e=100,this.#t=createRef(),this.#o=!1,this.#i=new LocalizeController(this),this.#s=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}click(){this.#s.value?.click()}firstUpdated(){this.#t.value?.addEventListener("animationend",(()=>{this.#t.value?.classList.remove("added")}),{once:!0})}focus(){this.#s.value?.focus()}render(){return html`<div class="${classMap({component:!0,added:!0,disabled:this.disabled,[this.size]:!0})}" data-test="component" data-animation-duration="${this.#e}" style="--private-animation-duration: ${this.#e}ms" ${ref(this.#t)}><slot class="${classMap({"icon-slot":!0,[this.size]:!0})}" name="icon"></slot><div class="label">${this.label}</div>${when(this.privateEditable,(()=>html`<button aria-label="${this.#i.term("editTag",this.label)}" class="${classMap({"edit-button":!0,[this.size]:!0,disabled:this.disabled})}" data-test="edit-button" type="button" ?disabled="${this.disabled}" @click="${this.#a}" @keydown="${this.#l}">${pencilIcon}</button>`))} ${when(this.removable,(()=>html`<button aria-label="${this.#i.term("removeTag",this.label)}" class="${classMap({"removal-button":!0,[this.size]:!0,disabled:this.disabled})}" data-test="removal-button" type="button" ?disabled="${this.disabled}" @click="${this.#r}" @keydown="${this.#n}" ${ref(this.#s)}>${xIcon}</button>`))}</div>`}#e;#t;#o;#i;#s;#a(){this.#o?this.#o=!1:this.dispatchEvent(new Event("edit",{bubbles:!0,composed:!0}))}#l(e){["Enter"," "].includes(e.key)&&(this.#o=!0,this.dispatchEvent(new Event("edit",{bubbles:!0,composed:!0})))}#r(){this.#o?this.#o=!1:(setTimeout((()=>{this.remove()}),this.#e),this.#t.value?.classList.add("removed"),this.dispatchEvent(new Event("remove",{bubbles:!0,composed:!0})))}#n(e){["Enter"," "].includes(e.key)&&(this.#o=!0,setTimeout((()=>{this.remove()}),this.#e),this.#t.value?.classList.add("removed"),this.dispatchEvent(new Event("remove",{bubbles:!0,composed:!0})))}};__decorate([property({reflect:!0}),required],GlideCoreTag.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTag.prototype,"disabled",void 0),__decorate([property({attribute:"private-editable",reflect:!0,type:Boolean})],GlideCoreTag.prototype,"privateEditable",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTag.prototype,"removable",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreTag.prototype,"size",void 0),__decorate([property({reflect:!0})],GlideCoreTag.prototype,"version",void 0),GlideCoreTag=__decorate([customElement("glide-core-tag"),final],GlideCoreTag);export default GlideCoreTag;
1
+ var __decorate=this&&this.__decorate||function(e,t,o,i){var a,s=arguments.length,l=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(a=e[n])&&(l=(s<3?a(l):s>3?a(t,o,l):a(t,o))||l);return s>3&&l&&Object.defineProperty(t,o,l),l};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import pencilIcon from"./icons/pencil.js";import styles from"./tag.styles.js";import xIcon from"./icons/x.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let Tag=class Tag extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.privateEditable=!1,this.removable=!1,this.version=packageJson.version,this.#e=100,this.#t=createRef(),this.#o=!1,this.#i=new LocalizeController(this),this.#a=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}click(){this.#a.value?.click()}firstUpdated(){this.#t.value?.addEventListener("animationend",(()=>{this.#t.value?.classList.remove("added")}),{once:!0})}focus(){this.#a.value?.focus()}render(){return html`<div class="${classMap({component:!0,added:!0,disabled:this.disabled})}" data-test="component" data-animation-duration="${this.#e}" style="--private-animation-duration: ${this.#e}ms" ${ref(this.#t)}><slot class="icon-slot" name="icon"></slot><div class="label">${this.label}</div>${when(this.privateEditable,(()=>html`<button aria-label="${this.#i.term("editTag",this.label)}" class="${classMap({"edit-button":!0,disabled:this.disabled})}" data-test="edit-button" type="button" ?disabled="${this.disabled}" @click="${this.#s}" @keydown="${this.#l}">${pencilIcon}</button>`))} ${when(this.removable,(()=>html`<button aria-label="${this.#i.term("removeTag",this.label)}" class="${classMap({"removal-button":!0,disabled:this.disabled})}" data-test="removal-button" type="button" ?disabled="${this.disabled}" @click="${this.#n}" @keydown="${this.#r}" ${ref(this.#a)}>${xIcon}</button>`))}</div>`}#e;#t;#o;#i;#a;#s(){this.#o?this.#o=!1:this.dispatchEvent(new Event("edit",{bubbles:!0,composed:!0}))}#l(e){["Enter"," "].includes(e.key)&&(this.#o=!0,this.dispatchEvent(new Event("edit",{bubbles:!0,composed:!0})))}#n(){this.#o?this.#o=!1:(setTimeout((()=>{this.remove()}),this.#e),this.#t.value?.classList.add("removed"),this.dispatchEvent(new Event("remove",{bubbles:!0,composed:!0})))}#r(e){["Enter"," "].includes(e.key)&&(this.#o=!0,setTimeout((()=>{this.remove()}),this.#e),this.#t.value?.classList.add("removed"),this.dispatchEvent(new Event("remove",{bubbles:!0,composed:!0})))}};__decorate([property({reflect:!0}),required],Tag.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],Tag.prototype,"disabled",void 0),__decorate([property({attribute:"private-editable",reflect:!0,type:Boolean})],Tag.prototype,"privateEditable",void 0),__decorate([property({reflect:!0,type:Boolean})],Tag.prototype,"removable",void 0),__decorate([property({reflect:!0})],Tag.prototype,"version",void 0),Tag=__decorate([customElement("glide-core-tag"),final],Tag);export default Tag;
@@ -27,39 +27,21 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
27
27
  background-color: var(
28
28
  --glide-core-color-static-surface-container-secondary
29
29
  );
30
+ block-size: 1.5rem;
30
31
  border: 1px solid var(--glide-core-color-interactive-stroke-primary);
31
32
  border-radius: var(--glide-core-rounding-base-radius-round);
33
+ box-sizing: border-box;
32
34
  color: var(--glide-core-color-interactive-text-default);
35
+ column-gap: var(--glide-core-spacing-base-xs);
33
36
  display: flex;
34
37
  font-family: var(--glide-core-typography-family-primary);
38
+ font-size: var(--glide-core-typography-size-body-small);
35
39
  font-weight: var(--glide-core-typography-weight-regular);
36
40
  justify-content: center;
37
41
  line-height: 1;
38
42
  max-inline-size: max-content;
39
43
  opacity: 1;
40
-
41
- &.large {
42
- column-gap: var(--glide-core-spacing-base-xs);
43
- font-size: var(--glide-core-typography-size-body-small);
44
- min-block-size: 0.875rem;
45
- padding: var(--glide-core-spacing-base-xxs)
46
- var(--glide-core-spacing-base-sm);
47
- }
48
-
49
- &.medium {
50
- column-gap: var(--glide-core-spacing-base-xs);
51
- font-size: var(--glide-core-typography-size-body-small);
52
- min-block-size: var(--glide-core-spacing-base-md);
53
- padding: var(--glide-core-spacing-base-xxxs)
54
- var(--glide-core-spacing-base-xs);
55
- }
56
-
57
- &.small {
58
- column-gap: var(--glide-core-spacing-base-xxs);
59
- font-size: 0.625rem;
60
- min-block-size: var(--glide-core-spacing-base-md);
61
- padding: 0 var(--glide-core-spacing-base-xs);
62
- }
44
+ padding-inline: var(--glide-core-spacing-base-sm);
63
45
 
64
46
  &.added {
65
47
  @media (prefers-reduced-motion: no-preference) {
@@ -123,34 +105,15 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
123
105
  }
124
106
 
125
107
  .icon-slot {
126
- &.large {
127
- &::slotted(*) {
128
- block-size: 1rem;
129
- inline-size: 1rem;
130
- }
131
- }
132
-
133
- &.medium {
134
- &::slotted(*) {
135
- block-size: 0.75rem;
136
- inline-size: 0.75rem;
137
- }
138
- }
139
-
140
- &.small {
141
- &::slotted(*) {
142
- block-size: 0.625rem;
143
- inline-size: 0.625rem;
144
- }
145
- }
146
-
147
108
  &.hidden {
148
109
  display: none;
149
110
  }
150
111
 
151
112
  &::slotted(*) {
152
113
  align-items: center;
114
+ block-size: 1rem;
153
115
  display: flex;
116
+ inline-size: 1rem;
154
117
  justify-content: center;
155
118
  }
156
119
  }
@@ -162,14 +125,6 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
162
125
  display: flex;
163
126
  padding: 0;
164
127
 
165
- &.medium {
166
- --private-size: 0.75rem;
167
- }
168
-
169
- &.small {
170
- --private-size: 0.625rem;
171
- }
172
-
173
128
  &.disabled {
174
129
  color: var(--glide-core-color-interactive-icon-default--disabled);
175
130
  cursor: not-allowed;
@@ -3,7 +3,7 @@ import { LitElement } from 'lit';
3
3
  import type FormControl from './library/form-control.js';
4
4
  declare global {
5
5
  interface HTMLElementTagNameMap {
6
- 'glide-core-textarea': GlideCoreTextarea;
6
+ 'glide-core-textarea': Textarea;
7
7
  }
8
8
  }
9
9
  /**
@@ -54,7 +54,7 @@ declare global {
54
54
  * @param {ValidityStateFlags} [flags]
55
55
  * @param {string} [message]
56
56
  */
57
- export default class GlideCoreTextarea extends LitElement implements FormControl {
57
+ export default class Textarea extends LitElement implements FormControl {
58
58
  #private;
59
59
  static formAssociated: boolean;
60
60
  static shadowRootOptions: ShadowRootInit;
package/dist/textarea.js CHANGED
@@ -1,4 +1,4 @@
1
- var __decorate=this&&this.__decorate||function(e,t,i,a){var r,o=arguments.length,s=o<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,a);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(s=(o<3?r(s):o>3?r(t,i,s):r(t,i))||s);return o>3&&s&&Object.defineProperty(t,i,s),s};import"./label.js";import{html,LitElement,nothing}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{unsafeHTML}from"lit/directives/unsafe-html.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import styles from"./textarea.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreTextarea=class GlideCoreTextarea extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode,delegatesFocus:!0}}static{this.styles=styles}checkValidity(){this.isCheckingValidity=!0;const e=this.#e.checkValidity();return this.isCheckingValidity=!1,e}disconnectedCallback(){super.disconnectedCallback(),this.form?.removeEventListener("formdata",this.#t)}get form(){return this.#e.form}get validity(){return!this.required||this.value||this.disabled?this.required&&this.#e.validity.valueMissing&&this.value?(this.#e.setValidity({}),this.#e.validity):(this.required||!this.#e.validity.valueMissing||this.value||this.#e.setValidity({}),this.#e.validity):(this.#e.setValidity({customError:Boolean(this.validityMessage),valueMissing:!0}," ",this.#i.value),this.#e.validity)}formAssociatedCallback(){this.form?.addEventListener("formdata",this.#t)}formResetCallback(){this.value=this.getAttribute("value")??""}render(){return html`<glide-core-private-label
1
+ var __decorate=this&&this.__decorate||function(e,t,i,a){var r,s=arguments.length,o=s<3?t:null===a?a=Object.getOwnPropertyDescriptor(t,i):a;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,a);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(o=(s<3?r(o):s>3?r(t,i,o):r(t,i))||o);return s>3&&o&&Object.defineProperty(t,i,o),o};import"./label.js";import{html,LitElement,nothing}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{unsafeHTML}from"lit/directives/unsafe-html.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import styles from"./textarea.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let Textarea=class Textarea extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode,delegatesFocus:!0}}static{this.styles=styles}checkValidity(){this.isCheckingValidity=!0;const e=this.#e.checkValidity();return this.isCheckingValidity=!1,e}disconnectedCallback(){super.disconnectedCallback(),this.form?.removeEventListener("formdata",this.#t)}get form(){return this.#e.form}get validity(){return!this.required||this.value||this.disabled?this.required&&this.#e.validity.valueMissing&&this.value?(this.#e.setValidity({}),this.#e.validity):(this.required||!this.#e.validity.valueMissing||this.value||this.#e.setValidity({}),this.#e.validity):(this.#e.setValidity({customError:Boolean(this.validityMessage),valueMissing:!0}," ",this.#i.value),this.#e.validity)}formAssociatedCallback(){this.form?.addEventListener("formdata",this.#t)}formResetCallback(){this.value=this.getAttribute("value")??""}render(){return html`<glide-core-private-label
2
2
  label=${ifDefined(this.label)}
3
3
  split=${ifDefined(this.privateSplit??void 0)}
4
4
  tooltip=${ifDefined(this.tooltip)}
@@ -27,10 +27,10 @@ var __decorate=this&&this.__decorate||function(e,t,i,a){var r,o=arguments.length
27
27
  ?readonly=${this.readonly}
28
28
  ?disabled=${this.disabled}
29
29
  ${ref(this.#i)}
30
- @blur=${this.#o}
31
- @change=${this.#s}
30
+ @blur=${this.#s}
31
+ @change=${this.#o}
32
32
  @input=${this.#l}
33
- @keydown=${this.#d}
33
+ @keydown=${this.#n}
34
34
  >
35
35
  </textarea>
36
36
  </div>
@@ -54,12 +54,12 @@ var __decorate=this&&this.__decorate||function(e,t,i,a){var r,o=arguments.length
54
54
  data-test="character-count-container"
55
55
  >
56
56
  <span aria-hidden="true" data-test="character-count-text">
57
- ${this.#n.term("displayedCharacterCount",this.#h,this.maxlength)}
57
+ ${this.#d.term("displayedCharacterCount",this.#h,this.maxlength)}
58
58
  </span>
59
59
 
60
60
  <span class="hidden" data-test="character-count-announcement"
61
- >${this.#n.term("announcedCharacterCount",this.#h,this.maxlength)}</span
61
+ >${this.#d.term("announcedCharacterCount",this.#h,this.maxlength)}</span
62
62
  >
63
63
  </div>`:nothing}
64
64
  </div></glide-core-private-label
65
- >`}reportValidity(){this.isReportValidityOrSubmit=!0;const e=this.#e.reportValidity();return this.requestUpdate(),e}resetValidityFeedback(){this.isReportValidityOrSubmit=!1}setCustomValidity(e){this.validityMessage=e,""===e?this.#e.setValidity({customError:!1},"",this.#i.value):this.#e.setValidity({customError:!0,valueMissing:this.#e.validity.valueMissing}," ",this.#i.value)}setValidity(e,t){this.validityMessage=t,this.#e.setValidity(e," ",this.#i.value)}constructor(){super(),this.autocapitalize="on",this.autocomplete="on",this.disabled=!1,this.hideLabel=!1,this.name="",this.orientation="horizontal",this.spellcheck=!1,this.required=!1,this.readonly=!1,this.value="",this.version=packageJson.version,this.isBlurring=!1,this.isCheckingValidity=!1,this.isReportValidityOrSubmit=!1,this.#n=new LocalizeController(this),this.#i=createRef(),this.#t=({formData:e})=>{this.name&&this.value&&!this.disabled&&e.append(this.name,this.value)},this.#e=this.attachInternals(),this.addEventListener("invalid",(e=>{if(e?.preventDefault(),this.isCheckingValidity||this.isBlurring)return;this.isReportValidityOrSubmit=!0;this.form?.querySelector(":invalid")===this&&this.focus()}))}#e;#n;#i;#t;get#a(){return!this.disabled&&!this.readonly&&!this.validity.valid&&this.isReportValidityOrSubmit}get#h(){return this.value.length}get#r(){return Boolean(!this.disabled&&!this.readonly&&this.maxlength&&this.#h>this.maxlength)}#o(){this.isBlurring=!0,this.reportValidity(),this.isBlurring=!1}#s(){this.#i.value&&(this.value=this.#i.value.value),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}#l(){this.#i.value&&(this.value=this.#i.value.value)}#d(e){"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&this.form?.requestSubmit()}};__decorate([property({reflect:!0}),required],GlideCoreTextarea.prototype,"label",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreTextarea.prototype,"autocapitalize",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreTextarea.prototype,"autocomplete",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTextarea.prototype,"disabled",void 0),__decorate([property({attribute:"hide-label",reflect:!0,type:Boolean})],GlideCoreTextarea.prototype,"hideLabel",void 0),__decorate([property({type:Number,converter:e=>e&&Number.parseInt(e,10),reflect:!0})],GlideCoreTextarea.prototype,"maxlength",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreTextarea.prototype,"name",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreTextarea.prototype,"orientation",void 0),__decorate([property({reflect:!0})],GlideCoreTextarea.prototype,"placeholder",void 0),__decorate([property()],GlideCoreTextarea.prototype,"privateSplit",void 0),__decorate([property({reflect:!0,type:Boolean,useDefault:!0})],GlideCoreTextarea.prototype,"spellcheck",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTextarea.prototype,"required",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTextarea.prototype,"readonly",void 0),__decorate([property({reflect:!0})],GlideCoreTextarea.prototype,"tooltip",void 0),__decorate([property()],GlideCoreTextarea.prototype,"value",void 0),__decorate([property({reflect:!0})],GlideCoreTextarea.prototype,"version",void 0),__decorate([state()],GlideCoreTextarea.prototype,"isBlurring",void 0),__decorate([state()],GlideCoreTextarea.prototype,"isCheckingValidity",void 0),__decorate([state()],GlideCoreTextarea.prototype,"isReportValidityOrSubmit",void 0),__decorate([state()],GlideCoreTextarea.prototype,"validityMessage",void 0),GlideCoreTextarea=__decorate([customElement("glide-core-textarea"),final],GlideCoreTextarea);export default GlideCoreTextarea;
65
+ >`}reportValidity(){this.isReportValidityOrSubmit=!0;const e=this.#e.reportValidity();return this.requestUpdate(),e}resetValidityFeedback(){this.isReportValidityOrSubmit=!1}setCustomValidity(e){this.validityMessage=e,""===e?this.#e.setValidity({customError:!1},"",this.#i.value):this.#e.setValidity({customError:!0,valueMissing:this.#e.validity.valueMissing}," ",this.#i.value)}setValidity(e,t){this.validityMessage=t,this.#e.setValidity(e," ",this.#i.value)}constructor(){super(),this.autocapitalize="on",this.autocomplete="on",this.disabled=!1,this.hideLabel=!1,this.name="",this.orientation="horizontal",this.spellcheck=!1,this.required=!1,this.readonly=!1,this.value="",this.version=packageJson.version,this.isBlurring=!1,this.isCheckingValidity=!1,this.isReportValidityOrSubmit=!1,this.#d=new LocalizeController(this),this.#i=createRef(),this.#t=({formData:e})=>{this.name&&this.value&&!this.disabled&&e.append(this.name,this.value)},this.#e=this.attachInternals(),this.addEventListener("invalid",(e=>{if(e?.preventDefault(),this.isCheckingValidity||this.isBlurring)return;this.isReportValidityOrSubmit=!0;this.form?.querySelector(":invalid")===this&&this.focus()}))}#e;#d;#i;#t;get#a(){return!this.disabled&&!this.readonly&&!this.validity.valid&&this.isReportValidityOrSubmit}get#h(){return this.value.length}get#r(){return Boolean(!this.disabled&&!this.readonly&&this.maxlength&&this.#h>this.maxlength)}#s(){this.isBlurring=!0,this.reportValidity(),this.isBlurring=!1}#o(){this.#i.value&&(this.value=this.#i.value.value),this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}#l(){this.#i.value&&(this.value=this.#i.value.value)}#n(e){"Enter"===e.key&&(e.metaKey||e.ctrlKey)&&this.form?.requestSubmit()}};__decorate([property({reflect:!0}),required],Textarea.prototype,"label",void 0),__decorate([property({reflect:!0,useDefault:!0})],Textarea.prototype,"autocapitalize",void 0),__decorate([property({reflect:!0,useDefault:!0})],Textarea.prototype,"autocomplete",void 0),__decorate([property({reflect:!0,type:Boolean})],Textarea.prototype,"disabled",void 0),__decorate([property({attribute:"hide-label",reflect:!0,type:Boolean})],Textarea.prototype,"hideLabel",void 0),__decorate([property({type:Number,converter:e=>e&&Number.parseInt(e,10),reflect:!0})],Textarea.prototype,"maxlength",void 0),__decorate([property({reflect:!0,useDefault:!0})],Textarea.prototype,"name",void 0),__decorate([property({reflect:!0,useDefault:!0})],Textarea.prototype,"orientation",void 0),__decorate([property({reflect:!0})],Textarea.prototype,"placeholder",void 0),__decorate([property()],Textarea.prototype,"privateSplit",void 0),__decorate([property({reflect:!0,type:Boolean,useDefault:!0})],Textarea.prototype,"spellcheck",void 0),__decorate([property({reflect:!0,type:Boolean})],Textarea.prototype,"required",void 0),__decorate([property({reflect:!0,type:Boolean})],Textarea.prototype,"readonly",void 0),__decorate([property({reflect:!0})],Textarea.prototype,"tooltip",void 0),__decorate([property()],Textarea.prototype,"value",void 0),__decorate([property({reflect:!0})],Textarea.prototype,"version",void 0),__decorate([state()],Textarea.prototype,"isBlurring",void 0),__decorate([state()],Textarea.prototype,"isCheckingValidity",void 0),__decorate([state()],Textarea.prototype,"isReportValidityOrSubmit",void 0),__decorate([state()],Textarea.prototype,"validityMessage",void 0),Textarea=__decorate([customElement("glide-core-textarea"),final],Textarea);export default Textarea;
@@ -1,7 +1,7 @@
1
1
  import{css,unsafeCSS}from"lit";import visuallyHidden from"./styles/visually-hidden.js";const fieldSizingContent=unsafeCSS("\n field-sizing: content;\n");export default[css`
2
2
  ${visuallyHidden(".character-count .hidden")}
3
3
  `,css`
4
- glide-core-private-label::part(private-tooltips) {
4
+ glide-core-private-label[orientation='horizontal']::part(private-tooltips) {
5
5
  align-items: flex-start;
6
6
  margin-block-start: var(--glide-core-spacing-base-sm);
7
7
  }
@@ -36,6 +36,7 @@ import{css,unsafeCSS}from"lit";import visuallyHidden from"./styles/visually-hidd
36
36
  font-weight: var(--glide-core-typography-weight-regular);
37
37
  max-block-size: 5lh;
38
38
  min-block-size: 3lh;
39
+ min-inline-size: 3.75rem;
39
40
  padding: var(--glide-core-spacing-base-xs)
40
41
  var(--glide-core-spacing-base-sm);
41
42
  resize: vertical;
package/dist/toast.d.ts CHANGED
@@ -2,7 +2,7 @@ import './icon-button.js';
2
2
  import { LitElement } from 'lit';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
- 'glide-core-toast': GlideCoreToast;
5
+ 'glide-core-toast': Toast;
6
6
  }
7
7
  }
8
8
  /**
@@ -13,13 +13,13 @@ declare global {
13
13
  * @readonly
14
14
  * @attr {string} [version]
15
15
  *
16
- * @slot {GlideCoreLink | string} - A description
16
+ * @slot {Link | string} - A description
17
17
  *
18
18
  * @fires {Event} dismiss
19
19
  *
20
20
  * @method dismiss
21
21
  */
22
- export default class GlideCoreToast extends LitElement {
22
+ export default class Toast extends LitElement {
23
23
  static shadowRootOptions: ShadowRootInit;
24
24
  label?: string;
25
25
  privateDescription?: string;
package/dist/toast.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,a=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,r);else for(var p=e.length-1;p>=0;p--)(i=e[p])&&(a=(s<3?i(a):s>3?i(t,o,a):i(t,o))||a);return s>3&&a&&Object.defineProperty(t,o,a),a};import"./icon-button.js";import{LitElement,html}from"lit";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import GlideCoreToasts from"./toast.toasts.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";import GlideCoreLink from"./link.js";import assertSlot from"./library/assert-slot.js";let GlideCoreToast=class GlideCoreToast extends LitElement{constructor(){super(...arguments),this.duration=5e3,this.privateDismissing=!1,this.privateDismissingViaButton=!1,this.privateId=nanoid(),this.privateShow=!1,this.variant="informational",this.version=packageJson.version}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}dismiss(){this.dispatchEvent(new Event("dismiss",{bubbles:!0,composed:!0})),this.remove()}firstUpdated(){GlideCoreToasts.show(this)}render(){return html`<slot hidden ${assertSlot([GlideCoreLink,Text],!0)}></slot>`}};__decorate([property({reflect:!0}),required],GlideCoreToast.prototype,"label",void 0),__decorate([property()],GlideCoreToast.prototype,"privateDescription",void 0),__decorate([property({reflect:!0,type:Number,useDefault:!0})],GlideCoreToast.prototype,"duration",void 0),__decorate([property({type:Boolean})],GlideCoreToast.prototype,"privateDismissing",void 0),__decorate([property({type:Boolean})],GlideCoreToast.prototype,"privateDismissingViaButton",void 0),__decorate([property()],GlideCoreToast.prototype,"privateId",void 0),__decorate([property({type:Boolean})],GlideCoreToast.prototype,"privateShow",void 0),__decorate([property({attribute:!1})],GlideCoreToast.prototype,"privateTimeoutId",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreToast.prototype,"variant",void 0),__decorate([property({reflect:!0})],GlideCoreToast.prototype,"version",void 0),GlideCoreToast=__decorate([customElement("glide-core-toast"),final],GlideCoreToast);export default GlideCoreToast;
1
+ var __decorate=this&&this.__decorate||function(t,e,o,r){var i,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,o,r);else for(var p=t.length-1;p>=0;p--)(i=t[p])&&(a=(s<3?i(a):s>3?i(e,o,a):i(e,o))||a);return s>3&&a&&Object.defineProperty(e,o,a),a};import"./icon-button.js";import{LitElement,html}from"lit";import{customElement,property}from"lit/decorators.js";import packageJson from"../package.json"with{type:"json"};import Toasts from"./toast.toasts.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";import Link from"./link.js";import assertSlot from"./library/assert-slot.js";import uniqueId from"./library/unique-id.js";let Toast=class Toast extends LitElement{constructor(){super(...arguments),this.duration=5e3,this.privateDismissing=!1,this.privateDismissingViaButton=!1,this.privateId=uniqueId(),this.privateShow=!1,this.variant="informational",this.version=packageJson.version}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}dismiss(){this.dispatchEvent(new Event("dismiss",{bubbles:!0,composed:!0})),this.remove()}firstUpdated(){(async()=>{await(this.querySelector("glide-core-link")?.updateComplete),Toasts.show(this)})()}render(){return html`<slot hidden ${assertSlot([Link,Text],!0)}></slot>`}};__decorate([property({reflect:!0}),required],Toast.prototype,"label",void 0),__decorate([property()],Toast.prototype,"privateDescription",void 0),__decorate([property({reflect:!0,type:Number,useDefault:!0})],Toast.prototype,"duration",void 0),__decorate([property({type:Boolean})],Toast.prototype,"privateDismissing",void 0),__decorate([property({type:Boolean})],Toast.prototype,"privateDismissingViaButton",void 0),__decorate([property()],Toast.prototype,"privateId",void 0),__decorate([property({type:Boolean})],Toast.prototype,"privateShow",void 0),__decorate([property({attribute:!1})],Toast.prototype,"privateTimeoutId",void 0),__decorate([property({reflect:!0,useDefault:!0})],Toast.prototype,"variant",void 0),__decorate([property({reflect:!0})],Toast.prototype,"version",void 0),Toast=__decorate([customElement("glide-core-toast"),final],Toast);export default Toast;
@@ -1,31 +1,31 @@
1
1
  import './icon-button.js';
2
2
  import { LitElement } from 'lit';
3
- import GlideCoreToast from './toast.js';
3
+ import Toast from './toast.js';
4
4
  declare global {
5
5
  interface HTMLElementTagNameMap {
6
- 'glide-core-private-toasts': GlideCoreToasts;
6
+ 'glide-core-private-toasts': Toasts;
7
7
  }
8
8
  }
9
9
  /**
10
- * @attr {GlideCoreToast[]} [toasts=[]]
10
+ * @attr {Toast[]} [toasts=[]]
11
11
  *
12
12
  * @method dismiss
13
- * @param {GlideCoreToast} toast
13
+ * @param {Toast} toast
14
14
  *
15
15
  * @method show
16
- * @param {GlideCoreToast} toast
16
+ * @param {Toast} toast
17
17
  * @returns Promise<void>
18
18
  *
19
19
  * @method showPopover
20
20
  */
21
- export default class GlideCoreToasts extends LitElement {
21
+ export default class Toasts extends LitElement {
22
22
  #private;
23
23
  static shadowRootOptions: ShadowRootInit;
24
24
  static styles: import("lit").CSSResult[];
25
- toasts: GlideCoreToast[];
26
- dismiss(toast: GlideCoreToast): void;
25
+ toasts: Toast[];
26
+ dismiss(toast: Toast): void;
27
27
  firstUpdated(): void;
28
28
  render(): import("lit").TemplateResult<1>;
29
29
  showPopover(): void;
30
- static show(toast: GlideCoreToast): Promise<void>;
30
+ static show(toast: Toast): Promise<void>;
31
31
  }
@@ -1,54 +1,54 @@
1
- var __decorate=this&&this.__decorate||function(e,t,i,s){var o,r=arguments.length,a=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,s);else for(var n=e.length-1;n>=0;n--)(o=e[n])&&(a=(r<3?o(a):r>3?o(t,i,a):o(t,i))||a);return r>3&&a&&Object.defineProperty(t,i,a),a};import"./icon-button.js";import{html,LitElement}from"lit";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{classMap}from"lit/directives/class-map.js";import{styleMap}from"lit/directives/style-map.js";import{choose}from"lit/directives/choose.js";import{when}from"lit/directives/when.js";import{unsafeHTML}from"lit/directives/unsafe-html.js";import xIcon from"./icons/x.js";import{LocalizeController}from"./library/localize.js";import styles from"./toast.toasts.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import GlideCoreToast from"./toast.js";import GlideCoreLink from"./link.js";let GlideCoreToasts=class GlideCoreToasts extends LitElement{constructor(){super(...arguments),this.toasts=[],this.#e=createRef(),this.#t=new LocalizeController(this)}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}dismiss(e){const t=this.toasts.indexOf(e);this.toasts=[...this.toasts.slice(0,t),...this.toasts.slice(t+1)],e.dismiss(),0===this.toasts.length&&this.remove()}firstUpdated(){this.#e.value&&(this.#e.value.popover="manual")}render(){return html`<div
2
- aria-label=${this.#t.term("notifications")}
1
+ var __decorate=this&&this.__decorate||function(t,e,i,s){var o,r=arguments.length,a=r<3?e:null===s?s=Object.getOwnPropertyDescriptor(e,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,s);else for(var n=t.length-1;n>=0;n--)(o=t[n])&&(a=(r<3?o(a):r>3?o(e,i,a):o(e,i))||a);return r>3&&a&&Object.defineProperty(e,i,a),a};import"./icon-button.js";import{html,LitElement}from"lit";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{classMap}from"lit/directives/class-map.js";import{styleMap}from"lit/directives/style-map.js";import{choose}from"lit/directives/choose.js";import{when}from"lit/directives/when.js";import{unsafeHTML}from"lit/directives/unsafe-html.js";import xIcon from"./icons/x.js";import{LocalizeController}from"./library/localize.js";import styles from"./toast.toasts.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import Toast from"./toast.js";import Link from"./link.js";let Toasts=class Toasts extends LitElement{constructor(){super(...arguments),this.toasts=[],this.#t=createRef(),this.#e=new LocalizeController(this)}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}dismiss(t){const e=this.toasts.indexOf(t);this.toasts=[...this.toasts.slice(0,e),...this.toasts.slice(e+1)],t.dismiss(),0===this.toasts.length&&this.remove()}firstUpdated(){this.#t.value&&(this.#t.value.popover="manual")}render(){return html`<div
2
+ aria-label=${this.#e.term("notifications")}
3
3
  class="component"
4
4
  data-test="component"
5
5
  role="region"
6
6
  tabindex="-1"
7
- ${ref(this.#e)}
7
+ ${ref(this.#t)}
8
8
  >
9
9
  <div class="toasts">
10
- ${repeat(this.toasts,(e=>e.privateId),(e=>html`<div
10
+ ${repeat(this.toasts,(t=>t.privateId),(t=>html`<div
11
11
  aria-labelledby="prefix label description"
12
- class=${classMap({toast:!0,error:"error"===e.variant,informational:"informational"===e.variant,success:"success"===e.variant,show:Boolean(e.privateShow),dismissing:Boolean(e.privateDismissing),"dismissing-via-button":Boolean(e.privateDismissingViaButton)})}
12
+ class=${classMap({toast:!0,error:"error"===t.variant,informational:"informational"===t.variant,success:"success"===t.variant,show:Boolean(t.privateShow),dismissing:Boolean(t.privateDismissing),"dismissing-via-button":Boolean(t.privateDismissingViaButton)})}
13
13
  data-test="toast"
14
14
  role="alert"
15
- @mouseover=${this.#i.bind(this,e)}
16
- @mouseout=${this.#s.bind(this,e)}
17
- @transitionend=${this.#o.bind(this,e)}
15
+ @mouseover=${this.#i.bind(this,t)}
16
+ @mouseout=${this.#s.bind(this,t)}
17
+ @transitionend=${this.#o.bind(this,t)}
18
18
  >
19
19
  <span class="prefix" id="prefix">
20
- ${this.#t.term(e.variant)}
20
+ ${this.#e.term(t.variant)}
21
21
  </span>
22
22
 
23
- ${choose(e.variant,[["success",()=>icons.success],["error",()=>icons.error]],(()=>icons.warningInformational))}
23
+ ${choose(t.variant,[["success",()=>icons.success],["error",()=>icons.error]],(()=>icons.warningInformational))}
24
24
 
25
25
  <div class="label" data-test="label" id="label">
26
- ${e.label}
26
+ ${t.label}
27
27
  </div>
28
28
 
29
29
  <glide-core-icon-button
30
30
  class="dismiss-button"
31
31
  data-test="dismiss-button"
32
- label=${this.#t.term("dismiss")}
32
+ label=${this.#e.term("dismiss")}
33
33
  variant="tertiary"
34
- @click=${this.#r.bind(this,e)}
34
+ @click=${this.#r.bind(this,t)}
35
35
  >
36
36
  ${xIcon}
37
37
  </glide-core-icon-button>
38
38
 
39
- ${when(e.privateDescription,(()=>html`
39
+ ${when(t.privateDescription,(()=>html`
40
40
  <div
41
41
  class="description"
42
42
  data-test="description"
43
43
  id="description"
44
- @click=${this.#a.bind(this,e)}
44
+ @click=${this.#a.bind(this,t)}
45
45
  >
46
- ${unsafeHTML(e.privateDescription)}
46
+ ${unsafeHTML(t.privateDescription)}
47
47
  </div>
48
48
  `))}
49
49
  </div>`))}
50
50
  </div>
51
- </div>`}showPopover(){this.#e.value?.showPopover()}static async show(e){let t=document.querySelector("glide-core-private-toasts");if(t||(t=document.createElement("glide-core-private-toasts"),document.body.append(t)),e.childNodes.length>0){let t="";for(const i of e.childNodes)i instanceof Element?t+=i.outerHTML:i instanceof Text&&(t+=i.textContent);e.privateDescription=t.trim()}t.toasts=[e,...t.toasts],await t.updateComplete,t.showPopover(),e.privateShow=!0,setTimeout((()=>{t.requestUpdate()})),e.duration<Number.POSITIVE_INFINITY&&(e.privateTimeoutId=setTimeout((()=>{window.matchMedia("(prefers-reduced-motion: reduce)").matches?t?.dismiss(e):(e.privateDismissing=!0,t.requestUpdate())}),e.duration))}#e;#t;#a(e,t){t.target instanceof GlideCoreLink&&t.preventDefault();const i=[...e.querySelectorAll("*")].find((e=>{if(t.target instanceof GlideCoreLink)return e instanceof GlideCoreLink&&e.label===t.target.label&&e.href===t.target.href}));i instanceof GlideCoreLink&&i.click()}#r(e){window.matchMedia("(prefers-reduced-motion: reduce)").matches?this.dismiss(e):(e.privateDismissing=!0,e.privateDismissingViaButton=!0,this.requestUpdate())}#s(e){e.duration<Number.POSITIVE_INFINITY&&(e.privateTimeoutId=setTimeout((()=>{window.matchMedia("(prefers-reduced-motion: reduce)").matches?this.dismiss(e):(e.privateDismissing=!0,this.requestUpdate())}),e.duration))}#i(e){clearTimeout(e.privateTimeoutId)}#o(e){document.querySelector("glide-core-private-toasts")&&e.privateDismissing&&this.dismiss(e)}};__decorate([property({type:Array})],GlideCoreToasts.prototype,"toasts",void 0),GlideCoreToasts=__decorate([customElement("glide-core-private-toasts"),final],GlideCoreToasts);export default GlideCoreToasts;const icons={error:html`<svg
51
+ </div>`}showPopover(){this.#t.value?.showPopover()}static async show(t){let e=document.querySelector("glide-core-private-toasts");if(e||(e=document.createElement("glide-core-private-toasts"),document.body.append(e)),t.childNodes.length>0){let e="";for(const i of t.childNodes)i instanceof Element?e+=i.outerHTML:i instanceof Text&&(e+=i.textContent);t.privateDescription=e.trim()}e.toasts=[t,...e.toasts],await e.updateComplete,e.showPopover(),t.privateShow=!0,setTimeout((()=>{e.requestUpdate()})),t.duration<Number.POSITIVE_INFINITY&&(t.privateTimeoutId=setTimeout((()=>{window.matchMedia("(prefers-reduced-motion: reduce)").matches?e?.dismiss(t):(t.privateDismissing=!0,e.requestUpdate())}),t.duration))}#t;#e;#a(t,e){e.target instanceof Link&&e.preventDefault();const i=[...t.querySelectorAll("*")].find((t=>{if(e.target instanceof Link)return t instanceof Link&&t.label===e.target.label&&t.href===e.target.href}));i instanceof Link&&i.click()}#r(t){window.matchMedia("(prefers-reduced-motion: reduce)").matches?this.dismiss(t):(t.privateDismissing=!0,t.privateDismissingViaButton=!0,this.requestUpdate())}#s(t){t.duration<Number.POSITIVE_INFINITY&&(t.privateTimeoutId=setTimeout((()=>{window.matchMedia("(prefers-reduced-motion: reduce)").matches?this.dismiss(t):(t.privateDismissing=!0,this.requestUpdate())}),t.duration))}#i(t){clearTimeout(t.privateTimeoutId)}#o(t){document.querySelector("glide-core-private-toasts")&&t.privateDismissing&&this.dismiss(t)}};__decorate([property({type:Array})],Toasts.prototype,"toasts",void 0),Toasts=__decorate([customElement("glide-core-private-toasts"),final],Toasts);export default Toasts;const icons={error:html`<svg
52
52
  aria-hidden="true"
53
53
  class="icon error"
54
54
  fill="none"
package/dist/toggle.d.ts CHANGED
@@ -2,7 +2,7 @@ import './label.js';
2
2
  import { LitElement } from 'lit';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
- 'glide-core-toggle': GlideCoreToggle;
5
+ 'glide-core-toggle': Toggle;
6
6
  }
7
7
  }
8
8
  /**
@@ -21,7 +21,7 @@ declare global {
21
21
  *
22
22
  * @fires {Event} change
23
23
  */
24
- export default class GlideCoreToggle extends LitElement {
24
+ export default class Toggle extends LitElement {
25
25
  #private;
26
26
  static shadowRootOptions: ShadowRootInit;
27
27
  static styles: import("lit").CSSResult[];
package/dist/toggle.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,i){var r,l=arguments.length,s=l<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var d=e.length-1;d>=0;d--)(r=e[d])&&(s=(l<3?r(s):l>3?r(t,o,s):r(t,o))||s);return l>3&&s&&Object.defineProperty(t,o,s),s};import"./label.js";import{html,LitElement}from"lit";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import styles from"./toggle.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreToggle=class GlideCoreToggle extends LitElement{constructor(){super(...arguments),this.checked=!1,this.disabled=!1,this.hideLabel=!1,this.orientation="horizontal",this.version=packageJson.version,this.#e=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}click(){this.#e.value?.click()}focus(e){this.#e.value?.focus(e)}render(){return html`<div data-test="component"><glide-core-private-label label="${ifDefined(this.label)}" orientation="${this.orientation}" split="${ifDefined(this.privateSplit??void 0)}" tooltip="${ifDefined(this.tooltip)}" ?disabled="${this.disabled}" ?hide="${this.hideLabel}"><label for="input">${this.label}</label><div class="toggle-and-input" slot="control"><input aria-checked="${this.checked}" aria-describedby="summary description" data-test="input" id="input" role="switch" type="checkbox" .checked="${this.checked}" ?disabled="${this.disabled}" @change="${this.#t}" @input="${this.#t}" ${ref(this.#e)}></div>${when(this.summary,(()=>html`<div id="summary" slot="summary">${this.summary}</div>`))}<slot class="description" id="description" name="description" slot="description"></slot></glide-core-private-label></div>`}#e;#t(e){e.target instanceof HTMLInputElement&&(this.checked=e.target.checked),"change"===e.type&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}};__decorate([property({reflect:!0}),required],GlideCoreToggle.prototype,"label",void 0),__decorate([property({type:Boolean})],GlideCoreToggle.prototype,"checked",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreToggle.prototype,"disabled",void 0),__decorate([property({attribute:"hide-label",type:Boolean})],GlideCoreToggle.prototype,"hideLabel",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreToggle.prototype,"orientation",void 0),__decorate([property()],GlideCoreToggle.prototype,"privateSplit",void 0),__decorate([property({reflect:!0})],GlideCoreToggle.prototype,"summary",void 0),__decorate([property({reflect:!0})],GlideCoreToggle.prototype,"tooltip",void 0),__decorate([property({reflect:!0})],GlideCoreToggle.prototype,"version",void 0),GlideCoreToggle=__decorate([customElement("glide-core-toggle"),final],GlideCoreToggle);export default GlideCoreToggle;
1
+ var __decorate=this&&this.__decorate||function(e,t,o,i){var r,l=arguments.length,s=l<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(s=(l<3?r(s):l>3?r(t,o,s):r(t,o))||s);return l>3&&s&&Object.defineProperty(t,o,s),s};import"./label.js";import{html,LitElement}from"lit";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import styles from"./toggle.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let Toggle=class Toggle extends LitElement{constructor(){super(...arguments),this.checked=!1,this.disabled=!1,this.hideLabel=!1,this.orientation="horizontal",this.version=packageJson.version,this.#e=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}click(){this.#e.value?.click()}focus(e){this.#e.value?.focus(e)}render(){return html`<div data-test="component"><glide-core-private-label label="${ifDefined(this.label)}" orientation="${this.orientation}" split="${ifDefined(this.privateSplit??void 0)}" tooltip="${ifDefined(this.tooltip)}" ?disabled="${this.disabled}" ?hide="${this.hideLabel}"><label for="input">${this.label}</label><div class="toggle-and-input" slot="control"><input aria-checked="${this.checked}" aria-describedby="summary description" data-test="input" id="input" role="switch" type="checkbox" .checked="${this.checked}" ?disabled="${this.disabled}" @change="${this.#t}" @input="${this.#t}" ${ref(this.#e)}></div>${when(this.summary,(()=>html`<div id="summary" slot="summary">${this.summary}</div>`))}<slot class="description" id="description" name="description" slot="description"></slot></glide-core-private-label></div>`}#e;#t(e){e.target instanceof HTMLInputElement&&(this.checked=e.target.checked),"change"===e.type&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}};__decorate([property({reflect:!0}),required],Toggle.prototype,"label",void 0),__decorate([property({type:Boolean})],Toggle.prototype,"checked",void 0),__decorate([property({reflect:!0,type:Boolean})],Toggle.prototype,"disabled",void 0),__decorate([property({attribute:"hide-label",type:Boolean})],Toggle.prototype,"hideLabel",void 0),__decorate([property({reflect:!0,useDefault:!0})],Toggle.prototype,"orientation",void 0),__decorate([property()],Toggle.prototype,"privateSplit",void 0),__decorate([property({reflect:!0})],Toggle.prototype,"summary",void 0),__decorate([property({reflect:!0})],Toggle.prototype,"tooltip",void 0),__decorate([property({reflect:!0})],Toggle.prototype,"version",void 0),Toggle=__decorate([customElement("glide-core-toggle"),final],Toggle);export default Toggle;
@@ -1,7 +1,7 @@
1
1
  import { LitElement } from 'lit';
2
2
  declare global {
3
3
  interface HTMLElementTagNameMap {
4
- 'glide-core-private-tooltip-container': GlideCoreTooltipContainer;
4
+ 'glide-core-private-tooltip-container': TooltipContainer;
5
5
  }
6
6
  }
7
7
  /**
@@ -11,7 +11,7 @@ declare global {
11
11
  * @attr {boolean} [screenreader-hidden=false]
12
12
  * @attr {string[]} [shortcut=[]]
13
13
  */
14
- export default class GlideCoreTooltipContainer extends LitElement {
14
+ export default class TooltipContainer extends LitElement {
15
15
  #private;
16
16
  static shadowRootOptions: ShadowRootInit;
17
17
  static styles: import("lit").CSSResult[];
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,l=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,r);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(l=(s<3?i(l):s>3?i(t,o,l):i(t,o))||l);return s>3&&l&&Object.defineProperty(t,o,l),l};import{html,LitElement}from"lit";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import{classMap}from"lit/directives/class-map.js";import{map}from"lit/directives/map.js";import styles from"./tooltip.container.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreTooltipContainer=class GlideCoreTooltipContainer extends LitElement{constructor(){super(...arguments),this.screenreaderHidden=!1,this.shortcut=[],this.#e=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#e}set disabled(e){this.#e=e,this.role=e||this.screenreaderHidden?"none":"tooltip"}connectedCallback(){super.connectedCallback(),this.id=nanoid(),this.role=this.role=this.disabled||this.screenreaderHidden?"none":"tooltip",this.slot="private"}render(){return html`<div aria-hidden="${this.screenreaderHidden}" class="${classMap({component:!0,reversed:"left"===this.placement})}"><div class="label">${this.label}</div><kbd class="${classMap({shortcut:!0,reversed:"left"===this.placement,visible:this.shortcut.length>0})}" data-test="shortcut">${1===this.shortcut.length?this.shortcut.at(0):map(this.shortcut,((e,t)=>html`<kbd>${e}</kbd> ${t===this.shortcut.length-1?"":" + "}`))}</kbd></div>`}#e};__decorate([property({type:Boolean})],GlideCoreTooltipContainer.prototype,"disabled",null),__decorate([property()],GlideCoreTooltipContainer.prototype,"label",void 0),__decorate([property()],GlideCoreTooltipContainer.prototype,"placement",void 0),__decorate([property({attribute:"screenreader-hidden",type:Boolean})],GlideCoreTooltipContainer.prototype,"screenreaderHidden",void 0),__decorate([property({type:Array})],GlideCoreTooltipContainer.prototype,"shortcut",void 0),GlideCoreTooltipContainer=__decorate([customElement("glide-core-private-tooltip-container"),final],GlideCoreTooltipContainer);export default GlideCoreTooltipContainer;
1
+ var __decorate=this&&this.__decorate||function(t,e,o,r){var i,s=arguments.length,a=s<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,o,r);else for(var l=t.length-1;l>=0;l--)(i=t[l])&&(a=(s<3?i(a):s>3?i(e,o,a):i(e,o))||a);return s>3&&a&&Object.defineProperty(e,o,a),a};import{html,LitElement}from"lit";import{customElement,property}from"lit/decorators.js";import{classMap}from"lit/directives/class-map.js";import{map}from"lit/directives/map.js";import styles from"./tooltip.container.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import uniqueId from"./library/unique-id.js";let TooltipContainer=class TooltipContainer extends LitElement{constructor(){super(...arguments),this.screenreaderHidden=!1,this.shortcut=[],this.#t=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#t}set disabled(t){this.#t=t,this.role=t||this.screenreaderHidden?"none":"tooltip"}connectedCallback(){super.connectedCallback(),this.id=uniqueId(),this.role=this.role=this.disabled||this.screenreaderHidden?"none":"tooltip",this.slot="private"}render(){return html`<div aria-hidden="${this.screenreaderHidden}" class="${classMap({component:!0,reversed:"left"===this.placement})}"><div class="label">${this.label}</div><kbd class="${classMap({shortcut:!0,reversed:"left"===this.placement,visible:this.shortcut.length>0})}" data-test="shortcut">${1===this.shortcut.length?this.shortcut.at(0):map(this.shortcut,((t,e)=>html`<kbd>${t}</kbd> ${e===this.shortcut.length-1?"":" + "}`))}</kbd></div>`}#t};__decorate([property({type:Boolean})],TooltipContainer.prototype,"disabled",null),__decorate([property()],TooltipContainer.prototype,"label",void 0),__decorate([property()],TooltipContainer.prototype,"placement",void 0),__decorate([property({attribute:"screenreader-hidden",type:Boolean})],TooltipContainer.prototype,"screenreaderHidden",void 0),__decorate([property({type:Array})],TooltipContainer.prototype,"shortcut",void 0),TooltipContainer=__decorate([customElement("glide-core-private-tooltip-container"),final],TooltipContainer);export default TooltipContainer;
package/dist/tooltip.d.ts CHANGED
@@ -2,7 +2,7 @@ import { LitElement } from 'lit';
2
2
  import './tooltip.container.js';
3
3
  declare global {
4
4
  interface HTMLElementTagNameMap {
5
- 'glide-core-tooltip': GlideCoreTooltip;
5
+ 'glide-core-tooltip': Tooltip;
6
6
  }
7
7
  }
8
8
  /**
@@ -17,12 +17,12 @@ declare global {
17
17
  * @readonly
18
18
  * @attr {string} [version]
19
19
  *
20
- * @slot {GlideCoreTooltipContainer} [private]
20
+ * @slot {TooltipContainer} [private]
21
21
  * @slot {Element} target - The element to which the tooltip will anchor. Can be any element with an implicit or explicit ARIA role.
22
22
  *
23
23
  * @fires {Event} toggle
24
24
  */
25
- export default class GlideCoreTooltip extends LitElement {
25
+ export default class Tooltip extends LitElement {
26
26
  #private;
27
27
  static shadowRootOptions: ShadowRootInit;
28
28
  static styles: import("lit").CSSResult[];