@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.
Files changed (46) hide show
  1. package/dist/accordion.styles.js +22 -21
  2. package/dist/button-group.button.styles.js +46 -22
  3. package/dist/button-group.styles.js +7 -7
  4. package/dist/button.d.ts +3 -0
  5. package/dist/button.js +1 -1
  6. package/dist/button.styles.js +62 -42
  7. package/dist/checkbox-group.styles.js +5 -5
  8. package/dist/checkbox.js +9 -3
  9. package/dist/checkbox.styles.js +46 -28
  10. package/dist/drawer.styles.js +6 -4
  11. package/dist/dropdown.js +1 -1
  12. package/dist/dropdown.option.styles.js +26 -28
  13. package/dist/dropdown.styles.js +64 -58
  14. package/dist/icon-button.styles.js +44 -23
  15. package/dist/inline-alert.js +1 -1
  16. package/dist/inline-alert.styles.js +24 -21
  17. package/dist/input.styles.js +33 -25
  18. package/dist/label.styles.js +22 -27
  19. package/dist/menu.button.styles.js +6 -4
  20. package/dist/menu.js +1 -1
  21. package/dist/menu.link.styles.js +6 -4
  22. package/dist/menu.options.styles.js +12 -16
  23. package/dist/menu.styles.js +9 -6
  24. package/dist/modal.styles.js +16 -13
  25. package/dist/popover.js +1 -1
  26. package/dist/popover.styles.js +14 -14
  27. package/dist/radio-group.radio.styles.js +31 -11
  28. package/dist/radio-group.styles.js +8 -10
  29. package/dist/split-button.primary-button.styles.js +41 -26
  30. package/dist/split-button.secondary-button.styles.js +61 -21
  31. package/dist/styles/focus-outline.js +1 -1
  32. package/dist/styles/variables.css +1 -1
  33. package/dist/tab.group.styles.js +6 -5
  34. package/dist/tab.panel.styles.js +1 -1
  35. package/dist/tab.styles.js +7 -7
  36. package/dist/tag.styles.js +27 -26
  37. package/dist/textarea.styles.js +22 -18
  38. package/dist/toasts.styles.js +2 -2
  39. package/dist/toasts.toast.styles.js +20 -20
  40. package/dist/toggle.styles.js +15 -7
  41. package/dist/tooltip.container.styles.js +14 -13
  42. package/dist/tooltip.js +1 -1
  43. package/dist/tooltip.styles.js +1 -1
  44. package/package.json +8 -9
  45. package/dist/library/get-parent-class-name.d.ts +0 -3
  46. package/dist/library/get-parent-class-name.js +0 -1
@@ -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-body-1);
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-body-1);
91
+ color: var(--glide-core-color-static-text-default);
92
92
  display: block;
93
- font-family: var(--glide-core-heading-xxxs-font-family);
94
- font-size: var(--glide-core-heading-xxxs-font-size);
95
- font-style: var(--glide-core-heading-xxxs-font-style);
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-status-error);
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-body-sm-font-family);
156
- font-size: var(--glide-core-body-sm-font-size);
157
- font-style: var(--glide-core-body-sm-font-style);
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-status-error);
158
+ color: var(--glide-core-color-error-text-status);
162
159
  }
163
160
  }
164
161
 
165
162
  .description {
166
- color: var(--glide-core-text-body-1);
163
+ color: var(--glide-core-color-static-text-default);
167
164
  display: block;
168
- font-family: var(--glide-core-body-xs-font-family);
169
- font-size: var(--glide-core-body-xs-font-size);
170
- font-style: var(--glide-core-body-xs-font-style);
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-status-error);
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(--glide-core-surface-hover);
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-tertiary-disabled);
23
+ color: var(--glide-core-color-interactive-icon-default--disabled);
22
24
  }
23
25
 
24
26
  &:not(.disabled) {
25
- color: var(--glide-core-text-body-1);
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;
@@ -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(--glide-core-surface-hover);
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-tertiary-disabled);
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-body-1);
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-body-sm-font-family);
14
- font-size: var(--glide-core-body-sm-font-size);
15
- font-style: var(--glide-core-body-sm-font-style);
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-body-xs-font-family);
27
- font-size: var(--glide-core-body-xs-font-size);
28
- font-style: var(--glide-core-body-xs-font-style);
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
  `];
@@ -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-body-1);
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(--glide-core-surface-modal);
21
- border: 1px solid var(--glide-core-border-base-lighter);
22
- border-radius: var(--glide-core-spacing-xs);
23
- box-shadow: var(--glide-core-shadow-lg);
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
  `];
@@ -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(--glide-core-surface-modal);
29
+ background-color: var(
30
+ --glide-core-private-color-dialog-and-modal-surface-container
31
+ );
30
32
  border: none;
31
- border-radius: 0.5rem;
32
- box-shadow: var(--glide-core-shadow-lg);
33
- font-family: var(--glide-core-body-xs-font-family);
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-body);
98
+ color: var(--glide-core-color-static-text-default);
97
99
  display: flex;
98
- font-size: 1.5rem;
99
- font-weight: 600;
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: 1.875rem;
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-status-warning-informational);
132
+ color: var(--glide-core-color-info-icon-default);
131
133
  }
132
134
 
133
135
  &.medium {
134
- color: var(--glide-core-status-warning-medium);
136
+ color: var(--glide-core-color-attention-icon-default);
135
137
  }
136
138
 
137
139
  &.critical {
138
- color: var(--glide-core-status-warning-critical);
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>`};
@@ -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-modal);
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(--glide-core-surface-modal);
95
- border-radius: var(--glide-core-spacing-xs);
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-body-1);
108
+ color: var(--glide-core-color-static-text-default);
107
109
  display: flex;
108
- font-family: var(--glide-core-body-md-font-family);
109
- font-size: var(--glide-core-body-sm-font-size);
110
- font-style: var(--glide-core-body-sm-font-style);
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-body-1);
22
+ color: var(--glide-core-color-interactive-text-default);
23
23
  display: flex;
24
- font-weight: var(--glide-core-body-md-font-weight);
24
+ font-weight: var(--glide-core-typography-weight-regular);
25
25
 
26
26
  &:hover {
27
- .circle {
28
- border-color: var(--glide-core-border-focus);
29
- box-shadow: var(--glide-core-glow-sm);
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-border-base-dark);
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(--glide-core-color-white);
48
- border-color: var(--glide-core-surface-primary);
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(--glide-core-surface-primary);
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(--glide-core-surface-primary-disabled);
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(--glide-core-surface-primary-disabled);
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-body-1);
4
- font-family: var(--glide-core-heading-xxxs-font-family);
5
- font-size: var(--glide-core-heading-xxxs-font-size);
6
- font-style: var(--glide-core-heading-xxxs-font-style);
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-status-error);
18
- border-radius: 0.5rem;
19
- color: var(--glide-core-status-error);
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