@crowdstrike/glide-core 0.25.0 → 0.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/button.d.ts +7 -0
  2. package/dist/button.js +1 -1
  3. package/dist/checkbox-group.styles.js +2 -2
  4. package/dist/checkbox.d.ts +2 -2
  5. package/dist/checkbox.styles.js +1 -1
  6. package/dist/dropdown.d.ts +2 -0
  7. package/dist/dropdown.js +17 -10
  8. package/dist/dropdown.option.d.ts +17 -3
  9. package/dist/dropdown.option.js +1 -1
  10. package/dist/dropdown.styles.js +17 -12
  11. package/dist/icon-button.d.ts +7 -0
  12. package/dist/icon-button.js +1 -1
  13. package/dist/inline-alert.d.ts +0 -6
  14. package/dist/inline-alert.js +1 -1
  15. package/dist/inline-alert.styles.js +18 -38
  16. package/dist/input.styles.js +1 -1
  17. package/dist/label.styles.js +3 -3
  18. package/dist/library/assert-slot.d.ts +4 -0
  19. package/dist/library/localize.d.ts +1 -1
  20. package/dist/link.d.ts +2 -2
  21. package/dist/link.js +1 -1
  22. package/dist/menu.button.d.ts +12 -1
  23. package/dist/menu.button.js +1 -1
  24. package/dist/menu.d.ts +6 -0
  25. package/dist/menu.js +1 -1
  26. package/dist/menu.link.d.ts +14 -3
  27. package/dist/menu.link.js +1 -1
  28. package/dist/menu.options.d.ts +13 -1
  29. package/dist/menu.options.js +1 -1
  30. package/dist/menu.options.styles.js +9 -1
  31. package/dist/modal.js +1 -1
  32. package/dist/modal.styles.js +3 -3
  33. package/dist/radio-group.radio.d.ts +2 -2
  34. package/dist/radio-group.styles.js +2 -2
  35. package/dist/split-button.primary-link.d.ts +2 -2
  36. package/dist/split-button.primary-link.js +1 -1
  37. package/dist/styles/skeleton.d.ts +2 -0
  38. package/dist/styles/skeleton.js +45 -0
  39. package/dist/styles/variables.css +1 -1
  40. package/dist/tab.d.ts +1 -0
  41. package/dist/tab.group.d.ts +1 -2
  42. package/dist/tab.group.js +1 -1
  43. package/dist/tab.js +1 -1
  44. package/dist/textarea.styles.js +1 -1
  45. package/dist/toast.d.ts +40 -0
  46. package/dist/toast.js +1 -0
  47. package/dist/toast.toasts.d.ts +31 -0
  48. package/dist/toast.toasts.js +90 -0
  49. package/dist/toast.toasts.styles.js +127 -0
  50. package/dist/tooltip.js +1 -1
  51. package/dist/translations/en.js +1 -1
  52. package/dist/translations/fr.d.ts +1 -1
  53. package/dist/translations/fr.js +1 -1
  54. package/dist/translations/ja.d.ts +1 -1
  55. package/dist/translations/ja.js +1 -1
  56. package/package.json +2 -2
  57. package/dist/toasts.d.ts +0 -33
  58. package/dist/toasts.js +0 -1
  59. package/dist/toasts.styles.js +0 -22
  60. package/dist/toasts.toast.d.ts +0 -31
  61. package/dist/toasts.toast.js +0 -1
  62. package/dist/toasts.toast.styles.d.ts +0 -2
  63. package/dist/toasts.toast.styles.js +0 -88
  64. /package/dist/{toasts.styles.d.ts → toast.toasts.styles.d.ts} +0 -0
@@ -12,27 +12,33 @@ import{css}from"lit";export default[css`
12
12
  padding: var(--glide-core-spacing-base-sm);
13
13
 
14
14
  &.informational {
15
- background-color: var(--glide-core-color-info-surface-container-light);
16
- border-color: var(--glide-core-color-info-stroke-secondary);
15
+ background-color: var(
16
+ --glide-core-color-advisory-surface-info-container-light
17
+ );
18
+ border-color: var(--glide-core-color-advisory-stroke-info-secondary);
17
19
  }
18
20
 
19
21
  &.medium {
20
22
  background-color: var(
21
- --glide-core-color-attention-surface-container-light
23
+ --glide-core-color-advisory-surface-attention-container-light
24
+ );
25
+ border-color: var(
26
+ --glide-core-color-advisory-stroke-attention-secondary
22
27
  );
23
- border-color: var(--glide-core-color-attention-stroke-secondary);
24
28
  }
25
29
 
26
30
  &.high {
27
31
  background-color: var(
28
- --glide-core-color-warning-surface-container-light
32
+ --glide-core-color-advisory-surface-warning-container-light
29
33
  );
30
- border-color: var(--glide-core-color-warning-stroke-secondary);
34
+ border-color: var(--glide-core-color-advisory-stroke-warning-secondary);
31
35
  }
32
36
 
33
37
  &.critical {
34
- background-color: var(--glide-core-color-error-surface-container-light);
35
- border-color: var(--glide-core-color-error-stroke-secondary);
38
+ background-color: var(
39
+ --glide-core-color-advisory-surface-error-container-light
40
+ );
41
+ border-color: var(--glide-core-color-advisory-stroke-error-secondary);
36
42
  }
37
43
 
38
44
  &.added {
@@ -40,15 +46,6 @@ import{css}from"lit";export default[css`
40
46
  animation: fade-in var(--private-animation-duration) ease-in-out;
41
47
  }
42
48
  }
43
-
44
- &.removed {
45
- @media (prefers-reduced-motion: no-preference) {
46
- animation-duration: var(--private-animation-duration);
47
- animation-fill-mode: forwards;
48
- animation-name: fade-out;
49
- animation-timing-function: ease-in-out;
50
- }
51
- }
52
49
  }
53
50
 
54
51
  @keyframes fade-in {
@@ -61,34 +58,24 @@ import{css}from"lit";export default[css`
61
58
  }
62
59
  }
63
60
 
64
- @keyframes fade-out {
65
- 0% {
66
- opacity: 1;
67
- }
68
-
69
- 100% {
70
- opacity: 0;
71
- }
72
- }
73
-
74
61
  .icon-container {
75
62
  block-size: 1rem;
76
63
  inline-size: 1rem;
77
64
 
78
65
  &.informational {
79
- color: var(--glide-core-color-info-icon-default);
66
+ color: var(--glide-core-color-advisory-icon-info);
80
67
  }
81
68
 
82
69
  &.medium {
83
- color: var(--glide-core-color-attention-icon-default);
70
+ color: var(--glide-core-color-advisory-icon-attention);
84
71
  }
85
72
 
86
73
  &.high {
87
- color: var(--glide-core-color-warning-icon-default);
74
+ color: var(--glide-core-color-advisory-icon-warning);
88
75
  }
89
76
 
90
77
  &.critical {
91
- color: var(--glide-core-color-error-icon-default);
78
+ color: var(--glide-core-color-advisory-icon-error);
92
79
  }
93
80
  }
94
81
 
@@ -97,11 +84,4 @@ import{css}from"lit";export default[css`
97
84
  flex-grow: 1;
98
85
  overflow-wrap: anywhere;
99
86
  }
100
-
101
- .removal-button {
102
- --private-icon-color: var(--glide-core-color-interactive-icon-default);
103
-
104
- align-self: flex-start;
105
- transition: color 200ms ease-in-out;
106
- }
107
87
  `];
@@ -56,7 +56,7 @@ import{css}from"lit";import visuallyHidden from"./styles/visually-hidden.js";exp
56
56
  }
57
57
 
58
58
  &.error {
59
- border-color: var(--glide-core-color-error-stroke-primary);
59
+ border-color: var(--glide-core-color-advisory-stroke-error-primary);
60
60
  }
61
61
 
62
62
  /*
@@ -128,7 +128,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
128
128
  }
129
129
 
130
130
  .required-symbol {
131
- color: var(--glide-core-color-error-stroke-primary);
131
+ color: var(--glide-core-color-advisory-stroke-error-primary);
132
132
  }
133
133
 
134
134
  .control-and-summary {
@@ -160,7 +160,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
160
160
  font-weight: var(--glide-core-typography-weight-regular);
161
161
 
162
162
  &.error {
163
- color: var(--glide-core-color-error-text-status);
163
+ color: var(--glide-core-color-advisory-text-error);
164
164
  }
165
165
  }
166
166
 
@@ -177,7 +177,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
177
177
  }
178
178
 
179
179
  &.error {
180
- color: var(--glide-core-color-error-text-status);
180
+ color: var(--glide-core-color-advisory-text-error);
181
181
  }
182
182
  }
183
183
  `];
@@ -8,6 +8,10 @@ declare class AssertSlot extends Directive {
8
8
  ]): symbol;
9
9
  constructor(partInfo: PartInfo);
10
10
  }
11
+ /**
12
+ * @param {(Element | Text)[] | null } nodes - An array of node constructors allowed in the slot or `null` is any constructor is allowed
13
+ * @param {boolean} [isOptional] - `false` by default. Set o `true` if the slot is optional
14
+ */
11
15
  declare const _default: (slotted?: ({
12
16
  new (): Element;
13
17
  prototype: Element;
@@ -20,6 +20,7 @@ export interface Translation extends DefaultTranslation {
20
20
  success: string;
21
21
  error: string;
22
22
  informational: string;
23
+ loading: string;
23
24
  announcedCharacterCount: (current: number, maximum: number) => string;
24
25
  displayedCharacterCount: (current: number, maximum: number) => string;
25
26
  clearEntry: (label: string) => string;
@@ -27,5 +28,4 @@ export interface Translation extends DefaultTranslation {
27
28
  editTag: (name: string) => string;
28
29
  removeTag: (name: string) => string;
29
30
  itemCount: (count: string) => string;
30
- closeInlineAlert: (variant: string) => string;
31
31
  }
package/dist/link.d.ts CHANGED
@@ -5,10 +5,10 @@ declare global {
5
5
  }
6
6
  }
7
7
  /**
8
- * @attr {string} href
9
8
  * @attr {string} label
10
9
  * @attr {boolean} [disabled=false]
11
10
  * @attr {string} [download]
11
+ * @attr {string} [href]
12
12
  * @attr {'_blank'|'_parent'|'_self'|'_top'} [target]
13
13
  *
14
14
  * @readonly
@@ -20,9 +20,9 @@ export default class GlideCoreLink extends LitElement {
20
20
  static shadowRootOptions: ShadowRootInit;
21
21
  static styles: import("lit").CSSResult[];
22
22
  label?: string;
23
- href?: string;
24
23
  disabled: boolean;
25
24
  download?: string;
25
+ href?: string;
26
26
  target?: '_blank' | '_parent' | '_self' | '_top';
27
27
  readonly version: string;
28
28
  click(): void;
package/dist/link.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,l=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,r);else for(var d=e.length-1;d>=0;d--)(i=e[d])&&(l=(s<3?i(l):s>3?i(t,o,l):i(t,o))||l);return s>3&&l&&Object.defineProperty(t,o,l),l};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{createRef,ref}from"lit/directives/ref.js";import packageJson from"../package.json"with{type:"json"};import styles from"./link.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreLink=class GlideCoreLink extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.version=packageJson.version,this.#e=createRef()}static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}click(){this.#e.value?.click()}render(){return html`<a aria-disabled="${this.disabled}" class="${classMap({component:!0,disabled:this.disabled})}" data-test="component" download="${ifDefined(this.download)}" href="${ifDefined(this.href)}" target="${ifDefined(this.target)}" @click="${this.#t}" ${ref(this.#e)}>${this.label}</a>`}#e;#t(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}};__decorate([property({reflect:!0}),required],GlideCoreLink.prototype,"label",void 0),__decorate([property({reflect:!0}),required],GlideCoreLink.prototype,"href",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreLink.prototype,"disabled",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"download",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"target",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"version",void 0),GlideCoreLink=__decorate([customElement("glide-core-link"),final],GlideCoreLink);export default GlideCoreLink;
1
+ var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,l=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,r);else for(var d=e.length-1;d>=0;d--)(i=e[d])&&(l=(s<3?i(l):s>3?i(t,o,l):i(t,o))||l);return s>3&&l&&Object.defineProperty(t,o,l),l};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{createRef,ref}from"lit/directives/ref.js";import packageJson from"../package.json"with{type:"json"};import styles from"./link.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreLink=class GlideCoreLink extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.version=packageJson.version,this.#e=createRef()}static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}click(){this.#e.value?.click()}render(){return html`<a aria-disabled="${this.disabled}" class="${classMap({component:!0,disabled:this.disabled})}" data-test="component" download="${ifDefined(this.download)}" href="${ifDefined(this.href)}" target="${ifDefined(this.target)}" @click="${this.#t}" ${ref(this.#e)}>${this.label}</a>`}#e;#t(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}};__decorate([property({reflect:!0}),required],GlideCoreLink.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreLink.prototype,"disabled",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"download",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"href",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"target",void 0),__decorate([property({reflect:!0})],GlideCoreLink.prototype,"version",void 0),GlideCoreLink=__decorate([customElement("glide-core-link"),final],GlideCoreLink);export default GlideCoreLink;
@@ -9,6 +9,15 @@ declare global {
9
9
  * @attr {boolean} [disabled=false]
10
10
  *
11
11
  * @readonly
12
+ * @attr {string} [id]
13
+ *
14
+ * @readonly
15
+ * @attr {string} [role='menuitem']
16
+ *
17
+ * @readonly
18
+ * @attr {number} [tabindex=-1]
19
+ *
20
+ * @readonly
12
21
  * @attr {string} [version]
13
22
  *
14
23
  * @slot {Element} [icon]
@@ -23,9 +32,11 @@ export default class GlideCoreMenuButton extends LitElement {
23
32
  */
24
33
  get disabled(): boolean;
25
34
  set disabled(isDisabled: boolean);
35
+ readonly id: string;
26
36
  privateActive: boolean;
37
+ readonly role = "menuitem";
38
+ readonly tabIndex = -1;
27
39
  readonly version: string;
28
40
  click(): void;
29
- connectedCallback(): void;
30
41
  render(): import("lit").TemplateResult<1>;
31
42
  }
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,i){var r,s=arguments.length,n=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,i);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(n=(s<3?r(n):s>3?r(t,o,n):r(t,o))||n);return s>3&&n&&Object.defineProperty(t,o,n),n};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import styles from"./menu.button.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreMenuButton=class GlideCoreMenuButton extends LitElement{constructor(){super(...arguments),this.privateActive=!1,this.version=packageJson.version,this.#e=createRef(),this.#t=nanoid(),this.#o=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#o}set disabled(e){this.#o=e,e&&this.privateActive&&this.dispatchEvent(new Event("private-disabled",{bubbles:!0}))}click(){this.#e.value?.click()}connectedCallback(){super.connectedCallback(),this.id=this.#t,this.role="menuitem",this.tabIndex=-1}render(){return html`<button class="${classMap({component:!0,active:this.privateActive,disabled:this.disabled})}" ?disabled="${this.disabled}" data-test="component" type="button" ${ref(this.#e)}><slot name="icon"></slot>${this.label}</button>`}#e;#t;#o};__decorate([property({reflect:!0}),required],GlideCoreMenuButton.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenuButton.prototype,"disabled",null),__decorate([property({type:Boolean})],GlideCoreMenuButton.prototype,"privateActive",void 0),__decorate([property({reflect:!0})],GlideCoreMenuButton.prototype,"version",void 0),GlideCoreMenuButton=__decorate([customElement("glide-core-menu-button"),final],GlideCoreMenuButton);export default GlideCoreMenuButton;
1
+ var __decorate=this&&this.__decorate||function(e,t,o,r){var i,n=arguments.length,s=n<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,r);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(s=(n<3?i(s):n>3?i(t,o,s):i(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import styles from"./menu.button.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreMenuButton=class GlideCoreMenuButton extends LitElement{constructor(){super(...arguments),this.id=nanoid(),this.privateActive=!1,this.role="menuitem",this.tabIndex=-1,this.version=packageJson.version,this.#e=createRef(),this.#t=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#t}set disabled(e){this.#t=e,e&&this.privateActive&&this.dispatchEvent(new Event("private-disabled",{bubbles:!0}))}click(){this.#e.value?.click()}render(){return html`<button class="${classMap({component:!0,active:this.privateActive,disabled:this.disabled})}" ?disabled="${this.disabled}" data-test="component" type="button" ${ref(this.#e)}><slot name="icon"></slot>${this.label}</button>`}#e;#t};__decorate([property({reflect:!0}),required],GlideCoreMenuButton.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenuButton.prototype,"disabled",null),__decorate([property({reflect:!0})],GlideCoreMenuButton.prototype,"id",void 0),__decorate([property({type:Boolean})],GlideCoreMenuButton.prototype,"privateActive",void 0),__decorate([property({reflect:!0})],GlideCoreMenuButton.prototype,"role",void 0),__decorate([property({attribute:"tabindex",reflect:!0,type:Number})],GlideCoreMenuButton.prototype,"tabIndex",void 0),__decorate([property({reflect:!0})],GlideCoreMenuButton.prototype,"version",void 0),GlideCoreMenuButton=__decorate([customElement("glide-core-menu-button"),final],GlideCoreMenuButton);export default GlideCoreMenuButton;
package/dist/menu.d.ts CHANGED
@@ -5,6 +5,7 @@ declare global {
5
5
  }
6
6
  }
7
7
  /**
8
+ * @attr {boolean} [loading=false]
8
9
  * @attr {number} [offset=4]
9
10
  * @attr {boolean} [open=false]
10
11
  * @attr {'bottom'|'left'|'right'|'top'|'bottom-start'|'bottom-end'|'left-start'|'left-end'|'right-start'|'right-end'|'top-start'|'top-end'} [placement='bottom-start']
@@ -22,6 +23,11 @@ export default class GlideCoreMenu extends LitElement {
22
23
  #private;
23
24
  static shadowRootOptions: ShadowRootInit;
24
25
  static styles: import("lit").CSSResult[];
26
+ /**
27
+ * @default false
28
+ */
29
+ get loading(): boolean;
30
+ set loading(isLoading: boolean);
25
31
  /**
26
32
  * @default 4
27
33
  */
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="large",this.#l=createRef(),this.#a=e=>{e.target===this.#t.value&&e.preventDefault()},this.#r=()=>{this.#i=!0},this.#d=()=>{this.#i?this.#i=!1:this.#n?this.#n=!1:(this.open=!1,this.#p&&(this.#p.ariaActivedescendant=""))},this.#h=()=>{this.#n=!0}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get offset(){return this.#c??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-base-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#c=e}get open(){return this.#o}set open(e){const t=e!==this.#o;this.#o=e,e&&t&&!this.isTargetDisabled?(this.#u(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#m(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}get size(){return this.#s}set size(e){this.#s=e,this.#p&&(this.#p.privateSize=e)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.#d,{capture:!0})}createRenderRoot(){return this.#f=super.createRenderRoot(),this.#f}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.#d,{capture:!0})}firstUpdated(){this.#t.value&&(this.#t.value.popover="manual",this.open&&!this.isTargetDisabled&&this.#u()),this.#l.value?.addEventListener("mouseup",this.#h),this.#t.value?.addEventListener("mousedown",this.#a),this.#t.value?.addEventListener("mouseup",this.#r)}get isTargetDisabled(){const e=this.#v&&"disabled"in this.#v&&this.#v.disabled,t=this.#v&&"true"===this.#v.ariaDisabled;return Boolean(e)||Boolean(t)}render(){return html`<div class="component" @focusout="${this.#E}" ${ref(this.#e)}><slot class="target-slot" name="target" @click="${this.#g}" @keydown="${this.#S}" @slotchange="${this.#y}" ${assertSlot([Element])} ${ref(this.#l)}></slot><slot class="default-slot" @click="${this.#b}" @focusin="${this.#C}" @keydown="${this.#S}" @mouseover="${this.#D}" @private-disabled="${this.#M}" @private-slot-change="${this.#k}" @slotchange="${this.#w}" ${assertSlot([GlideCoreMenuOptions])} ${ref(this.#t)}></slot></div>`}#R;#e;#t;#i;#o;#n;#c;#f;#s;#l;get#O(){return this.#A?.find((({privateActive:e})=>e))}#a;#r;#d;#h;#T(e){this.#v&&"focus"in this.#v&&this.#v?.focus(e)}#m(){this.#R?.(),this.#p&&(this.#p.ariaActivedescendant=""),this.#v&&(this.#v.ariaExpanded="false"),this.#t.value?.hidePopover()}#E(e){const t=e.relatedTarget instanceof HTMLElement&&this.#f?.contains(e.relatedTarget),i=e.relatedTarget instanceof GlideCoreMenuOptions,o=e.relatedTarget instanceof GlideCoreMenuButton||e.relatedTarget instanceof GlideCoreMenuLink;t||i||o||(this.open=!1)}#w(){this.#p&&(this.#p.privateSize=this.size)}#b(e){e.defaultPrevented||e.target===this.#t.value||(this.open=!1)}#C(e){(e.target instanceof GlideCoreMenuButton||e.target instanceof GlideCoreMenuLink)&&this.#O&&this.#p&&!e.target.disabled&&(this.#O.privateActive=!1,e.target.privateActive=!0,this.#p.ariaActivedescendant=e.target.id)}#D(e){if((e.target instanceof GlideCoreMenuLink||e.target instanceof GlideCoreMenuButton)&&!e.target.disabled){if(this.#A)for(const t of this.#A)t.privateActive=t===e.target;this.#p&&(this.#p.ariaActivedescendant=e.target.id)}}#M(){if(this.#A&&this.#O){const e=this.#A.indexOf(this.#O);this.#O.privateActive=!1;const t=this.#A?.find(((t,i)=>!t.disabled&&i>e));if(t)return void(t.privateActive=!0);const i=this.#A.findLast(((t,i)=>!t.disabled&&i<e));i&&(i.privateActive=!0)}}#k(){const e=this.#A?.find((e=>!e.disabled));!this.#O&&e&&(e.privateActive=!0)}#S(e){const t=this.#v instanceof HTMLSpanElement||this.#v instanceof HTMLDivElement;if([" ","Enter"].includes(e.key)&&this.open)return this.#i=!0,e.preventDefault()," "===e.key&&t&&e.preventDefault(),this.#T(),void this.#O?.click();if([" ","Enter"].includes(e.key)&&!this.open&&t)return e.preventDefault(),void(this.open=!0);if(["Escape"].includes(e.key)&&this.open)return e.preventDefault(),this.open=!1,void this.#T();if(["ArrowUp","ArrowDown"].includes(e.key)&&!this.open&&this.#O&&this.#p)return e.preventDefault(),this.open=!0,void(this.#p.ariaActivedescendant=this.#O.id);if(this.open&&this.#O&&this.#A){const t=this.#A.indexOf(this.#O);if("ArrowUp"===e.key&&!e.metaKey){e.preventDefault();const i=this.#A.findLast(((e,i)=>!e.disabled&&i<t));return void(i&&this.#p&&(this.#O.privateActive=!1,this.#p.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowDown"===e.key&&!e.metaKey){e.preventDefault();const i=this.#A.find(((e,i)=>!e.disabled&&i>t));return void(i&&this.#p&&(this.#O.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.#A].reverse().findLast((e=>!e.disabled));return void(t&&this.#p&&(this.#O.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.#A].findLast((e=>!e.disabled));return void(t&&this.#p&&(this.#O.privateActive=!1,this.#p.ariaActivedescendant=t.id,t.privateActive=!0))}}}#y(){const e=new MutationObserver((()=>{this.open&&!this.isTargetDisabled?this.#u():this.#m()}));this.#v&&this.#p&&(e.observe(this.#v,{attributes:!0,attributeFilter:["aria-disabled","disabled"]}),this.#v.ariaHasPopup="true",this.#v.id=nanoid(),this.#v.setAttribute("aria-controls",this.#p.id),this.#p.ariaLabelledby=this.#v.id);(this.#v instanceof HTMLSpanElement||this.#v instanceof HTMLDivElement)&&this.#v instanceof HTMLElement&&(this.#v.tabIndex=0),this.open&&!this.isTargetDisabled?this.#u():this.#m()}#g(e){e.defaultPrevented||(this.isTargetDisabled?this.#m():this.#A&&this.#A.length>0&&(this.open=!this.open))}get#p(){const e=this.#t.value?.assignedElements().at(0);return e instanceof GlideCoreMenuOptions?e:null}get#A(){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))}#u(){this.#R?.(),this.#v&&this.#t.value&&(this.#R=autoUpdate(this.#v,this.#t.value,(()=>{(async()=>{if(this.#v&&this.#t.value){const{x:e,y:t,placement:i}=await computePosition(this.#v,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.#O?.id&&(this.#p.ariaActivedescendant=this.#O.id),this.#v&&(this.#v.ariaExpanded="true")})()})))}get#v(){return this.#l.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,useDefault:!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{LocalizeController}from"./library/localize.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=new LocalizeController(this),this.#a="large",this.#r=createRef(),this.#d=e=>{e.target===this.#t.value&&e.preventDefault()},this.#p=()=>{this.#i=!0},this.#h=()=>{this.#i?this.#i=!1:this.#s?this.#s=!1:(this.open=!1,this.#c&&(this.#c.ariaActivedescendant=""))},this.#u=()=>{this.#s=!0}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get loading(){return this.#o}set loading(e){this.#o=e;const t=this.querySelector("glide-core-menu-options");t&&this.#m&&(t.privateLoading=e,this.#m.ariaDescription=e?this.#l.term("loading"):null)}get offset(){return this.#f??Number.parseFloat(window.getComputedStyle(document.body).getPropertyValue("--glide-core-spacing-base-xxs"))*Number.parseFloat(window.getComputedStyle(document.documentElement).fontSize)}set offset(e){this.#f=e}get open(){return this.#n}set open(e){const t=e!==this.#n;this.#n=e,e&&t&&!this.isTargetDisabled?(this.#E(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#g(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}get size(){return this.#a}set size(e){this.#a=e,this.#c&&(this.#c.privateSize=e)}connectedCallback(){super.connectedCallback(),document.addEventListener("click",this.#h,{capture:!0})}createRenderRoot(){return this.#v=super.createRenderRoot(),this.#v}disconnectedCallback(){super.disconnectedCallback(),document.removeEventListener("click",this.#h,{capture:!0})}firstUpdated(){const e=this.querySelector("glide-core-menu-options");e&&this.#m&&(e.privateLoading=this.loading,this.#m.ariaDescription=this.loading?this.#l.term("loading"):null),this.#t.value&&(this.#t.value.popover="manual",this.open&&!this.isTargetDisabled&&this.#E()),this.#r.value?.addEventListener("mouseup",this.#u),this.#t.value?.addEventListener("mousedown",this.#d),this.#t.value?.addEventListener("mouseup",this.#p)}get isTargetDisabled(){const e=this.#m&&"disabled"in this.#m&&this.#m.disabled,t=this.#m&&"true"===this.#m.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.#y}" @keydown="${this.#b}" @slotchange="${this.#C}" ${assertSlot([Element])} ${ref(this.#r)}></slot><slot class="default-slot" @click="${this.#D}" @focusin="${this.#M}" @keydown="${this.#b}" @mouseover="${this.#w}" @private-disabled="${this.#k}" @private-slot-change="${this.#R}" @slotchange="${this.#O}" ${assertSlot([GlideCoreMenuOptions])} ${ref(this.#t)}></slot></div>`}#A;#e;#t;#i;#o;#n;#s;#l;#f;#v;#a;#r;get#L(){return this.#T?.find((({privateActive:e})=>e))}#d;#p;#h;#u;#G(e){this.#m&&"focus"in this.#m&&this.#m?.focus(e)}#g(){this.#A?.(),this.#c&&(this.#c.ariaActivedescendant=""),this.#m&&(this.#m.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.#c&&(this.#c.privateSize=this.size)}#D(e){e.defaultPrevented||e.target===this.#t.value||(this.open=!1)}#M(e){(e.target instanceof GlideCoreMenuButton||e.target instanceof GlideCoreMenuLink)&&this.#L&&this.#c&&!e.target.disabled&&(this.#L.privateActive=!1,e.target.privateActive=!0,this.#c.ariaActivedescendant=e.target.id)}#w(e){if((e.target instanceof GlideCoreMenuLink||e.target instanceof GlideCoreMenuButton)&&!e.target.disabled){if(this.#T)for(const t of this.#T)t.privateActive=t===e.target;this.#c&&(this.#c.ariaActivedescendant=e.target.id)}}#k(){if(this.#T&&this.#L){const e=this.#T.indexOf(this.#L);this.#L.privateActive=!1;const t=this.#T?.find(((t,i)=>!t.disabled&&i>e));if(t)return void(t.privateActive=!0);const i=this.#T.findLast(((t,i)=>!t.disabled&&i<e));i&&(i.privateActive=!0)}}#R(){const e=this.#T?.find((e=>!e.disabled));!this.#L&&e&&(e.privateActive=!0)}#b(e){const t=this.#m instanceof HTMLSpanElement||this.#m instanceof HTMLDivElement;if([" ","Enter"].includes(e.key)&&this.open)return this.#i=!0,e.preventDefault()," "===e.key&&t&&e.preventDefault(),this.#G(),void this.#L?.click();if([" ","Enter"].includes(e.key)&&!this.open&&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.#L&&this.#c)return e.preventDefault(),this.open=!0,void(this.#c.ariaActivedescendant=this.#L.id);if(this.open&&this.#L&&this.#T){const t=this.#T.indexOf(this.#L);if("ArrowUp"===e.key&&!e.metaKey){e.preventDefault();const i=this.#T.findLast(((e,i)=>!e.disabled&&i<t));return void(i&&this.#c&&(this.#L.privateActive=!1,this.#c.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowDown"===e.key&&!e.metaKey){e.preventDefault();const i=this.#T.find(((e,i)=>!e.disabled&&i>t));return void(i&&this.#c&&(this.#L.privateActive=!1,this.#c.ariaActivedescendant=i.id,i.privateActive=!0))}if("ArrowUp"===e.key&&e.metaKey||"Home"===e.key||"PageUp"===e.key){e.preventDefault();const t=[...this.#T].reverse().findLast((e=>!e.disabled));return void(t&&this.#c&&(this.#L.privateActive=!1,this.#c.ariaActivedescendant=t.id,t.privateActive=!0))}if("ArrowDown"===e.key&&e.metaKey||"End"===e.key||"PageDown"===e.key){e.preventDefault();const t=[...this.#T].findLast((e=>!e.disabled));return void(t&&this.#c&&(this.#L.privateActive=!1,this.#c.ariaActivedescendant=t.id,t.privateActive=!0))}}}#C(){const e=new MutationObserver((()=>{this.open&&!this.isTargetDisabled?this.#E():this.#g()}));this.#m&&this.#c&&(e.observe(this.#m,{attributes:!0,attributeFilter:["aria-disabled","disabled"]}),this.#m.ariaHasPopup="true",this.#m.id=nanoid(),this.#m.setAttribute("aria-controls",this.#c.id),this.#c.ariaLabelledby=this.#m.id);(this.#m instanceof HTMLSpanElement||this.#m instanceof HTMLDivElement)&&this.#m instanceof HTMLElement&&(this.#m.tabIndex=0),this.open&&!this.isTargetDisabled?this.#E():this.#g()}#y(e){e.defaultPrevented||(this.isTargetDisabled?this.#g():this.#T&&this.#T.length>0&&(this.open=!this.open))}get#c(){const e=this.#t.value?.assignedElements().at(0);return e instanceof GlideCoreMenuOptions?e:null}get#T(){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))}#E(){this.#A?.(),this.#m&&this.#t.value&&(this.#A=autoUpdate(this.#m,this.#t.value,(()=>{(async()=>{if(this.#m&&this.#t.value){const{x:e,y:t,placement:i}=await computePosition(this.#m,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.#c&&this.#L?.id&&(this.#c.ariaActivedescendant=this.#L.id),this.#m&&(this.#m.ariaExpanded="true")})()})))}get#m(){return this.#r.value?.assignedElements().at(0)}};__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenu.prototype,"loading",null),__decorate([property({reflect:!0,type:Number})],GlideCoreMenu.prototype,"offset",null),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenu.prototype,"open",null),__decorate([property({reflect:!0,useDefault:!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;
@@ -7,7 +7,16 @@ declare global {
7
7
  /**
8
8
  * @attr {string} label
9
9
  * @attr {boolean} [disabled=false]
10
- * @attr {string} [url]
10
+ * @attr {string} [href]
11
+ *
12
+ * @readonly
13
+ * @attr {string} [id]
14
+ *
15
+ * @readonly
16
+ * @attr {string} [role='menuitem']
17
+ *
18
+ * @readonly
19
+ * @attr {number} [tabindex=-1]
11
20
  *
12
21
  * @readonly
13
22
  * @attr {string} [version]
@@ -24,10 +33,12 @@ export default class GlideCoreMenuLink extends LitElement {
24
33
  */
25
34
  get disabled(): boolean;
26
35
  set disabled(isDisabled: boolean);
27
- url?: string;
36
+ href?: string;
37
+ readonly id: string;
28
38
  privateActive: boolean;
39
+ readonly role = "menuitem";
40
+ readonly tabIndex = -1;
29
41
  readonly version: string;
30
42
  click(): void;
31
- connectedCallback(): void;
32
43
  render(): import("lit").TemplateResult<1>;
33
44
  }
package/dist/menu.link.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,i,o){var r,s=arguments.length,n=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,i,o);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(n=(s<3?r(n):s>3?r(t,i,n):r(t,i))||n);return s>3&&n&&Object.defineProperty(t,i,n),n};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import styles from"./menu.link.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreMenuLink=class GlideCoreMenuLink extends LitElement{constructor(){super(...arguments),this.privateActive=!1,this.version=packageJson.version,this.#e=createRef(),this.#t=nanoid(),this.#i=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#i}set disabled(e){this.#i=e,e&&this.privateActive&&this.dispatchEvent(new Event("private-disabled",{bubbles:!0}))}click(){this.disabled||this.#e.value?.click()}connectedCallback(){super.connectedCallback(),this.id=this.#t,this.role="menuitem",this.tabIndex=-1}render(){return html`<a aria-disabled="${this.disabled}" class="${classMap({component:!0,active:this.privateActive,disabled:this.disabled})}" data-test="component" href="${ifDefined(this.url)}" @click="${this.#o}" ${ref(this.#e)}><slot name="icon"></slot>${this.label}</a>`}#e;#t;#i;#o(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}};__decorate([property({reflect:!0}),required],GlideCoreMenuLink.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenuLink.prototype,"disabled",null),__decorate([property({reflect:!0})],GlideCoreMenuLink.prototype,"url",void 0),__decorate([property({type:Boolean})],GlideCoreMenuLink.prototype,"privateActive",void 0),__decorate([property({reflect:!0})],GlideCoreMenuLink.prototype,"version",void 0),GlideCoreMenuLink=__decorate([customElement("glide-core-menu-link"),final],GlideCoreMenuLink);export default GlideCoreMenuLink;
1
+ var __decorate=this&&this.__decorate||function(e,t,i,o){var r,n=arguments.length,s=n<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,o);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(s=(n<3?r(s):n>3?r(t,i,s):r(t,i))||s);return n>3&&s&&Object.defineProperty(t,i,s),s};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import styles from"./menu.link.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreMenuLink=class GlideCoreMenuLink extends LitElement{constructor(){super(...arguments),this.id=nanoid(),this.privateActive=!1,this.role="menuitem",this.tabIndex=-1,this.version=packageJson.version,this.#e=createRef(),this.#t=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#t}set disabled(e){this.#t=e,e&&this.privateActive&&this.dispatchEvent(new Event("private-disabled",{bubbles:!0}))}click(){this.disabled||this.#e.value?.click()}render(){return html`<a aria-disabled="${this.disabled}" class="${classMap({component:!0,active:this.privateActive,disabled:this.disabled})}" data-test="component" href="${ifDefined(this.href)}" @click="${this.#i}" ${ref(this.#e)}><slot name="icon"></slot>${this.label}</a>`}#e;#t;#i(e){this.disabled&&(e.preventDefault(),e.stopPropagation())}};__decorate([property({reflect:!0}),required],GlideCoreMenuLink.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreMenuLink.prototype,"disabled",null),__decorate([property({reflect:!0})],GlideCoreMenuLink.prototype,"href",void 0),__decorate([property({reflect:!0})],GlideCoreMenuLink.prototype,"id",void 0),__decorate([property({type:Boolean})],GlideCoreMenuLink.prototype,"privateActive",void 0),__decorate([property({reflect:!0})],GlideCoreMenuLink.prototype,"role",void 0),__decorate([property({attribute:"tabindex",reflect:!0,type:Number})],GlideCoreMenuLink.prototype,"tabIndex",void 0),__decorate([property({reflect:!0})],GlideCoreMenuLink.prototype,"version",void 0),GlideCoreMenuLink=__decorate([customElement("glide-core-menu-link"),final],GlideCoreMenuLink);export default GlideCoreMenuLink;
@@ -9,6 +9,15 @@ declare global {
9
9
  * @attr {string} [aria-labelledby='']
10
10
  *
11
11
  * @readonly
12
+ * @attr {string} [id]
13
+ *
14
+ * @readonly
15
+ * @attr {string} [role='menu']
16
+ *
17
+ * @readonly
18
+ * @attr {number} [tabindex=-1]
19
+ *
20
+ * @readonly
12
21
  * @attr {string} [version]
13
22
  *
14
23
  * @slot {GlideCoreMenuButton | GlideCoreMenuLink}
@@ -19,8 +28,11 @@ export default class GlideCoreMenuOptions extends LitElement {
19
28
  static styles: import("lit").CSSResult[];
20
29
  ariaActivedescendant: string;
21
30
  ariaLabelledby: string;
31
+ readonly id: string;
32
+ privateLoading: boolean;
22
33
  privateSize: 'large' | 'small';
34
+ readonly role = "menu";
35
+ readonly tabIndex = -1;
23
36
  readonly version: string;
24
- connectedCallback(): void;
25
37
  render(): import("lit").TemplateResult<1>;
26
38
  }
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,i){var r,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(s=(n<3?r(s):n>3?r(t,o,s):r(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import packageJson from"../package.json"with{type:"json"};import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import styles from"./menu.options.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreMenuOptions=class GlideCoreMenuOptions extends LitElement{constructor(){super(...arguments),this.ariaActivedescendant="",this.ariaLabelledby="",this.privateSize="large",this.version=packageJson.version,this.#e=nanoid()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}connectedCallback(){super.connectedCallback(),this.id=this.#e,this.role="menu",this.tabIndex=-1}render(){return html`<div class="${classMap({component:!0,large:"large"===this.privateSize,small:"small"===this.privateSize})}" role="none"><slot ${assertSlot([GlideCoreMenuButton,GlideCoreMenuLink,Text])} @slotchange="${this.#t}"></slot></div>`}#e;#t(){this.dispatchEvent(new Event("private-slot-change",{bubbles:!0}))}};__decorate([property({attribute:"aria-activedescendant",reflect:!0,useDefault:!0})],GlideCoreMenuOptions.prototype,"ariaActivedescendant",void 0),__decorate([property({attribute:"aria-labelledby",reflect:!0,useDefault:!0})],GlideCoreMenuOptions.prototype,"ariaLabelledby",void 0),__decorate([property()],GlideCoreMenuOptions.prototype,"privateSize",void 0),__decorate([property({reflect:!0})],GlideCoreMenuOptions.prototype,"version",void 0),GlideCoreMenuOptions=__decorate([customElement("glide-core-menu-options"),final],GlideCoreMenuOptions);export default GlideCoreMenuOptions;
1
+ var __decorate=this&&this.__decorate||function(e,t,o,i){var r,a=arguments.length,n=a<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,i);else for(var s=e.length-1;s>=0;s--)(r=e[s])&&(n=(a<3?r(n):a>3?r(t,o,n):r(t,o))||n);return a>3&&n&&Object.defineProperty(t,o,n),n};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{nanoid}from"nanoid";import{map}from"lit/directives/map.js";import{when}from"lit/directives/when.js";import{range}from"lit/directives/range.js";import packageJson from"../package.json"with{type:"json"};import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import styles from"./menu.options.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";let GlideCoreMenuOptions=class GlideCoreMenuOptions extends LitElement{constructor(){super(...arguments),this.ariaActivedescendant="",this.ariaLabelledby="",this.id=nanoid(),this.privateLoading=!1,this.privateSize="large",this.role="menu",this.tabIndex=-1,this.version=packageJson.version}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}render(){return html`<div class="${classMap({component:!0,large:"large"===this.privateSize,small:"small"===this.privateSize})}" role="none"><slot class="${classMap({"default-slot":!0,loading:this.privateLoading})}" ${assertSlot([GlideCoreMenuButton,GlideCoreMenuLink,Text])} @slotchange="${this.#e}"></slot>${when(this.privateLoading,(()=>html`<div class="loading-feedback" data-test="loading-feedback">${map(range(7),(()=>html`<div></div>`))}</div>`))}</div>`}#e(){this.dispatchEvent(new Event("private-slot-change",{bubbles:!0}))}};__decorate([property({attribute:"aria-activedescendant",reflect:!0,useDefault:!0})],GlideCoreMenuOptions.prototype,"ariaActivedescendant",void 0),__decorate([property({attribute:"aria-labelledby",reflect:!0,useDefault:!0})],GlideCoreMenuOptions.prototype,"ariaLabelledby",void 0),__decorate([property({reflect:!0})],GlideCoreMenuOptions.prototype,"id",void 0),__decorate([property({type:Boolean})],GlideCoreMenuOptions.prototype,"privateLoading",void 0),__decorate([property()],GlideCoreMenuOptions.prototype,"privateSize",void 0),__decorate([property({reflect:!0})],GlideCoreMenuOptions.prototype,"role",void 0),__decorate([property({attribute:"tabindex",reflect:!0,type:Number})],GlideCoreMenuOptions.prototype,"tabIndex",void 0),__decorate([property({reflect:!0})],GlideCoreMenuOptions.prototype,"version",void 0),GlideCoreMenuOptions=__decorate([customElement("glide-core-menu-options"),final],GlideCoreMenuOptions);export default GlideCoreMenuOptions;
@@ -1,4 +1,6 @@
1
- import{css}from"lit";export default[css`
1
+ import{css}from"lit";import skeleton from"./styles/skeleton.js";export default[css`
2
+ ${skeleton(".loading-feedback")}
3
+ `,css`
2
4
  :host {
3
5
  display: inline-block;
4
6
  inline-size: 100%;
@@ -26,4 +28,10 @@ import{css}from"lit";export default[css`
26
28
  font-weight: var(--glide-core-typography-weight-regular);
27
29
  }
28
30
  }
31
+
32
+ .default-slot {
33
+ &.loading {
34
+ display: none;
35
+ }
36
+ }
29
37
  `];
package/dist/modal.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,i){var l,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var r=e.length-1;r>=0;r--)(l=e[r])&&(s=(n<3?l(s):n>3?l(t,o,s):l(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import GlideCoreModalIconButton from"./modal.icon-button.js";import GlideCoreButton from"./button.js";import GlideCoreTooltip from"./tooltip.js";import styles from"./modal.styles.js";import xIcon from"./icons/x.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import severityInformationalIcon from"./icons/severity-informational.js";import severityMediumIcon from"./icons/severity-medium.js";import severityCriticalIcon from"./icons/severity-critical.js";import final from"./library/final.js";import required from"./library/required.js";const globalStylesheet=new CSSStyleSheet;globalStylesheet.insertRule("\n .private-glide-core-modal-lock-scroll {\n scrollbar-gutter: stable !important;\n overflow: hidden !important;\n }\n");let GlideCoreModal=class GlideCoreModal extends LitElement{constructor(){super(...arguments),this.backButton=!1,this.size="medium",this.version=packageJson.version,this.hasPrimarySlotContent=!1,this.hasSecondarySlotContent=!1,this.hasTertiarySlotContent=!1,this.#e=createRef(),this.#t=createRef(),this.#o=createRef(),this.#i=createRef(),this.#l=createRef(),this.#n=!1,this.#s=!1,this.#r=new LocalizeController(this),this.#a=createRef(),this.#c=createRef(),this.#d=createRef(),this.#m=()=>{this.#n=!0},this.#h=()=>{this.#n=!0},this.#p=()=>{const e=this.open;setTimeout((()=>{this.#n?setTimeout((()=>{this.#n=!1})):e===this.open&&(this.open=!1)}))}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get open(){return this.#s}set open(e){const t=e!==this.#s;this.#s=e,e&&t?(this.#y(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#u(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}connectedCallback(){super.connectedCallback();document.adoptedStyleSheets.includes(globalStylesheet)||document.adoptedStyleSheets.push(globalStylesheet),document.addEventListener("click",this.#p,{capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.documentElement.classList.remove("private-glide-core-modal-lock-scroll"),document.adoptedStyleSheets=document.adoptedStyleSheets.filter((e=>e!==globalStylesheet)),document.removeEventListener("click",this.#p,{capture:!0})}firstUpdated(){this.open&&this.#y(),this.#i.value?.addEventListener("click",this.#m,{capture:!0}),this.#i.value?.addEventListener("mouseup",this.#h)}render(){return html`<dialog class="component" data-test="component" @keydown="${this.#f}" ${ref(this.#o)}><div class="${classMap({container:!0,small:"small"===this.size,medium:"medium"===this.size,large:"large"===this.size,xlarge:"xlarge"===this.size})}" ${ref(this.#i)}><header class="header"><h2 class="label" data-test="heading" id="heading">${when(this.severity,(()=>html`<span aria-label="${this.#r.term("informational"===this.severity?"severityInformational":"critical"===this.severity?"severityCritical":"severityMedium")} - " class="${classMap({severity:!0,critical:"critical"===this.severity,informational:"informational"===this.severity,medium:"medium"===this.severity})}" data-test="severity">${this.severity&&icons[this.severity]}</span>`))} ${when(this.backButton&&!this.severity,(()=>html`<glide-core-modal-icon-button class="back-button" data-test="back-button" label="${this.#r.term("dismiss")}" @click="${this.#C}" ${ref(this.#e)}>${icons.back}</glide-core-modal-icon-button>`))} ${this.label}</h2><div class="header-actions" role="toolbar"><slot name="header-actions" ${assertSlot([GlideCoreModalIconButton],!0)} ${ref(this.#l)}></slot><glide-core-modal-icon-button class="close-button" data-test="close-button" label="${this.#r.term("close")}" @click="${this.#C}" ${ref(this.#t)}>${xIcon}</glide-core-modal-icon-button></div></header><article aria-labelledby="heading" class="body" role="region"><slot ${assertSlot()}></slot></article><footer><menu aria-hidden="${!this.hasTertiarySlotContent&&!this.hasSecondarySlotContent&&!this.hasPrimarySlotContent}" class="actions"><li aria-hidden="${!this.hasTertiarySlotContent}" class="action"><slot class="tertiary-slot" name="tertiary" @slotchange="${this.#v}" ${assertSlot([GlideCoreButton,GlideCoreTooltip],!0)} ${ref(this.#d)}></slot></li><li aria-hidden="${!this.hasSecondarySlotContent}" class="action"><slot name="secondary" @slotchange="${this.#S}" ${assertSlot([GlideCoreButton],!0)} ${ref(this.#c)}></slot></li><li aria-hidden="${!this.hasPrimarySlotContent}" class="action"><slot name="primary" @slotchange="${this.#b}" ${assertSlot([GlideCoreButton],!0)} ${ref(this.#a)}></slot></li></menu></footer></div></dialog>`}#e;#t;#o;#i;#l;#n;#s;#r;#a;#c;#d;#m;#h;#p;#u(){document.documentElement.classList.remove("private-glide-core-modal-lock-scroll"),this.#o.value?.close()}#C(){this.open=!1}#f(e){"Escape"===e.key&&(this.open=!1,e.preventDefault())}#b(){this.hasPrimarySlotContent=Boolean(this.#a.value?.assignedElements().length)}#S(){this.hasSecondarySlotContent=Boolean(this.#c.value?.assignedElements().length)}#v(){this.hasTertiarySlotContent=Boolean(this.#d.value?.assignedElements().length)}#y(){document.documentElement.classList.add("private-glide-core-modal-lock-scroll"),this.#o.value?.showModal()}};__decorate([property({reflect:!0}),required],GlideCoreModal.prototype,"label",void 0),__decorate([property({attribute:"back-button",type:Boolean,reflect:!0})],GlideCoreModal.prototype,"backButton",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreModal.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreModal.prototype,"severity",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreModal.prototype,"size",void 0),__decorate([property({reflect:!0})],GlideCoreModal.prototype,"version",void 0),__decorate([state()],GlideCoreModal.prototype,"hasPrimarySlotContent",void 0),__decorate([state()],GlideCoreModal.prototype,"hasSecondarySlotContent",void 0),__decorate([state()],GlideCoreModal.prototype,"hasTertiarySlotContent",void 0),GlideCoreModal=__decorate([customElement("glide-core-modal"),final],GlideCoreModal);export default GlideCoreModal;const icons={back:html`<svg style="${styleMap({height:"1.25rem",width:"1.25rem"})}" viewBox="0 0 24 24" fill="none"><path d="M12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20V18ZM20 14.5C20 16.433 18.433 18 16.5 18V20C19.5376 20 22 17.5376 22 14.5H20ZM16.5 11C18.433 11 20 12.567 20 14.5H22C22 11.4624 19.5376 9 16.5 9V11ZM16.5 18H12V20H16.5V18ZM16.5 9H3V11H16.5V9Z" fill="currentColor"/><path d="M7 6L3 10L7 14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`,critical:severityCriticalIcon,informational:severityInformationalIcon,medium:severityMediumIcon};
1
+ var __decorate=this&&this.__decorate||function(e,t,o,i){var l,n=arguments.length,s=n<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,o,i);else for(var r=e.length-1;r>=0;r--)(l=e[r])&&(s=(n<3?l(s):n>3?l(t,o,s):l(t,o))||s);return n>3&&s&&Object.defineProperty(t,o,s),s};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import{LocalizeController}from"./library/localize.js";import GlideCoreModalIconButton from"./modal.icon-button.js";import GlideCoreButton from"./button.js";import GlideCoreTooltip from"./tooltip.js";import styles from"./modal.styles.js";import xIcon from"./icons/x.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import severityInformationalIcon from"./icons/severity-informational.js";import severityMediumIcon from"./icons/severity-medium.js";import severityCriticalIcon from"./icons/severity-critical.js";import final from"./library/final.js";import required from"./library/required.js";const globalStylesheet=new CSSStyleSheet;globalStylesheet.insertRule("\n .private-glide-core-modal-lock-scroll {\n scrollbar-gutter: stable !important;\n overflow: hidden !important;\n }\n");let GlideCoreModal=class GlideCoreModal extends LitElement{constructor(){super(...arguments),this.backButton=!1,this.size="medium",this.version=packageJson.version,this.hasPrimarySlotContent=!1,this.hasSecondarySlotContent=!1,this.hasTertiarySlotContent=!1,this.#e=createRef(),this.#t=createRef(),this.#o=createRef(),this.#i=createRef(),this.#l=createRef(),this.#n=!1,this.#s=!1,this.#r=new LocalizeController(this),this.#a=createRef(),this.#c=createRef(),this.#d=createRef(),this.#m=()=>{this.#n=!0},this.#h=()=>{this.#n=!0},this.#p=()=>{const e=this.open;setTimeout((()=>{this.#n?setTimeout((()=>{this.#n=!1})):e===this.open&&(this.open=!1)}))}}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get open(){return this.#s}set open(e){const t=e!==this.#s;this.#s=e,e&&t?(this.#y(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))):t&&(this.#u(),this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}connectedCallback(){super.connectedCallback();document.adoptedStyleSheets.includes(globalStylesheet)||document.adoptedStyleSheets.push(globalStylesheet),document.addEventListener("click",this.#p,{capture:!0})}disconnectedCallback(){super.disconnectedCallback(),document.documentElement.classList.remove("private-glide-core-modal-lock-scroll"),document.adoptedStyleSheets=document.adoptedStyleSheets.filter((e=>e!==globalStylesheet)),document.removeEventListener("click",this.#p,{capture:!0})}firstUpdated(){this.open&&this.#y(),this.#i.value?.addEventListener("click",this.#m,{capture:!0}),this.#i.value?.addEventListener("mouseup",this.#h)}render(){return html`<dialog class="component" data-test="component" @keydown="${this.#f}" ${ref(this.#o)}><div class="${classMap({container:!0,small:"small"===this.size,medium:"medium"===this.size,large:"large"===this.size,xlarge:"xlarge"===this.size})}" ${ref(this.#i)}><header class="header"><h2 class="label" data-test="heading" id="heading">${when(this.severity,(()=>html`<span aria-label="${this.#r.term("informational"===this.severity?"severityInformational":"critical"===this.severity?"severityCritical":"severityMedium")} - " class="${classMap({severity:!0,critical:"critical"===this.severity,informational:"informational"===this.severity,medium:"medium"===this.severity})}" data-test="severity">${this.severity&&icons[this.severity]}</span>`))} ${when(this.backButton&&!this.severity,(()=>html`<glide-core-modal-icon-button class="back-button" data-test="back-button" label="${this.#r.term("close")}" @click="${this.#C}" ${ref(this.#e)}>${icons.back}</glide-core-modal-icon-button>`))} ${this.label}</h2><div class="header-actions" role="toolbar"><slot name="header-actions" ${assertSlot([GlideCoreModalIconButton],!0)} ${ref(this.#l)}></slot><glide-core-modal-icon-button class="close-button" data-test="close-button" label="${this.#r.term("close")}" @click="${this.#C}" ${ref(this.#t)}>${xIcon}</glide-core-modal-icon-button></div></header><article aria-labelledby="heading" class="body" role="region"><slot ${assertSlot()}></slot></article><footer><menu aria-hidden="${!this.hasTertiarySlotContent&&!this.hasSecondarySlotContent&&!this.hasPrimarySlotContent}" class="actions"><li aria-hidden="${!this.hasTertiarySlotContent}" class="action"><slot class="tertiary-slot" name="tertiary" @slotchange="${this.#v}" ${assertSlot([GlideCoreButton,GlideCoreTooltip],!0)} ${ref(this.#d)}></slot></li><li aria-hidden="${!this.hasSecondarySlotContent}" class="action"><slot name="secondary" @slotchange="${this.#S}" ${assertSlot([GlideCoreButton],!0)} ${ref(this.#c)}></slot></li><li aria-hidden="${!this.hasPrimarySlotContent}" class="action"><slot name="primary" @slotchange="${this.#b}" ${assertSlot([GlideCoreButton],!0)} ${ref(this.#a)}></slot></li></menu></footer></div></dialog>`}#e;#t;#o;#i;#l;#n;#s;#r;#a;#c;#d;#m;#h;#p;#u(){document.documentElement.classList.remove("private-glide-core-modal-lock-scroll"),this.#o.value?.close()}#C(){this.open=!1}#f(e){"Escape"===e.key&&(this.open=!1,e.preventDefault())}#b(){this.hasPrimarySlotContent=Boolean(this.#a.value?.assignedElements().length)}#S(){this.hasSecondarySlotContent=Boolean(this.#c.value?.assignedElements().length)}#v(){this.hasTertiarySlotContent=Boolean(this.#d.value?.assignedElements().length)}#y(){document.documentElement.classList.add("private-glide-core-modal-lock-scroll"),this.#o.value?.showModal()}};__decorate([property({reflect:!0}),required],GlideCoreModal.prototype,"label",void 0),__decorate([property({attribute:"back-button",type:Boolean,reflect:!0})],GlideCoreModal.prototype,"backButton",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreModal.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreModal.prototype,"severity",void 0),__decorate([property({reflect:!0,useDefault:!0})],GlideCoreModal.prototype,"size",void 0),__decorate([property({reflect:!0})],GlideCoreModal.prototype,"version",void 0),__decorate([state()],GlideCoreModal.prototype,"hasPrimarySlotContent",void 0),__decorate([state()],GlideCoreModal.prototype,"hasSecondarySlotContent",void 0),__decorate([state()],GlideCoreModal.prototype,"hasTertiarySlotContent",void 0),GlideCoreModal=__decorate([customElement("glide-core-modal"),final],GlideCoreModal);export default GlideCoreModal;const icons={back:html`<svg style="${styleMap({height:"1.25rem",width:"1.25rem"})}" viewBox="0 0 24 24" fill="none"><path d="M12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20V18ZM20 14.5C20 16.433 18.433 18 16.5 18V20C19.5376 20 22 17.5376 22 14.5H20ZM16.5 11C18.433 11 20 12.567 20 14.5H22C22 11.4624 19.5376 9 16.5 9V11ZM16.5 18H12V20H16.5V18ZM16.5 9H3V11H16.5V9Z" fill="currentColor"/><path d="M7 6L3 10L7 14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`,critical:severityCriticalIcon,informational:severityInformationalIcon,medium:severityMediumIcon};
@@ -129,15 +129,15 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
129
129
  display: flex;
130
130
 
131
131
  &.informational {
132
- color: var(--glide-core-color-info-icon-default);
132
+ color: var(--glide-core-color-advisory-icon-info);
133
133
  }
134
134
 
135
135
  &.medium {
136
- color: var(--glide-core-color-attention-icon-default);
136
+ color: var(--glide-core-color-advisory-icon-attention);
137
137
  }
138
138
 
139
139
  &.critical {
140
- color: var(--glide-core-color-error-icon-default);
140
+ color: var(--glide-core-color-advisory-icon-error);
141
141
  }
142
142
  }
143
143
 
@@ -8,7 +8,7 @@ declare global {
8
8
  * @attr {string} label
9
9
  * @attr {boolean} [checked=false]
10
10
  * @attr {boolean} [disabled=false]
11
- * @attr {string} [value]
11
+ * @attr {string} [value='']
12
12
  *
13
13
  * @readonly
14
14
  * @attr {string} [version]
@@ -40,7 +40,7 @@ export default class GlideCoreRadioGroupRadio extends LitElement {
40
40
  get privateRequired(): boolean;
41
41
  set privateRequired(required: boolean);
42
42
  /**
43
- * @default undefined
43
+ * @default ''
44
44
  */
45
45
  get value(): string;
46
46
  set value(value: string);
@@ -12,9 +12,9 @@ import{css}from"lit";export default[css`
12
12
  gap: 0.375rem;
13
13
 
14
14
  &.invalid {
15
- border: 1px solid var(--glide-core-color-error-stroke-primary);
15
+ border: 1px solid var(--glide-core-color-advisory-stroke-error-primary);
16
16
  border-radius: var(--glide-core-rounding-base-radius-sm);
17
- color: var(--glide-core-color-error-stroke-primary);
17
+ color: var(--glide-core-color-advisory-stroke-error-primary);
18
18
  margin-block-end: -0.0625rem;
19
19
  margin-inline-start: -0.0625rem;
20
20
  padding: var(--glide-core-spacing-base-xxs) 0.375rem;
@@ -6,8 +6,8 @@ declare global {
6
6
  }
7
7
  /**
8
8
  * @attr {string} label
9
- * @attr {string} url
10
9
  * @attr {boolean} [disabled=false]
10
+ * @attr {string} [href]
11
11
  *
12
12
  * @readonly
13
13
  * @attr {string} [version]
@@ -17,9 +17,9 @@ declare global {
17
17
  export default class GlideCoreSplitButtonPrimaryLink extends LitElement {
18
18
  static shadowRootOptions: ShadowRootInit;
19
19
  static styles: import("lit").CSSResult[];
20
- url?: string;
21
20
  label?: string;
22
21
  disabled: boolean;
22
+ href?: string;
23
23
  privateSize: 'large' | 'small';
24
24
  privateVariant: 'primary' | 'secondary';
25
25
  readonly version: string;
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(t,e,r,i){var o,a=arguments.length,l=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(t,e,r,i);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(l=(a<3?o(l):a>3?o(e,r,l):o(e,r))||l);return a>3&&l&&Object.defineProperty(e,r,l),l};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import packageJson from"../package.json"with{type:"json"};import styles from"./split-button.primary-button.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreSplitButtonPrimaryLink=class GlideCoreSplitButtonPrimaryLink extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.privateSize="large",this.privateVariant="primary",this.version=packageJson.version}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}render(){return this.disabled?html`<span aria-disabled="true" class="${classMap({component:!0,disabled:!0,[this.privateVariant]:!0,[this.privateSize]:!0})}" role="link"><slot name="icon"></slot>${this.label}</span>`:html`<a class="${classMap({component:!0,[this.privateVariant]:!0,[this.privateSize]:!0})}" data-test="component" href="${ifDefined(this.url)}"><slot name="icon"></slot>${this.label}</a>`}};__decorate([property({reflect:!0}),required],GlideCoreSplitButtonPrimaryLink.prototype,"url",void 0),__decorate([property({reflect:!0}),required],GlideCoreSplitButtonPrimaryLink.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreSplitButtonPrimaryLink.prototype,"disabled",void 0),__decorate([property()],GlideCoreSplitButtonPrimaryLink.prototype,"privateSize",void 0),__decorate([property()],GlideCoreSplitButtonPrimaryLink.prototype,"privateVariant",void 0),__decorate([property({reflect:!0})],GlideCoreSplitButtonPrimaryLink.prototype,"version",void 0),GlideCoreSplitButtonPrimaryLink=__decorate([customElement("glide-core-split-button-primary-link"),final],GlideCoreSplitButtonPrimaryLink);export default GlideCoreSplitButtonPrimaryLink;
1
+ var __decorate=this&&this.__decorate||function(t,e,r,i){var o,a=arguments.length,l=a<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(t,e,r,i);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(l=(a<3?o(l):a>3?o(e,r,l):o(e,r))||l);return a>3&&l&&Object.defineProperty(e,r,l),l};import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{customElement,property}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import packageJson from"../package.json"with{type:"json"};import styles from"./split-button.primary-button.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreSplitButtonPrimaryLink=class GlideCoreSplitButtonPrimaryLink extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.privateSize="large",this.privateVariant="primary",this.version=packageJson.version}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}render(){return this.disabled?html`<span aria-disabled="true" class="${classMap({component:!0,disabled:!0,[this.privateVariant]:!0,[this.privateSize]:!0})}" role="link"><slot name="icon"></slot>${this.label}</span>`:html`<a class="${classMap({component:!0,[this.privateVariant]:!0,[this.privateSize]:!0})}" data-test="component" href="${ifDefined(this.href)}"><slot name="icon"></slot>${this.label}</a>`}};__decorate([property({reflect:!0}),required],GlideCoreSplitButtonPrimaryLink.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreSplitButtonPrimaryLink.prototype,"disabled",void 0),__decorate([property({reflect:!0})],GlideCoreSplitButtonPrimaryLink.prototype,"href",void 0),__decorate([property()],GlideCoreSplitButtonPrimaryLink.prototype,"privateSize",void 0),__decorate([property()],GlideCoreSplitButtonPrimaryLink.prototype,"privateVariant",void 0),__decorate([property({reflect:!0})],GlideCoreSplitButtonPrimaryLink.prototype,"version",void 0),GlideCoreSplitButtonPrimaryLink=__decorate([customElement("glide-core-split-button-primary-link"),final],GlideCoreSplitButtonPrimaryLink);export default GlideCoreSplitButtonPrimaryLink;
@@ -0,0 +1,2 @@
1
+ declare const _default: (selector: string) => import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,45 @@
1
+ import{css,unsafeCSS}from"lit";export default e=>css`
2
+ @keyframes shimmer {
3
+ 0% {
4
+ background-position: 100% 50%;
5
+ }
6
+
7
+ 100% {
8
+ background-position: 0 50%;
9
+ }
10
+ }
11
+
12
+ /* stylelint-disable selector-type-case, selector-type-no-unknown */
13
+ ${unsafeCSS(e)} {
14
+ display: flex;
15
+ flex-direction: column;
16
+ padding: 0.375rem var(--glide-core-spacing-base-sm);
17
+ row-gap: var(--glide-core-spacing-base-xs);
18
+
19
+ & > * {
20
+ animation-duration: 1.4s;
21
+ animation-fill-mode: forwards;
22
+ animation-iteration-count: infinite;
23
+ animation-name: shimmer;
24
+ animation-timing-function: ease;
25
+ background-image: linear-gradient(
26
+ 90deg,
27
+ var(
28
+ --glide-core-private-color-skeleton-loader-surface-linear-gradient-sides
29
+ )
30
+ 25%,
31
+ var(
32
+ --glide-core-private-color-skeleton-loader-surface-linear-gradient-middle
33
+ )
34
+ 37%,
35
+ var(
36
+ --glide-core-private-color-skeleton-loader-surface-linear-gradient-sides
37
+ )
38
+ 63%
39
+ );
40
+ background-size: 400% 100%;
41
+ block-size: 1rem;
42
+ border-radius: var(--glide-core-rounding-base-radius-xs);
43
+ }
44
+ }
45
+ `;