@crowdstrike/glide-core 0.6.2 → 0.6.3
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/button.styles.js +1 -1
- package/dist/checkbox-group.d.ts +1 -0
- package/dist/checkbox-group.js +1 -1
- package/dist/checkbox-group.styles.js +1 -1
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.styles.js +3 -0
- package/dist/dropdown.d.ts +1 -0
- package/dist/dropdown.js +1 -1
- package/dist/dropdown.styles.js +1 -1
- package/dist/form-controls-layout.d.ts +23 -0
- package/dist/form-controls-layout.js +1 -0
- package/dist/form-controls-layout.stories.d.ts +10 -0
- package/dist/form-controls-layout.styles.d.ts +2 -0
- package/dist/form-controls-layout.styles.js +7 -0
- package/dist/form-controls-layout.test.basics.d.ts +2 -0
- package/dist/form-controls-layout.test.basics.js +74 -0
- package/dist/form-controls-layout.test.interactions.d.ts +2 -0
- package/dist/form-controls-layout.test.interactions.js +26 -0
- package/dist/input.d.ts +1 -0
- package/dist/input.js +1 -1
- package/dist/input.test.basics.js +6 -0
- package/dist/label.d.ts +3 -0
- package/dist/label.js +1 -1
- package/dist/label.styles.js +24 -3
- package/dist/label.test.basics.js +9 -5
- package/dist/library/ow.d.ts +2 -2
- package/dist/menu.js +1 -1
- package/dist/menu.test.basics.js +3 -10
- package/dist/menu.test.interactions.js +72 -36
- package/dist/modal.js +1 -1
- package/dist/modal.tertiary-icon.js +1 -1
- package/dist/radio-group.d.ts +1 -0
- package/dist/radio-group.js +1 -1
- package/dist/radio-group.styles.js +1 -1
- package/dist/split-container.styles.js +1 -1
- package/dist/styles/variables.css +1 -1
- package/dist/textarea.d.ts +1 -0
- package/dist/textarea.js +2 -2
- package/dist/textarea.styles.js +1 -1
- package/dist/toasts.d.ts +1 -1
- package/dist/toasts.js +1 -1
- package/dist/toggle.d.ts +1 -0
- package/dist/toggle.js +1 -1
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +1 -1
- package/dist/tooltip.styles.js +3 -0
- package/dist/tooltip.test.interactions.js +22 -0
- package/dist/tree.item.d.ts +0 -3
- package/dist/tree.item.js +1 -1
- package/dist/tree.item.menu.js +1 -1
- package/package.json +2 -2
package/dist/tooltip.styles.js
CHANGED
@@ -11,6 +11,9 @@ import{css}from"lit";import focusOutline from"./styles/focus-outline.js";export
|
|
11
11
|
|
12
12
|
/* Additional whitespace from line height and the tooltip won't be vertically centered. */
|
13
13
|
display: flex;
|
14
|
+
|
15
|
+
/* Allows the consumer to style the target using "text-overflow: ellipsis". */
|
16
|
+
inline-size: 100%;
|
14
17
|
padding: 0;
|
15
18
|
position: relative;
|
16
19
|
|
@@ -15,6 +15,17 @@ it('is visible on "focusin"', async () => {
|
|
15
15
|
await elementUpdated(component);
|
16
16
|
expect(component.shadowRoot?.querySelector('[role="tooltip"]')?.checkVisibility()).to.be.true;
|
17
17
|
});
|
18
|
+
it('is hidden on "focusin" when disabled', async () => {
|
19
|
+
const component = await fixture(html `<glide-core-tooltip disabled>
|
20
|
+
Tooltip
|
21
|
+
<span slot="target" tabindex="0">Target</span>
|
22
|
+
</glide-core-tooltip>`);
|
23
|
+
component.shadowRoot
|
24
|
+
?.querySelector('[aria-labelledby="tooltip"]')
|
25
|
+
?.dispatchEvent(new FocusEvent('focusin'));
|
26
|
+
await elementUpdated(component);
|
27
|
+
expect(component.shadowRoot?.querySelector('[role="tooltip"]')?.checkVisibility()).to.not.be.ok;
|
28
|
+
});
|
18
29
|
it('is hidden on "blur"', async () => {
|
19
30
|
const component = await fixture(html `<glide-core-tooltip>
|
20
31
|
Tooltip
|
@@ -58,6 +69,17 @@ it('is visible on "mouseover"', async () => {
|
|
58
69
|
await elementUpdated(component);
|
59
70
|
expect(component.shadowRoot?.querySelector('[role="tooltip"]')?.checkVisibility()).to.be.true;
|
60
71
|
});
|
72
|
+
it('is hidden on "mouseover" when disabled', async () => {
|
73
|
+
const component = await fixture(html `<glide-core-tooltip disabled>
|
74
|
+
Tooltip
|
75
|
+
<span slot="target" tabindex="0">Target</span>
|
76
|
+
</glide-core-tooltip>`);
|
77
|
+
component.shadowRoot
|
78
|
+
?.querySelector('.component')
|
79
|
+
?.dispatchEvent(new MouseEvent('mouseover'));
|
80
|
+
await elementUpdated(component);
|
81
|
+
expect(component.shadowRoot?.querySelector('[role="tooltip"]')?.checkVisibility()).to.not.be.ok;
|
82
|
+
});
|
61
83
|
it('is hidden on "mouseout"', async () => {
|
62
84
|
const clock = sinon.useFakeTimers();
|
63
85
|
const component = await fixture(html `<glide-core-tooltip>
|
package/dist/tree.item.d.ts
CHANGED
package/dist/tree.item.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,s
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,i,s){var r,o=arguments.length,l=o<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)l=Reflect.decorate(e,t,i,s);else for(var d=e.length-1;d>=0;d--)(r=e[d])&&(l=(o<3?r(l):o>3?r(t,i,l):r(t,i))||l);return o>3&&l&&Object.defineProperty(t,i,l),l};import"./tree.item.menu.js";import{LitElement,html}from"lit";import{classMap}from"lit/directives/class-map.js";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property,queryAssignedElements,state}from"lit/decorators.js";import{ifDefined}from"lit/directives/if-defined.js";import GlideCoreMenu from"./menu.js";import{when}from"lit/directives/when.js";import styles from"./tree.item.styles.js";let GlideCoreTreeItem=class GlideCoreTreeItem extends LitElement{constructor(){super(...arguments),this.expanded=!1,this.label="",this.level=1,this.selected=!1,this.childTreeItems=[],this.#e=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,delegatesFocus:!0,mode:"closed"}}static{this.styles=styles}firstUpdated(){this.#t()}focus(){this.#e.value?.focus()}get hasChildTreeItems(){return this.childTreeItems.length>0}render(){return html`<div class="${classMap({component:!0,expanded:this.expanded,selected:this.selected})}" role="treeitem" aria-label="${this.label}" aria-selected="${ifDefined(this.#i)}" aria-expanded="${ifDefined(this.#s)}"><div class="${classMap({"label-container":!0})}" tabindex="-1" ${ref(this.#e)}><div style="flex-shrink: 0; width:${this.#r};"></div><div class="expand-icon-container">${when(this.hasChildTreeItems,(()=>html`<div><svg aria-hidden="true" class="${classMap({"expand-icon":!0,"expand-icon-expanded":this.expanded})}" width="16" height="16" viewBox="0 0 24 24" fill="none"><path d="M9 18L15 12L9 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg></div>`))}</div><slot name="prefix"></slot><div class="label">${this.label}</div><div class="icon-container"><slot name="menu"></slot><slot name="suffix"></slot></div></div><div class="child-items" role="group"><slot></slot></div></div>`}selectItem(e){let t;for(const i of this.slotElements)if(e===i)i.setAttribute("selected","true"),t=i;else{i.removeAttribute("selected");const s=i.selectItem(e);s&&(t=s)}return t}setContainingBlock(e){for(const t of this.menuSlotAssignedElements)t.setContainingBlock(e)}toggleExpand(){this.expanded=!this.expanded}#e;get#s(){return this.hasChildTreeItems?this.expanded?"true":"false":void 0}get#i(){return this.hasChildTreeItems?void 0:this.selected?"true":"false"}get#r(){return 20*(this.level-1)+"px"}#t(){const e=[];for(const t of this.slotElements)t.level=this.level+1,e.push(t);this.childTreeItems=e}};__decorate([property({type:Boolean})],GlideCoreTreeItem.prototype,"expanded",void 0),__decorate([property({reflect:!0})],GlideCoreTreeItem.prototype,"label",void 0),__decorate([property({type:Number})],GlideCoreTreeItem.prototype,"level",void 0),__decorate([property({type:Boolean})],GlideCoreTreeItem.prototype,"selected",void 0),__decorate([queryAssignedElements({slot:"menu"})],GlideCoreTreeItem.prototype,"menuSlotAssignedElements",void 0),__decorate([queryAssignedElements({slot:"prefix"})],GlideCoreTreeItem.prototype,"prefixSlotAssignedElements",void 0),__decorate([queryAssignedElements()],GlideCoreTreeItem.prototype,"slotElements",void 0),__decorate([queryAssignedElements({slot:"suffix"})],GlideCoreTreeItem.prototype,"suffixSlotAssignedElements",void 0),__decorate([state()],GlideCoreTreeItem.prototype,"childTreeItems",void 0),GlideCoreTreeItem=__decorate([customElement("glide-core-tree-item")],GlideCoreTreeItem);export default GlideCoreTreeItem;
|
package/dist/tree.item.menu.js
CHANGED
@@ -1 +1 @@
|
|
1
|
-
var __decorate=this&&this.__decorate||function(e,t,o,l){var r,n=arguments.length,i=n<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,o):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,l);else for(var m=e.length-1;m>=0;m--)(r=e[m])&&(i=(n<3?r(i):n>3?r(t,o,i):r(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i};import"./icon-button.js";import"./menu.js";import"./menu.options.js";import{LitElement,html}from"lit";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{owSlot,owSlotType}from"./library/ow.js";import GlideCoreMenu from"./menu.js";import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import styles from"./tree.item.menu.styles.js";let GlideCoreTreeItemMenu=class GlideCoreTreeItemMenu extends LitElement{constructor(){super(...arguments),this.placement="bottom-start",this.#e=createRef(),this.#t=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:"closed"}}static{this.styles=styles}firstUpdated(){owSlot(this.#e.value),owSlotType(this.#e.value,[GlideCoreMenuButton,GlideCoreMenuLink])}render(){return html`<glide-core-menu class="component" placement="${this.placement}" ${ref(this.#t)}><glide-core-menu-options><slot @slotchange="${this.#o}" ${ref(this.#e)}></slot></glide-core-menu-options><glide-core-icon-button slot="target" variant="tertiary"><svg width="4" height="14" viewBox="0 0 4 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 15C2.55228 15 3 15.4477 3 16C3 16.5523 2.55228 17 2 17C1.44772 17 1 16.5523 1 16C1 15.4477 1.44772 15 2 15Z"/><path d="M2 8C2.55228 8 3 8.44772 3 9C3 9.55228 2.55228 10 2 10C1.44772 10 1 9.55228 1 9C1 8.44772 1.44772 8 2 8Z"/><path d="M2 1C2.55228 1 3 1.44772 3 2C3 2.55228 2.55228 3 2 3C1.44772 3 1 2.55228 1 2C1 1.44772 1.44772 1 2 1Z"/></svg></glide-core-icon-button></glide-core-menu>`}setContainingBlock(e){this.#t.value.setContainingBlock(e)}#e;#t;#o(){owSlot(this.#e.value),owSlotType(this.#e.value,[GlideCoreMenuButton,GlideCoreMenuLink])}};__decorate([property({reflect:!0})],GlideCoreTreeItemMenu.prototype,"placement",void 0),GlideCoreTreeItemMenu=__decorate([customElement("glide-core-tree-item-menu")],GlideCoreTreeItemMenu);export default GlideCoreTreeItemMenu;
|
1
|
+
var __decorate=this&&this.__decorate||function(e,t,o,l){var r,n=arguments.length,i=n<3?t:null===l?l=Object.getOwnPropertyDescriptor(t,o):l;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,o,l);else for(var m=e.length-1;m>=0;m--)(r=e[m])&&(i=(n<3?r(i):n>3?r(t,o,i):r(t,o))||i);return n>3&&i&&Object.defineProperty(t,o,i),i};import"./icon-button.js";import"./menu.js";import"./menu.options.js";import{LitElement,html}from"lit";import{createRef,ref}from"lit/directives/ref.js";import{customElement,property}from"lit/decorators.js";import{owSlot,owSlotType}from"./library/ow.js";import GlideCoreMenu from"./menu.js";import GlideCoreMenuButton from"./menu.button.js";import GlideCoreMenuLink from"./menu.link.js";import ow from"./library/ow.js";import styles from"./tree.item.menu.styles.js";let GlideCoreTreeItemMenu=class GlideCoreTreeItemMenu extends LitElement{constructor(){super(...arguments),this.placement="bottom-start",this.#e=createRef(),this.#t=createRef()}static{this.shadowRootOptions={...LitElement.shadowRootOptions,mode:"closed"}}static{this.styles=styles}firstUpdated(){owSlot(this.#e.value),owSlotType(this.#e.value,[GlideCoreMenuButton,GlideCoreMenuLink])}render(){return html`<glide-core-menu class="component" placement="${this.placement}" ${ref(this.#t)}><glide-core-menu-options><slot @slotchange="${this.#o}" ${ref(this.#e)}></slot></glide-core-menu-options><glide-core-icon-button slot="target" variant="tertiary"><svg width="4" height="14" viewBox="0 0 4 18" fill="none" stroke="currentColor" stroke-width="2"><path d="M2 15C2.55228 15 3 15.4477 3 16C3 16.5523 2.55228 17 2 17C1.44772 17 1 16.5523 1 16C1 15.4477 1.44772 15 2 15Z"/><path d="M2 8C2.55228 8 3 8.44772 3 9C3 9.55228 2.55228 10 2 10C1.44772 10 1 9.55228 1 9C1 8.44772 1.44772 8 2 8Z"/><path d="M2 1C2.55228 1 3 1.44772 3 2C3 2.55228 2.55228 3 2 3C1.44772 3 1 2.55228 1 2C1 1.44772 1.44772 1 2 1Z"/></svg></glide-core-icon-button></glide-core-menu>`}setContainingBlock(e){ow(this.#t.value,ow.object.instanceOf(Element)),this.#t.value.setContainingBlock(e)}#e;#t;#o(){owSlot(this.#e.value),owSlotType(this.#e.value,[GlideCoreMenuButton,GlideCoreMenuLink])}};__decorate([property({reflect:!0})],GlideCoreTreeItemMenu.prototype,"placement",void 0),GlideCoreTreeItemMenu=__decorate([customElement("glide-core-tree-item-menu")],GlideCoreTreeItemMenu);export default GlideCoreTreeItemMenu;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@crowdstrike/glide-core",
|
3
|
-
"version": "0.6.
|
3
|
+
"version": "0.6.3",
|
4
4
|
"description": "CrowdStrike's Glide Design System components package for providing web components",
|
5
5
|
"author": "CrowdStrike UX Team",
|
6
6
|
"license": "Apache-2.0",
|
@@ -29,7 +29,7 @@
|
|
29
29
|
"./styles/*": null,
|
30
30
|
"./label.js": null,
|
31
31
|
"./toasts.toast.js": null,
|
32
|
-
"./library/set-containing-block.js": "./dist/set-containing-block.js",
|
32
|
+
"./library/set-containing-block.js": "./dist/library/set-containing-block.js",
|
33
33
|
"./styles/fonts.css": "./dist/styles/fonts.css",
|
34
34
|
"./styles/variables.css": "./dist/styles/variables.css"
|
35
35
|
},
|