@crowdstrike/glide-core 0.24.4 → 0.25.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/button-group.button.js +1 -1
- package/dist/button-group.js +1 -1
- package/dist/button.d.ts +1 -1
- package/dist/button.js +1 -1
- package/dist/checkbox-group.d.ts +1 -1
- package/dist/checkbox-group.js +2 -2
- package/dist/checkbox.d.ts +5 -5
- package/dist/checkbox.js +2 -2
- package/dist/dropdown.d.ts +1 -1
- package/dist/dropdown.js +8 -8
- package/dist/dropdown.option.d.ts +5 -5
- package/dist/dropdown.option.js +1 -1
- package/dist/dropdown.styles.js +3 -1
- package/dist/icon-button.d.ts +4 -4
- package/dist/icon-button.js +1 -1
- package/dist/inline-alert.js +1 -1
- package/dist/input.d.ts +14 -14
- package/dist/input.js +1 -1
- package/dist/input.styles.js +1 -1
- package/dist/label.js +1 -1
- package/dist/link.d.ts +30 -0
- package/dist/link.js +1 -0
- package/dist/link.styles.d.ts +2 -0
- package/dist/link.styles.js +27 -0
- package/dist/menu.button.d.ts +1 -1
- package/dist/menu.button.js +1 -1
- package/dist/menu.js +1 -1
- package/dist/menu.link.d.ts +1 -1
- package/dist/menu.link.js +1 -1
- package/dist/menu.options.js +1 -1
- package/dist/modal.d.ts +1 -1
- package/dist/modal.icon-button.js +1 -1
- package/dist/modal.js +1 -1
- package/dist/radio-group.d.ts +1 -1
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.radio.d.ts +5 -5
- package/dist/radio-group.radio.js +1 -1
- package/dist/spinner.js +1 -1
- package/dist/spinner.styles.js +1 -4
- package/dist/split-button.primary-button.d.ts +1 -1
- package/dist/split-button.primary-button.js +1 -1
- 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 +1 -1
- package/dist/split-button.secondary-button.js +1 -1
- package/dist/tab.group.js +1 -1
- package/dist/tab.group.styles.js +4 -0
- package/dist/tag.d.ts +1 -1
- package/dist/tag.js +1 -1
- package/dist/tag.styles.js +30 -37
- package/dist/textarea.d.ts +9 -9
- package/dist/textarea.js +1 -1
- package/dist/textarea.styles.js +1 -1
- package/dist/toggle.d.ts +1 -1
- package/dist/toggle.js +1 -1
- package/dist/tooltip.d.ts +5 -5
- package/dist/tooltip.js +1 -1
- package/package.json +7 -7
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,o,r){var i,n=arguments.length,l=n<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 s=e.length-1;s>=0;s--)(i=e[s])&&(l=(n<3?i(l):n>3?i(t,o,l):i(t,o))||l);return n>3&&l&&Object.defineProperty(t,o,l),l};import"./menu.options.js";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{ifDefined}from"lit/directives/if-defined.js";import packageJson from"../package.json"with{type:"json"};import GlideCoreMenu from"./menu.js";import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import chevronIcon from"./icons/chevron.js";import styles from"./split-button.secondary-button.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreSplitButtonSecondaryButton=class GlideCoreSplitButtonSecondaryButton extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.menuOpen=!1,this.menuPlacement="bottom-end",this.privateActive=!1,this.privateSize="large",this.privateVariant="primary",this.version=packageJson.version,this.#e=createRef(),this.#t=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}click(){this.#e.value?.click()}firstUpdated(){const e=new MutationObserver((()=>{this.#t.value&&(this.menuOpen=this.#t.value.open)}));this.#t.value&&e.observe(this.#t.value,{attributes:!0,attributeFilter:["open"]})}render(){return html`<glide-core-menu placement="${this.menuPlacement}" size="${this.privateSize}" ?open="${this.menuOpen}" ${ref(this.#t)}><button aria-label="${ifDefined(this.label)}" class="${classMap({component:!0,active:this.menuOpen,disabled:this.disabled,[this.privateVariant]:!0,[this.privateSize]:!0})}" data-test="button" slot="target" type="button" ?disabled="${this.disabled}" ${ref(this.#e)}>${chevronIcon}</button><glide-core-menu-options><slot ${assertSlot([GlideCoreMenuButton,GlideCoreMenuLink])}></slot></glide-core-menu-options></glide-core-menu>`}#e;#t};__decorate([property({reflect:!0
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,o,r){var i,n=arguments.length,l=n<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 s=e.length-1;s>=0;s--)(i=e[s])&&(l=(n<3?i(l):n>3?i(t,o,l):i(t,o))||l);return n>3&&l&&Object.defineProperty(t,o,l),l};import"./menu.options.js";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{ifDefined}from"lit/directives/if-defined.js";import packageJson from"../package.json"with{type:"json"};import GlideCoreMenu from"./menu.js";import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import chevronIcon from"./icons/chevron.js";import styles from"./split-button.secondary-button.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreSplitButtonSecondaryButton=class GlideCoreSplitButtonSecondaryButton extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.menuOpen=!1,this.menuPlacement="bottom-end",this.privateActive=!1,this.privateSize="large",this.privateVariant="primary",this.version=packageJson.version,this.#e=createRef(),this.#t=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}click(){this.#e.value?.click()}firstUpdated(){const e=new MutationObserver((()=>{this.#t.value&&(this.menuOpen=this.#t.value.open)}));this.#t.value&&e.observe(this.#t.value,{attributes:!0,attributeFilter:["open"]})}render(){return html`<glide-core-menu placement="${this.menuPlacement}" size="${this.privateSize}" ?open="${this.menuOpen}" ${ref(this.#t)}><button aria-label="${ifDefined(this.label)}" class="${classMap({component:!0,active:this.menuOpen,disabled:this.disabled,[this.privateVariant]:!0,[this.privateSize]:!0})}" data-test="button" slot="target" type="button" ?disabled="${this.disabled}" ${ref(this.#e)}>${chevronIcon}</button><glide-core-menu-options><slot ${assertSlot([GlideCoreMenuButton,GlideCoreMenuLink])}></slot></glide-core-menu-options></glide-core-menu>`}#e;#t};__decorate([property({reflect:!0}),required],GlideCoreSplitButtonSecondaryButton.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreSplitButtonSecondaryButton.prototype,"disabled",void 0),__decorate([property({attribute:"menu-open",reflect:!0,type:Boolean})],GlideCoreSplitButtonSecondaryButton.prototype,"menuOpen",void 0),__decorate([property({attribute:"menu-placement",reflect:!0,useDefault:!0})],GlideCoreSplitButtonSecondaryButton.prototype,"menuPlacement",void 0),__decorate([property({type:Boolean})],GlideCoreSplitButtonSecondaryButton.prototype,"privateActive",void 0),__decorate([property()],GlideCoreSplitButtonSecondaryButton.prototype,"privateSize",void 0),__decorate([property()],GlideCoreSplitButtonSecondaryButton.prototype,"privateVariant",void 0),__decorate([property({reflect:!0})],GlideCoreSplitButtonSecondaryButton.prototype,"version",void 0),GlideCoreSplitButtonSecondaryButton=__decorate([customElement("glide-core-split-button-secondary-button"),final],GlideCoreSplitButtonSecondaryButton);export default GlideCoreSplitButtonSecondaryButton;
|
package/dist/tab.group.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(t,e,s,o){var i,l=arguments.length,a=l<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,s):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,s,o);else for(var r=t.length-1;r>=0;r--)(i=t[r])&&(a=(l<3?i(a):l>3?i(e,s,a):i(e,s))||a);return l>3&&a&&Object.defineProperty(e,s,a),a};import"./icon-button.js";import{html,LitElement}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{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import GlideCoreTab from"./tab.js";import GlideCoreTabPanel from"./tab.panel.js";import chevronIcon from"./icons/chevron.js";import onResize from"./library/on-resize.js";import styles from"./tab.group.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreTabGroup=class GlideCoreTabGroup extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.isDisableOverflowEndButton=!1,this.isDisableOverflowStartButton=!1,this.isShowOverflowButtons=!1,this.#t=createRef(),this.#e=new LocalizeController(this),this.#s=1,this.#o=createRef(),this.#i=createRef(),this.#l=null,this.#a=null,this.#r=null,this.#n=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}render(){return html`<div class="component" @click="${this.#c}" @keydown="${this.#
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,s,o){var i,l=arguments.length,a=l<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,s):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,s,o);else for(var r=t.length-1;r>=0;r--)(i=t[r])&&(a=(l<3?i(a):l>3?i(e,s,a):i(e,s))||a);return l>3&&a&&Object.defineProperty(e,s,a),a};import"./icon-button.js";import{html,LitElement}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{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import GlideCoreTab from"./tab.js";import GlideCoreTabPanel from"./tab.panel.js";import chevronIcon from"./icons/chevron.js";import onResize from"./library/on-resize.js";import styles from"./tab.group.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreTabGroup=class GlideCoreTabGroup extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.isDisableOverflowEndButton=!1,this.isDisableOverflowStartButton=!1,this.isShowOverflowButtons=!1,this.#t=createRef(),this.#e=new LocalizeController(this),this.#s=1,this.#o=createRef(),this.#i=createRef(),this.#l=null,this.#a=null,this.#r=null,this.#n=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}render(){return html`<div class="component" @click="${this.#c}" @keydown="${this.#d}" ${ref(this.#t)}><div class="tab-container" data-test="tab-container">${when(this.isShowOverflowButtons,(()=>html`<button aria-label="${this.#e.term("previousTab")}" class="${classMap({"overflow-button":!0,start:!0,disabled:this.isDisableOverflowStartButton})}" data-test="overflow-start-button" tabindex="-1" ?disabled="${this.isDisableOverflowStartButton}" @click="${this.#b}" ${ref(this.#i)}>${chevronIcon}</button>`))}<div class="${classMap({"tab-group":!0,animated:this.hasUpdated})}" data-test="tablist" role="tablist" tabindex="-1" @focusout="${this.#h}" @scroll="${this.#f}" ${onResize(this.#u.bind(this))} ${ref(this.#n)}><slot name="nav" @slotchange="${this.#m}" ${assertSlot([GlideCoreTab])}></slot></div>${when(this.isShowOverflowButtons,(()=>html`<button aria-label="${this.#e.term("nextTab")}" class="${classMap({"overflow-button":!0,end:!0,disabled:this.isDisableOverflowEndButton})}" data-test="overflow-end-button" tabindex="-1" @click="${this.#p}" ?disabled="${this.isDisableOverflowEndButton}" ${ref(this.#o)}>${chevronIcon}</button>`))}</div><slot ${assertSlot([GlideCoreTabPanel])}></slot></div>`}get selectedTab(){return this.#r}set selectedTab(t){this.#l=this.#r,this.#r=t}updated(){this.#v()}#t;#e;#s;#o;#i;#l;#a;#r;#n;get#w(){return[...this.querySelectorAll(":scope > glide-core-tab-panel")]}get#T(){return[...this.querySelectorAll(":scope > glide-core-tab")]}#c(t){const e=t.target.closest("glide-core-tab");e&&e instanceof GlideCoreTab&&!e.disabled&&this.#T.includes(e)&&this.#E(e)}#d(t){const e=t.target instanceof HTMLElement&&t.target.closest("glide-core-tab");if(["Enter"," "].includes(t.key)&&e&&e instanceof GlideCoreTab&&!e.disabled&&(this.#E(e),t.preventDefault()),["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Home","End"].includes(t.key)){const e=this.#T.find((t=>t.matches(":focus")));if(e instanceof GlideCoreTab){let s=this.#T.indexOf(e);switch(t.key){case"Home":s=0;break;case"End":s=this.#T.length-1;break;case"ArrowLeft":s--;break;case"ArrowRight":s++}s<0&&(s=this.#T.length-1),s>this.#T.length-1&&(s=0),this.#T[s]?.focus({preventScroll:!1});for(const[,t]of this.#T.entries())t.tabIndex=this.#T[s]===t?0:-1;this.#f(),t.preventDefault()}}}#m(){this.#v(),this.#S(),this.#f()}#p(){this.#R("right")}#b(){this.#R("left")}#h(){for(const[,t]of this.#T.entries())t.tabIndex=t===this.selectedTab?0:-1}#u(){this.#a&&clearTimeout(this.#a),this.#a=setTimeout((()=>{this.#f()}))}#R(t){const e="right"===t?1:-1;if(this.#n.value){const t=e*this.#n.value.clientWidth*.5;this.#n.value.scrollBy({left:t,top:0})}}#g(){const t=this.#n.value,e=t?.getBoundingClientRect();if(e&&t){const{width:s}=e,o=t.scrollLeft+s,i=t.scrollWidth;this.isDisableOverflowEndButton=i-o<=this.#s}}#f(){if(this.#n.value){const{width:t}=this.#n.value.getBoundingClientRect();this.isShowOverflowButtons=this.#n.value.scrollWidth-t>this.#s}this.#B(),this.#g()}#S(){for(const[t,e]of this.#T.entries())this.selectedTab||0!==t?(e.selected=this.selectedTab===e,e.tabIndex=this.selectedTab===e?0:-1):(this.selectedTab=e,this.selectedTab.selected=!0,this.selectedTab.tabIndex=0);for(const t of this.#w){const e=this.selectedTab?.getAttribute("panel"),s=t.getAttribute("name");t.privateIsSelected=s===e,t.tabIndex=s===e?0:-1}if(this.selectedTab!==this.#l&&this.selectedTab&&this.#T.length>0&&this.#t.value){const t=Number.parseInt(window.getComputedStyle(this.selectedTab).getPropertyValue("padding-inline-start")),e=this.selectedTab===this.#T.at(0)?t:this.selectedTab.offsetLeft-this.#T.at(0).offsetLeft;this.#t.value.style.setProperty("--private-selected-tab-indicator-translate",`${e}px`);const s=this.selectedTab===this.#T.at(0)||this.selectedTab===this.#T.at(-1)?t:0,{width:o}=this.selectedTab.getBoundingClientRect();this.#t.value.style.setProperty("--private-selected-tab-indicator-width",o-s+"px")}}#B(){this.#n.value&&(this.isDisableOverflowStartButton=this.#n.value.scrollLeft<=0)}#v(){for(const t of this.#T){const e=this.#w.filter((e=>e.name===t.panel))?.at(0);e?.id&&(t.setAttribute("aria-controls",e.id),e.setAttribute("aria-labelledby",t.id))}}#E(t){this.selectedTab=t,this.#S()}};__decorate([property({reflect:!0})],GlideCoreTabGroup.prototype,"version",void 0),__decorate([state()],GlideCoreTabGroup.prototype,"selectedTab",null),__decorate([state()],GlideCoreTabGroup.prototype,"isDisableOverflowEndButton",void 0),__decorate([state()],GlideCoreTabGroup.prototype,"isDisableOverflowStartButton",void 0),__decorate([state()],GlideCoreTabGroup.prototype,"isShowOverflowButtons",void 0),GlideCoreTabGroup=__decorate([customElement("glide-core-tab-group"),final],GlideCoreTabGroup);export default GlideCoreTabGroup;
|
package/dist/tab.group.styles.js
CHANGED
package/dist/tag.d.ts
CHANGED
@@ -22,8 +22,8 @@ export default class GlideCoreTag extends LitElement {
|
|
22
22
|
#private;
|
23
23
|
static shadowRootOptions: ShadowRootInit;
|
24
24
|
static styles: import("lit").CSSResult[];
|
25
|
-
disabled: boolean;
|
26
25
|
label?: string;
|
26
|
+
disabled: boolean;
|
27
27
|
privateEditable: boolean;
|
28
28
|
removable: boolean;
|
29
29
|
size: 'small' | 'medium' | 'large';
|
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
|
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;
|
package/dist/tag.styles.js
CHANGED
@@ -24,28 +24,38 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
24
24
|
|
25
25
|
.component {
|
26
26
|
align-items: center;
|
27
|
-
background: var(
|
27
|
+
background-color: var(
|
28
|
+
--glide-core-color-static-surface-container-secondary
|
29
|
+
);
|
30
|
+
border: 1px solid var(--glide-core-color-interactive-stroke-primary);
|
28
31
|
border-radius: var(--glide-core-rounding-base-radius-round);
|
29
|
-
color: var(--glide-core-color-
|
32
|
+
color: var(--glide-core-color-interactive-text-default);
|
30
33
|
display: flex;
|
31
34
|
font-family: var(--glide-core-typography-family-primary);
|
32
|
-
font-size: var(--glide-core-typography-size-body-small);
|
33
35
|
font-weight: var(--glide-core-typography-weight-regular);
|
34
36
|
justify-content: center;
|
35
37
|
line-height: 1;
|
36
38
|
max-inline-size: max-content;
|
37
|
-
min-block-size: var(--glide-core-spacing-base-md);
|
38
39
|
opacity: 1;
|
39
|
-
padding: var(--glide-core-spacing-base-xxxs)
|
40
|
-
var(--glide-core-spacing-base-xs);
|
41
40
|
|
42
41
|
&.large {
|
42
|
+
column-gap: var(--glide-core-spacing-base-xs);
|
43
|
+
font-size: var(--glide-core-typography-size-body-small);
|
43
44
|
min-block-size: 0.875rem;
|
44
45
|
padding: var(--glide-core-spacing-base-xxs)
|
45
46
|
var(--glide-core-spacing-base-sm);
|
46
47
|
}
|
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
|
+
|
48
57
|
&.small {
|
58
|
+
column-gap: var(--glide-core-spacing-base-xxs);
|
49
59
|
font-size: 0.625rem;
|
50
60
|
min-block-size: var(--glide-core-spacing-base-md);
|
51
61
|
padding: 0 var(--glide-core-spacing-base-xs);
|
@@ -58,6 +68,8 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
58
68
|
}
|
59
69
|
|
60
70
|
&.disabled {
|
71
|
+
background: var(--glide-core-color-static-surface-container-secondary);
|
72
|
+
border-color: var(--glide-core-color-interactive-stroke-primary);
|
61
73
|
color: var(--glide-core-color-interactive-icon-default--disabled);
|
62
74
|
}
|
63
75
|
|
@@ -80,39 +92,27 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
80
92
|
.removal-button {
|
81
93
|
align-items: center;
|
82
94
|
background-color: transparent;
|
95
|
+
block-size: 1rem;
|
83
96
|
border: none;
|
84
97
|
border-radius: 0.0625rem;
|
85
98
|
color: var(--glide-core-color-interactive-icon-default);
|
86
99
|
cursor: pointer;
|
87
100
|
display: flex;
|
101
|
+
inline-size: 1rem;
|
88
102
|
justify-content: center;
|
89
103
|
margin: 0;
|
90
104
|
padding: 0;
|
91
105
|
transition: color 200ms ease-in-out;
|
92
106
|
|
93
|
-
&.large {
|
94
|
-
block-size: 0.875rem;
|
95
|
-
inline-size: 0.875rem;
|
96
|
-
margin-inline-start: var(--glide-core-spacing-base-xs);
|
97
|
-
}
|
98
|
-
|
99
|
-
&.medium {
|
100
|
-
block-size: var(--glide-core-spacing-base-sm);
|
101
|
-
inline-size: var(--glide-core-spacing-base-sm);
|
102
|
-
margin-inline-start: 0.375rem;
|
103
|
-
}
|
104
|
-
|
105
|
-
&.small {
|
106
|
-
block-size: 0.625rem;
|
107
|
-
inline-size: 0.6215rem;
|
108
|
-
margin-inline-start: var(--glide-core-spacing-base-xxs);
|
109
|
-
}
|
110
|
-
|
111
107
|
&.disabled {
|
112
108
|
color: var(--glide-core-color-interactive-icon-default--disabled);
|
113
109
|
cursor: not-allowed;
|
114
110
|
}
|
115
111
|
|
112
|
+
&.hidden {
|
113
|
+
display: none;
|
114
|
+
}
|
115
|
+
|
116
116
|
&:hover:not(.disabled) {
|
117
117
|
color: var(--glide-core-color-interactive-icon-active--hover);
|
118
118
|
}
|
@@ -125,9 +125,8 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
125
125
|
.icon-slot {
|
126
126
|
&.large {
|
127
127
|
&::slotted(*) {
|
128
|
-
block-size:
|
129
|
-
inline-size:
|
130
|
-
margin-inline-end: var(--glide-core-spacing-base-xs);
|
128
|
+
block-size: 1rem;
|
129
|
+
inline-size: 1rem;
|
131
130
|
}
|
132
131
|
}
|
133
132
|
|
@@ -135,7 +134,6 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
135
134
|
&::slotted(*) {
|
136
135
|
block-size: 0.75rem;
|
137
136
|
inline-size: 0.75rem;
|
138
|
-
margin-inline-end: 0.375rem;
|
139
137
|
}
|
140
138
|
}
|
141
139
|
|
@@ -143,10 +141,13 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
143
141
|
&::slotted(*) {
|
144
142
|
block-size: 0.625rem;
|
145
143
|
inline-size: 0.625rem;
|
146
|
-
margin-inline-end: var(--glide-core-spacing-base-xxs);
|
147
144
|
}
|
148
145
|
}
|
149
146
|
|
147
|
+
&.hidden {
|
148
|
+
display: none;
|
149
|
+
}
|
150
|
+
|
150
151
|
&::slotted(*) {
|
151
152
|
align-items: center;
|
152
153
|
display: flex;
|
@@ -161,20 +162,12 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
161
162
|
display: flex;
|
162
163
|
padding: 0;
|
163
164
|
|
164
|
-
&.large {
|
165
|
-
margin-inline-start: var(--glide-core-spacing-base-xs);
|
166
|
-
}
|
167
|
-
|
168
165
|
&.medium {
|
169
166
|
--private-size: 0.75rem;
|
170
|
-
|
171
|
-
margin-inline-start: 0.375rem;
|
172
167
|
}
|
173
168
|
|
174
169
|
&.small {
|
175
170
|
--private-size: 0.625rem;
|
176
|
-
|
177
|
-
margin-inline-start: var(--glide-core-spacing-base-xxs);
|
178
171
|
}
|
179
172
|
|
180
173
|
&.disabled {
|
package/dist/textarea.d.ts
CHANGED
@@ -15,7 +15,7 @@ declare global {
|
|
15
15
|
* @attr {number} [maxlength]
|
16
16
|
* @attr {string} [name='']
|
17
17
|
* @attr {'horizontal'|'vertical'} [orientation='horizontal']
|
18
|
-
* @attr {string} [placeholder
|
18
|
+
* @attr {string} [placeholder]
|
19
19
|
* @attr {boolean} [readonly=false]
|
20
20
|
* @attr {boolean} [required=false]
|
21
21
|
* @attr {boolean} [spellcheck=false]
|
@@ -59,21 +59,21 @@ export default class GlideCoreTextarea extends LitElement implements FormControl
|
|
59
59
|
static formAssociated: boolean;
|
60
60
|
static shadowRootOptions: ShadowRootInit;
|
61
61
|
static styles: import("lit").CSSResult[];
|
62
|
-
value: string;
|
63
62
|
label?: string;
|
63
|
+
autocapitalize: 'on' | 'off' | 'none' | 'sentences' | 'words' | 'characters';
|
64
|
+
autocomplete: 'on' | 'off';
|
65
|
+
disabled: boolean;
|
64
66
|
hideLabel: boolean;
|
67
|
+
maxlength?: number;
|
68
|
+
name: string;
|
65
69
|
orientation: 'horizontal' | 'vertical';
|
66
70
|
placeholder?: string;
|
71
|
+
privateSplit?: 'left' | 'middle' | 'right';
|
72
|
+
spellcheck: boolean;
|
67
73
|
required: boolean;
|
68
74
|
readonly: boolean;
|
69
|
-
disabled: boolean;
|
70
|
-
maxlength?: number;
|
71
|
-
name: string;
|
72
|
-
spellcheck: boolean;
|
73
|
-
autocapitalize: 'on' | 'off' | 'none' | 'sentences' | 'words' | 'characters';
|
74
|
-
autocomplete: 'on' | 'off';
|
75
|
-
privateSplit?: 'left' | 'middle' | 'right';
|
76
75
|
tooltip?: string;
|
76
|
+
value: string;
|
77
77
|
readonly version: string;
|
78
78
|
checkValidity(): boolean;
|
79
79
|
disconnectedCallback(): void;
|
package/dist/textarea.js
CHANGED
@@ -62,4 +62,4 @@ var __decorate=this&&this.__decorate||function(e,t,i,a){var r,o=arguments.length
|
|
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.
|
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;
|
package/dist/textarea.styles.js
CHANGED
@@ -75,7 +75,7 @@ import{css,unsafeCSS}from"lit";import visuallyHidden from"./styles/visually-hidd
|
|
75
75
|
--glide-core-color-interactive-surface-container--disabled
|
76
76
|
);
|
77
77
|
border: 0.0625rem solid
|
78
|
-
var(--glide-core-color-interactive-
|
78
|
+
var(--glide-core-color-interactive-surface-container--disabled);
|
79
79
|
color: var(--glide-core-color-interactive-text-default--disabled);
|
80
80
|
}
|
81
81
|
}
|
package/dist/toggle.d.ts
CHANGED
@@ -25,10 +25,10 @@ export default class GlideCoreToggle extends LitElement {
|
|
25
25
|
#private;
|
26
26
|
static shadowRootOptions: ShadowRootInit;
|
27
27
|
static styles: import("lit").CSSResult[];
|
28
|
+
label?: string;
|
28
29
|
checked: boolean;
|
29
30
|
disabled: boolean;
|
30
31
|
hideLabel: boolean;
|
31
|
-
label?: string;
|
32
32
|
orientation: 'horizontal' | 'vertical';
|
33
33
|
privateSplit?: 'left' | 'middle' | 'right';
|
34
34
|
summary?: string;
|
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({
|
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;
|
package/dist/tooltip.d.ts
CHANGED
@@ -26,16 +26,16 @@ export default class GlideCoreTooltip extends LitElement {
|
|
26
26
|
#private;
|
27
27
|
static shadowRootOptions: ShadowRootInit;
|
28
28
|
static styles: import("lit").CSSResult[];
|
29
|
-
/**
|
30
|
-
* @default false
|
31
|
-
*/
|
32
|
-
get disabled(): boolean;
|
33
|
-
set disabled(isDisabled: boolean);
|
34
29
|
/**
|
35
30
|
* @default undefined
|
36
31
|
*/
|
37
32
|
get label(): string | undefined;
|
38
33
|
set label(label: string);
|
34
|
+
/**
|
35
|
+
* @default false
|
36
|
+
*/
|
37
|
+
get disabled(): boolean;
|
38
|
+
set disabled(isDisabled: boolean);
|
39
39
|
/**
|
40
40
|
* @default 4
|
41
41
|
*/
|
package/dist/tooltip.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 a=e.length-1;a>=0;a--)(r=e[a])&&(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{html,LitElement}from"lit";import{arrow,autoUpdate,computePosition,flip,limitShift,offset,shift}from"@floating-ui/dom";import{choose}from"lit/directives/choose.js";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 packageJson from"../package.json"with{type:"json"};import styles from"./tooltip.styles.js";import"./tooltip.container.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreTooltip=class GlideCoreTooltip extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.effectivePlacement=this.placement??"bottom",this.#e=createRef(),this.#t=!1,this.#o=!1,this.#i=!1,this.#r=[],this.#l=createRef(),this.#s=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#t}set disabled(e){this.#t=e,this.open&&!e?this.#
|
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 a=e.length-1;a>=0;a--)(r=e[a])&&(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{html,LitElement}from"lit";import{arrow,autoUpdate,computePosition,flip,limitShift,offset,shift}from"@floating-ui/dom";import{choose}from"lit/directives/choose.js";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 packageJson from"../package.json"with{type:"json"};import styles from"./tooltip.styles.js";import"./tooltip.container.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreTooltip=class GlideCoreTooltip extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.effectivePlacement=this.placement??"bottom",this.#e=createRef(),this.#t=!1,this.#o=!1,this.#i=!1,this.#r=[],this.#l=createRef(),this.#s=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get label(){return this.#a}set label(e){this.#a=e;const t=this.querySelector("glide-core-private-tooltip-container");t&&(t.label=e)}get disabled(){return this.#t}set disabled(e){this.#t=e,this.open&&!e?this.#n():this.#d();const t=this.querySelector("glide-core-private-tooltip-container");t&&(t.disabled=e);const o=this.#l.value?.assignedElements().at(0);t&&o&&!this.disabled&&!this.screenreaderHidden?o.setAttribute("aria-describedby",t.id):t&&o&&o.removeAttribute("aria-describedby")}get offset(){return this.#c??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-base-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#c=e}get open(){return this.#o}set open(e){const t=e!==this.#o;this.#o=e,e&&t&&!this.disabled?(this.#n(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#d(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}get screenreaderHidden(){return this.#i}set screenreaderHidden(e){this.#i=e;const t=this.querySelector("glide-core-private-tooltip-container");t&&(t.screenreaderHidden=e);const o=this.#l.value?.assignedElements().at(0);t&&o&&!this.disabled&&!this.screenreaderHidden?o.setAttribute("aria-describedby",t.id):t&&o&&o.removeAttribute("aria-describedby")}get shortcut(){return this.#r}set shortcut(e){this.#r=e;const t=this.querySelector("glide-core-private-tooltip-container");t&&(t.shortcut=e)}disconnectedCallback(){super.disconnectedCallback(),clearTimeout(this.#p),clearTimeout(this.#h)}firstUpdated(){this.#s.value&&(this.#s.value.popover="manual"),this.open&&!this.disabled&&this.#n();const e=document.createElement("glide-core-private-tooltip-container");e.label=this.label,e.screenreaderHidden=this.screenreaderHidden,e.shortcut=this.shortcut,this.append(e)}render(){return html`<div class="component" data-test="component" @mouseover="${this.#m}" @mouseout="${this.#f}"><div class="target-slot-container"><slot class="target-slot" data-test="target-slot" @focusin="${this.#u}" @focusout="${this.#v}" @keydown="${this.#g}" @slotchange="${this.#b}" ${assertSlot()} ${ref(this.#l)} name="target"></slot></div><div class="${classMap({tooltip:!0,[this.effectivePlacement]:!0})}" id="tooltip" data-test="tooltip" data-open-delay="300" data-close-delay="200" ${ref(this.#s)}><div class="${classMap({arrow:!0,[this.effectivePlacement]:!0})}" data-test="arrow" ${ref(this.#e)}>${choose(this.effectivePlacement,[["top",()=>icons.topArrow],["right",()=>icons.rightArrow],["bottom",()=>icons.bottomArrow],["left",()=>icons.leftArrow]])}</div><div class="${classMap({content:!0,reversed:"left"===this.effectivePlacement})}"><slot class="default-slot" name="private"></slot></div></div></div>`}#e;#y;#p;#t;#o;#i;#a;#c;#h;#r;#l;#s;#w(){clearTimeout(this.#p)}#d(){this.#s.value?.hidePopover(),this.#y?.()}#f(){this.#E(),clearTimeout(this.#h)}#m(){this.#w(),this.#h=setTimeout((()=>{this.open=!0}),Number(this.#s.value?.dataset.openDelay))}#b(){const e=this.querySelector("glide-core-private-tooltip-container"),t=this.#l.value?.assignedElements().at(0);e&&t&&!this.disabled&&!this.screenreaderHidden&&t.setAttribute("aria-describedby",e.id)}#u(){this.open=!0}#v(){this.open=!1}#g(e){"Escape"===e.key&&(e.preventDefault(),this.open=!1)}#E(){this.#p=setTimeout((()=>{this.open=!1}),Number(this.#s.value?.dataset.closeDelay))}#n(){this.disabled||(this.#y?.(),this.#l.value&&this.#s.value&&(this.#y=autoUpdate(this.#l.value,this.#s.value,(()=>{(async()=>{if(this.#l.value&&this.#s.value&&this.#e.value){const{x:e,y:t,placement:o,middlewareData:i}=await computePosition(this.#l.value,this.#s.value,{placement:this.placement,middleware:[offset(this.offset),flip({fallbackStrategy:"initialPlacement"}),shift({crossAxis:!0,limiter:limitShift({offset:20})}),arrow({element:this.#e.value})]});Object.assign(this.#s.value.style,{left:`${e}px`,top:`${t}px`}),Object.assign(this.#e.value.style,{left:i.arrow?.x?`${i.arrow.x}px`:null,top:i.arrow?.y?`${i.arrow.y}px`:null}),this.effectivePlacement=o,this.#s.value.showPopover();const r=this.querySelector("glide-core-private-tooltip-container");r&&("bottom"===o||"left"===o||"right"===o||"top"===o)&&(r.placement=o)}})()}))))}};__decorate([property({reflect:!0}),required],GlideCoreTooltip.prototype,"label",null),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTooltip.prototype,"disabled",null),__decorate([property({reflect:!0,type:Number})],GlideCoreTooltip.prototype,"offset",null),__decorate([property({reflect:!0,type:Boolean})],GlideCoreTooltip.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreTooltip.prototype,"placement",void 0),__decorate([property({attribute:"screenreader-hidden",reflect:!0,type:Boolean})],GlideCoreTooltip.prototype,"screenreaderHidden",null),__decorate([property({reflect:!0,type:Array})],GlideCoreTooltip.prototype,"shortcut",null),__decorate([property({reflect:!0})],GlideCoreTooltip.prototype,"version",void 0),__decorate([state()],GlideCoreTooltip.prototype,"effectivePlacement",void 0),GlideCoreTooltip=__decorate([customElement("glide-core-tooltip"),final],GlideCoreTooltip);export default GlideCoreTooltip;const icons={topArrow:html`<svg aria-hidden="true" viewBox="0 0 10 6" fill="none"><path d="M4.23178 5.07814C4.63157 5.55789 5.36843 5.55789 5.76822 5.07813L10 -7.9486e-08L-2.62268e-07 3.57628e-07L4.23178 5.07814Z" fill="currentColor"/></svg>`,rightArrow:html`<svg aria-hidden="true" viewBox="0 0 6 10" fill="none"><path d="M0.921865 4.23178C0.442111 4.63157 0.442112 5.36843 0.921866 5.76822L6 10L6 -2.62268e-07L0.921865 4.23178Z" fill="currentColor"/></svg>`,bottomArrow:html`<svg aria-hidden="true" viewBox="0 0 10 6" fill="none"><path d="M4.23178 0.921865C4.63157 0.442111 5.36843 0.442112 5.76822 0.921866L10 6L-2.62268e-07 6L4.23178 0.921865Z" fill="currentColor"/></svg>`,leftArrow:html`<svg aria-hidden="true" viewBox="0 0 6 10" fill="none"><path d="M5.07814 4.23178C5.55789 4.63157 5.55789 5.36843 5.07813 5.76822L-4.37114e-07 10L0 -2.62268e-07L5.07814 4.23178Z" fill="currentColor"/></svg>`};
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@crowdstrike/glide-core",
|
3
|
-
"version": "0.
|
3
|
+
"version": "0.25.0",
|
4
4
|
"description": "A Web Component design system",
|
5
5
|
"author": "CrowdStrike UX Team",
|
6
6
|
"license": "Apache-2.0",
|
@@ -66,7 +66,7 @@
|
|
66
66
|
"@eslint/js": "^9.22.0",
|
67
67
|
"@figma/rest-api-spec": "^0.27.0",
|
68
68
|
"@open-wc/testing": "^4.0.0",
|
69
|
-
"@playwright/test": "^1.
|
69
|
+
"@playwright/test": "^1.52.0",
|
70
70
|
"@rollup/plugin-commonjs": "^28.0.2",
|
71
71
|
"@storybook/addon-actions": "^8.6.3",
|
72
72
|
"@storybook/addon-controls": "^8.6.3",
|
@@ -108,13 +108,13 @@
|
|
108
108
|
"husky": "^8.0.3",
|
109
109
|
"is-ci": "^4.1.0",
|
110
110
|
"lint-staged": "^15.2.11",
|
111
|
-
"lit": "^3.
|
111
|
+
"lit": "^3.3.0",
|
112
112
|
"lit-analyzer": "^2.0.3",
|
113
113
|
"minify-literals": "^1.0.10",
|
114
114
|
"node-html-parser": "^7.0.1",
|
115
115
|
"npm-run-all2": "^7.0.2",
|
116
116
|
"per-env": "^1.0.2",
|
117
|
-
"playwright": "^1.
|
117
|
+
"playwright": "^1.52.0",
|
118
118
|
"postcss": "^8.4.49",
|
119
119
|
"postcss-lit": "^1.1.1",
|
120
120
|
"prettier": "^3.5.3",
|
@@ -135,13 +135,13 @@
|
|
135
135
|
"tsx": "^4.19.2",
|
136
136
|
"typescript": "^5.8.2",
|
137
137
|
"typescript-eslint": "^8.29.0",
|
138
|
-
"vite": "^6.2
|
138
|
+
"vite": "^6.3.2",
|
139
139
|
"vitest": "^3.0.8",
|
140
140
|
"yocto-spinner": "^0.2.0"
|
141
141
|
},
|
142
142
|
"engines": {
|
143
143
|
"node": ">= 20",
|
144
|
-
"pnpm": ">=
|
144
|
+
"pnpm": ">= 9"
|
145
145
|
},
|
146
146
|
"scripts": {
|
147
147
|
"start": "per-env",
|
@@ -187,7 +187,7 @@
|
|
187
187
|
"typecheck": "per-env",
|
188
188
|
"typecheck:development": "tsc --erasableSyntaxOnly --outDir ./dist -w",
|
189
189
|
"typecheck:production": "tsc --erasableSyntaxOnly --outDir ./dist",
|
190
|
-
"postinstall": "is-ci || pnpm dlx playwright@1.
|
190
|
+
"postinstall": "is-ci || pnpm dlx playwright@1.52.0 install --only-shell --with-deps chromium",
|
191
191
|
"postinstall:comment": "Not installing Chromium in CI every time we run `pnpm install` speeds up builds at the cost of having to also update Playwright's version in our workflows whenever we update Playwright here.",
|
192
192
|
"release": "changeset publish"
|
193
193
|
}
|