@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.
- package/dist/accordion.styles.js +22 -21
- package/dist/button-group.button.styles.js +46 -22
- package/dist/button-group.styles.js +7 -7
- package/dist/button.d.ts +3 -0
- package/dist/button.js +1 -1
- package/dist/button.styles.js +62 -42
- package/dist/checkbox-group.styles.js +5 -5
- package/dist/checkbox.js +9 -3
- package/dist/checkbox.styles.js +46 -28
- package/dist/drawer.styles.js +6 -4
- package/dist/dropdown.js +1 -1
- package/dist/dropdown.option.styles.js +26 -28
- package/dist/dropdown.styles.js +64 -58
- package/dist/icon-button.styles.js +44 -23
- package/dist/inline-alert.js +1 -1
- package/dist/inline-alert.styles.js +24 -21
- package/dist/input.styles.js +33 -25
- package/dist/label.styles.js +22 -27
- package/dist/menu.button.styles.js +6 -4
- package/dist/menu.js +1 -1
- package/dist/menu.link.styles.js +6 -4
- package/dist/menu.options.styles.js +12 -16
- package/dist/menu.styles.js +9 -6
- package/dist/modal.styles.js +16 -13
- package/dist/popover.js +1 -1
- package/dist/popover.styles.js +14 -14
- package/dist/radio-group.radio.styles.js +31 -11
- package/dist/radio-group.styles.js +8 -10
- package/dist/split-button.primary-button.styles.js +41 -26
- package/dist/split-button.secondary-button.styles.js +61 -21
- package/dist/styles/focus-outline.js +1 -1
- package/dist/styles/variables.css +1 -1
- package/dist/tab.group.styles.js +6 -5
- package/dist/tab.panel.styles.js +1 -1
- package/dist/tab.styles.js +7 -7
- package/dist/tag.styles.js +27 -26
- package/dist/textarea.styles.js +22 -18
- package/dist/toasts.styles.js +2 -2
- package/dist/toasts.toast.styles.js +20 -20
- package/dist/toggle.styles.js +15 -7
- package/dist/tooltip.container.styles.js +14 -13
- package/dist/tooltip.js +1 -1
- package/dist/tooltip.styles.js +1 -1
- package/package.json +8 -9
- package/dist/library/get-parent-class-name.d.ts +0 -3
- package/dist/library/get-parent-class-name.js +0 -1
package/dist/accordion.styles.js
CHANGED
@@ -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
|
6
|
-
|
7
|
-
|
8
|
-
|
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:
|
14
|
-
color: var(--glide-core-text-
|
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-
|
18
|
-
font-weight:
|
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:
|
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-
|
74
|
+
color: var(--glide-core-color-static-text-default);
|
74
75
|
display: block;
|
75
|
-
font-size: var(--glide-core-
|
76
|
-
font-weight: var(--glide-core-
|
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-
|
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-
|
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-
|
36
|
-
font-size: var(--glide-core-
|
37
|
-
font-
|
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(
|
58
|
-
|
59
|
-
|
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
|
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
|
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(
|
87
|
-
|
88
|
-
|
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(
|
95
|
-
|
96
|
-
|
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(
|
123
|
+
background-color: var(
|
124
|
+
--glide-core-color-interactive-surface-container--hover
|
125
|
+
);
|
102
126
|
border-color: transparent;
|
103
|
-
box-shadow: var(--glide-core-
|
104
|
-
color: var(--glide-core-text-
|
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-
|
6
|
-
border-radius:
|
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-
|
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,
|
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;
|
package/dist/button.styles.js
CHANGED
@@ -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:
|
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-
|
18
|
-
font-
|
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
|
-
|
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(
|
46
|
+
background-color: var(
|
47
|
+
--glide-core-color-interactive-surface-container-active
|
48
|
+
);
|
48
49
|
border-color: transparent;
|
49
|
-
color: var(--glide-core-text-
|
50
|
+
color: var(--glide-core-private-color-button-text-primary);
|
50
51
|
|
51
|
-
|
52
|
-
background-color: var(
|
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-
|
57
|
+
color: var(--glide-core-color-interactive-text-link--disabled);
|
55
58
|
}
|
56
59
|
|
57
|
-
&:not(
|
58
|
-
background-color: var(
|
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-
|
65
|
+
color: var(--glide-core-private-color-button-text-primary);
|
61
66
|
}
|
62
67
|
|
63
|
-
&:not(:active):hover:not(
|
64
|
-
background-color: var(
|
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-
|
67
|
-
color: var(--glide-core-text-
|
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:
|
73
|
-
border-color: var(--glide-core-
|
74
|
-
color: var(--glide-core-text-
|
75
|
-
|
76
|
-
|
77
|
-
background-color: var(
|
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-
|
88
|
+
color: var(--glide-core-color-interactive-text-link--disabled);
|
80
89
|
}
|
81
90
|
|
82
|
-
&:not(
|
83
|
-
background-color: var(
|
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-
|
96
|
+
color: var(--glide-core-private-color-button-text-primary);
|
86
97
|
}
|
87
98
|
|
88
|
-
&:not(:active):hover:not(
|
89
|
-
background-color: var(
|
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-
|
92
|
-
color: var(--glide-core-text-
|
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-
|
112
|
+
color: var(--glide-core-color-interactive-text-link);
|
100
113
|
|
101
|
-
|
102
|
-
color: var(--glide-core-text-
|
114
|
+
&.disabled {
|
115
|
+
color: var(--glide-core-color-interactive-text-link--disabled);
|
103
116
|
}
|
104
117
|
|
105
|
-
&:not(
|
106
|
-
color: var(
|
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(
|
110
|
-
color: var(
|
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-
|
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-
|
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-
|
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-
|
21
|
-
border-radius:
|
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
|
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
|
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.#
|
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"})}
|