@crowdstrike/glide-core 0.23.0 → 0.24.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 (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
@@ -2,25 +2,26 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
2
2
  ${focusOutline(".summary:focus-visible")}
3
3
  `,css`
4
4
  .component {
5
- border: 1px solid var(--glide-core-border-base-lighter);
6
- border-radius: 0.625rem;
7
- box-shadow: var(--glide-core-shadow-md);
8
- font-family: var(--glide-core-body-xs-font-family);
5
+ border: 1px solid
6
+ var(--glide-core-color-static-surface-container-secondary);
7
+ border-radius: var(--glide-core-rounding-base-radius-sm);
8
+ box-shadow: var(--glide-core-effect-raised);
9
+ font-family: var(--glide-core-typography-family-primary);
9
10
  }
10
11
 
11
12
  .summary {
12
13
  align-items: center;
13
- border-radius: 0.625rem;
14
- color: var(--glide-core-text-body-1);
14
+ border-radius: var(--glide-core-rounding-base-radius-sm);
15
+ color: var(--glide-core-color-static-text-default);
15
16
  cursor: pointer;
16
17
  display: flex;
17
- font-size: var(--glide-core-body-sm-font-size);
18
- font-weight: 700;
18
+ font-size: var(--glide-core-typography-size-heading-h4);
19
+ font-weight: var(--glide-core-typography-weight-bold);
19
20
  justify-content: space-between;
20
- line-height: 1.5rem;
21
+ line-height: var(--glide-core-typography-height-heading-h4);
21
22
  list-style: none;
22
- padding-block: var(--glide-core-spacing-xs);
23
- padding-inline: var(--glide-core-spacing-sm);
23
+ padding-block: var(--glide-core-spacing-base-xs);
24
+ padding-inline: var(--glide-core-spacing-base-sm);
24
25
  user-select: none;
25
26
 
26
27
  &:focus {
@@ -33,7 +34,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
33
34
  }
34
35
 
35
36
  &.active {
36
- padding-block-end: var(--glide-core-spacing-xxs);
37
+ padding-block-end: var(--glide-core-spacing-base-xxs);
37
38
  }
38
39
 
39
40
  &.open {
@@ -45,7 +46,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
45
46
  svg {
46
47
  align-items: center;
47
48
  display: flex;
48
- margin-inline-end: var(--glide-core-spacing-xxs);
49
+ margin-inline-end: var(--glide-core-spacing-base-xxs);
49
50
  rotate: -90deg;
50
51
 
51
52
  @media (prefers-reduced-motion: no-preference) {
@@ -58,7 +59,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
58
59
  align-items: center;
59
60
  display: flex;
60
61
  flex: 1;
61
- gap: var(--glide-core-spacing-xs);
62
+ gap: var(--glide-core-spacing-base-xs);
62
63
  overflow: hidden;
63
64
  white-space: nowrap;
64
65
  }
@@ -70,15 +71,15 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
70
71
  }
71
72
 
72
73
  .default-slot {
73
- color: var(--glide-core-text-body-1);
74
+ color: var(--glide-core-color-static-text-default);
74
75
  display: block;
75
- font-size: var(--glide-core-body-sm-font-size);
76
- font-weight: var(--glide-core-body-xs-font-weight);
76
+ font-size: var(--glide-core-typography-size-body-default);
77
+ font-weight: var(--glide-core-typography-weight-regular);
77
78
  overflow: hidden;
78
- padding-block-end: var(--glide-core-spacing-sm);
79
+ padding-block-end: var(--glide-core-spacing-base-sm);
79
80
 
80
81
  /* Hardcoded spacing here is intentional so that it better aligns with the Accordion label */
81
- padding-inline: 2rem var(--glide-core-spacing-sm);
82
+ padding-inline: 2rem var(--glide-core-spacing-base-sm);
82
83
 
83
84
  &.indented {
84
85
  padding-inline-start: 3.5rem;
@@ -87,9 +88,9 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
87
88
 
88
89
  .suffix-icons-slot {
89
90
  align-items: center;
90
- color: var(--glide-core-icon-primary);
91
+ color: var(--glide-core-color-interactive-icon-link);
91
92
  gap: 0.625rem;
92
- margin-inline-start: var(--glide-core-spacing-xs);
93
+ margin-inline-start: var(--glide-core-spacing-base-xs);
93
94
 
94
95
  &.icons {
95
96
  display: flex;
@@ -18,10 +18,12 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
18
18
 
19
19
  :host(:last-of-type) .component.horizontal {
20
20
  border-end-end-radius: 0.6875rem;
21
+ border-inline-end: none;
21
22
  border-start-end-radius: 0.6875rem;
22
23
  }
23
24
 
24
25
  :host(:last-of-type) .component.vertical {
26
+ border-block-end: none;
25
27
  border-end-end-radius: 0.6875rem;
26
28
  border-end-start-radius: 0.6875rem;
27
29
  }
@@ -29,20 +31,20 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
29
31
  .component {
30
32
  align-items: center;
31
33
  appearance: none;
32
- background-color: var(--glide-core-surface-page);
34
+ background-color: var(--glide-core-color-static-surface-container);
35
+ color: var(--glide-core-color-static-text-default);
33
36
  cursor: pointer;
34
37
  display: flex;
35
- font-family: var(--glide-core-font-sans);
36
- font-size: var(--glide-core-body-md-font-size);
37
- font-style: var(--glide-core-heading-xxs-font-style);
38
- font-weight: var(--glide-core-heading-xxs-font-weight);
38
+ font-family: var(--glide-core-typography-family-primary);
39
+ font-size: var(--glide-core-typography-size-body-large);
40
+ font-weight: var(--glide-core-typography-weight-bold);
39
41
  gap: 0.625rem;
40
42
  justify-content: center;
41
43
  line-height: 1;
42
44
  min-block-size: 1.125rem;
43
45
  min-inline-size: 5.1875rem;
44
- padding-block: var(--glide-core-spacing-xs);
45
- padding-inline: var(--glide-core-spacing-md);
46
+ padding-block: var(--glide-core-spacing-base-xs);
47
+ padding-inline: var(--glide-core-spacing-base-md);
46
48
  transition-duration: 150ms;
47
49
  transition-property: color, background-color, fill, stroke;
48
50
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -54,9 +56,11 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
54
56
  }
55
57
 
56
58
  &:focus-visible {
57
- background-color: var(--glide-core-surface-selected);
58
- border-color: var(--glide-core-border-focus);
59
- color: var(--glide-core-color-white);
59
+ background-color: var(
60
+ --glide-core-color-interactive-surface-container-active
61
+ );
62
+ border-color: var(--glide-core-color-interactive-stroke-focus);
63
+ color: var(--glide-core-color-static-text-onsolid);
60
64
  outline-offset: 2px;
61
65
 
62
66
  /* Create a stacking context so the outline isn't obscured by other elements. */
@@ -64,11 +68,13 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
64
68
  }
65
69
 
66
70
  &.horizontal {
67
- border-inline-end: 1px solid var(--glide-core-border-base-lighter);
71
+ border-inline-end: 1px solid
72
+ var(--glide-core-color-static-surface-container-secondary);
68
73
  }
69
74
 
70
75
  &.vertical {
71
- border-block-end: 1px solid var(--glide-core-border-base-lighter);
76
+ border-block-end: 1px solid
77
+ var(--glide-core-color-static-surface-container-secondary);
72
78
 
73
79
  &.icon {
74
80
  &:not(.icon-only) {
@@ -79,29 +85,47 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";import
79
85
 
80
86
  &.icon-only {
81
87
  min-inline-size: 0;
82
- padding: var(--glide-core-spacing-xs);
88
+ padding: var(--glide-core-spacing-base-xs);
83
89
  }
84
90
 
85
91
  &.disabled {
86
- background-color: var(--glide-core-border-base-lighter);
87
- border-color: var(--glide-core-border-base-lighter);
88
- color: var(--glide-core-text-tertiary-disabled);
92
+ background-color: var(
93
+ --glide-core-color-interactive-surface-container--disabled
94
+ );
95
+ border-color: var(--glide-core-color-static-stroke-primary);
96
+ color: var(--glide-core-color-interactive-text-link--disabled);
89
97
  cursor: not-allowed;
90
98
  }
91
99
 
92
100
  &:not(.disabled) {
93
101
  &.selected {
94
- background-color: var(--glide-core-surface-selected);
95
- border-color: var(--glide-core-surface-selected);
96
- color: var(--glide-core-color-white);
102
+ background-color: var(
103
+ --glide-core-color-interactive-surface-container-active
104
+ );
105
+ border-color: var(
106
+ --glide-core-color-interactive-surface-container-active
107
+ );
108
+ color: var(--glide-core-private-color-button-text-primary);
109
+
110
+ &:hover {
111
+ background-color: var(
112
+ --glide-core-color-interactive-surface-container--hover
113
+ );
114
+ border-color: var(
115
+ --glide-core-color-interactive-surface-container--hover
116
+ );
117
+ color: var(--glide-core-color-interactive-text-link);
118
+ }
97
119
  }
98
120
  }
99
121
 
100
122
  &:not(.disabled, .selected):hover {
101
- background-color: var(--glide-core-surface-hover);
123
+ background-color: var(
124
+ --glide-core-color-interactive-surface-container--hover
125
+ );
102
126
  border-color: transparent;
103
- box-shadow: var(--glide-core-glow-sm);
104
- color: var(--glide-core-text-primary);
127
+ box-shadow: var(--glide-core-effect-hovered);
128
+ color: var(--glide-core-color-interactive-text-link);
105
129
  }
106
130
  }
107
131
  `];
@@ -2,19 +2,19 @@ import{css}from"lit";import visuallyHidden from"./styles/visually-hidden.js";exp
2
2
  ${visuallyHidden(".label")}
3
3
  `,css`
4
4
  .component {
5
- border: 1px solid var(--glide-core-border-base);
6
- border-radius: 0.75rem;
5
+ border: 1px solid var(--glide-core-color-interactive-stroke-primary);
6
+ border-radius: var(--glide-core-spacing-base-sm);
7
7
  display: inline-block;
8
8
  }
9
9
 
10
10
  .label {
11
- /*
12
- Colored to pass the contrast check in the "is accessible" test. It's visually
13
- hidden and doesn't need to meet contrast requirements. But the alternative
14
- is to add "ignoredRules: ['color-contrast']" to that test, disabling contrast
11
+ /*
12
+ Colored to pass the contrast check in the "is accessible" test. It's visually
13
+ hidden and doesn't need to meet contrast requirements. But the alternative
14
+ is to add "ignoredRules: ['color-contrast']" to that test, disabling contrast
15
15
  checking for the entire component.
16
16
  */
17
- color: var(--glide-core-color-white);
17
+ color: var(--glide-core-color-static-text-onsolid);
18
18
  }
19
19
 
20
20
  .container {
package/dist/button.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import './tooltip.ts';
1
2
  import { LitElement } from 'lit';
2
3
  declare global {
3
4
  interface HTMLElementTagNameMap {
@@ -9,6 +10,7 @@ declare global {
9
10
  * @attr {boolean} [disabled=false]
10
11
  * @attr {string} [name='']
11
12
  * @attr {'large'|'small'} [size='large']
13
+ * @attr {string} [tooltip]
12
14
  * @attr {'button'|'submit'|'reset'} [type='button']
13
15
  * @attr {string} [value='']
14
16
  * @attr {'primary'|'secondary'|'tertiary'} [variant='primary']
@@ -31,6 +33,7 @@ export default class GlideCoreButton extends LitElement {
31
33
  label?: string;
32
34
  name: string;
33
35
  size: 'large' | 'small';
36
+ tooltip?: string;
34
37
  type: 'button' | 'submit' | 'reset';
35
38
  value: string;
36
39
  variant: 'primary' | 'secondary' | 'tertiary';
package/dist/button.js CHANGED
@@ -1 +1 @@
1
- var __decorate=this&&this.__decorate||function(e,t,o,r){var i,s=arguments.length,n=s<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,r);else for(var l=e.length-1;l>=0;l--)(i=e[l])&&(n=(s<3?i(n):s>3?i(t,o,n):i(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,state}from"lit/decorators.js";import packageJson from"../package.json"with{type:"json"};import styles from"./button.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreButton=class GlideCoreButton extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}get form(){return this.#e.form}click(){this.#t.value?.click()}render(){return html`<button class="${classMap({component:!0,primary:"primary"===this.variant,secondary:"secondary"===this.variant,tertiary:"tertiary"===this.variant,large:"large"===this.size,small:"small"===this.size,"prefix-icon":this.hasPrefixIcon,"suffix-icon":this.hasSuffixIcon})}" ?disabled="${this.disabled}" @click="${this.#o}" ${ref(this.#t)}><slot name="prefix-icon" @slotchange="${this.#r}" ${ref(this.#i)}></slot>${this.label}<slot name="suffix-icon" @slotchange="${this.#s}" ${ref(this.#n)}></slot></button>`}constructor(){super(),this.disabled=!1,this.name="",this.size="large",this.type="button",this.value="",this.variant="primary",this.version=packageJson.version,this.hasPrefixIcon=!1,this.hasSuffixIcon=!1,this.#t=createRef(),this.#i=createRef(),this.#n=createRef(),this.#e=this.attachInternals()}#t;#e;#i;#n;#o(){"submit"!==this.type?"reset"!==this.type||this.form?.reset():this.form?.requestSubmit()}#r(){const e=this.#i.value?.assignedNodes();this.hasPrefixIcon=Boolean(e&&e.length>0)}#s(){const e=this.#n.value?.assignedNodes();this.hasSuffixIcon=Boolean(e&&e.length>0)}};__decorate([property({type:Boolean,reflect:!0})],GlideCoreButton.prototype,"disabled",void 0),__decorate([property({reflect:!0}),required],GlideCoreButton.prototype,"label",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"name",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"size",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"type",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"value",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"variant",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"version",void 0),__decorate([state()],GlideCoreButton.prototype,"hasPrefixIcon",void 0),__decorate([state()],GlideCoreButton.prototype,"hasSuffixIcon",void 0),GlideCoreButton=__decorate([customElement("glide-core-button"),final],GlideCoreButton);export default GlideCoreButton;
1
+ var __decorate=this&&this.__decorate||function(e,t,o,i){var r,s=arguments.length,l=s<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,o):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,o,i);else for(var n=e.length-1;n>=0;n--)(r=e[n])&&(l=(s<3?r(l):s>3?r(t,o,l):r(t,o))||l);return s>3&&l&&Object.defineProperty(t,o,l),l};import"./tooltip.ts";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 packageJson from"../package.json"with{type:"json"};import styles from"./button.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreButton=class GlideCoreButton extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}get form(){return this.#e.form}click(){this.#t.value?.click()}render(){return html`<glide-core-tooltip label="${this.tooltip??""}" ?disabled="${!this.disabled||!this.tooltip}"><button aria-disabled="${this.disabled?"true":"false"}" class="${classMap({component:!0,primary:"primary"===this.variant,secondary:"secondary"===this.variant,tertiary:"tertiary"===this.variant,large:"large"===this.size,small:"small"===this.size,disabled:this.disabled,"prefix-icon":this.hasPrefixIcon,"suffix-icon":this.hasSuffixIcon})}" slot="target" @click="${this.#o}" ${ref(this.#t)}><slot name="prefix-icon" @slotchange="${this.#i}" ${ref(this.#r)}></slot>${this.label}<slot name="suffix-icon" @slotchange="${this.#s}" ${ref(this.#l)}></slot></button></glide-core-tooltip>`}constructor(){super(),this.disabled=!1,this.name="",this.size="large",this.type="button",this.value="",this.variant="primary",this.version=packageJson.version,this.hasPrefixIcon=!1,this.hasSuffixIcon=!1,this.#t=createRef(),this.#r=createRef(),this.#l=createRef(),this.#e=this.attachInternals()}#t;#e;#r;#l;#o(e){this.disabled?e.stopPropagation():"submit"!==this.type?"reset"!==this.type||this.form?.reset():this.form?.requestSubmit()}#i(){const e=this.#r.value?.assignedNodes();this.hasPrefixIcon=Boolean(e&&e.length>0)}#s(){const e=this.#l.value?.assignedNodes();this.hasSuffixIcon=Boolean(e&&e.length>0)}};__decorate([property({type:Boolean,reflect:!0})],GlideCoreButton.prototype,"disabled",void 0),__decorate([property({reflect:!0}),required],GlideCoreButton.prototype,"label",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"name",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"size",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"tooltip",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"type",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"value",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"variant",void 0),__decorate([property({reflect:!0})],GlideCoreButton.prototype,"version",void 0),__decorate([state()],GlideCoreButton.prototype,"hasPrefixIcon",void 0),__decorate([state()],GlideCoreButton.prototype,"hasSuffixIcon",void 0),GlideCoreButton=__decorate([customElement("glide-core-button"),final],GlideCoreButton);export default GlideCoreButton;
@@ -9,18 +9,17 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
9
9
  .component {
10
10
  align-items: center;
11
11
  border-color: transparent;
12
- border-radius: 0.75rem;
12
+ border-radius: var(--glide-core-rounding-base-radius-md);
13
13
  border-style: solid;
14
14
  border-width: 1px;
15
15
  cursor: pointer;
16
16
  display: inline-flex;
17
- font-family: var(--glide-core-heading-xxs-font-family);
18
- font-style: var(--glide-core-heading-xxs-font-style);
19
- font-weight: var(--glide-core-heading-xxs-font-weight);
17
+ font-family: var(--glide-core-typography-family-primary);
18
+ font-weight: var(--glide-core-typography-weight-bold);
20
19
  gap: 0.625rem;
21
20
  justify-content: center;
22
- padding-block: var(--glide-core-spacing-xs);
23
- padding-inline: var(--glide-core-spacing-md);
21
+ padding-block: var(--glide-core-spacing-base-xs);
22
+ padding-inline: var(--glide-core-spacing-base-md);
24
23
  transition-duration: 150ms;
25
24
  transition-property: color, background-color, border-color, fill, stroke;
26
25
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
@@ -30,7 +29,7 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
30
29
  outline: none;
31
30
  }
32
31
 
33
- &:disabled {
32
+ &.disabled {
34
33
  cursor: not-allowed;
35
34
  opacity: 1;
36
35
  }
@@ -44,83 +43,104 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
44
43
  }
45
44
 
46
45
  &.primary {
47
- background-color: var(--glide-core-surface-primary);
46
+ background-color: var(
47
+ --glide-core-color-interactive-surface-container-active
48
+ );
48
49
  border-color: transparent;
49
- color: var(--glide-core-text-selected);
50
+ color: var(--glide-core-private-color-button-text-primary);
50
51
 
51
- &:disabled {
52
- background-color: var(--glide-core-surface-disabled);
52
+ &.disabled {
53
+ background-color: var(
54
+ --glide-core-color-interactive-surface-container--disabled
55
+ );
53
56
  border-color: transparent;
54
- color: var(--glide-core-text-tertiary-disabled);
57
+ color: var(--glide-core-color-interactive-text-link--disabled);
55
58
  }
56
59
 
57
- &:not(:disabled):active {
58
- background-color: var(--glide-core-surface-selected-hover);
60
+ &:not(.disabled):active {
61
+ background-color: var(
62
+ --glide-core-private-color-button-surface-active
63
+ );
59
64
  border-color: transparent;
60
- color: var(--glide-core-text-selected);
65
+ color: var(--glide-core-private-color-button-text-primary);
61
66
  }
62
67
 
63
- &:not(:active):hover:not(:disabled) {
64
- background-color: var(--glide-core-surface-hover);
68
+ &:not(:active):hover:not(.disabled) {
69
+ background-color: var(
70
+ --glide-core-color-interactive-surface-container--hover
71
+ );
65
72
  border-color: transparent;
66
- box-shadow: var(--glide-core-glow-sm);
67
- color: var(--glide-core-text-primary);
73
+ box-shadow: var(--glide-core-effect-hovered);
74
+ color: var(--glide-core-color-interactive-text-link);
68
75
  }
69
76
  }
70
77
 
71
78
  &.secondary {
72
- background-color: transparent;
73
- border-color: var(--glide-core-border-primary);
74
- color: var(--glide-core-text-primary);
75
-
76
- &:disabled {
77
- background-color: var(--glide-core-surface-disabled);
79
+ background-color: var(--glide-core-color-interactive-surface-container);
80
+ border-color: var(--glide-core-private-color-button-stroke-default);
81
+ color: var(--glide-core-color-interactive-text-link);
82
+
83
+ &.disabled {
84
+ background-color: var(
85
+ --glide-core-color-interactive-surface-container--disabled
86
+ );
78
87
  border-color: transparent;
79
- color: var(--glide-core-text-tertiary-disabled);
88
+ color: var(--glide-core-color-interactive-text-link--disabled);
80
89
  }
81
90
 
82
- &:not(:disabled):active {
83
- background-color: var(--glide-core-surface-selected-hover);
91
+ &:not(.disabled):active {
92
+ background-color: var(
93
+ --glide-core-private-color-button-surface-active
94
+ );
84
95
  border-color: transparent;
85
- color: var(--glide-core-text-selected);
96
+ color: var(--glide-core-private-color-button-text-primary);
86
97
  }
87
98
 
88
- &:not(:active):hover:not(:disabled) {
89
- background-color: var(--glide-core-surface-hover);
99
+ &:not(:active):hover:not(.disabled) {
100
+ background-color: var(
101
+ --glide-core-color-interactive-surface-container--hover
102
+ );
90
103
  border-color: transparent;
91
- box-shadow: var(--glide-core-glow-sm);
92
- color: var(--glide-core-text-primary);
104
+ box-shadow: var(--glide-core-effect-hovered);
105
+ color: var(--glide-core-color-interactive-text-link);
93
106
  }
94
107
  }
95
108
 
96
109
  &.tertiary {
97
110
  background-color: transparent;
98
111
  border-color: transparent;
99
- color: var(--glide-core-text-primary);
112
+ color: var(--glide-core-color-interactive-text-link);
100
113
 
101
- &:disabled {
102
- color: var(--glide-core-text-tertiary-disabled);
114
+ &.disabled {
115
+ color: var(--glide-core-color-interactive-text-link--disabled);
103
116
  }
104
117
 
105
- &:not(:disabled):active {
106
- color: var(--glide-core-text-secondary);
118
+ &:not(.disabled):active {
119
+ background-color: var(
120
+ --glide-core-private-color-button-surface-active
121
+ );
122
+ color: var(--glide-core-private-color-button-text-primary);
107
123
  }
108
124
 
109
- &:not(:active):hover:not(:disabled) {
110
- color: var(--glide-core-text-primary-hover);
125
+ &:not(:active):hover:not(.disabled) {
126
+ background-color: var(
127
+ --glide-core-color-interactive-surface-container--hover
128
+ );
129
+ box-shadow: var(--glide-core-effect-hovered);
130
+ color: var(--glide-core-color-interactive-text-link);
111
131
  }
112
132
  }
113
133
 
114
134
  &.large {
115
135
  block-size: 2.125rem;
116
- font-size: var(--glide-core-heading-xxs-font-size);
136
+ font-size: var(--glide-core-typography-size-body-large);
117
137
  line-height: 1.5rem;
118
138
  min-inline-size: 5.1875rem;
119
139
  }
120
140
 
121
141
  &.small {
122
142
  block-size: 1.75rem;
123
- font-size: var(--glide-core-body-xs-font-size);
143
+ font-size: var(--glide-core-typography-size-body-small);
124
144
  line-height: 1rem;
125
145
  min-inline-size: 4.375rem;
126
146
  }
@@ -2,7 +2,7 @@ import{css}from"lit";export default[css`
2
2
  :host(:not(:disabled)) .component {
3
3
  &.error {
4
4
  .checkbox {
5
- border-color: var(--glide-core-status-error);
5
+ border-color: var(--glide-core-color-error-stroke-primary);
6
6
  }
7
7
  }
8
8
  }
@@ -17,9 +17,9 @@ import{css}from"lit";export default[css`
17
17
  inline-size: min-content;
18
18
 
19
19
  &.invalid {
20
- border: 1px solid var(--glide-core-status-error);
21
- border-radius: 0.5rem;
22
- padding: var(--glide-core-spacing-xxs) 0.375rem;
20
+ border: 1px solid var(--glide-core-color-error-stroke-primary);
21
+ border-radius: var(--glide-core-rounding-base-radius-sm);
22
+ padding: var(--glide-core-spacing-base-xxs) 0.375rem;
23
23
  }
24
24
  }
25
25
 
@@ -27,7 +27,7 @@ import{css}from"lit";export default[css`
27
27
  display: flex;
28
28
  flex-direction: column;
29
29
  grid-column: 2;
30
- row-gap: var(--glide-core-spacing-xs);
30
+ row-gap: var(--glide-core-spacing-base-xs);
31
31
  }
32
32
 
33
33
  .description {
package/dist/checkbox.js CHANGED
@@ -1,4 +1,4 @@
1
- var __decorate=this&&this.__decorate||function(e,t,i,s){var r,a=arguments.length,o=a<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(o=(a<3?r(o):a>3?r(t,i,o):r(t,i))||o);return a>3&&o&&Object.defineProperty(t,i,o),o};import"./label.js";import"./tooltip.js";import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{styleMap}from"lit/directives/style-map.js";import{when}from"lit/directives/when.js";import{unsafeHTML}from"lit/directives/unsafe-html.js";import packageJson from"../package.json"with{type:"json"};import checkedIcon from"./icons/checked.js";import styles from"./checkbox.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreCheckbox=class GlideCoreCheckbox extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get checked(){return this.#e}set checked(e){const t=e!==this.#e;this.#e=e,t&&this.dispatchEvent(new Event("private-checked-change",{bubbles:!0}))}get disabled(){return this.#t}set disabled(e){this.#t=e,this.dispatchEvent(new Event("private-disabled-change",{bubbles:!0}))}get label(){return this.#i}set label(e){this.#i=e,setTimeout((()=>{this.#s()}))}get value(){return this.#r}set value(e){const t=this.#r;this.#r=e,this.dispatchEvent(new CustomEvent("private-value-change",{bubbles:!0,detail:{old:t,new:e}}))}get form(){return this.#a.form}checkValidity(){this.isCheckingValidity=!0;const e=this.#a.checkValidity();return this.isCheckingValidity=!1,e}click(){this.#o.value?.click()}connectedCallback(){super.connectedCallback(),this.#l=new IntersectionObserver((()=>{this.checkVisibility()&&this.#s()})),this.#l.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.form?.removeEventListener("formdata",this.#n),this.#l?.disconnect()}get validity(){return"minimal"===this.privateVariant?this.#a.validity:this.required&&!this.checked?(this.#a.setValidity({customError:Boolean(this.validityMessage),valueMissing:!0}," ",this.#o.value),this.#a.validity):this.required&&this.#a.validity.valueMissing&&this.checked?(this.#a.setValidity({}),this.#a.validity):(this.required||!this.#a.validity.valueMissing||this.checked||this.#a.setValidity({}),this.#a.validity)}focus(e){this.#o.value?.focus(e)}formAssociatedCallback(){this.form?.addEventListener("formdata",this.#n)}formResetCallback(){this.checked=""===this.getAttribute("checked"),this.indeterminate=""===this.getAttribute("indeterminate")}render(){return html`<div class="component" data-test="component">
1
+ var __decorate=this&&this.__decorate||function(e,t,i,s){var a,r=arguments.length,o=r<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var l=e.length-1;l>=0;l--)(a=e[l])&&(o=(r<3?a(o):r>3?a(t,i,o):a(t,i))||o);return r>3&&o&&Object.defineProperty(t,i,o),o};import"./label.js";import"./tooltip.js";import{html,LitElement}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import{styleMap}from"lit/directives/style-map.js";import{when}from"lit/directives/when.js";import{unsafeHTML}from"lit/directives/unsafe-html.js";import packageJson from"../package.json"with{type:"json"};import checkedIcon from"./icons/checked.js";import styles from"./checkbox.styles.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreCheckbox=class GlideCoreCheckbox extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get checked(){return this.#e}set checked(e){const t=e!==this.#e;this.#e=e,t&&this.dispatchEvent(new Event("private-checked-change",{bubbles:!0}))}get disabled(){return this.#t}set disabled(e){this.#t=e,this.dispatchEvent(new Event("private-disabled-change",{bubbles:!0}))}get label(){return this.#i}set label(e){this.#i=e,setTimeout((()=>{this.#s()}))}get value(){return this.#a}set value(e){const t=this.#a;this.#a=e,this.dispatchEvent(new CustomEvent("private-value-change",{bubbles:!0,detail:{old:t,new:e}}))}get form(){return this.#r.form}checkValidity(){this.isCheckingValidity=!0;const e=this.#r.checkValidity();return this.isCheckingValidity=!1,e}click(){this.#o.value?.click()}connectedCallback(){super.connectedCallback(),this.#l=new IntersectionObserver((()=>{this.checkVisibility()&&this.#s()})),this.#l.observe(this)}disconnectedCallback(){super.disconnectedCallback(),this.form?.removeEventListener("formdata",this.#n),this.#l?.disconnect()}get validity(){return"minimal"===this.privateVariant?this.#r.validity:this.required&&!this.checked?(this.#r.setValidity({customError:Boolean(this.validityMessage),valueMissing:!0}," ",this.#o.value),this.#r.validity):this.required&&this.#r.validity.valueMissing&&this.checked?(this.#r.setValidity({}),this.#r.validity):(this.required||!this.#r.validity.valueMissing||this.checked||this.#r.setValidity({}),this.#r.validity)}focus(e){this.#o.value?.focus(e)}formAssociatedCallback(){this.form?.addEventListener("formdata",this.#n)}formResetCallback(){this.checked=""===this.getAttribute("checked"),this.indeterminate=""===this.getAttribute("indeterminate")}render(){return html`<div class="component" data-test="component">
2
2
  ${when("minimal"===this.privateVariant,(()=>html`
3
3
  <label
4
4
  class=${classMap({"label-and-input-and-checkbox":!0,[this.privateSize]:!0})}
@@ -97,7 +97,13 @@ var __decorate=this&&this.__decorate||function(e,t,i,s){var r,a=arguments.length
97
97
  </div>
98
98
  </div>
99
99
 
100
- ${when(this.summary,(()=>html`<div id="summary" slot="summary">${this.summary}</div>`))}
100
+ ${when(this.summary,(()=>html`<div
101
+ class=${classMap({summary:!0,disabled:this.disabled})}
102
+ id="summary"
103
+ slot="summary"
104
+ >
105
+ ${this.summary}
106
+ </div>`))}
101
107
 
102
108
  <div id="description" slot="description">
103
109
  <!--
@@ -121,7 +127,7 @@ var __decorate=this&&this.__decorate||function(e,t,i,s){var r,a=arguments.length
121
127
  >`))}
122
128
  </div>
123
129
  </glide-core-private-label>`))}
124
- </div>`}reportValidity(){this.privateIsReportValidityOrSubmit=!0;const e=this.#a.reportValidity();return this.requestUpdate(),e}resetValidityFeedback(){this.privateIsReportValidityOrSubmit=!1}setCustomValidity(e){this.validityMessage=e,""===e?this.#a.setValidity({customError:!1},"",this.#o.value):this.#a.setValidity({customError:!0,valueMissing:this.#a.validity.valueMissing}," ",this.#o.value)}setValidity(e,t){this.validityMessage=t,this.#a.setValidity(e," ",this.#o.value)}updated(){this.#o.value&&(this.#o.value.indeterminate=this.indeterminate)}constructor(){super(),this.privateInternallyInert=!1,this.hideLabel=!1,this.indeterminate=!1,this.orientation="horizontal",this.name="",this.privateLabelTooltipOffset=4,this.privateShowLabelTooltip=!1,this.privateDisableLabelTooltip=!1,this.privateSize="large",this.required=!1,this.privateIsReportValidityOrSubmit=!1,this.version=packageJson.version,this.isBlurring=!1,this.isCheckingValidity=!1,this.isLabelOverflow=!1,this.#o=createRef(),this.#e=!1,this.#t=!1,this.#p=createRef(),this.#r="",this.#n=({formData:e})=>{this.checked&&this.name&&this.value&&!this.disabled&&e.append(this.name,this.value)},this.#a=this.attachInternals(),this.addEventListener("invalid",(e=>{if(e?.preventDefault(),this.isCheckingValidity||this.isBlurring)return;this.privateIsReportValidityOrSubmit=!0;this.form?.querySelector(":invalid")===this&&this.focus()}))}#o;#a;#l;#e;#t;#i;#p;#r;#n;get#d(){return"minimal"===this.privateVariant?!this.validity.valid&&this.privateIsReportValidityOrSubmit:!this.disabled&&!this.validity.valid&&this.privateIsReportValidityOrSubmit}#b(){this.isBlurring=!0,this.reportValidity(),this.isBlurring=!1}#h(e){e.target instanceof HTMLInputElement&&(this.checked=e.target.checked),this.indeterminate=!1,"change"===e.type&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}#c(e){"Enter"===e.key&&this.form?.requestSubmit()}#s(){this.#p.value&&(this.isLabelOverflow=this.#p.value.scrollWidth>this.#p.value.clientWidth)}};__decorate([property({type:Boolean})],GlideCoreCheckbox.prototype,"checked",null),__decorate([property({attribute:"private-internally-inert",type:Boolean})],GlideCoreCheckbox.prototype,"privateInternallyInert",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"disabled",null),__decorate([property({attribute:"hide-label",type:Boolean})],GlideCoreCheckbox.prototype,"hideLabel",void 0),__decorate([property({type:Boolean})],GlideCoreCheckbox.prototype,"indeterminate",void 0),__decorate([property({reflect:!0}),required],GlideCoreCheckbox.prototype,"label",null),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"orientation",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"name",void 0),__decorate([property({attribute:"private-label-tooltip-offset",reflect:!0,type:Number})],GlideCoreCheckbox.prototype,"privateLabelTooltipOffset",void 0),__decorate([property({attribute:"private-show-label-tooltip",reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"privateShowLabelTooltip",void 0),__decorate([property({attribute:"private-disable-label-tooltip",reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"privateDisableLabelTooltip",void 0),__decorate([property({attribute:"private-size"})],GlideCoreCheckbox.prototype,"privateSize",void 0),__decorate([property()],GlideCoreCheckbox.prototype,"privateSplit",void 0),__decorate([property({attribute:"private-variant"})],GlideCoreCheckbox.prototype,"privateVariant",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"required",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"summary",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"tooltip",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"value",null),__decorate([property({type:Boolean})],GlideCoreCheckbox.prototype,"privateIsReportValidityOrSubmit",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"version",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"isBlurring",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"isCheckingValidity",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"isLabelOverflow",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"validityMessage",void 0),GlideCoreCheckbox=__decorate([customElement("glide-core-checkbox"),final],GlideCoreCheckbox);export default GlideCoreCheckbox;const icons={indeterminate:html`
130
+ </div>`}reportValidity(){this.privateIsReportValidityOrSubmit=!0;const e=this.#r.reportValidity();return this.requestUpdate(),e}resetValidityFeedback(){this.privateIsReportValidityOrSubmit=!1}setCustomValidity(e){this.validityMessage=e,""===e?this.#r.setValidity({customError:!1},"",this.#o.value):this.#r.setValidity({customError:!0,valueMissing:this.#r.validity.valueMissing}," ",this.#o.value)}setValidity(e,t){this.validityMessage=t,this.#r.setValidity(e," ",this.#o.value)}updated(){this.#o.value&&(this.#o.value.indeterminate=this.indeterminate)}constructor(){super(),this.privateInternallyInert=!1,this.hideLabel=!1,this.indeterminate=!1,this.orientation="horizontal",this.name="",this.privateLabelTooltipOffset=4,this.privateShowLabelTooltip=!1,this.privateDisableLabelTooltip=!1,this.privateSize="large",this.required=!1,this.privateIsReportValidityOrSubmit=!1,this.version=packageJson.version,this.isBlurring=!1,this.isCheckingValidity=!1,this.isLabelOverflow=!1,this.#o=createRef(),this.#e=!1,this.#t=!1,this.#p=createRef(),this.#a="",this.#n=({formData:e})=>{this.checked&&this.name&&this.value&&!this.disabled&&e.append(this.name,this.value)},this.#r=this.attachInternals(),this.addEventListener("invalid",(e=>{if(e?.preventDefault(),this.isCheckingValidity||this.isBlurring)return;this.privateIsReportValidityOrSubmit=!0;this.form?.querySelector(":invalid")===this&&this.focus()}))}#o;#r;#l;#e;#t;#i;#p;#a;#n;get#d(){return"minimal"===this.privateVariant?!this.validity.valid&&this.privateIsReportValidityOrSubmit:!this.disabled&&!this.validity.valid&&this.privateIsReportValidityOrSubmit}#b(){this.isBlurring=!0,this.reportValidity(),this.isBlurring=!1}#h(e){e.target instanceof HTMLInputElement&&(this.checked=e.target.checked),this.indeterminate=!1,"change"===e.type&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}#c(e){"Enter"===e.key&&this.form?.requestSubmit()}#s(){this.#p.value&&(this.isLabelOverflow=this.#p.value.scrollWidth>this.#p.value.clientWidth)}};__decorate([property({type:Boolean})],GlideCoreCheckbox.prototype,"checked",null),__decorate([property({attribute:"private-internally-inert",type:Boolean})],GlideCoreCheckbox.prototype,"privateInternallyInert",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"disabled",null),__decorate([property({attribute:"hide-label",type:Boolean})],GlideCoreCheckbox.prototype,"hideLabel",void 0),__decorate([property({type:Boolean})],GlideCoreCheckbox.prototype,"indeterminate",void 0),__decorate([property({reflect:!0}),required],GlideCoreCheckbox.prototype,"label",null),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"orientation",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"name",void 0),__decorate([property({attribute:"private-label-tooltip-offset",reflect:!0,type:Number})],GlideCoreCheckbox.prototype,"privateLabelTooltipOffset",void 0),__decorate([property({attribute:"private-show-label-tooltip",reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"privateShowLabelTooltip",void 0),__decorate([property({attribute:"private-disable-label-tooltip",reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"privateDisableLabelTooltip",void 0),__decorate([property({attribute:"private-size"})],GlideCoreCheckbox.prototype,"privateSize",void 0),__decorate([property()],GlideCoreCheckbox.prototype,"privateSplit",void 0),__decorate([property({attribute:"private-variant"})],GlideCoreCheckbox.prototype,"privateVariant",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreCheckbox.prototype,"required",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"summary",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"tooltip",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"value",null),__decorate([property({type:Boolean})],GlideCoreCheckbox.prototype,"privateIsReportValidityOrSubmit",void 0),__decorate([property({reflect:!0})],GlideCoreCheckbox.prototype,"version",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"isBlurring",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"isCheckingValidity",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"isLabelOverflow",void 0),__decorate([state()],GlideCoreCheckbox.prototype,"validityMessage",void 0),GlideCoreCheckbox=__decorate([customElement("glide-core-checkbox"),final],GlideCoreCheckbox);export default GlideCoreCheckbox;const icons={indeterminate:html`
125
131
  <svg
126
132
  aria-hidden="true"
127
133
  style=${styleMap({height:"0.875rem",width:"0.875rem"})}