@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.
- package/dist/accordion.d.ts +2 -2
- package/dist/accordion.js +1 -1
- package/dist/button-group.button.d.ts +2 -2
- package/dist/button-group.button.js +1 -1
- package/dist/button-group.d.ts +3 -3
- package/dist/button-group.js +1 -1
- package/dist/button.d.ts +2 -2
- package/dist/button.js +1 -1
- package/dist/checkbox-group.d.ts +3 -3
- package/dist/checkbox-group.js +9 -9
- package/dist/checkbox.d.ts +2 -3
- package/dist/checkbox.js +3 -3
- package/dist/checkbox.styles.js +8 -16
- package/dist/drawer.d.ts +2 -2
- package/dist/drawer.js +1 -1
- package/dist/dropdown.d.ts +8 -13
- package/dist/dropdown.js +53 -55
- package/dist/dropdown.option.d.ts +2 -3
- package/dist/dropdown.option.js +1 -1
- package/dist/dropdown.option.styles.js +16 -79
- package/dist/dropdown.styles.js +10 -29
- package/dist/form-controls-layout.d.ts +3 -3
- package/dist/form-controls-layout.js +1 -1
- package/dist/icon-button.d.ts +2 -2
- package/dist/icon-button.js +1 -1
- package/dist/icon-button.styles.js +29 -0
- package/dist/inline-alert.d.ts +2 -2
- package/dist/inline-alert.js +1 -1
- package/dist/input.d.ts +2 -2
- package/dist/input.js +2 -2
- package/dist/label.d.ts +2 -2
- package/dist/label.js +1 -1
- package/dist/label.styles.js +5 -1
- package/dist/library/assert-slot.d.ts +1 -1
- package/dist/library/assert-slot.test.js +22 -22
- package/dist/library/expect-window-error.js +1 -1
- package/dist/library/final.test.js +9 -9
- package/dist/library/localize.d.ts +2 -1
- package/dist/library/localize.test.js +6 -6
- package/dist/library/required.test.js +5 -5
- package/dist/library/unique-id.d.ts +2 -0
- package/dist/library/unique-id.js +1 -0
- package/dist/link.d.ts +2 -3
- package/dist/link.js +1 -1
- package/dist/link.styles.js +1 -1
- package/dist/menu.button.d.ts +2 -2
- package/dist/menu.button.js +1 -1
- package/dist/menu.d.ts +3 -9
- package/dist/menu.js +1 -1
- package/dist/menu.link.d.ts +2 -2
- package/dist/menu.link.js +1 -1
- package/dist/menu.options.d.ts +3 -4
- package/dist/menu.options.js +1 -1
- package/dist/menu.options.styles.js +6 -19
- package/dist/modal.d.ts +6 -6
- package/dist/modal.icon-button.d.ts +2 -2
- package/dist/modal.icon-button.js +1 -1
- package/dist/modal.js +1 -1
- package/dist/popover.d.ts +2 -2
- package/dist/popover.js +1 -1
- package/dist/radio-group.d.ts +3 -3
- package/dist/radio-group.js +6 -6
- package/dist/radio-group.radio.d.ts +2 -2
- package/dist/radio-group.radio.js +1 -1
- package/dist/spinner.d.ts +2 -2
- package/dist/spinner.js +1 -1
- package/dist/split-button.d.ts +4 -10
- package/dist/split-button.js +1 -1
- package/dist/split-button.primary-button.d.ts +2 -2
- package/dist/split-button.primary-button.js +1 -1
- package/dist/split-button.primary-button.styles.js +4 -14
- package/dist/split-button.primary-link.d.ts +2 -2
- package/dist/split-button.primary-link.js +1 -1
- package/dist/split-button.secondary-button.d.ts +3 -4
- package/dist/split-button.secondary-button.js +1 -1
- package/dist/split-button.secondary-button.styles.js +4 -15
- package/dist/tab.d.ts +12 -4
- package/dist/tab.group.d.ts +4 -5
- package/dist/tab.group.js +1 -1
- package/dist/tab.group.styles.js +14 -16
- package/dist/tab.js +1 -1
- package/dist/tab.panel.d.ts +12 -5
- package/dist/tab.panel.js +1 -1
- package/dist/tag.d.ts +2 -4
- package/dist/tag.js +1 -1
- package/dist/tag.styles.js +7 -52
- package/dist/textarea.d.ts +2 -2
- package/dist/textarea.js +7 -7
- package/dist/textarea.styles.js +2 -1
- package/dist/toast.d.ts +3 -3
- package/dist/toast.js +1 -1
- package/dist/toast.toasts.d.ts +9 -9
- package/dist/toast.toasts.js +17 -17
- package/dist/toggle.d.ts +2 -2
- package/dist/toggle.js +1 -1
- package/dist/tooltip.container.d.ts +2 -2
- package/dist/tooltip.container.js +1 -1
- package/dist/tooltip.d.ts +3 -3
- package/dist/tooltip.js +1 -1
- package/dist/translations/en.js +1 -1
- package/dist/translations/fr.d.ts +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/ja.d.ts +1 -1
- package/dist/translations/ja.js +1 -1
- package/package.json +4 -4
package/dist/tab.panel.d.ts
CHANGED
@@ -1,11 +1,17 @@
|
|
1
1
|
import { LitElement } from 'lit';
|
2
2
|
declare global {
|
3
3
|
interface HTMLElementTagNameMap {
|
4
|
-
'glide-core-tab-panel':
|
4
|
+
'glide-core-tab-panel': TabPanel;
|
5
5
|
}
|
6
6
|
}
|
7
7
|
/**
|
8
|
-
* @attr {string} name - The corresponding
|
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
|
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
|
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
|
-
|
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
|
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':
|
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
|
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
|
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;
|
package/dist/tag.styles.js
CHANGED
@@ -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;
|
package/dist/textarea.d.ts
CHANGED
@@ -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':
|
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
|
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,
|
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.#
|
31
|
-
@change=${this.#
|
30
|
+
@blur=${this.#s}
|
31
|
+
@change=${this.#o}
|
32
32
|
@input=${this.#l}
|
33
|
-
@keydown=${this.#
|
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.#
|
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.#
|
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.#
|
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;
|
package/dist/textarea.styles.js
CHANGED
@@ -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':
|
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 {
|
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
|
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,
|
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;
|
package/dist/toast.toasts.d.ts
CHANGED
@@ -1,31 +1,31 @@
|
|
1
1
|
import './icon-button.js';
|
2
2
|
import { LitElement } from 'lit';
|
3
|
-
import
|
3
|
+
import Toast from './toast.js';
|
4
4
|
declare global {
|
5
5
|
interface HTMLElementTagNameMap {
|
6
|
-
'glide-core-private-toasts':
|
6
|
+
'glide-core-private-toasts': Toasts;
|
7
7
|
}
|
8
8
|
}
|
9
9
|
/**
|
10
|
-
* @attr {
|
10
|
+
* @attr {Toast[]} [toasts=[]]
|
11
11
|
*
|
12
12
|
* @method dismiss
|
13
|
-
* @param {
|
13
|
+
* @param {Toast} toast
|
14
14
|
*
|
15
15
|
* @method show
|
16
|
-
* @param {
|
16
|
+
* @param {Toast} toast
|
17
17
|
* @returns Promise<void>
|
18
18
|
*
|
19
19
|
* @method showPopover
|
20
20
|
*/
|
21
|
-
export default class
|
21
|
+
export default class Toasts extends LitElement {
|
22
22
|
#private;
|
23
23
|
static shadowRootOptions: ShadowRootInit;
|
24
24
|
static styles: import("lit").CSSResult[];
|
25
|
-
toasts:
|
26
|
-
dismiss(toast:
|
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:
|
30
|
+
static show(toast: Toast): Promise<void>;
|
31
31
|
}
|
package/dist/toast.toasts.js
CHANGED
@@ -1,54 +1,54 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,
|
2
|
-
aria-label=${this.#
|
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.#
|
7
|
+
${ref(this.#t)}
|
8
8
|
>
|
9
9
|
<div class="toasts">
|
10
|
-
${repeat(this.toasts,(
|
10
|
+
${repeat(this.toasts,(t=>t.privateId),(t=>html`<div
|
11
11
|
aria-labelledby="prefix label description"
|
12
|
-
class=${classMap({toast:!0,error:"error"===
|
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,
|
16
|
-
@mouseout=${this.#s.bind(this,
|
17
|
-
@transitionend=${this.#o.bind(this,
|
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.#
|
20
|
+
${this.#e.term(t.variant)}
|
21
21
|
</span>
|
22
22
|
|
23
|
-
${choose(
|
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
|
-
${
|
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.#
|
32
|
+
label=${this.#e.term("dismiss")}
|
33
33
|
variant="tertiary"
|
34
|
-
@click=${this.#r.bind(this,
|
34
|
+
@click=${this.#r.bind(this,t)}
|
35
35
|
>
|
36
36
|
${xIcon}
|
37
37
|
</glide-core-icon-button>
|
38
38
|
|
39
|
-
${when(
|
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,
|
44
|
+
@click=${this.#a.bind(this,t)}
|
45
45
|
>
|
46
|
-
${unsafeHTML(
|
46
|
+
${unsafeHTML(t.privateDescription)}
|
47
47
|
</div>
|
48
48
|
`))}
|
49
49
|
</div>`))}
|
50
50
|
</div>
|
51
|
-
</div>`}showPopover(){this.#
|
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':
|
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
|
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
|
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':
|
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
|
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,
|
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':
|
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 {
|
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
|
25
|
+
export default class Tooltip extends LitElement {
|
26
26
|
#private;
|
27
27
|
static shadowRootOptions: ShadowRootInit;
|
28
28
|
static styles: import("lit").CSSResult[];
|