@crowdstrike/glide-core 0.19.4 → 0.20.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/README.md +7 -26
- package/dist/accordion.d.ts +13 -4
- package/dist/accordion.js +1 -1
- package/dist/button-group.button.d.ts +16 -3
- package/dist/button-group.button.js +1 -1
- package/dist/button-group.d.ts +16 -5
- package/dist/button-group.js +1 -1
- package/dist/button.d.ts +16 -3
- package/dist/button.js +1 -1
- package/dist/checkbox-group.d.ts +49 -6
- package/dist/checkbox-group.js +16 -5
- package/dist/checkbox-group.styles.js +1 -1
- package/dist/checkbox.d.ts +50 -8
- package/dist/checkbox.js +22 -9
- package/dist/checkbox.styles.js +1 -1
- package/dist/drawer.d.ts +13 -3
- package/dist/drawer.js +1 -1
- package/dist/drawer.styles.js +6 -1
- package/dist/dropdown.d.ts +78 -11
- package/dist/dropdown.js +80 -52
- package/dist/dropdown.option.d.ts +31 -4
- package/dist/dropdown.option.js +1 -1
- package/dist/dropdown.option.styles.js +1 -1
- package/dist/dropdown.styles.js +14 -12
- package/dist/form-controls-layout.d.ts +10 -2
- package/dist/form-controls-layout.js +1 -1
- package/dist/icon-button.d.ts +12 -2
- package/dist/icon-button.js +1 -1
- package/dist/icon-button.styles.js +8 -8
- package/dist/icons/checked.js +1 -1
- package/dist/icons/chevron.js +1 -1
- package/dist/icons/magnifying-glass.js +1 -1
- package/dist/icons/pencil.js +1 -1
- package/dist/icons/severity-critical.d.ts +2 -0
- package/dist/icons/severity-critical.js +1 -0
- package/dist/icons/severity-informational.d.ts +2 -0
- package/dist/icons/severity-informational.js +1 -0
- package/dist/icons/severity-medium.d.ts +2 -0
- package/dist/icons/severity-medium.js +1 -0
- package/dist/icons/x.js +1 -1
- package/dist/inline-alert.d.ts +9 -10
- package/dist/inline-alert.js +1 -1
- package/dist/inline-alert.styles.js +3 -3
- package/dist/input.d.ts +53 -12
- package/dist/input.js +32 -13
- package/dist/input.styles.js +6 -3
- package/dist/label.d.ts +13 -7
- package/dist/label.js +1 -1
- package/dist/label.styles.js +10 -14
- package/dist/library/assert-slot.d.ts +2 -3
- package/dist/library/assert-slot.js +1 -1
- package/dist/library/assert-slot.test.js +10 -21
- package/dist/library/expect-unhandled-rejection.d.ts +1 -1
- package/dist/library/final.d.ts +3 -0
- package/dist/library/final.js +1 -0
- package/dist/library/final.test.d.ts +1 -0
- package/dist/library/final.test.js +44 -0
- package/dist/library/form-control.d.ts +7 -8
- package/dist/library/get-parent-class-name.d.ts +3 -0
- package/dist/library/get-parent-class-name.js +1 -0
- package/dist/library/localize.test.js +9 -12
- package/dist/library/on-resize.d.ts +12 -0
- package/dist/library/on-resize.js +1 -0
- package/dist/library/required.d.ts +2 -0
- package/dist/library/required.js +1 -0
- package/dist/library/required.test.d.ts +1 -0
- package/dist/library/required.test.js +47 -0
- package/dist/menu.button.d.ts +10 -1
- package/dist/menu.button.js +1 -1
- package/dist/menu.button.styles.js +3 -3
- package/dist/menu.d.ts +23 -7
- package/dist/menu.js +1 -1
- package/dist/menu.link.d.ts +11 -1
- package/dist/menu.link.js +1 -1
- package/dist/menu.link.styles.js +3 -3
- package/dist/menu.options.d.ts +8 -2
- package/dist/menu.options.js +1 -1
- package/dist/menu.options.styles.js +7 -7
- package/dist/modal.d.ts +19 -6
- package/dist/modal.icon-button.d.ts +7 -3
- package/dist/modal.icon-button.js +1 -1
- package/dist/modal.icon-button.styles.js +1 -1
- package/dist/modal.js +1 -1
- package/dist/modal.styles.js +26 -8
- package/dist/popover.d.ts +20 -3
- package/dist/popover.js +1 -1
- package/dist/popover.styles.js +6 -6
- package/dist/radio-group.d.ts +48 -6
- package/dist/radio-group.js +15 -6
- package/dist/radio-group.radio.d.ts +26 -2
- package/dist/radio-group.radio.js +1 -1
- package/dist/split-button.d.ts +15 -5
- package/dist/split-button.js +1 -1
- package/dist/split-button.primary-button.d.ts +10 -1
- package/dist/split-button.primary-button.js +1 -1
- package/dist/split-button.primary-link.d.ts +8 -1
- package/dist/split-button.primary-link.js +1 -1
- package/dist/split-button.secondary-button.d.ts +9 -1
- package/dist/split-button.secondary-button.js +1 -1
- package/dist/split-button.secondary-button.styles.js +2 -2
- package/dist/styles/variables.css +1 -1
- package/dist/tab.d.ts +16 -5
- package/dist/tab.group.d.ts +14 -15
- package/dist/tab.group.js +1 -1
- package/dist/tab.group.styles.js +8 -3
- package/dist/tab.js +1 -1
- package/dist/tab.panel.d.ts +11 -5
- package/dist/tab.panel.js +1 -1
- package/dist/tab.panel.styles.js +9 -2
- package/dist/tag.d.ts +11 -2
- package/dist/tag.js +1 -1
- package/dist/tag.styles.js +4 -4
- package/dist/textarea.d.ts +46 -6
- package/dist/textarea.js +12 -4
- package/dist/toasts.d.ts +18 -16
- package/dist/toasts.js +1 -1
- package/dist/toasts.toast.d.ts +11 -5
- package/dist/toasts.toast.js +1 -1
- package/dist/toasts.toast.styles.js +1 -1
- package/dist/toggle.d.ts +13 -4
- package/dist/toggle.js +1 -1
- package/dist/toggle.styles.js +3 -3
- package/dist/tooltip.container.d.ts +11 -2
- package/dist/tooltip.container.js +1 -1
- package/dist/tooltip.d.ts +40 -3
- package/dist/tooltip.js +1 -1
- package/dist/tooltip.styles.js +7 -7
- package/dist/tree.d.ts +7 -1
- package/dist/tree.item.d.ts +30 -12
- package/dist/tree.item.icon-button.d.ts +7 -2
- package/dist/tree.item.icon-button.js +1 -1
- package/dist/tree.item.icon-button.styles.js +3 -3
- package/dist/tree.item.js +1 -1
- package/dist/tree.item.menu.d.ts +9 -3
- package/dist/tree.item.menu.js +1 -1
- package/dist/tree.item.menu.styles.js +3 -3
- package/dist/tree.item.styles.js +10 -5
- package/dist/tree.js +1 -1
- package/package.json +81 -54
package/README.md
CHANGED
@@ -1,24 +1,23 @@
|
|
1
|
-
<
|
1
|
+
<p align="center">
|
2
2
|
<a href="https://glide-core.crowdstrike-ux.workers.dev">
|
3
3
|
<picture alt="Glide Core Logo">
|
4
4
|
<source srcset="https://github.com/CrowdStrike/glide-core/blob/main/.github/logos/light.png?raw=true" media="(prefers-color-scheme: light)" />
|
5
5
|
<source srcset="https://github.com/CrowdStrike/glide-core/blob/main/.github/logos/dark.png?raw=true" media="(prefers-color-scheme: dark)" />
|
6
|
-
<img src="https://github.com/CrowdStrike/glide-core/blob/main/.github/logos/light.png?raw=true" />
|
6
|
+
<img src="https://github.com/CrowdStrike/glide-core/blob/main/.github/logos/light.png?raw=true" width="500" />
|
7
7
|
</picture>
|
8
|
-
|
9
8
|
</a>
|
9
|
+
</p>
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
</div>
|
11
|
+
<p align="center">
|
12
|
+
A Web Component design system from CrowdStrike.
|
13
|
+
</p>
|
15
14
|
|
16
15
|
## Usage
|
17
16
|
|
18
17
|
### 1. Install the dependencies
|
19
18
|
|
20
19
|
```bash
|
21
|
-
|
20
|
+
pnpm install @crowdstrike/glide-core lit
|
22
21
|
```
|
23
22
|
|
24
23
|
### 2. Import the fonts and variables
|
@@ -39,21 +38,3 @@ import '@crowdstrike/glide-core/button.js';
|
|
39
38
|
```html
|
40
39
|
<glide-core-button label="Button"></glide-core-button>
|
41
40
|
```
|
42
|
-
|
43
|
-
## Development
|
44
|
-
|
45
|
-
### Getting started
|
46
|
-
|
47
|
-
```bash
|
48
|
-
$ pnpm install
|
49
|
-
$ pnpm start
|
50
|
-
```
|
51
|
-
|
52
|
-
- Follow our [contribution guidelines](./CONTRIBUTING.md) before opening a pull request.
|
53
|
-
- We recommend using [Corepack](https://pnpm.io/installation#using-corepack) to manage PNPM.
|
54
|
-
- If you have `ignore-scripts=true` in your `~/.npmrc`, also run `pnpm prepare` to install the Git hooks.
|
55
|
-
|
56
|
-
### Updating style variables
|
57
|
-
|
58
|
-
1. Generate a Figma [personal access token](https://help.figma.com/hc/en-us/articles/8085703771159-Manage-personal-access-tokens).
|
59
|
-
1. `$ FIGMA_TOKEN=<token> pnpm start:production:figma`
|
package/dist/accordion.d.ts
CHANGED
@@ -5,17 +5,26 @@ declare global {
|
|
5
5
|
}
|
6
6
|
}
|
7
7
|
/**
|
8
|
-
* @
|
8
|
+
* @attr {string} label
|
9
|
+
* @attr {boolean} [open=false]
|
9
10
|
*
|
10
|
-
* @
|
11
|
-
* @
|
12
|
-
*
|
11
|
+
* @readonly
|
12
|
+
* @attr {0.19.5} [version]
|
13
|
+
*
|
14
|
+
* @slot {Element | string} - The content of the accordion
|
15
|
+
* @slot {Element} [prefix-icon] - An icon before the label
|
16
|
+
* @slot {Element} [suffix-icons] - Icons after the label
|
17
|
+
*
|
18
|
+
* @fires {Event} toggle
|
13
19
|
*/
|
14
20
|
export default class GlideCoreAccordion extends LitElement {
|
15
21
|
#private;
|
16
22
|
static shadowRootOptions: ShadowRootInit;
|
17
23
|
static styles: import("lit").CSSResult[];
|
18
24
|
label?: string;
|
25
|
+
/**
|
26
|
+
* @default false
|
27
|
+
*/
|
19
28
|
get open(): boolean;
|
20
29
|
set open(isOpen: boolean);
|
21
30
|
readonly version: string;
|
package/dist/accordion.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,o,s){var i,l=arguments.length,n=l<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,s);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(l<3?i(n):l>3?i(t,o,n):i(t,o))||n);return l>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 chevronIcon from"./icons/chevron.js";import styles from"./accordion.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";let GlideCoreAccordion=class GlideCoreAccordion extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.hasPrefixIcon=!1,this.hasSuffixIcons=!1,this.isClosing=!1,this.#e=createRef(),this.#t=createRef(),this.#o=!1,this.#s=createRef(),this.#i=createRef(),this.#l=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}get open(){return this.#o}set open(e){const t=e!==this.#o;this.#o=e;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches&&t&&this.#t.value)return this.#t.value.open=e,void this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}));if(e&&t)this.updateComplete.then((()=>{if(this.#t.value&&this.#e.value){const e=Number.parseFloat(getComputedStyle(this.#e.value)?.paddingBottom);this.#t.value.open=!0,this.#e.value.animate({height:["0px",this.#e.value.offsetHeight-e+"px"],opacity:[0,1]},{duration:150,easing:"ease-in"}).addEventListener("finish",(()=>{this.#t.value&&this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))}))}}));else if(t&&(this.isClosing=!0,this.#e.value)){const e=Number.parseFloat(getComputedStyle(this.#e.value)?.paddingBottom);this.#e.value.animate({height:[this.#e.value.offsetHeight-e+"px","0px"],opacity:[1,0]},{duration:100,easing:"ease-out"}).addEventListener("finish",(()=>{this.#t.value&&(this.#t.value.open=!1,this.isClosing=!1,this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}))}}click(){this.#l.value?.click()}render(){return html`<details class="component" ${ref(this.#t)}><summary class="${classMap({summary:!0,active:this.open||this.isClosing,open:this.open})}" data-test="summary" @click="${this.#n}" ${ref(this.#l)}>${chevronIcon}<div class="label-container"><slot class="prefix-icon-slot" name="prefix-icon" @slotchange="${this.#a}" ${ref(this.#s)}></slot><span class="label">${this.label}</span></div><slot class="${classMap({"suffix-icons-slot":!0,icons:this.hasSuffixIcons})}" name="suffix-icons" @slotchange="${this.#r}" ${ref(this.#i)}></slot></summary><slot class="${classMap({"default-slot":!0,indented:this.hasPrefixIcon})}" data-test="default-slot" ${assertSlot()} ${ref(this.#e)}></slot></details>`}#e;#t;#o;#s;#i;#l;#a(){const e=this.#s.value?.assignedNodes();this.hasPrefixIcon=Boolean(e&&e.length>0)}#r(){const e=this.#i.value?.assignedNodes();this.hasSuffixIcons=Boolean(e&&e.length>0)}#n(e){e.preventDefault(),this.open=!this.open}};__decorate([property({reflect:!0})],GlideCoreAccordion.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreAccordion.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreAccordion.prototype,"version",void 0),__decorate([state()],GlideCoreAccordion.prototype,"hasPrefixIcon",void 0),__decorate([state()],GlideCoreAccordion.prototype,"hasSuffixIcons",void 0),__decorate([state()],GlideCoreAccordion.prototype,"isClosing",void 0),GlideCoreAccordion=__decorate([customElement("glide-core-accordion")],GlideCoreAccordion);export default GlideCoreAccordion;
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,o,s){var i,l=arguments.length,n=l<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,o):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,t,o,s);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(n=(l<3?i(n):l>3?i(t,o,n):i(t,o))||n);return l>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 chevronIcon from"./icons/chevron.js";import styles from"./accordion.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreAccordion=class GlideCoreAccordion extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.hasPrefixIcon=!1,this.hasSuffixIcons=!1,this.isClosing=!1,this.#e=createRef(),this.#t=createRef(),this.#o=!1,this.#s=createRef(),this.#i=createRef(),this.#l=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:shadowRootMode}}static{this.styles=styles}get open(){return this.#o}set open(e){const t=e!==this.#o;this.#o=e;if(window.matchMedia("(prefers-reduced-motion: reduce)").matches&&t&&this.#t.value)return this.#t.value.open=e,void this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}));if(e&&t)this.updateComplete.then((()=>{if(this.#t.value&&this.#e.value){const e=Number.parseFloat(getComputedStyle(this.#e.value)?.paddingBottom);this.#t.value.open=!0,this.#e.value.animate({height:["0px",this.#e.value.offsetHeight-e+"px"],opacity:[0,1]},{duration:150,easing:"ease-in"}).addEventListener("finish",(()=>{this.#t.value&&this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0}))}))}}));else if(t&&(this.isClosing=!0,this.#e.value)){const e=Number.parseFloat(getComputedStyle(this.#e.value)?.paddingBottom);this.#e.value.animate({height:[this.#e.value.offsetHeight-e+"px","0px"],opacity:[1,0]},{duration:100,easing:"ease-out"}).addEventListener("finish",(()=>{this.#t.value&&(this.#t.value.open=!1,this.isClosing=!1,this.dispatchEvent(new Event("toggle",{bubbles:!0,composed:!0})))}))}}click(){this.#l.value?.click()}render(){return html`<details class="component" ${ref(this.#t)}><summary class="${classMap({summary:!0,active:this.open||this.isClosing,open:this.open})}" data-test="summary" @click="${this.#n}" ${ref(this.#l)}>${chevronIcon}<div class="label-container"><slot class="prefix-icon-slot" name="prefix-icon" @slotchange="${this.#a}" ${ref(this.#s)}></slot><span class="label">${this.label}</span></div><slot class="${classMap({"suffix-icons-slot":!0,icons:this.hasSuffixIcons})}" name="suffix-icons" @slotchange="${this.#r}" ${ref(this.#i)}></slot></summary><slot class="${classMap({"default-slot":!0,indented:this.hasPrefixIcon})}" data-test="default-slot" ${assertSlot()} ${ref(this.#e)}></slot></details>`}#e;#t;#o;#s;#i;#l;#a(){const e=this.#s.value?.assignedNodes();this.hasPrefixIcon=Boolean(e&&e.length>0)}#r(){const e=this.#i.value?.assignedNodes();this.hasSuffixIcons=Boolean(e&&e.length>0)}#n(e){e.preventDefault(),this.open=!this.open}};__decorate([property({reflect:!0}),required],GlideCoreAccordion.prototype,"label",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreAccordion.prototype,"open",null),__decorate([property({reflect:!0})],GlideCoreAccordion.prototype,"version",void 0),__decorate([state()],GlideCoreAccordion.prototype,"hasPrefixIcon",void 0),__decorate([state()],GlideCoreAccordion.prototype,"hasSuffixIcons",void 0),__decorate([state()],GlideCoreAccordion.prototype,"isClosing",void 0),GlideCoreAccordion=__decorate([customElement("glide-core-accordion"),final],GlideCoreAccordion);export default GlideCoreAccordion;
|
@@ -5,14 +5,26 @@ declare global {
|
|
5
5
|
}
|
6
6
|
}
|
7
7
|
/**
|
8
|
-
* @
|
9
|
-
* @
|
8
|
+
* @attr {string} label
|
9
|
+
* @attr {boolean} [disabled=false]
|
10
|
+
* @attr {boolean} [selected=false]
|
11
|
+
* @attr {string} [value='']
|
12
|
+
*
|
13
|
+
* @readonly
|
14
|
+
* @attr {0.19.5} [version]
|
15
|
+
*
|
16
|
+
* @slot {Element} [icon]
|
17
|
+
*
|
18
|
+
* @fires {Event} selected
|
10
19
|
*/
|
11
20
|
export default class GlideCoreButtonGroupButton extends LitElement {
|
12
21
|
#private;
|
13
22
|
static shadowRootOptions: ShadowRootInit;
|
14
23
|
static styles: import("lit").CSSResult[];
|
15
|
-
label?: string
|
24
|
+
label?: string;
|
25
|
+
/**
|
26
|
+
* @default false
|
27
|
+
*/
|
16
28
|
get selected(): boolean;
|
17
29
|
set selected(isSelected: boolean);
|
18
30
|
disabled: boolean;
|
@@ -22,6 +34,7 @@ export default class GlideCoreButtonGroupButton extends LitElement {
|
|
22
34
|
readonly version: string;
|
23
35
|
click(): void;
|
24
36
|
focus(options?: FocusOptions): void;
|
37
|
+
privateSelect(): void;
|
25
38
|
render(): import("lit").TemplateResult<1>;
|
26
39
|
private hasIcon;
|
27
40
|
}
|
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(t,
|
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{createRef,ref}from"lit/directives/ref.js";import{customElement,property,state}from"lit/decorators.js";import{classMap}from"lit/directives/class-map.js";import packageJson from"../package.json"with{type:"json"};import styles from"./button-group.button.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreButtonGroupButton=class GlideCoreButtonGroupButton extends LitElement{constructor(){super(...arguments),this.disabled=!1,this.value="",this.privateOrientation="horizontal",this.version=packageJson.version,this.hasIcon=!1,this.#e=createRef(),this.#t=createRef(),this.#o=!1}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get selected(){return this.#o}set selected(e){this.#o=e,this.dispatchEvent(new Event("private-selected",{bubbles:!0}))}click(){this.#e.value?.click()}focus(e){this.#e.value?.focus(e)}privateSelect(){this.selected=!0,this.dispatchEvent(new Event("selected",{bubbles:!0,composed:!0}))}render(){return html`<div aria-checked="${this.selected}" aria-disabled="${this.disabled}" class="${classMap({component:!0,selected:this.selected,disabled:this.disabled,[this.privateOrientation]:!0,icon:this.hasIcon,"icon-only":"icon-only"===this.privateVariant})}" data-test="radio" role="radio" tabindex="${!this.selected||this.disabled?-1:0}" ${ref(this.#e)}><slot name="icon" @slotchange="${this.#r}" ${assertSlot(null,"icon-only"!==this.privateVariant)} ${ref(this.#t)}></slot><div class="${classMap({label:!0,"visually-hidden":"icon-only"===this.privateVariant})}">${this.label}</div></div>`}#e;#t;#o;#r(){const e=this.#t.value?.assignedNodes();this.hasIcon=Boolean(e&&e.length>0)}};__decorate([property({reflect:!0}),required],GlideCoreButtonGroupButton.prototype,"label",void 0),__decorate([property({type:Boolean,reflect:!0})],GlideCoreButtonGroupButton.prototype,"selected",null),__decorate([property({type:Boolean,reflect:!0})],GlideCoreButtonGroupButton.prototype,"disabled",void 0),__decorate([property({reflect:!0})],GlideCoreButtonGroupButton.prototype,"value",void 0),__decorate([property()],GlideCoreButtonGroupButton.prototype,"privateOrientation",void 0),__decorate([property()],GlideCoreButtonGroupButton.prototype,"privateVariant",void 0),__decorate([property({reflect:!0})],GlideCoreButtonGroupButton.prototype,"version",void 0),__decorate([state()],GlideCoreButtonGroupButton.prototype,"hasIcon",void 0),GlideCoreButtonGroupButton=__decorate([customElement("glide-core-button-group-button"),final],GlideCoreButtonGroupButton);export default GlideCoreButtonGroupButton;
|
package/dist/button-group.d.ts
CHANGED
@@ -5,18 +5,29 @@ declare global {
|
|
5
5
|
}
|
6
6
|
}
|
7
7
|
/**
|
8
|
-
* @
|
8
|
+
* @attr {string} label
|
9
|
+
* @attr {'horizontal'|'vertical'} [orientation='horizontal']
|
10
|
+
* @attr {'icon-only'} [variant]
|
9
11
|
*
|
10
|
-
* @
|
12
|
+
* @readonly
|
13
|
+
* @attr {0.19.5} [version]
|
14
|
+
*
|
15
|
+
* @slot {GlideCoreButtonGroupButton}
|
11
16
|
*/
|
12
17
|
export default class GlideCoreButtonGroup extends LitElement {
|
13
18
|
#private;
|
14
19
|
static shadowRootOptions: ShadowRootInit;
|
15
20
|
static styles: import("lit").CSSResult[];
|
16
|
-
label?: string
|
17
|
-
|
21
|
+
label?: string;
|
22
|
+
/**
|
23
|
+
* @default undefined
|
24
|
+
*/
|
25
|
+
get variant(): 'icon-only' | undefined;
|
18
26
|
set variant(variant: 'icon-only' | undefined);
|
19
|
-
|
27
|
+
/**
|
28
|
+
* @default 'horizontal'
|
29
|
+
*/
|
30
|
+
get orientation(): 'horizontal' | 'vertical';
|
20
31
|
set orientation(orientation: 'horizontal' | 'vertical');
|
21
32
|
readonly version: string;
|
22
33
|
render(): import("lit").TemplateResult<1>;
|
package/dist/button-group.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(t,e,o,r){var n
|
1
|
+
var __decorate=this&&this.__decorate||function(t,e,o,r){var i,n=arguments.length,l=n<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,o):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(t,e,o,r);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(l=(n<3?i(l):n>3?i(e,o,l):i(e,o))||l);return n>3&&l&&Object.defineProperty(e,o,l),l};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 packageJson from"../package.json"with{type:"json"};import GlideCoreButtonGroupButton from"./button-group.button.js";import styles from"./button-group.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreButtonGroup=class GlideCoreButtonGroup extends LitElement{constructor(){super(...arguments),this.version=packageJson.version,this.#t="horizontal",this.#e=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get variant(){return this.#o}set variant(t){for(const e of this.#r)e.privateVariant=t;this.#o=t}get orientation(){return this.#t}set orientation(t){for(const e of this.#r)e.privateOrientation=t;this.#t=t}render(){return html`<div class="${classMap({component:!0,horizontal:"horizontal"===this.orientation,vertical:"vertical"===this.orientation})}"><div class="label" id="label" data-test="label">${this.label}</div><div aria-labelledby="label" role="radiogroup" class="${classMap({container:!0,vertical:"vertical"===this.orientation})}"><slot @click="${this.#i}" @keydown="${this.#n}" @private-selected="${this.#l}" @slotchange="${this.#s}" ${assertSlot([GlideCoreButtonGroupButton])} ${ref(this.#e)}></slot></div></div>`}#t;#e;#o;get#r(){return[...this.querySelectorAll("glide-core-button-group-button")]}#s(){if(!this.#r.find((({disabled:t,selected:e})=>!t&&e))){const t=this.#r.find((({disabled:t})=>!t));t&&(t.selected=!0)}for(const t of this.#r)t.privateVariant=this.variant,this.orientation&&(t.privateOrientation=this.orientation)}#i(t){if(t.target instanceof HTMLElement){const e=t.target.closest("glide-core-button-group-button");!e||e.disabled||e.selected||e.privateSelect()}}#n(t){const e=this.querySelector("glide-core-button-group-button[selected]");switch(t.key){case"ArrowUp":case"ArrowLeft":{t.preventDefault();let o=e?.previousElementSibling??this.#r.at(-1);for(;o instanceof GlideCoreButtonGroupButton&&o.disabled;)o=o.previousElementSibling??this.#r.at(-1);o instanceof GlideCoreButtonGroupButton&&o.privateSelect();break}case"ArrowDown":case"ArrowRight":{t.preventDefault();let o=e?.nextElementSibling??this.#r.at(0);for(;o instanceof GlideCoreButtonGroupButton&&o.disabled;)o=o.nextElementSibling??this.#r.at(0);o instanceof GlideCoreButtonGroupButton&&o.privateSelect();break}case" ":if(t.preventDefault(),t.target instanceof HTMLElement){const e=t.target.closest("glide-core-button-group-button");!e||e.disabled||e.selected||e.privateSelect()}}}#l(t){if(t.target instanceof GlideCoreButtonGroupButton&&t.target.selected){for(const e of this.#r)e!==t.target&&(e.selected=!1);t.target.focus()}}};__decorate([property({reflect:!0}),required],GlideCoreButtonGroup.prototype,"label",void 0),__decorate([property({reflect:!0})],GlideCoreButtonGroup.prototype,"variant",null),__decorate([property({reflect:!0})],GlideCoreButtonGroup.prototype,"orientation",null),__decorate([property({reflect:!0})],GlideCoreButtonGroup.prototype,"version",void 0),GlideCoreButtonGroup=__decorate([customElement("glide-core-button-group"),final],GlideCoreButtonGroup);export default GlideCoreButtonGroup;
|
package/dist/button.d.ts
CHANGED
@@ -5,9 +5,22 @@ declare global {
|
|
5
5
|
}
|
6
6
|
}
|
7
7
|
/**
|
8
|
-
* @
|
9
|
-
* @
|
10
|
-
* @
|
8
|
+
* @attr {string} label
|
9
|
+
* @attr {boolean} [disabled=false]
|
10
|
+
* @attr {string} [name='']
|
11
|
+
* @attr {'large'|'small'} [size='large']
|
12
|
+
* @attr {'button'|'submit'|'reset'} [type='button']
|
13
|
+
* @attr {string} [value='']
|
14
|
+
* @attr {'primary'|'secondary'|'tertiary'} [variant='primary']
|
15
|
+
*
|
16
|
+
* @readonly
|
17
|
+
* @attr {0.19.5} [version]
|
18
|
+
*
|
19
|
+
* @slot {Element} [prefix-icon] - An icon before the label
|
20
|
+
* @slot {Element} [suffix-icon] - An icon after the label
|
21
|
+
*
|
22
|
+
* @readonly
|
23
|
+
* @prop {HTMLFormElement | null} form
|
11
24
|
*/
|
12
25
|
export default class GlideCoreButton extends LitElement {
|
13
26
|
#private;
|
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";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})],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")],GlideCoreButton);export default GlideCoreButton;
|
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;
|
package/dist/checkbox-group.d.ts
CHANGED
@@ -7,18 +7,56 @@ declare global {
|
|
7
7
|
}
|
8
8
|
}
|
9
9
|
/**
|
10
|
-
* @
|
11
|
-
* @
|
12
|
-
* @
|
10
|
+
* @attr {string} label
|
11
|
+
* @attr {boolean} [disabled=false]
|
12
|
+
* @attr {boolean} [hide-label=false]
|
13
|
+
* @attr {string} [name='']
|
14
|
+
* @attr {'horizontal'} [orientation='horizontal']
|
15
|
+
* @attr {boolean} [required=false]
|
16
|
+
* @attr {string} [summary]
|
17
|
+
* @attr {string} [tooltip]
|
18
|
+
* @attr {string[]} [value=[]]
|
13
19
|
*
|
14
|
-
* @
|
15
|
-
* @
|
20
|
+
* @readonly
|
21
|
+
* @attr {0.19.5} [version]
|
22
|
+
*
|
23
|
+
* @slot {GlideCoreCheckbox}
|
24
|
+
* @slot {Element | string} [description] - Additional information or context
|
25
|
+
*
|
26
|
+
* @fires {Event} invalid
|
27
|
+
*
|
28
|
+
* @readonly
|
29
|
+
* @prop {HTMLFormElement | null} form
|
30
|
+
*
|
31
|
+
* @readonly
|
32
|
+
* @prop {ValidityState} validity
|
33
|
+
*
|
34
|
+
* @method checkValidity
|
35
|
+
* @returns boolean
|
36
|
+
*
|
37
|
+
* @method formAssociatedCallback
|
38
|
+
* @method formResetCallback
|
39
|
+
*
|
40
|
+
* @method reportValidity
|
41
|
+
* @returns boolean
|
42
|
+
*
|
43
|
+
* @method resetValidityFeedback
|
44
|
+
*
|
45
|
+
* @method setCustomValidity
|
46
|
+
* @param {string} message
|
47
|
+
*
|
48
|
+
* @method setValidity
|
49
|
+
* @param {ValidityStateFlags} [flags]
|
50
|
+
* @param {string} [message]
|
16
51
|
*/
|
17
52
|
export default class GlideCoreCheckboxGroup extends LitElement implements FormControl {
|
18
53
|
#private;
|
19
54
|
static formAssociated: boolean;
|
20
55
|
static shadowRootOptions: ShadowRootInit;
|
21
56
|
static styles: import("lit").CSSResult[];
|
57
|
+
/**
|
58
|
+
* @default false
|
59
|
+
*/
|
22
60
|
get disabled(): boolean;
|
23
61
|
set disabled(isDisabled: boolean);
|
24
62
|
hideLabel: boolean;
|
@@ -26,10 +64,16 @@ export default class GlideCoreCheckboxGroup extends LitElement implements FormCo
|
|
26
64
|
name: string;
|
27
65
|
orientation: "horizontal";
|
28
66
|
privateSplit?: 'left' | 'middle';
|
67
|
+
/**
|
68
|
+
* @default false
|
69
|
+
*/
|
29
70
|
get required(): boolean;
|
30
71
|
set required(isRequired: boolean);
|
31
72
|
summary?: string;
|
32
73
|
tooltip?: string;
|
74
|
+
/**
|
75
|
+
* @default []
|
76
|
+
*/
|
33
77
|
get value(): string[];
|
34
78
|
set value(value: string[]);
|
35
79
|
readonly version: string;
|
@@ -38,7 +82,6 @@ export default class GlideCoreCheckboxGroup extends LitElement implements FormCo
|
|
38
82
|
firstUpdated(): void;
|
39
83
|
get form(): HTMLFormElement | null;
|
40
84
|
get validity(): ValidityState;
|
41
|
-
get willValidate(): boolean;
|
42
85
|
focus(options?: FocusOptions): void;
|
43
86
|
formAssociatedCallback(): void;
|
44
87
|
formResetCallback(): void;
|
package/dist/checkbox-group.js
CHANGED
@@ -1,9 +1,10 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,i,o){var s
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,i,o){var r,s=arguments.length,a=s<3?t:null===o?o=Object.getOwnPropertyDescriptor(t,i):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,i,o);else for(var l=e.length-1;l>=0;l--)(r=e[l])&&(a=(s<3?r(a):s>3?r(t,i,a):r(t,i))||a);return s>3&&a&&Object.defineProperty(t,i,a),a};import"./label.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{unsafeHTML}from"lit/directives/unsafe-html.js";import{when}from"lit/directives/when.js";import packageJson from"../package.json"with{type:"json"};import GlideCoreCheckbox from"./checkbox.js";import styles from"./checkbox-group.styles.js";import assertSlot from"./library/assert-slot.js";import shadowRootMode from"./library/shadow-root-mode.js";import final from"./library/final.js";import required from"./library/required.js";let GlideCoreCheckboxGroup=class GlideCoreCheckboxGroup extends LitElement{static{this.formAssociated=!0}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:shadowRootMode}}static{this.styles=styles}get disabled(){return this.#e}set disabled(e){this.#e=e;for(const t of this.#t)t.disabled=e}get required(){return this.#i}set required(e){this.#i=e;for(const t of this.#t)e?t.setValidity(this.#o.validity," "):t.setValidity({}),t.requestUpdate()}get value(){return this.#r}set value(e){this.#r=e;for(const t of this.#t){e.some((e=>e&&e===t.value))?t.checked=!0:t.value&&(t.checked=!1),t.checked&&t.disabled&&(t.disabled=!1)}}checkValidity(){this.isCheckingValidity=!0;const e=this.#o.checkValidity();return this.isCheckingValidity=!1,e}disconnectedCallback(){super.disconnectedCallback(),this.form?.removeEventListener("formdata",this.#s)}firstUpdated(){if(this.disabled)for(const e of this.#t)e.disabled=!0;this.value=this.#t.filter((({checked:e,disabled:t})=>e&&!t)).map((({value:e})=>e)).filter((e=>Boolean(e)));for(const e of this.#t)e.privateVariant="minimal",e.addEventListener("blur",this.#a.bind(this))}get form(){return this.#o.form}get validity(){const e=this.#t.some((({checked:e})=>e));this.required&&!e&&this.#o.setValidity({customError:Boolean(this.validityMessage),valueMissing:!0}," ",this.#l.value),this.required&&this.#o.validity.valueMissing&&e&&this.#o.setValidity({}),this.required||!this.#o.validity.valueMissing||e||this.#o.setValidity({});for(const e of this.#t)e.setValidity(this.#o.validity," "),e.requestUpdate();return this.#o.validity}focus(e){const t=this.#t.find((({disabled:e})=>!e));t?.focus(e)}formAssociatedCallback(){this.form?.addEventListener("formdata",this.#s)}formResetCallback(){for(const e of this.#t)e.formResetCallback()}render(){return html`<div
|
2
2
|
class="component"
|
3
3
|
data-test="component"
|
4
4
|
${ref(this.#l)}
|
5
5
|
>
|
6
6
|
<glide-core-private-label
|
7
|
+
label=${ifDefined(this.label)}
|
7
8
|
orientation=${this.orientation}
|
8
9
|
split=${ifDefined(this.privateSplit??void 0)}
|
9
10
|
tooltip=${ifDefined(this.tooltip)}
|
@@ -22,23 +23,33 @@ var __decorate=this&&this.__decorate||function(e,t,i,o){var s,r=arguments.length
|
|
22
23
|
class=${classMap({"checkbox-container":!0,invalid:this.#d})}
|
23
24
|
>
|
24
25
|
<slot
|
25
|
-
class="
|
26
|
+
class="default-slot"
|
26
27
|
@change=${this.#n}
|
27
28
|
@private-value-change=${this.#c}
|
28
29
|
${assertSlot([GlideCoreCheckbox])}
|
29
30
|
${ref(this.#h)}
|
30
|
-
|
31
|
+
>
|
32
|
+
<!--
|
33
|
+
@type {GlideCoreCheckbox}
|
34
|
+
@required
|
35
|
+
-->
|
36
|
+
</slot>
|
31
37
|
</div>
|
32
38
|
|
33
39
|
<div id="description" slot="description">
|
34
40
|
<slot
|
35
41
|
class=${classMap({description:!0,hidden:Boolean(this.#d&&this.validityMessage)})}
|
36
42
|
name="description"
|
37
|
-
|
43
|
+
>
|
44
|
+
<!--
|
45
|
+
Additional information or context
|
46
|
+
@type {Element | string}
|
47
|
+
-->
|
48
|
+
</slot>
|
38
49
|
|
39
50
|
${when(this.#d&&this.validityMessage,(()=>html`<span class="validity-message" data-test="validity-message"
|
40
51
|
>${unsafeHTML(this.validityMessage)}</span
|
41
52
|
>`))}
|
42
53
|
</div>
|
43
54
|
</glide-core-private-label>
|
44
|
-
</div>`}reportValidity(){this.isReportValidityOrSubmit=!0;const e=this.#o.reportValidity();return this.requestUpdate(),e}resetValidityFeedback(){this.isReportValidityOrSubmit=!1}setCustomValidity(e){this.validityMessage=e,""===e?this.#o.setValidity({customError:!1},"",this.#l.value):this.#o.setValidity({customError:!0,valueMissing:this.#o.validity.valueMissing}," ",this.#l.value)}setValidity(e,t){this.validityMessage=t,this.#o.setValidity(e," ",this.#l.value)}constructor(){super(),this.hideLabel=!1,this.name="",this.orientation="horizontal",this.version=packageJson.version,this.isBlurring=!1,this.isCheckingValidity=!1,this.isReportValidityOrSubmit=!1,this.#l=createRef(),this.#h=createRef(),this.#e=!1,this.#i=!1,this.#
|
55
|
+
</div>`}reportValidity(){this.isReportValidityOrSubmit=!0;const e=this.#o.reportValidity();return this.requestUpdate(),e}resetValidityFeedback(){this.isReportValidityOrSubmit=!1}setCustomValidity(e){this.validityMessage=e,""===e?this.#o.setValidity({customError:!1},"",this.#l.value):this.#o.setValidity({customError:!0,valueMissing:this.#o.validity.valueMissing}," ",this.#l.value)}setValidity(e,t){this.validityMessage=t,this.#o.setValidity(e," ",this.#l.value)}constructor(){super(),this.hideLabel=!1,this.name="",this.orientation="horizontal",this.version=packageJson.version,this.isBlurring=!1,this.isCheckingValidity=!1,this.isReportValidityOrSubmit=!1,this.#l=createRef(),this.#h=createRef(),this.#e=!1,this.#i=!1,this.#r=[],this.#s=({formData:e})=>{this.name&&this.value.length>0&&!this.disabled&&e.append(this.name,JSON.stringify(this.value))},this.#o=this.attachInternals(),this.addEventListener("invalid",(e=>{if(e?.preventDefault(),this.isCheckingValidity||this.isBlurring)return;this.isReportValidityOrSubmit=!0;this.form?.querySelector(":invalid")===this&&this.focus()}))}#l;#h;#o;#e;#i;#r;get#t(){return this.#h.value?this.#h.value.assignedElements().filter((e=>e instanceof GlideCoreCheckbox)):[]}#s;get#d(){return!this.disabled&&!this.validity.valid&&this.isReportValidityOrSubmit}#p(){for(const e of this.#t)e.privateIsReportValidityOrSubmit=!0}#a(e){const t=e.relatedTarget;t&&t instanceof GlideCoreCheckbox&&this.#t.includes(t)||this.#p()}#n(e){e.target instanceof GlideCoreCheckbox&&e.target.checked&&e.target.value?this.value=[...this.value,e.target.value]:e.target instanceof GlideCoreCheckbox&&!e.target.checked&&(this.value=this.value.filter((t=>e.target instanceof GlideCoreCheckbox&&t!==e.target.value)))}#c(e){e.target instanceof GlideCoreCheckbox&&e.target.checked&&e.detail.new?this.value=this.#r.map((t=>t===e.detail.old?e.detail.new:t)):e.target instanceof GlideCoreCheckbox&&e.target.checked&&(this.value=this.#r.filter((t=>t!==e.detail.old)))}};__decorate([property({reflect:!0,type:Boolean})],GlideCoreCheckboxGroup.prototype,"disabled",null),__decorate([property({attribute:"hide-label",type:Boolean})],GlideCoreCheckboxGroup.prototype,"hideLabel",void 0),__decorate([property({reflect:!0}),required],GlideCoreCheckboxGroup.prototype,"label",void 0),__decorate([property({reflect:!0})],GlideCoreCheckboxGroup.prototype,"name",void 0),__decorate([property({reflect:!0})],GlideCoreCheckboxGroup.prototype,"orientation",void 0),__decorate([property()],GlideCoreCheckboxGroup.prototype,"privateSplit",void 0),__decorate([property({reflect:!0,type:Boolean})],GlideCoreCheckboxGroup.prototype,"required",null),__decorate([property({reflect:!0})],GlideCoreCheckboxGroup.prototype,"summary",void 0),__decorate([property({reflect:!0})],GlideCoreCheckboxGroup.prototype,"tooltip",void 0),__decorate([property({reflect:!0,type:Array})],GlideCoreCheckboxGroup.prototype,"value",null),__decorate([property({reflect:!0})],GlideCoreCheckboxGroup.prototype,"version",void 0),__decorate([state()],GlideCoreCheckboxGroup.prototype,"isBlurring",void 0),__decorate([state()],GlideCoreCheckboxGroup.prototype,"isCheckingValidity",void 0),__decorate([state()],GlideCoreCheckboxGroup.prototype,"isReportValidityOrSubmit",void 0),__decorate([state()],GlideCoreCheckboxGroup.prototype,"validityMessage",void 0),GlideCoreCheckboxGroup=__decorate([customElement("glide-core-checkbox-group"),final],GlideCoreCheckboxGroup);export default GlideCoreCheckboxGroup;
|
package/dist/checkbox.d.ts
CHANGED
@@ -8,12 +8,50 @@ declare global {
|
|
8
8
|
}
|
9
9
|
}
|
10
10
|
/**
|
11
|
-
* @
|
12
|
-
* @
|
13
|
-
* @
|
11
|
+
* @attr {string} label
|
12
|
+
* @attr {boolean} [checked=false]
|
13
|
+
* @attr {boolean} [disabled=false]
|
14
|
+
* @attr {boolean} [hide-label=false]
|
15
|
+
* @attr {boolean} [indeterminate=false]
|
16
|
+
* @attr {string} [name='']
|
17
|
+
* @attr {'horizontal'|'vertical'} [orientation='horizontal']
|
18
|
+
* @attr {boolean} [required=false]
|
19
|
+
* @attr {string} [summary]
|
20
|
+
* @attr {string} [tooltip]
|
21
|
+
* @attr {string} [value]
|
14
22
|
*
|
15
|
-
* @
|
16
|
-
* @
|
23
|
+
* @readonly
|
24
|
+
* @attr {0.19.5} [version]
|
25
|
+
*
|
26
|
+
* @slot {Element | string} [description] - Additional information or context
|
27
|
+
* @slot {Element} [private-icon]
|
28
|
+
*
|
29
|
+
* @fires {Event} change
|
30
|
+
* @fires {Event} invalid
|
31
|
+
*
|
32
|
+
* @readonly
|
33
|
+
* @prop {HTMLFormElement | null} form
|
34
|
+
*
|
35
|
+
* @readonly
|
36
|
+
* @prop {ValidityState} validity
|
37
|
+
*
|
38
|
+
* @method checkValidity
|
39
|
+
* @returns boolean
|
40
|
+
*
|
41
|
+
* @method formAssociatedCallback
|
42
|
+
* @method formResetCallback
|
43
|
+
*
|
44
|
+
* @method reportValidity
|
45
|
+
* @returns boolean
|
46
|
+
*
|
47
|
+
* @method resetValidityFeedback
|
48
|
+
*
|
49
|
+
* @method setCustomValidity
|
50
|
+
* @param {string} message
|
51
|
+
*
|
52
|
+
* @method setValidity
|
53
|
+
* @param {ValidityStateFlags} [flags]
|
54
|
+
* @param {string} [message]
|
17
55
|
*/
|
18
56
|
export default class GlideCoreCheckbox extends LitElement implements FormControl {
|
19
57
|
#private;
|
@@ -21,10 +59,13 @@ export default class GlideCoreCheckbox extends LitElement implements FormControl
|
|
21
59
|
static shadowRootOptions: ShadowRootInit;
|
22
60
|
static styles: import("lit").CSSResult[];
|
23
61
|
checked: boolean;
|
24
|
-
|
62
|
+
privateInternallyInert: boolean;
|
25
63
|
disabled: boolean;
|
26
64
|
hideLabel: boolean;
|
27
65
|
indeterminate: boolean;
|
66
|
+
/**
|
67
|
+
* @default undefined
|
68
|
+
*/
|
28
69
|
get label(): string | undefined;
|
29
70
|
set label(label: string | undefined);
|
30
71
|
orientation: 'horizontal' | 'vertical';
|
@@ -38,12 +79,14 @@ export default class GlideCoreCheckbox extends LitElement implements FormControl
|
|
38
79
|
required: boolean;
|
39
80
|
summary?: string;
|
40
81
|
tooltip?: string;
|
82
|
+
/**
|
83
|
+
* @default undefined
|
84
|
+
*/
|
41
85
|
get value(): string;
|
42
86
|
set value(value: string);
|
43
87
|
privateIsReportValidityOrSubmit: boolean;
|
44
88
|
readonly version: string;
|
45
89
|
get form(): HTMLFormElement | null;
|
46
|
-
blur(): void;
|
47
90
|
checkValidity(): boolean;
|
48
91
|
click(): void;
|
49
92
|
connectedCallback(): void;
|
@@ -57,7 +100,6 @@ export default class GlideCoreCheckbox extends LitElement implements FormControl
|
|
57
100
|
resetValidityFeedback(): void;
|
58
101
|
setCustomValidity(message: string): void;
|
59
102
|
setValidity(flags?: ValidityStateFlags, message?: string): void;
|
60
|
-
get willValidate(): boolean;
|
61
103
|
updated(): void;
|
62
104
|
constructor();
|
63
105
|
private isBlurring;
|