@crowdstrike/glide-core 0.23.0 → 0.24.1
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.styles.js +22 -21
- package/dist/button-group.button.styles.js +46 -22
- package/dist/button-group.styles.js +7 -7
- package/dist/button.d.ts +3 -0
- package/dist/button.js +1 -1
- package/dist/button.styles.js +62 -42
- package/dist/checkbox-group.styles.js +5 -5
- package/dist/checkbox.js +9 -3
- package/dist/checkbox.styles.js +46 -28
- package/dist/drawer.styles.js +6 -4
- package/dist/dropdown.js +1 -1
- package/dist/dropdown.option.styles.js +26 -28
- package/dist/dropdown.styles.js +64 -58
- package/dist/icon-button.styles.js +44 -23
- package/dist/inline-alert.js +1 -1
- package/dist/inline-alert.styles.js +24 -21
- package/dist/input.styles.js +33 -25
- package/dist/label.styles.js +22 -27
- package/dist/menu.button.styles.js +6 -4
- package/dist/menu.js +1 -1
- package/dist/menu.link.styles.js +6 -4
- package/dist/menu.options.styles.js +12 -16
- package/dist/menu.styles.js +9 -6
- package/dist/modal.styles.js +16 -13
- package/dist/popover.js +1 -1
- package/dist/popover.styles.js +14 -14
- package/dist/radio-group.radio.styles.js +31 -11
- package/dist/radio-group.styles.js +8 -10
- package/dist/split-button.primary-button.styles.js +41 -26
- package/dist/split-button.secondary-button.styles.js +61 -21
- package/dist/styles/focus-outline.js +1 -1
- package/dist/styles/variables.css +1 -1
- package/dist/tab.group.styles.js +6 -5
- package/dist/tab.panel.styles.js +1 -1
- package/dist/tab.styles.js +7 -7
- package/dist/tag.styles.js +27 -26
- package/dist/textarea.styles.js +22 -18
- package/dist/toasts.styles.js +2 -2
- package/dist/toasts.toast.styles.js +20 -20
- package/dist/toggle.styles.js +15 -7
- package/dist/tooltip.container.styles.js +14 -13
- package/dist/tooltip.js +1 -1
- package/dist/tooltip.styles.js +1 -1
- package/package.json +8 -9
- package/dist/library/get-parent-class-name.d.ts +0 -3
- package/dist/library/get-parent-class-name.js +0 -1
package/dist/label.styles.js
CHANGED
@@ -4,9 +4,9 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
4
4
|
`,css`
|
5
5
|
.component {
|
6
6
|
&.horizontal {
|
7
|
-
--private-column-gap: var(--glide-core-spacing-sm);
|
7
|
+
--private-column-gap: var(--glide-core-spacing-base-sm);
|
8
8
|
|
9
|
-
column-gap: var(--glide-core-spacing-sm);
|
9
|
+
column-gap: var(--glide-core-spacing-base-sm);
|
10
10
|
display: grid;
|
11
11
|
grid-template-columns: auto minmax(auto, 1fr);
|
12
12
|
}
|
@@ -34,7 +34,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
34
34
|
|
35
35
|
.tooltips {
|
36
36
|
align-items: center;
|
37
|
-
column-gap: var(--glide-core-spacing-xs);
|
37
|
+
column-gap: var(--glide-core-spacing-base-xs);
|
38
38
|
display: flex;
|
39
39
|
|
40
40
|
/*
|
@@ -72,7 +72,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
72
72
|
background-color: transparent;
|
73
73
|
border: none;
|
74
74
|
border-radius: 50%;
|
75
|
-
color: var(--glide-core-text-
|
75
|
+
color: var(--glide-core-color-static-text-default);
|
76
76
|
|
77
77
|
/*
|
78
78
|
Any "display" that's not inline-level will do. We don't want the button to
|
@@ -88,13 +88,11 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
88
88
|
}
|
89
89
|
|
90
90
|
.label {
|
91
|
-
color: var(--glide-core-text-
|
91
|
+
color: var(--glide-core-color-static-text-default);
|
92
92
|
display: block;
|
93
|
-
font-family: var(--glide-core-
|
94
|
-
font-size: var(--glide-core-
|
95
|
-
font-
|
96
|
-
font-variant: var(--glide-core-heading-xxxs-font-variant);
|
97
|
-
font-weight: var(--glide-core-heading-xxxs-font-weight);
|
93
|
+
font-family: var(--glide-core-typography-family-primary);
|
94
|
+
font-size: var(--glide-core-typography-size-body-default);
|
95
|
+
font-weight: var(--glide-core-typography-weight-bold);
|
98
96
|
line-height: 100%;
|
99
97
|
margin-inline-start: auto;
|
100
98
|
overflow: hidden;
|
@@ -112,7 +110,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
112
110
|
}
|
113
111
|
|
114
112
|
&.vertical {
|
115
|
-
margin-block-end: var(--glide-core-spacing-xxs);
|
113
|
+
margin-block-end: var(--glide-core-spacing-base-xxs);
|
116
114
|
}
|
117
115
|
}
|
118
116
|
|
@@ -125,13 +123,13 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
125
123
|
}
|
126
124
|
|
127
125
|
.required-symbol {
|
128
|
-
color: var(--glide-core-
|
126
|
+
color: var(--glide-core-color-error-stroke-primary);
|
129
127
|
}
|
130
128
|
|
131
129
|
.control-and-summary {
|
132
130
|
align-items: center;
|
133
131
|
display: flex;
|
134
|
-
gap: var(--glide-core-spacing-sm);
|
132
|
+
gap: var(--glide-core-spacing-base-sm);
|
135
133
|
}
|
136
134
|
|
137
135
|
.control {
|
@@ -147,37 +145,34 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
147
145
|
}
|
148
146
|
|
149
147
|
&.vertical:not(.hidden-label) {
|
150
|
-
margin-block-start: var(--glide-core-spacing-xxs);
|
148
|
+
margin-block-start: var(--glide-core-spacing-base-xxs);
|
151
149
|
}
|
152
150
|
}
|
153
151
|
|
154
152
|
.summary {
|
155
|
-
font-family: var(--glide-core-
|
156
|
-
font-size: var(--glide-core-
|
157
|
-
font-
|
158
|
-
font-weight: var(--glide-core-body-sm-font-weight);
|
153
|
+
font-family: var(--glide-core-typography-family-primary);
|
154
|
+
font-size: var(--glide-core-typography-size-body-default);
|
155
|
+
font-weight: var(--glide-core-typography-weight-regular);
|
159
156
|
|
160
157
|
&.error {
|
161
|
-
color: var(--glide-core-
|
158
|
+
color: var(--glide-core-color-error-text-status);
|
162
159
|
}
|
163
160
|
}
|
164
161
|
|
165
162
|
.description {
|
166
|
-
color: var(--glide-core-text-
|
163
|
+
color: var(--glide-core-color-static-text-default);
|
167
164
|
display: block;
|
168
|
-
font-family: var(--glide-core-
|
169
|
-
font-size: var(--glide-core-
|
170
|
-
font-
|
171
|
-
font-weight: var(--glide-core-body-xs-font-weight);
|
165
|
+
font-family: var(--glide-core-typography-family-primary);
|
166
|
+
font-size: var(--glide-core-typography-size-body-small);
|
167
|
+
font-weight: var(--glide-core-typography-weight-regular);
|
172
168
|
grid-column: 2;
|
173
|
-
line-height: var(--glide-core-body-xs-line-height);
|
174
169
|
|
175
170
|
&.content {
|
176
|
-
margin-block-start: var(--glide-core-spacing-xxs);
|
171
|
+
margin-block-start: var(--glide-core-spacing-base-xxs);
|
177
172
|
}
|
178
173
|
|
179
174
|
&.error {
|
180
|
-
color: var(--glide-core-
|
175
|
+
color: var(--glide-core-color-error-text-status);
|
181
176
|
}
|
182
177
|
}
|
183
178
|
`];
|
@@ -3,7 +3,7 @@ import{css}from"lit";export default[css`
|
|
3
3
|
align-items: center;
|
4
4
|
background-color: transparent;
|
5
5
|
border: none;
|
6
|
-
border-radius: var(--glide-core-spacing-sm);
|
6
|
+
border-radius: var(--glide-core-spacing-base-sm);
|
7
7
|
display: flex;
|
8
8
|
font: inherit;
|
9
9
|
gap: var(--private-gap);
|
@@ -14,15 +14,17 @@ import{css}from"lit";export default[css`
|
|
14
14
|
user-select: none;
|
15
15
|
|
16
16
|
&.active {
|
17
|
-
background-color: var(
|
17
|
+
background-color: var(
|
18
|
+
--glide-core-color-interactive-surface-container--hover
|
19
|
+
);
|
18
20
|
}
|
19
21
|
|
20
22
|
&.disabled {
|
21
|
-
color: var(--glide-core-icon-
|
23
|
+
color: var(--glide-core-color-interactive-icon-default--disabled);
|
22
24
|
}
|
23
25
|
|
24
26
|
&:not(.disabled) {
|
25
|
-
color: var(--glide-core-text-
|
27
|
+
color: var(--glide-core-color-static-text-default);
|
26
28
|
cursor: pointer;
|
27
29
|
}
|
28
30
|
}
|
package/dist/menu.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,i,o){var n,s=arguments.length,l=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(l=(s<3?n(l):s>3?n(t,i,l):n(t,i))||l);return s>3&&l&&Object.defineProperty(t,i,l),l};import{html,LitElement}from"lit";import{autoUpdate,computePosition,flip,offset}from"@floating-ui/dom";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import GlideCoreMenuOptions from"./menu.options.js";import assertSlot from"./library/assert-slot.js";import styles from"./menu.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreMenu=class GlideCoreMenu extends LitElement{constructor(){super(...arguments),this.placement="bottom-start",this.version=packageJson.version,this.#e=createRef(),this.#t=createRef(),this.#i=!1,this.#o=!1,this.#n=!1,this.#s=!1,this.#l=!1,this.#a="large",this.#r=createRef(),this.#d=e=>{e.target===this.#t.value&&e.preventDefault()},this.#h=e=>{if(e.target===this.#t.value&&(this.#o=!0),e.target instanceof Element){const t=e.target?.closest("glide-core-menu-link");t?.disabled&&(this.#n=!0)}},this.#c=()=>{this.#o?this.#o=!1:this.#n?this.#n=!1:this.#l?this.#l=!1:(this.open=!1,this.#p&&(this.#p.ariaActivedescendant=""))},this.#u=()=>{this.#l=!0}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get offset(){return this.#m??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#m=e}get open(){return this.#s}set open(e){const t=e!==this.#s;this.#s=e,e&&t&&!this.isTargetDisabled?(this.#f(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#E(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}get size(){return this.#a}set size(e){this.#a=e,this.#p&&(this.#p.privateSize=e)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.#c,{capture:!0})}createRenderRoot(){return this.#v=super.createRenderRoot(),this.#v}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.#c,{capture:!0})}firstUpdated(){this.#t.value&&(this.#t.value.popover="manual",this.open&&!this.isTargetDisabled&&this.#f()),this.#r.value?.addEventListener("mouseup",this.#u),this.#t.value?.addEventListener("mousedown",this.#d),this.#t.value?.addEventListener("mouseup",this.#h)}get isTargetDisabled(){const e=this.#g&&"disabled"in this.#g&&this.#g.disabled,t=this.#g&&"true"===this.#g.ariaDisabled;return Boolean(e)||Boolean(t)}render(){return html`<div class="component" @focusout="${this.#S}" ${ref(this.#e)}><slot class="target-slot" name="target" @click="${this.#C}" @keydown="${this.#b}" @slotchange="${this.#k}" ${assertSlot([Element])} ${ref(this.#r)}></slot><slot class="default-slot" @click="${this.#y}" @focusin="${this.#D}" @keydown="${this.#b}" @mouseover="${this.#w}" @private-disabled="${this.#R}" @private-slot-change="${this.#M}" @slotchange="${this.#O}" ${assertSlot([GlideCoreMenuOptions])} ${ref(this.#t)}></slot></div>`}#A;#e;#t;#i;#o;#n;#s;#l;#m;#v;#a;#r;get#T(){return this.#L?.find((({privateActive:e})=>e))}#d;#h;#c;#u;#G(e){this.#g&&"focus"in this.#g&&this.#g?.focus(e)}#E(){this.#A?.(),this.#p&&(this.#p.ariaActivedescendant=""),this.#g&&(this.#g.ariaExpanded="false"),this.#t.value?.hidePopover()}#S(e){const t=e.relatedTarget instanceof HTMLElement&&this.#v?.contains(e.relatedTarget),i=e.relatedTarget instanceof GlideCoreMenuOptions,o=e.relatedTarget instanceof GlideCoreMenuButton||e.relatedTarget instanceof GlideCoreMenuLink;t||i||o||(this.open=!1)}#O(){this.#p&&(this.#p.privateSize=this.size)}#y(e){e.target!==this.#t.value&&(this.open=!1)}#D(e){(e.target instanceof GlideCoreMenuButton||e.target instanceof GlideCoreMenuLink)&&this.#T&&this.#p&&!e.target.disabled&&(this.#T.privateActive=!1,e.target.privateActive=!0,this.#p.ariaActivedescendant=e.target.id)}#w(e){if((e.target instanceof GlideCoreMenuLink||e.target instanceof GlideCoreMenuButton)&&!e.target.disabled){if(this.#L)for(const t of this.#L)t.privateActive=t===e.target;this.#p&&(this.#p.ariaActivedescendant=e.target.id)}}#R(){if(this.#L&&this.#T){const e=this.#L.indexOf(this.#T);this.#T.privateActive=!1;const t=this.#L?.find(((t,i)=>!t.disabled&&i>e));if(t)return void(t.privateActive=!0);const i=this.#L.findLast(((t,i)=>!t.disabled&&i<e));i&&(i.privateActive=!0)}}#M(){const e=this.#L?.find((e=>!e.disabled));!this.#T&&e&&(e.privateActive=!0)}#b(e){const t=this.#g instanceof HTMLSpanElement||this.#g instanceof HTMLDivElement;if([" ","Enter"].includes(e.key)&&this.open)return" "===e.key&&t&&e.preventDefault(),this.open=!1,this.#G(),this.#T?.click(),void(this.#i=!0);if([" ","Enter"].includes(e.key)&&t)return e.preventDefault(),void(this.open=!0);if(["Escape"].includes(e.key)&&this.open)return e.preventDefault(),this.open=!1,void this.#G();if(["ArrowUp","ArrowDown"].includes(e.key)&&!this.open&&this.#T&&this.#p)return e.preventDefault(),this.open=!0,void(this.#p.ariaActivedescendant=this.#T.id);if(this.open&&this.#T&&this.#L){const t=this.#L.indexOf(this.#T);if("ArrowUp"===e.key&&!e.metaKey){e.preventDefault();const i=this.#L.findLast(((e,i)=>!e.disabled&&i<t));return void(i&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowDown"===e.key&&!e.metaKey){e.preventDefault();const i=this.#L.find(((e,i)=>!e.disabled&&i>t));return void(i&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowUp"===e.key&&e.metaKey||"Home"===e.key||"PageUp"===e.key){e.preventDefault();const t=[...this.#L].reverse().findLast((e=>!e.disabled));return void(t&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=t.id,t.privateActive=!0))}if("ArrowDown"===e.key&&e.metaKey||"End"===e.key||"PageDown"===e.key){e.preventDefault();const t=[...this.#L].findLast((e=>!e.disabled));return void(t&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=t.id,t.privateActive=!0))}}}#k(){const e=new MutationObserver((()=>{this.open&&!this.isTargetDisabled?this.#f():this.#E()}));this.#g&&this.#p&&(e.observe(this.#g,{attributes:!0,attributeFilter:["aria-disabled","disabled"]}),this.#g.ariaHasPopup="true",this.#g.id=nanoid(),this.#g.setAttribute("aria-controls",this.#p.id),this.#p.ariaLabelledby=this.#g.id);(this.#g instanceof HTMLSpanElement||this.#g instanceof HTMLDivElement)&&this.#g instanceof HTMLElement&&(this.#g.tabIndex=0),this.open&&!this.isTargetDisabled?this.#f():this.#E()}#C(){this.isTargetDisabled?this.#E():this.#i?this.#i=!1:this.#L&&this.#L.length>0&&(this.open=!this.open)}get#p(){const e=this.#t.value?.assignedElements().at(0);return e instanceof GlideCoreMenuOptions?e:null}get#L(){let e=this.#t.value?.assignedElements()?.at(0)?.children;const t=e?.[0];if(t instanceof HTMLSlotElement&&(e=t.assignedElements()),e)return[...e].filter((e=>e instanceof GlideCoreMenuLink||e instanceof GlideCoreMenuButton))}#f(){this.#A?.(),this.#g&&this.#t.value&&(this.#A=autoUpdate(this.#g,this.#t.value,(()=>{(async()=>{if(this.#g&&this.#t.value){const{x:e,y:t,placement:i}=await computePosition(this.#g,this.#t.value,{placement:this.placement,middleware:[offset(this.offset),flip()]});this.#t.value.dataset.placement=i,Object.assign(this.#t.value.style,{left:`${e}px`,top:`${t}px`})}this.#t.value?.showPopover(),this.#p&&this.#T?.id&&(this.#p.ariaActivedescendant=this.#T.id),this.#g&&(this.#g.ariaExpanded="true")})()})))}get#g(){return this.#r.value?.assignedElements().at(0)}};__decorate([property({reflect:!0,type:Number})],GlideCoreMenu.prototype,"offset",null),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenu.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreMenu.prototype,"placement",void 0),__decorate([property({reflect:!0})],GlideCoreMenu.prototype,"size",null),__decorate([property({reflect:!0})],GlideCoreMenu.prototype,"version",void 0),GlideCoreMenu=__decorate([customElement("glide-core-menu"),final],GlideCoreMenu);export default GlideCoreMenu;
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,i,o){var n,s=arguments.length,l=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,o);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(l=(s<3?n(l):s>3?n(t,i,l):n(t,i))||l);return s>3&&l&&Object.defineProperty(t,i,l),l};import{html,LitElement}from"lit";import{autoUpdate,computePosition,flip,offset}from"@floating-ui/dom";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import GlideCoreMenuOptions from"./menu.options.js";import assertSlot from"./library/assert-slot.js";import styles from"./menu.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreMenu=class GlideCoreMenu extends LitElement{constructor(){super(...arguments),this.placement="bottom-start",this.version=packageJson.version,this.#e=createRef(),this.#t=createRef(),this.#i=!1,this.#o=!1,this.#n=!1,this.#s=!1,this.#l=!1,this.#a="large",this.#r=createRef(),this.#d=e=>{e.target===this.#t.value&&e.preventDefault()},this.#h=e=>{if(e.target===this.#t.value&&(this.#o=!0),e.target instanceof Element){const t=e.target?.closest("glide-core-menu-link");t?.disabled&&(this.#n=!0)}},this.#c=()=>{this.#o?this.#o=!1:this.#n?this.#n=!1:this.#l?this.#l=!1:(this.open=!1,this.#p&&(this.#p.ariaActivedescendant=""))},this.#u=()=>{this.#l=!0}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get offset(){return this.#m??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-base-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#m=e}get open(){return this.#s}set open(e){const t=e!==this.#s;this.#s=e,e&&t&&!this.isTargetDisabled?(this.#f(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#E(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}get size(){return this.#a}set size(e){this.#a=e,this.#p&&(this.#p.privateSize=e)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.#c,{capture:!0})}createRenderRoot(){return this.#v=super.createRenderRoot(),this.#v}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.#c,{capture:!0})}firstUpdated(){this.#t.value&&(this.#t.value.popover="manual",this.open&&!this.isTargetDisabled&&this.#f()),this.#r.value?.addEventListener("mouseup",this.#u),this.#t.value?.addEventListener("mousedown",this.#d),this.#t.value?.addEventListener("mouseup",this.#h)}get isTargetDisabled(){const e=this.#g&&"disabled"in this.#g&&this.#g.disabled,t=this.#g&&"true"===this.#g.ariaDisabled;return Boolean(e)||Boolean(t)}render(){return html`<div class="component" @focusout="${this.#S}" ${ref(this.#e)}><slot class="target-slot" name="target" @click="${this.#C}" @keydown="${this.#b}" @slotchange="${this.#k}" ${assertSlot([Element])} ${ref(this.#r)}></slot><slot class="default-slot" @click="${this.#y}" @focusin="${this.#D}" @keydown="${this.#b}" @mouseover="${this.#w}" @private-disabled="${this.#R}" @private-slot-change="${this.#M}" @slotchange="${this.#O}" ${assertSlot([GlideCoreMenuOptions])} ${ref(this.#t)}></slot></div>`}#A;#e;#t;#i;#o;#n;#s;#l;#m;#v;#a;#r;get#T(){return this.#L?.find((({privateActive:e})=>e))}#d;#h;#c;#u;#G(e){this.#g&&"focus"in this.#g&&this.#g?.focus(e)}#E(){this.#A?.(),this.#p&&(this.#p.ariaActivedescendant=""),this.#g&&(this.#g.ariaExpanded="false"),this.#t.value?.hidePopover()}#S(e){const t=e.relatedTarget instanceof HTMLElement&&this.#v?.contains(e.relatedTarget),i=e.relatedTarget instanceof GlideCoreMenuOptions,o=e.relatedTarget instanceof GlideCoreMenuButton||e.relatedTarget instanceof GlideCoreMenuLink;t||i||o||(this.open=!1)}#O(){this.#p&&(this.#p.privateSize=this.size)}#y(e){e.target!==this.#t.value&&(this.open=!1)}#D(e){(e.target instanceof GlideCoreMenuButton||e.target instanceof GlideCoreMenuLink)&&this.#T&&this.#p&&!e.target.disabled&&(this.#T.privateActive=!1,e.target.privateActive=!0,this.#p.ariaActivedescendant=e.target.id)}#w(e){if((e.target instanceof GlideCoreMenuLink||e.target instanceof GlideCoreMenuButton)&&!e.target.disabled){if(this.#L)for(const t of this.#L)t.privateActive=t===e.target;this.#p&&(this.#p.ariaActivedescendant=e.target.id)}}#R(){if(this.#L&&this.#T){const e=this.#L.indexOf(this.#T);this.#T.privateActive=!1;const t=this.#L?.find(((t,i)=>!t.disabled&&i>e));if(t)return void(t.privateActive=!0);const i=this.#L.findLast(((t,i)=>!t.disabled&&i<e));i&&(i.privateActive=!0)}}#M(){const e=this.#L?.find((e=>!e.disabled));!this.#T&&e&&(e.privateActive=!0)}#b(e){const t=this.#g instanceof HTMLSpanElement||this.#g instanceof HTMLDivElement;if([" ","Enter"].includes(e.key)&&this.open)return" "===e.key&&t&&e.preventDefault(),this.open=!1,this.#G(),this.#T?.click(),void(this.#i=!0);if([" ","Enter"].includes(e.key)&&t)return e.preventDefault(),void(this.open=!0);if(["Escape"].includes(e.key)&&this.open)return e.preventDefault(),this.open=!1,void this.#G();if(["ArrowUp","ArrowDown"].includes(e.key)&&!this.open&&this.#T&&this.#p)return e.preventDefault(),this.open=!0,void(this.#p.ariaActivedescendant=this.#T.id);if(this.open&&this.#T&&this.#L){const t=this.#L.indexOf(this.#T);if("ArrowUp"===e.key&&!e.metaKey){e.preventDefault();const i=this.#L.findLast(((e,i)=>!e.disabled&&i<t));return void(i&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowDown"===e.key&&!e.metaKey){e.preventDefault();const i=this.#L.find(((e,i)=>!e.disabled&&i>t));return void(i&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowUp"===e.key&&e.metaKey||"Home"===e.key||"PageUp"===e.key){e.preventDefault();const t=[...this.#L].reverse().findLast((e=>!e.disabled));return void(t&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=t.id,t.privateActive=!0))}if("ArrowDown"===e.key&&e.metaKey||"End"===e.key||"PageDown"===e.key){e.preventDefault();const t=[...this.#L].findLast((e=>!e.disabled));return void(t&&this.#p&&(this.#T.privateActive=!1,this.#p.ariaActivedescendant=t.id,t.privateActive=!0))}}}#k(){const e=new MutationObserver((()=>{this.open&&!this.isTargetDisabled?this.#f():this.#E()}));this.#g&&this.#p&&(e.observe(this.#g,{attributes:!0,attributeFilter:["aria-disabled","disabled"]}),this.#g.ariaHasPopup="true",this.#g.id=nanoid(),this.#g.setAttribute("aria-controls",this.#p.id),this.#p.ariaLabelledby=this.#g.id);(this.#g instanceof HTMLSpanElement||this.#g instanceof HTMLDivElement)&&this.#g instanceof HTMLElement&&(this.#g.tabIndex=0),this.open&&!this.isTargetDisabled?this.#f():this.#E()}#C(){this.isTargetDisabled?this.#E():this.#i?this.#i=!1:this.#L&&this.#L.length>0&&(this.open=!this.open)}get#p(){const e=this.#t.value?.assignedElements().at(0);return e instanceof GlideCoreMenuOptions?e:null}get#L(){let e=this.#t.value?.assignedElements()?.at(0)?.children;const t=e?.[0];if(t instanceof HTMLSlotElement&&(e=t.assignedElements()),e)return[...e].filter((e=>e instanceof GlideCoreMenuLink||e instanceof GlideCoreMenuButton))}#f(){this.#A?.(),this.#g&&this.#t.value&&(this.#A=autoUpdate(this.#g,this.#t.value,(()=>{(async()=>{if(this.#g&&this.#t.value){const{x:e,y:t,placement:i}=await computePosition(this.#g,this.#t.value,{placement:this.placement,middleware:[offset(this.offset),flip()]});this.#t.value.dataset.placement=i,Object.assign(this.#t.value.style,{left:`${e}px`,top:`${t}px`})}this.#t.value?.showPopover(),this.#p&&this.#T?.id&&(this.#p.ariaActivedescendant=this.#T.id),this.#g&&(this.#g.ariaExpanded="true")})()})))}get#g(){return this.#r.value?.assignedElements().at(0)}};__decorate([property({reflect:!0,type:Number})],GlideCoreMenu.prototype,"offset",null),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenu.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreMenu.prototype,"placement",void 0),__decorate([property({reflect:!0})],GlideCoreMenu.prototype,"size",null),__decorate([property({reflect:!0})],GlideCoreMenu.prototype,"version",void 0),GlideCoreMenu=__decorate([customElement("glide-core-menu"),final],GlideCoreMenu);export default GlideCoreMenu;
|
package/dist/menu.link.styles.js
CHANGED
@@ -3,7 +3,7 @@ import{css}from"lit";export default[css`
|
|
3
3
|
align-items: center;
|
4
4
|
background-color: transparent;
|
5
5
|
border: none;
|
6
|
-
border-radius: var(--glide-core-spacing-sm);
|
6
|
+
border-radius: var(--glide-core-spacing-base-sm);
|
7
7
|
box-sizing: border-box;
|
8
8
|
display: flex;
|
9
9
|
font: inherit;
|
@@ -16,16 +16,18 @@ import{css}from"lit";export default[css`
|
|
16
16
|
user-select: none;
|
17
17
|
|
18
18
|
&.active {
|
19
|
-
background-color: var(
|
19
|
+
background-color: var(
|
20
|
+
--glide-core-color-interactive-surface-container--hover
|
21
|
+
);
|
20
22
|
}
|
21
23
|
|
22
24
|
&.disabled {
|
23
|
-
color: var(--glide-core-icon-
|
25
|
+
color: var(--glide-core-color-interactive-icon-default--disabled);
|
24
26
|
cursor: default;
|
25
27
|
}
|
26
28
|
|
27
29
|
&:not(.disabled) {
|
28
|
-
color: var(--glide-core-text-
|
30
|
+
color: var(--glide-core-color-static-text-default);
|
29
31
|
cursor: pointer;
|
30
32
|
}
|
31
33
|
}
|
@@ -6,28 +6,24 @@ import{css}from"lit";export default[css`
|
|
6
6
|
|
7
7
|
.component {
|
8
8
|
&.large {
|
9
|
-
--private-gap: var(--glide-core-spacing-sm);
|
10
|
-
--private-padding-inline: var(--glide-core-spacing-sm);
|
11
|
-
--private-padding-block: var(--glide-core-spacing-xxs);
|
9
|
+
--private-gap: var(--glide-core-spacing-base-sm);
|
10
|
+
--private-padding-inline: var(--glide-core-spacing-base-sm);
|
11
|
+
--private-padding-block: var(--glide-core-spacing-base-xxs);
|
12
12
|
|
13
|
-
font-family: var(--glide-core-
|
14
|
-
font-size: var(--glide-core-
|
15
|
-
font-
|
16
|
-
font-weight: var(--glide-core-body-sm-font-weight);
|
17
|
-
line-height: var(--glide-core-body-sm-line-height);
|
13
|
+
font-family: var(--glide-core-typography-family-primary);
|
14
|
+
font-size: var(--glide-core-typography-size-body-default);
|
15
|
+
font-weight: var(--glide-core-typography-weight-regular);
|
18
16
|
}
|
19
17
|
|
20
18
|
&.small {
|
21
|
-
--private-gap: var(--glide-core-spacing-xs);
|
22
|
-
--private-padding-inline: var(--glide-core-spacing-xs);
|
23
|
-
--private-padding-block: var(--glide-core-spacing-xxxs);
|
19
|
+
--private-gap: var(--glide-core-spacing-base-xs);
|
20
|
+
--private-padding-inline: var(--glide-core-spacing-base-xs);
|
21
|
+
--private-padding-block: var(--glide-core-spacing-base-xxxs);
|
24
22
|
--private-size: 0.75rem;
|
25
23
|
|
26
|
-
font-family: var(--glide-core-
|
27
|
-
font-size: var(--glide-core-
|
28
|
-
font-
|
29
|
-
font-weight: var(--glide-core-body-xs-font-weight);
|
30
|
-
line-height: var(--glide-core-body-xs-line-height);
|
24
|
+
font-family: var(--glide-core-typography-family-primary);
|
25
|
+
font-size: var(--glide-core-typography-size-body-small);
|
26
|
+
font-weight: var(--glide-core-typography-weight-regular);
|
31
27
|
}
|
32
28
|
}
|
33
29
|
`];
|
package/dist/menu.styles.js
CHANGED
@@ -7,7 +7,7 @@ import{css}from"lit";import opacityAndScaleAnimation from"./styles/opacity-and-s
|
|
7
7
|
}
|
8
8
|
|
9
9
|
.component {
|
10
|
-
color: var(--glide-core-text-
|
10
|
+
color: var(--glide-core-color-static-text-default);
|
11
11
|
display: flex;
|
12
12
|
}
|
13
13
|
|
@@ -17,16 +17,19 @@ import{css}from"lit";import opacityAndScaleAnimation from"./styles/opacity-and-s
|
|
17
17
|
}
|
18
18
|
|
19
19
|
.default-slot {
|
20
|
-
background-color: var(
|
21
|
-
|
22
|
-
|
23
|
-
|
20
|
+
background-color: var(
|
21
|
+
--glide-core-private-color-dialog-and-modal-surface-container
|
22
|
+
);
|
23
|
+
border: 1px solid
|
24
|
+
var(--glide-core-color-static-surface-container-secondary);
|
25
|
+
border-radius: var(--glide-core-rounding-base-radius-sm);
|
26
|
+
box-shadow: var(--glide-core-effect-floating);
|
24
27
|
box-sizing: border-box;
|
25
28
|
inline-size: max-content;
|
26
29
|
inset: unset;
|
27
30
|
margin-block: 0;
|
28
31
|
min-inline-size: 9.375rem;
|
29
|
-
padding: var(--glide-core-spacing-xxxs);
|
32
|
+
padding: var(--glide-core-spacing-base-xxxs);
|
30
33
|
position: absolute;
|
31
34
|
}
|
32
35
|
`];
|
package/dist/modal.styles.js
CHANGED
@@ -26,11 +26,13 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
26
26
|
|
27
27
|
.component {
|
28
28
|
backdrop-filter: blur(100px);
|
29
|
-
background-color: var(
|
29
|
+
background-color: var(
|
30
|
+
--glide-core-private-color-dialog-and-modal-surface-container
|
31
|
+
);
|
30
32
|
border: none;
|
31
|
-
border-radius:
|
32
|
-
box-shadow: var(--glide-core-
|
33
|
-
font-family: var(--glide-core-
|
33
|
+
border-radius: var(--glide-core-rounding-base-radius-sm);
|
34
|
+
box-shadow: var(--glide-core-effect-floating);
|
35
|
+
font-family: var(--glide-core-typography-family-primary);
|
34
36
|
opacity: 0;
|
35
37
|
padding: 0;
|
36
38
|
|
@@ -93,13 +95,13 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
93
95
|
|
94
96
|
.label {
|
95
97
|
align-items: center;
|
96
|
-
color: var(--glide-core-text-
|
98
|
+
color: var(--glide-core-color-static-text-default);
|
97
99
|
display: flex;
|
98
|
-
font-size:
|
99
|
-
font-weight:
|
100
|
-
gap: var(--glide-core-spacing-xs);
|
100
|
+
font-size: var(--glide-core-typography-size-heading-h2);
|
101
|
+
font-weight: var(--glide-core-typography-weight-semibold);
|
102
|
+
gap: var(--glide-core-spacing-base-xs);
|
101
103
|
inline-size: 100%;
|
102
|
-
line-height:
|
104
|
+
line-height: var(--glide-core-typography-height-heading-h2);
|
103
105
|
margin-block-end: 0;
|
104
106
|
margin-block-start: 0;
|
105
107
|
overflow: hidden;
|
@@ -127,15 +129,15 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
127
129
|
display: flex;
|
128
130
|
|
129
131
|
&.informational {
|
130
|
-
color: var(--glide-core-
|
132
|
+
color: var(--glide-core-color-info-icon-default);
|
131
133
|
}
|
132
134
|
|
133
135
|
&.medium {
|
134
|
-
color: var(--glide-core-
|
136
|
+
color: var(--glide-core-color-attention-icon-default);
|
135
137
|
}
|
136
138
|
|
137
139
|
&.critical {
|
138
|
-
color: var(--glide-core-
|
140
|
+
color: var(--glide-core-color-error-icon-default);
|
139
141
|
}
|
140
142
|
}
|
141
143
|
|
@@ -171,7 +173,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
171
173
|
.actions {
|
172
174
|
align-items: center;
|
173
175
|
display: flex;
|
174
|
-
gap: var(--glide-core-spacing-xs);
|
176
|
+
gap: var(--glide-core-spacing-base-xs);
|
175
177
|
list-style-type: none;
|
176
178
|
margin: 0;
|
177
179
|
padding: 0;
|
@@ -186,5 +188,6 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
186
188
|
.tertiary-slot {
|
187
189
|
align-items: center;
|
188
190
|
display: flex;
|
191
|
+
gap: var(--glide-core-spacing-base-xxs);
|
189
192
|
}
|
190
193
|
`];
|
package/dist/popover.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,o,r){var i,l=arguments.length,a=l<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(l<3?i(a):l>3?i(t,o,a):i(t,o))||a);return l>3&&a&&Object.defineProperty(t,o,a),a};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"./popover.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCorePopover=class GlideCorePopover extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.effectivePlacement=this.placement??"bottom",this.#e=createRef(),this.#t=createRef(),this.#o=!1,this.#r=!1,this.#i=!1,this.#l=!1,this.#a=!1,this.#s=createRef(),this.#n=createRef(),this.#p=()=>{this.#r||this.#a||this.#o?setTimeout((()=>{this.#r=!1,this.#a=!1,this.#o=!1})):this.open=!1}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#i}set disabled(e){this.#i=e,this.open&&!e?this.#f():this.#d()}get offset(){return this.#m??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#m=e}get open(){return this.#l}set open(e){const t=e!==this.#l;this.#l=e,e&&t&&!this.disabled?(this.#f(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#d(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.#p,{capture:!0})}firstUpdated(){this.#s.value&&(this.#s.value.popover="manual"),this.open&&!this.disabled&&this.#f(),this.#t.value?.addEventListener("mouseup",(()=>{this.#r=!0})),this.#n.value?.addEventListener("mouseup",(()=>{this.#a=!0})),this.#e.value?.addEventListener("mouseup",(()=>{this.#o=!0})),this.#n.value?.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(this.#a=!0)}))}render(){return html`<div class="component"><slot class="target-slot" data-test="target-slot" name="target" @click="${this.#h}" @keydown="${this.#c}" ${assertSlot([Element])} ${ref(this.#n)}></slot><div class="${classMap({popover:!0,[this.effectivePlacement]:!0})}" id="popover" data-test="popover" ${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><slot class="default-slot" ${assertSlot()} ${ref(this.#t)}></slot></div></div>`}#e;#u;#t;#o;#r;#i;#l;#a;#m;#s;#n;#p;#d(){this.#s.value?.hidePopover(),this.#v&&(this.#v.ariaExpanded="false"),this.#u?.()}#h(){this.open=!this.open}#c(e){"Escape"===e.key&&(e.preventDefault(),this.open=!1)}get#v(){return this.#n.value?.assignedElements().at(0)}#f(){this.disabled||(this.#u?.(),this.#n.value&&this.#s.value&&(this.#u=autoUpdate(this.#n.value,this.#s.value,(()=>{(async()=>{if(this.#n.value&&this.#s.value&&this.#e.value){const e=Number.parseFloat(window.getComputedStyle(this.#s.value).padding),{x:t,y:o,placement:r,middlewareData:i}=await computePosition(this.#n.value,this.#s.value,{placement:this.placement,middleware:[offset(this.offset-e-2),flip({fallbackStrategy:"initialPlacement"}),shift({limiter:limitShift({offset:30})}),arrow({element:this.#e.value})]});Object.assign(this.#s.value.style,{left:`${t}px`,top:`${o}px`}),Object.assign(this.#e.value.style,{left:i.arrow?.x?i.arrow.x-e+"px":null,top:i.arrow?.y?i.arrow.y-e+"px":null}),this.effectivePlacement=r,this.#s.value.showPopover(),this.#v&&(this.#v.ariaExpanded="true")}})()}))))}};__decorate([property({reflect:!0,type:Boolean})],GlideCorePopover.prototype,"disabled",null),__decorate([property({reflect:!0,type:Number})],GlideCorePopover.prototype,"offset",null),__decorate([property({reflect:!0,type:Boolean})],GlideCorePopover.prototype,"open",null),__decorate([property()],GlideCorePopover.prototype,"placement",void 0),__decorate([property({reflect:!0})],GlideCorePopover.prototype,"version",void 0),__decorate([state()],GlideCorePopover.prototype,"effectivePlacement",void 0),GlideCorePopover=__decorate([customElement("glide-core-popover"),final],GlideCorePopover);export default GlideCorePopover;const icons={topArrow:html`<svg aria-hidden="true" viewBox="0 0 16 9" fill="none"><mask id="mask0_13064_691" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M16 6.99382e-07V9L0 9L3.93402e-07 0L16 6.99382e-07Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_13064_691)"><g filter="url(#filter0_d_13064_691)"><path d="M8.76822 5.603C8.36842 6.13234 7.63157 6.13233 7.23178 5.60299L3 0L13 9.19407e-07L8.76822 5.603Z" fill="currentColor"/></g></g><defs><filter id="filter0_d_13064_691" x="2" y="0" width="0.75rem" height="0.625rem" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="0.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_13064_691"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_13064_691" result="shape"/></filter></defs></svg>`,rightArrow:html`<svg aria-hidden="true" viewBox="0 0 9 16" fill="none"><mask id="mask0_13064_688" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M9 16H1.39876e-06L0 7.86805e-07L9 0L9 16Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_13064_688)"><g filter="url(#filter0_d_13064_688)"><path d="M3.397 8.76822C2.86766 8.36843 2.86767 7.63157 3.39701 7.23178L9 3V13L3.397 8.76822Z" fill="currentColor"/></g></g><defs><filter id="filter0_d_13064_688" x="2" y="3" width="0.5rem" height="0.875rem" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="0.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_13064_688"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_13064_688" result="shape"/></filter></defs></svg>`,bottomArrow:html`<svg aria-hidden="true" viewBox="0 0 16 9" fill="none"><mask id="mask0_13064_685" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M0 9L1.07324e-07 0L16 1.90798e-07V9H0Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_13064_685)"><g filter="url(#filter0_dd_13064_685)"><path d="M7.23178 3.397C7.63157 2.86766 8.36843 2.86767 8.76822 3.39701L13 9L3 9L7.23178 3.397Z" fill="currentColor"/></g></g><defs><filter id="filter0_dd_13064_685" x="-5" y="-2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="4"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_13064_685"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="-1"/><feGaussianBlur stdDeviation="1"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="effect1_dropShadow_13064_685" result="effect2_dropShadow_13064_685"/><feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_13064_685" result="shape"/></filter></defs></svg>`,leftArrow:html`<svg aria-hidden="true" viewBox="0 0 9 16" fill="none"><mask id="mask0_12969_88361" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M0 0H9V16H0V0Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_12969_88361)"><g filter="url(#filter0_d_12969_88361)"><path d="M5.603 7.23178C6.13234 7.63157 6.13233 8.36843 5.60299 8.76822L0 13L4.82293e-07 3L5.603 7.23178Z" fill="currentColor"/></g></g><defs><filter id="filter0_d_12969_88361" x="-1" y="3" width="0.5rem" height="0.875rem" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="0.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12969_88361"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12969_88361" result="shape"/></filter></defs></svg>`};
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,o,r){var i,l=arguments.length,a=l<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,o,r);else for(var s=e.length-1;s>=0;s--)(i=e[s])&&(a=(l<3?i(a):l>3?i(t,o,a):i(t,o))||a);return l>3&&a&&Object.defineProperty(t,o,a),a};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"./popover.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCorePopover=class GlideCorePopover extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.effectivePlacement=this.placement??"bottom",this.#e=createRef(),this.#t=createRef(),this.#o=!1,this.#r=!1,this.#i=!1,this.#l=!1,this.#a=!1,this.#s=createRef(),this.#n=createRef(),this.#p=()=>{this.#r||this.#a||this.#o?setTimeout((()=>{this.#r=!1,this.#a=!1,this.#o=!1})):this.open=!1}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#i}set disabled(e){this.#i=e,this.open&&!e?this.#f():this.#d()}get offset(){return this.#m??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-base-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#m=e}get open(){return this.#l}set open(e){const t=e!==this.#l;this.#l=e,e&&t&&!this.disabled?(this.#f(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#d(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.#p,{capture:!0})}firstUpdated(){this.#s.value&&(this.#s.value.popover="manual"),this.open&&!this.disabled&&this.#f(),this.#t.value?.addEventListener("mouseup",(()=>{this.#r=!0})),this.#n.value?.addEventListener("mouseup",(()=>{this.#a=!0})),this.#e.value?.addEventListener("mouseup",(()=>{this.#o=!0})),this.#n.value?.addEventListener("keydown",(e=>{"Enter"!==e.key&&" "!==e.key||(this.#a=!0)}))}render(){return html`<div class="component"><slot class="target-slot" data-test="target-slot" name="target" @click="${this.#h}" @keydown="${this.#c}" ${assertSlot([Element])} ${ref(this.#n)}></slot><div class="${classMap({popover:!0,[this.effectivePlacement]:!0})}" id="popover" data-test="popover" ${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><slot class="default-slot" ${assertSlot()} ${ref(this.#t)}></slot></div></div>`}#e;#u;#t;#o;#r;#i;#l;#a;#m;#s;#n;#p;#d(){this.#s.value?.hidePopover(),this.#v&&(this.#v.ariaExpanded="false"),this.#u?.()}#h(){this.open=!this.open}#c(e){"Escape"===e.key&&(e.preventDefault(),this.open=!1)}get#v(){return this.#n.value?.assignedElements().at(0)}#f(){this.disabled||(this.#u?.(),this.#n.value&&this.#s.value&&(this.#u=autoUpdate(this.#n.value,this.#s.value,(()=>{(async()=>{if(this.#n.value&&this.#s.value&&this.#e.value){const e=Number.parseFloat(window.getComputedStyle(this.#s.value).padding),{x:t,y:o,placement:r,middlewareData:i}=await computePosition(this.#n.value,this.#s.value,{placement:this.placement,middleware:[offset(this.offset-e-2),flip({fallbackStrategy:"initialPlacement"}),shift({limiter:limitShift({offset:30})}),arrow({element:this.#e.value})]});Object.assign(this.#s.value.style,{left:`${t}px`,top:`${o}px`}),Object.assign(this.#e.value.style,{left:i.arrow?.x?i.arrow.x-e+"px":null,top:i.arrow?.y?i.arrow.y-e+"px":null}),this.effectivePlacement=r,this.#s.value.showPopover(),this.#v&&(this.#v.ariaExpanded="true")}})()}))))}};__decorate([property({reflect:!0,type:Boolean})],GlideCorePopover.prototype,"disabled",null),__decorate([property({reflect:!0,type:Number})],GlideCorePopover.prototype,"offset",null),__decorate([property({reflect:!0,type:Boolean})],GlideCorePopover.prototype,"open",null),__decorate([property()],GlideCorePopover.prototype,"placement",void 0),__decorate([property({reflect:!0})],GlideCorePopover.prototype,"version",void 0),__decorate([state()],GlideCorePopover.prototype,"effectivePlacement",void 0),GlideCorePopover=__decorate([customElement("glide-core-popover"),final],GlideCorePopover);export default GlideCorePopover;const icons={topArrow:html`<svg aria-hidden="true" viewBox="0 0 16 9" fill="none"><mask id="mask0_13064_691" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M16 6.99382e-07V9L0 9L3.93402e-07 0L16 6.99382e-07Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_13064_691)"><g filter="url(#filter0_d_13064_691)"><path d="M8.76822 5.603C8.36842 6.13234 7.63157 6.13233 7.23178 5.60299L3 0L13 9.19407e-07L8.76822 5.603Z" fill="currentColor"/></g></g><defs><filter id="filter0_d_13064_691" x="2" y="0" width="0.75rem" height="0.625rem" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="0.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_13064_691"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_13064_691" result="shape"/></filter></defs></svg>`,rightArrow:html`<svg aria-hidden="true" viewBox="0 0 9 16" fill="none"><mask id="mask0_13064_688" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M9 16H1.39876e-06L0 7.86805e-07L9 0L9 16Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_13064_688)"><g filter="url(#filter0_d_13064_688)"><path d="M3.397 8.76822C2.86766 8.36843 2.86767 7.63157 3.39701 7.23178L9 3V13L3.397 8.76822Z" fill="currentColor"/></g></g><defs><filter id="filter0_d_13064_688" x="2" y="3" width="0.5rem" height="0.875rem" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="0.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_13064_688"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_13064_688" result="shape"/></filter></defs></svg>`,bottomArrow:html`<svg aria-hidden="true" viewBox="0 0 16 9" fill="none"><mask id="mask0_13064_685" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M0 9L1.07324e-07 0L16 1.90798e-07V9H0Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_13064_685)"><g filter="url(#filter0_dd_13064_685)"><path d="M7.23178 3.397C7.63157 2.86766 8.36843 2.86767 8.76822 3.39701L13 9L3 9L7.23178 3.397Z" fill="currentColor"/></g></g><defs><filter id="filter0_dd_13064_685" x="-5" y="-2" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="4"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_13064_685"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="-1"/><feGaussianBlur stdDeviation="1"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="effect1_dropShadow_13064_685" result="effect2_dropShadow_13064_685"/><feBlend mode="normal" in="SourceGraphic" in2="effect2_dropShadow_13064_685" result="shape"/></filter></defs></svg>`,leftArrow:html`<svg aria-hidden="true" viewBox="0 0 9 16" fill="none"><mask id="mask0_12969_88361" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="0" y="0"><path d="M0 0H9V16H0V0Z" fill="#D9D9D9"/></mask><g mask="url(#mask0_12969_88361)"><g filter="url(#filter0_d_12969_88361)"><path d="M5.603 7.23178C6.13234 7.63157 6.13233 8.36843 5.60299 8.76822L0 13L4.82293e-07 3L5.603 7.23178Z" fill="currentColor"/></g></g><defs><filter id="filter0_d_12969_88361" x="-1" y="3" width="0.5rem" height="0.875rem" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/><feOffset dy="3"/><feGaussianBlur stdDeviation="0.5"/><feComposite in2="hardAlpha" operator="out"/><feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.06 0"/><feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_12969_88361"/><feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_12969_88361" result="shape"/></filter></defs></svg>`};
|
package/dist/popover.styles.js
CHANGED
@@ -36,7 +36,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
36
36
|
background-color: transparent;
|
37
37
|
border: none;
|
38
38
|
inset: unset;
|
39
|
-
padding: var(--glide-core-spacing-xs);
|
39
|
+
padding: var(--glide-core-spacing-base-xs);
|
40
40
|
position: absolute;
|
41
41
|
|
42
42
|
&:popover-open {
|
@@ -72,7 +72,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
72
72
|
--private-arrow-height: 0.5625rem;
|
73
73
|
--private-arrow-width: 1rem;
|
74
74
|
|
75
|
-
color: var(--glide-core-surface-
|
75
|
+
color: var(--glide-core-private-color-dialog-and-modal-surface-container);
|
76
76
|
display: flex;
|
77
77
|
position: relative;
|
78
78
|
|
@@ -91,29 +91,29 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
|
|
91
91
|
}
|
92
92
|
|
93
93
|
.default-slot {
|
94
|
-
background-color: var(
|
95
|
-
|
94
|
+
background-color: var(
|
95
|
+
--glide-core-private-color-dialog-and-modal-surface-container
|
96
|
+
);
|
97
|
+
border-radius: var(--glide-core-spacing-base-xs);
|
96
98
|
|
97
|
-
/*
|
98
|
-
".popover" can't overflow because the Popover API won't allow it. And
|
99
|
-
a shadow counts as overflow. So make sure to adjust the padding on
|
99
|
+
/*
|
100
|
+
".popover" can't overflow because the Popover API won't allow it. And
|
101
|
+
a shadow counts as overflow. So make sure to adjust the padding on
|
100
102
|
".popover" when changing this shadow so ".popover" has enough room for it.
|
101
103
|
*/
|
102
104
|
box-shadow:
|
103
105
|
0 3px 8px 0 rgba(0 0 0 / 15%),
|
104
106
|
0 3px 1px 0 rgba(0 0 0 / 6%);
|
105
107
|
box-sizing: border-box;
|
106
|
-
color: var(--glide-core-text-
|
108
|
+
color: var(--glide-core-color-static-text-default);
|
107
109
|
display: flex;
|
108
|
-
font-family: var(--glide-core-
|
109
|
-
font-size: var(--glide-core-
|
110
|
-
font-
|
111
|
-
font-weight: var(--glide-core-body-sm-font-weight);
|
110
|
+
font-family: var(--glide-core-typography-family-primary);
|
111
|
+
font-size: var(--glide-core-typography-size-body-default);
|
112
|
+
font-weight: var(--glide-core-typography-weight-regular);
|
112
113
|
inset-block-start: 50%;
|
113
|
-
line-height: var(--glide-core-body-sm-line-height);
|
114
114
|
max-inline-size: 23.75rem;
|
115
115
|
min-block-size: 2rem;
|
116
116
|
min-inline-size: 5rem;
|
117
|
-
padding: var(--glide-core-spacing-sm);
|
117
|
+
padding: var(--glide-core-spacing-base-sm);
|
118
118
|
}
|
119
119
|
`];
|
@@ -19,20 +19,32 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
19
19
|
|
20
20
|
.component {
|
21
21
|
align-items: center;
|
22
|
-
color: var(--glide-core-text-
|
22
|
+
color: var(--glide-core-color-interactive-text-default);
|
23
23
|
display: flex;
|
24
|
-
font-weight: var(--glide-core-
|
24
|
+
font-weight: var(--glide-core-typography-weight-regular);
|
25
25
|
|
26
26
|
&:hover {
|
27
|
-
.circle {
|
28
|
-
border-color: var(--glide-core-
|
29
|
-
|
27
|
+
.circle:not(.disabled) {
|
28
|
+
border-color: var(--glide-core-color-interactive-icon-active--hover);
|
29
|
+
|
30
|
+
&.checked {
|
31
|
+
border-color: var(
|
32
|
+
--glide-core-color-interactive-icon-active--hover
|
33
|
+
);
|
34
|
+
box-shadow: var(--glide-core-effect-hovered);
|
35
|
+
|
36
|
+
&::after {
|
37
|
+
background-color: var(
|
38
|
+
--glide-core-color-interactive-icon-active--hover
|
39
|
+
);
|
40
|
+
}
|
41
|
+
}
|
30
42
|
}
|
31
43
|
}
|
32
44
|
|
33
45
|
.circle {
|
34
46
|
block-size: 1rem;
|
35
|
-
border: 1px solid var(--glide-core-
|
47
|
+
border: 1px solid var(--glide-core-color-interactive-stroke-contrast);
|
36
48
|
border-radius: 50%;
|
37
49
|
box-sizing: border-box;
|
38
50
|
inline-size: 1rem;
|
@@ -44,8 +56,10 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
44
56
|
box-shadow 200ms ease-in-out;
|
45
57
|
|
46
58
|
&.checked {
|
47
|
-
background-color: var(
|
48
|
-
|
59
|
+
background-color: var(
|
60
|
+
--glide-core-private-color-checkbox-surface-background-idle
|
61
|
+
);
|
62
|
+
border-color: var(--glide-core-color-interactive-icon-active);
|
49
63
|
|
50
64
|
&.animate {
|
51
65
|
@media (prefers-reduced-motion: no-preference) {
|
@@ -56,7 +70,9 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
56
70
|
}
|
57
71
|
|
58
72
|
&::after {
|
59
|
-
background-color: var(
|
73
|
+
background-color: var(
|
74
|
+
--glide-core-color-interactive-surface-container-active
|
75
|
+
);
|
60
76
|
block-size: 0.5rem;
|
61
77
|
border-radius: 50%;
|
62
78
|
box-sizing: border-box;
|
@@ -70,12 +86,16 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
70
86
|
}
|
71
87
|
|
72
88
|
&.disabled {
|
73
|
-
border-color: var(
|
89
|
+
border-color: var(
|
90
|
+
--glide-core-private-color-radio-icon-default--disabled
|
91
|
+
);
|
74
92
|
box-shadow: none;
|
75
93
|
cursor: not-allowed;
|
76
94
|
|
77
95
|
&::after {
|
78
|
-
background-color: var(
|
96
|
+
background-color: var(
|
97
|
+
--glide-core-private-color-radio-icon-default--disabled
|
98
|
+
);
|
79
99
|
}
|
80
100
|
}
|
81
101
|
}
|
@@ -1,11 +1,9 @@
|
|
1
1
|
import{css}from"lit";export default[css`
|
2
2
|
.component {
|
3
|
-
color: var(--glide-core-text-
|
4
|
-
font-family: var(--glide-core-
|
5
|
-
font-size: var(--glide-core-
|
6
|
-
font-
|
7
|
-
font-variant: var(--glide-core-heading-xxxs-font-variant);
|
8
|
-
font-weight: var(--glide-core-heading-xxxs-font-weight);
|
3
|
+
color: var(--glide-core-color-static-text-default);
|
4
|
+
font-family: var(--glide-core-typography-family-primary);
|
5
|
+
font-size: var(--glide-core-typography-size-body-default);
|
6
|
+
font-weight: var(--glide-core-typography-weight-bold);
|
9
7
|
}
|
10
8
|
|
11
9
|
.radio-container {
|
@@ -14,12 +12,12 @@ import{css}from"lit";export default[css`
|
|
14
12
|
gap: 0.375rem;
|
15
13
|
|
16
14
|
&.invalid {
|
17
|
-
border: 1px solid var(--glide-core-
|
18
|
-
border-radius:
|
19
|
-
color: var(--glide-core-
|
15
|
+
border: 1px solid var(--glide-core-color-error-stroke-primary);
|
16
|
+
border-radius: var(--glide-core-rounding-base-radius-sm);
|
17
|
+
color: var(--glide-core-color-error-stroke-primary);
|
20
18
|
margin-block-end: -0.0625rem;
|
21
19
|
margin-inline-start: -0.0625rem;
|
22
|
-
padding: var(--glide-core-spacing-xxs) 0.375rem;
|
20
|
+
padding: var(--glide-core-spacing-base-xxs) 0.375rem;
|
23
21
|
}
|
24
22
|
}
|
25
23
|
|