@odx/foundation 0.1.0-alpha.21 → 0.1.0-alpha.23
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/components/button/base-button.d.ts +4 -2
- package/dist/components/button/base-button.d.ts.map +1 -1
- package/dist/components/button/base-button.js +18 -24
- package/dist/components/button/button.component.css.js +1 -1
- package/dist/components/button/button.component.d.ts +0 -2
- package/dist/components/button/button.component.d.ts.map +1 -1
- package/dist/components/button/button.component.js +1 -10
- package/dist/components/icon-button/icon-button.component.js +1 -1
- package/dist/components/loading-overlay/loading-overlay.component.d.ts.map +1 -1
- package/dist/components/loading-overlay/loading-overlay.component.js +3 -1
- package/dist/components/loading-spinner/index.d.ts +2 -0
- package/dist/components/loading-spinner/index.d.ts.map +1 -0
- package/dist/components/loading-spinner/loading-spinner.component.css.js +3 -0
- package/dist/components/loading-spinner/loading-spinner.component.d.ts +13 -0
- package/dist/components/loading-spinner/loading-spinner.component.d.ts.map +1 -0
- package/dist/components/loading-spinner/loading-spinner.component.js +58 -0
- package/dist/components/main.d.ts +1 -1
- package/dist/components/main.d.ts.map +1 -1
- package/dist/components/main.js +1 -1
- package/dist/src/lib/mixins/with-loading-state.d.ts.map +1 -1
- package/dist/src/lib/mixins/with-loading-state.js +0 -1
- package/package.json +2 -2
- package/dist/components/loading-indicator/index.d.ts +0 -2
- package/dist/components/loading-indicator/index.d.ts.map +0 -1
- package/dist/components/loading-indicator/loading-indicator.component.css.js +0 -3
- package/dist/components/loading-indicator/loading-indicator.component.d.ts +0 -11
- package/dist/components/loading-indicator/loading-indicator.component.d.ts.map +0 -1
- package/dist/components/loading-indicator/loading-indicator.component.js +0 -26
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TemplateResult } from 'lit';
|
|
2
2
|
import { BaseLink } from '../link';
|
|
3
|
+
declare const BaseButtonComponent_base: import('@odx/foundation').Constructor<import('@odx/foundation').HasLoadingState> & typeof BaseLink;
|
|
3
4
|
/**
|
|
4
5
|
* A button is clickable text or an icon that triggers an action on the page or in the background.
|
|
5
6
|
* Depending on the action, content, and hierarchy, a button can be used on its own or grouped with
|
|
@@ -12,13 +13,14 @@ import { BaseLink } from '../link';
|
|
|
12
13
|
* @slot suffix - Contains the button's icon or state indicator, e.g. a spinner.
|
|
13
14
|
* @slot - Contains button text
|
|
14
15
|
*/
|
|
15
|
-
export declare class BaseButtonComponent extends
|
|
16
|
-
#private;
|
|
16
|
+
export declare class BaseButtonComponent extends BaseButtonComponent_base {
|
|
17
17
|
/**
|
|
18
18
|
* The type of the button.
|
|
19
19
|
*/
|
|
20
20
|
type: 'button' | 'submit' | 'reset';
|
|
21
21
|
protected render(): TemplateResult;
|
|
22
22
|
protected renderContent(): TemplateResult;
|
|
23
|
+
protected renderButton(): TemplateResult<1>;
|
|
23
24
|
}
|
|
25
|
+
export {};
|
|
24
26
|
//# sourceMappingURL=base-button.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-button.d.ts","sourceRoot":"","sources":["../../../components/button/base-button.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"base-button.d.ts","sourceRoot":"","sources":["../../../components/button/base-button.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAGhD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;;AAEnC;;;;;;;;;;;GAWG;AACH,qBACa,mBAAoB,SAAQ,wBAA0B;IACjE;;OAEG;IAEH,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAY;cAE5B,MAAM,IAAI,cAAc;cAQxB,aAAa,IAAI,cAAc;IASlD,SAAS,CAAC,YAAY;CAgBvB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { optionalAttr, requestUpdateOnAriaChange } from '@odx/foundation';
|
|
1
|
+
import { WithLoadingState, optionalAttr, requestUpdateOnAriaChange } from '@odx/foundation';
|
|
2
2
|
import { html } from 'lit';
|
|
3
3
|
import { property } from 'lit/decorators.js';
|
|
4
4
|
import { when } from 'lit/directives/when.js';
|
|
@@ -6,9 +6,6 @@ import { BaseLink } from '../link/base-link.js';
|
|
|
6
6
|
|
|
7
7
|
var __defProp = Object.defineProperty;
|
|
8
8
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
9
|
-
var __typeError = (msg) => {
|
|
10
|
-
throw TypeError(msg);
|
|
11
|
-
};
|
|
12
9
|
var __decorateClass = (decorators, target, key, kind) => {
|
|
13
10
|
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
14
11
|
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
@@ -17,21 +14,16 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
17
14
|
if (kind && result) __defProp(target, key, result);
|
|
18
15
|
return result;
|
|
19
16
|
};
|
|
20
|
-
|
|
21
|
-
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
22
|
-
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
23
|
-
var _BaseButtonComponent_instances, renderButton_fn;
|
|
24
|
-
let BaseButtonComponent = class extends BaseLink {
|
|
17
|
+
let BaseButtonComponent = class extends WithLoadingState(BaseLink) {
|
|
25
18
|
constructor() {
|
|
26
19
|
super(...arguments);
|
|
27
|
-
__privateAdd(this, _BaseButtonComponent_instances);
|
|
28
20
|
this.type = "button";
|
|
29
21
|
}
|
|
30
22
|
render() {
|
|
31
23
|
return html`${when(
|
|
32
24
|
this.href,
|
|
33
25
|
() => super.render(),
|
|
34
|
-
() =>
|
|
26
|
+
() => this.renderButton()
|
|
35
27
|
)}`;
|
|
36
28
|
}
|
|
37
29
|
renderContent() {
|
|
@@ -39,22 +31,24 @@ let BaseButtonComponent = class extends BaseLink {
|
|
|
39
31
|
<slot name="start"></slot>
|
|
40
32
|
<slot></slot>
|
|
41
33
|
<slot name="end"></slot>
|
|
34
|
+
${when(this.loading, () => html`<odx-loading-spinner class="spinner" variant="dots"></odx-loading-spinner>`)}
|
|
42
35
|
`;
|
|
43
36
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
>
|
|
37
|
+
renderButton() {
|
|
38
|
+
const { ariaLabel, ariaHasPopup, ariaExpanded } = this;
|
|
39
|
+
return html`
|
|
40
|
+
<button
|
|
41
|
+
part="anchor button"
|
|
42
|
+
aria-label="${optionalAttr(ariaLabel)}"
|
|
43
|
+
aria-haspopup="${optionalAttr(ariaHasPopup)}"
|
|
44
|
+
aria-expanded="${optionalAttr(ariaExpanded)}"
|
|
45
|
+
type=${this.type}
|
|
46
|
+
?disabled=${this.disabled || this.loading}
|
|
47
|
+
>
|
|
56
48
|
${this.renderContent()}
|
|
57
|
-
</button
|
|
49
|
+
</button>
|
|
50
|
+
`;
|
|
51
|
+
}
|
|
58
52
|
};
|
|
59
53
|
__decorateClass([
|
|
60
54
|
property()
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const styles = ":host{--_color-stroke: transparent;--_color-stroke-hover: transparent;--_color-stroke-pressed: transparent;--_block-size: var(--odx-size-225);--_icon-size: var(--odx-typography-font-size-5);--_text-size: var(--odx-typography-font-size-3);--
|
|
1
|
+
const styles = ":host{--_color-stroke: transparent;--_color-stroke-hover: transparent;--_color-stroke-pressed: transparent;--_block-size: var(--odx-size-225);--_icon-size: var(--odx-typography-font-size-5);--_text-size: var(--odx-typography-font-size-3);--_padding-block: var(--odx-size-37);--_padding-inline: var(--odx-size-75);--_margin-block: var(--odx-size-37);--_margin-icon: calc(-.5 * (var(--_icon-size) - var(--_padding-inline)) - var(--odx-size-px));block-size:var(--_block-size);cursor:pointer;position:relative;user-select:none;vertical-align:top;border-radius:var(--odx-border-radius-sm);white-space:nowrap;margin-block:var(--_margin-block);-webkit-tap-highlight-color:transparent}:host(:focus-visible){outline:none}:host,:host::part(anchor){display:inline-flex;place-items:center;place-content:center}:host::part(anchor){overflow:clip;border-radius:inherit;cursor:inherit;-webkit-appearance:none;vertical-align:middle;text-decoration:none;font:inherit;block-size:100%;inline-size:100%;padding:0;gap:inherit;text-transform:inherit;padding-block:calc(var(--_padding-block));padding-inline:var(--_padding-inline);border:var(--odx-border-width-thin) solid var(--_color-stroke);transition:var(--odx-transition-reduced);transition-property:background-color,border-color,color,opacity,outline-color,transform;background-color:var(--_color-background, transparent);color:var(--_color-foreground);font-size:var(--_text-size);gap:var(--_padding-inline);font-weight:var(--odx-typography-font-weight-medium);outline:var(--odx-focus-ring-outline);outline-offset:var(--odx-focus-ring-offset)}.spinner{--_size: var(--_icon-size);color:var(--_color-foreground);position:absolute;margin:auto}:host::part(anchor)::-moz-focus-inner{padding:0;border:0}:host::part(anchor):focus-visible{outline-color:var(--odx-focus-ring-color)}:host([variant=\"primary\"]){--_color-background: var(--odx-color-primary-rest);--_color-background-hover: var(--odx-color-primary-hover);--_color-background-pressed: var(--odx-color-primary-pressed);--_color-foreground: var(--odx-color-foreground-inverse)}:host([variant=\"highlight\"]){--_color-background: var(--odx-color-highlight-rest);--_color-background-hover: var(--odx-color-highlight-hover);--_color-background-pressed: var(--odx-color-highlight-pressed);--_color-foreground: var(--odx-color-foreground-inverse)}:host,:host([variant=\"secondary\"]){--_color-background: var(--odx-experience-color-secondary-rest);--_color-background-hover: var(--odx-experience-color-secondary-hover);--_color-background-pressed: var(--odx-experience-color-secondary-pressed);--_color-foreground: var(--odx-experience-color-secondary-foreground)}:host([variant=\"ghost\"]){--_color-background: var(--odx-color-transparent);--_color-foreground: var(--odx-color-foreground);--_color-background-hover: var(--odx-color-transparent-hover);--_color-background-pressed: var(--odx-color-transparent-pressed)}:host([variant=\"danger\"]){--_color-background: var(--odx-color-danger-rest);--_color-background-hover: var(--odx-color-danger-hover);--_color-background-pressed: var(--odx-color-danger-pressed);--_color-foreground: var(--odx-color-foreground-light)}:host([variant=\"success\"]){--_color-background: var(--odx-color-success-rest);--_color-background-hover: var(--odx-color-success-hover);--_color-background-pressed: var(--odx-color-success-pressed);--_color-foreground: var(--odx-color-foreground-dark)}:host([variant=\"confirmation\"]){--_color-background: var(--odx-color-confirmation-rest);--_color-background-hover: var(--odx-color-confirmation-hover);--_color-background-pressed: var(--odx-color-confirmation-pressed);--_color-foreground: var(--odx-color-foreground-dark)}:host(:hover){--_color-background: var(--_color-background-hover);--_color-stroke: var(--_color-stroke-hover)}:host(:not([aria-busy=\"true\"]):active){--_color-background: var(--_color-background-pressed);--_color-stroke: var(--_color-stroke-pressed)}:host([aria-busy=\"true\"]){--_color-background: var(--_color-background-hover);cursor:default;[part~=anchor]{color:transparent}}:host([aria-disabled=\"true\"]){--_color-background: var(--odx-color-disabled-fill);--_color-foreground: var(--odx-color-disabled-foreground);--_color-stroke: var(--odx-color-disabled-stroke);cursor:not-allowed}:host([size=\"sm\"]){--_block-size: var(--odx-size-150);--_padding-inline: var(--odx-size-50);--_text-size: var(--odx-typography-font-size-2);--_icon-size: var(--odx-size-100);--_margin-block: 0;--_spinner-size: var(--odx-size-37)}:host([size=\"lg\"]){--_block-size: var(--odx-size-300);--_padding-inline: var(--odx-size-100);--_text-size: var(--odx-typography-font-size-4);--_icon-size: var(--odx-typography-font-size-6);--_margin-block: 0}odx-icon,::slotted(odx-icon){--size: var(--_icon-size);margin-inline:var(--_margin-icon)}:host-context(odx-button-group[connected]:not([vertical])):host(:not(:last-of-type))::part(anchor){border-inline-end-width:0}:host-context(odx-button-group[connected][vertical]):host(:not(:last-of-type))::part(anchor){border-block-end-width:0}";
|
|
2
2
|
|
|
3
3
|
export { styles as default };
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { TemplateResult } from 'lit';
|
|
2
1
|
import { BaseButtonComponent } from './base-button';
|
|
3
2
|
import { ButtonSize, ButtonVariant } from './button.models';
|
|
4
3
|
declare global {
|
|
@@ -31,7 +30,6 @@ export declare class OdxButtonComponent extends OdxButtonComponent_base {
|
|
|
31
30
|
*/
|
|
32
31
|
variant?: ButtonVariant;
|
|
33
32
|
constructor();
|
|
34
|
-
protected renderContent(): TemplateResult;
|
|
35
33
|
}
|
|
36
34
|
export {};
|
|
37
35
|
//# sourceMappingURL=button.component.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.component.d.ts","sourceRoot":"","sources":["../../../components/button/button.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"button.component.d.ts","sourceRoot":"","sources":["../../../components/button/button.component.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEpD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEjE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,kBAAkB,CAAC;KAClC;CACF;;AAED;;;;;;;;;;;GAWG;AACH,qBACa,kBAAmB,SAAQ,uBAAqC;;IAC3E,MAAM,CAAC,QAAQ,CAAC,cAAc,QAAQ;IAGtC;;OAEG;IAEH,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB;;OAEG;IAEH,OAAO,CAAC,EAAE,aAAa,CAAC;;CAmBzB"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { WithLoadingState, customElement } from '@odx/foundation';
|
|
2
|
-
import { isServer
|
|
2
|
+
import { isServer } from 'lit';
|
|
3
3
|
import { property } from 'lit/decorators.js';
|
|
4
|
-
import { when } from 'lit/directives/when.js';
|
|
5
4
|
import { BaseButtonComponent } from './base-button.js';
|
|
6
5
|
import styles from './button.component.css.js';
|
|
7
6
|
|
|
@@ -32,14 +31,6 @@ let OdxButtonComponent = class extends WithLoadingState(BaseButtonComponent) {
|
|
|
32
31
|
this.addEventListener("click", __privateMethod(this, _OdxButtonComponent_instances, handleClick_fn));
|
|
33
32
|
}
|
|
34
33
|
}
|
|
35
|
-
renderContent() {
|
|
36
|
-
return html`
|
|
37
|
-
<slot name="start"></slot>
|
|
38
|
-
<slot></slot>
|
|
39
|
-
<slot name="end"></slot>
|
|
40
|
-
${when(this.loading, () => html`<odx-loading-indicator class="spinner"></odx-loading-indicator>`)}
|
|
41
|
-
`;
|
|
42
|
-
}
|
|
43
34
|
};
|
|
44
35
|
_internals = new WeakMap();
|
|
45
36
|
_OdxButtonComponent_instances = new WeakSet();
|
|
@@ -18,10 +18,10 @@ let OdxIconButtonComponent = class extends OdxButtonComponent {
|
|
|
18
18
|
renderContent() {
|
|
19
19
|
return html`
|
|
20
20
|
<odx-icon name=${optionalAttr(this.icon)}></odx-icon>
|
|
21
|
+
${when(this.loading, () => html`<odx-loading-spinner class="spinner"></odx-loading-spinner>`)}
|
|
21
22
|
<odx-visually-hidden>
|
|
22
23
|
<slot></slot>
|
|
23
24
|
</odx-visually-hidden>
|
|
24
|
-
${when(this.loading, () => html`<odx-loading-indicator class="spinner"></odx-loading-indicator>`)}
|
|
25
25
|
`;
|
|
26
26
|
}
|
|
27
27
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-overlay.component.d.ts","sourceRoot":"","sources":["../../../components/loading-overlay/loading-overlay.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4E,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAIrE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,0BAA0B,CAAC;KACnD;CACF;AAED,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;;AAEzE,qBACa,0BAA2B,SAAQ,+BAA+B;;IAI7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC,IAAa,gBAAgB,IAAI,WAAW,CAE3C;IAEQ,oBAAoB,IAAI,IAAI;cAKZ,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAWzD,MAAM,IAAI,cAAc;IAY3C,SAAS,CAAC,WAAW,IAAI,IAAI;
|
|
1
|
+
{"version":3,"file":"loading-overlay.component.d.ts","sourceRoot":"","sources":["../../../components/loading-overlay/loading-overlay.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4E,MAAM,iBAAiB,CAAC;AAC1H,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAIrE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,0BAA0B,CAAC;KACnD;CACF;AAED,eAAO,MAAM,8BAA8B,6BAA6B,CAAC;;AAEzE,qBACa,0BAA2B,SAAQ,+BAA+B;;IAI7E,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IAEvC,IAAa,gBAAgB,IAAI,WAAW,CAE3C;IAEQ,oBAAoB,IAAI,IAAI;cAKZ,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAWzD,MAAM,IAAI,cAAc;IAY3C,SAAS,CAAC,WAAW,IAAI,IAAI;IAQ7B,SAAS,CAAC,WAAW,IAAI,IAAI;CAM9B"}
|
|
@@ -49,7 +49,7 @@ let OdxLoadingOverlayComponent = class extends WithLoadingState(CustomElement) {
|
|
|
49
49
|
<div part="overlay">
|
|
50
50
|
<div class="content">
|
|
51
51
|
<slot ${emptySlotFallbackFix()}>
|
|
52
|
-
<odx-loading-
|
|
52
|
+
<odx-loading-spinner></odx-loading-spinner>
|
|
53
53
|
</slot>
|
|
54
54
|
</div>
|
|
55
55
|
</div>
|
|
@@ -60,11 +60,13 @@ let OdxLoadingOverlayComponent = class extends WithLoadingState(CustomElement) {
|
|
|
60
60
|
__privateSet(this, _loadingContainerPosition, window.getComputedStyle(this.loadingContainer).position);
|
|
61
61
|
if (__privateGet(this, _loadingContainerPosition) !== "static") return;
|
|
62
62
|
this.loadingContainer.style.position = "relative";
|
|
63
|
+
this.loadingContainer.inert = true;
|
|
63
64
|
}
|
|
64
65
|
hideOverlay() {
|
|
65
66
|
this.loadingContainer.toggleAttribute(LOADING_OVERLAY_HOST_DIRECTIVE, false);
|
|
66
67
|
if (__privateGet(this, _loadingContainerPosition) !== "static") return;
|
|
67
68
|
this.loadingContainer.style.position = "";
|
|
69
|
+
this.loadingContainer.inert = false;
|
|
68
70
|
}
|
|
69
71
|
};
|
|
70
72
|
_loadingContainerPosition = new WeakMap();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/loading-spinner/index.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
const styles = ":host{--_animation-duration: 1.5s;--_animation-delay: 0s;--_size: var(--odx-size-225);--_space: var(--odx-size-37);--_track-size: calc(var(--odx-size-37) - var(--odx-size-px));--_track-color: var(--odx-color-transparent-pressed);display:flex;place-content:center;place-items:center;color:inherit;font-size:var(--_size);block-size:1em}:not(svg){transform-origin:0px 0px}.base{display:block;block-size:100%;inline-size:100%;aspect-ratio:1;animation:loading-spinner-rotation-animation 1.5s linear infinite}:host(:not([variant=\"dots\"])){inline-size:1em;.track,.indicator{stroke-width:var(--_track-size)}.track{stroke:var(--_track-color)}.indicator{stroke:currentColor;color:inherit;stroke-dasharray:90,180;stroke-dashoffset:-5;animation:loading-spinner-animation 1.5s ease-in-out infinite;stroke-linecap:round}}:host([variant=\"dots\"]){gap:calc(var(--_space) / 2);padding:var(--_space);animation:loading-spinner-dots-entry-animation .25s linear both;.indicator{background-color:currentColor;border-radius:50%;block-size:calc(var(--_size) / 3);flex:0 0 calc(var(--_size) / 3);z-index:3;animation:loading-spinner-dots-animation var(--_animation-duration) var(--_animation-delay) infinite cubic-bezier(.96,.21,.41,.76) forwards;&:nth-child(1){--_animation-delay: calc(-1 * var(--_animation-duration) / 6)}&:nth-child(2){--_animation-delay: calc(-1 * var(--_animation-duration) / 12)}&:nth-child(3){--_animation-delay: 0s}}}@keyframes loading-spinner-animation{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes loading-spinner-rotation-animation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading-spinner-dots-entry-animation{0%{opacity:0}to{opacity:1}}@keyframes loading-spinner-dots-animation{0%,75%,to{transform:scale(.667);background-color:var(--odx-color-transparent-pressed)}50%{transform:scale(1);background-color:currentColor}}";
|
|
2
|
+
|
|
3
|
+
export { styles as default };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CustomElement } from '@odx/foundation';
|
|
2
|
+
import { TemplateResult } from 'lit';
|
|
3
|
+
declare global {
|
|
4
|
+
interface HTMLElementTagNameMap {
|
|
5
|
+
'odx-loading-spinner': OdxLoadingSpinnerComponent;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
export declare class OdxLoadingSpinnerComponent extends CustomElement {
|
|
9
|
+
#private;
|
|
10
|
+
variant?: 'dots' | null;
|
|
11
|
+
protected render(): TemplateResult;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=loading-spinner.component.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-spinner.component.d.ts","sourceRoot":"","sources":["../../../components/loading-spinner/loading-spinner.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAIhD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,0BAA0B,CAAC;KACnD;CACF;AAED,qBACa,0BAA2B,SAAQ,aAAa;;IAE3D,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;cAEL,MAAM,IAAI,cAAc;CAuB5C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { CustomElement, customElement } from '@odx/foundation';
|
|
2
|
+
import { html } from 'lit';
|
|
3
|
+
import { property } from 'lit/decorators.js';
|
|
4
|
+
import styles from './loading-spinner.component.css.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
8
|
+
var __typeError = (msg) => {
|
|
9
|
+
throw TypeError(msg);
|
|
10
|
+
};
|
|
11
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
12
|
+
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
13
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
14
|
+
if (decorator = decorators[i])
|
|
15
|
+
result = (kind ? decorator(target, key, result) : decorator(result)) || result;
|
|
16
|
+
if (kind && result) __defProp(target, key, result);
|
|
17
|
+
return result;
|
|
18
|
+
};
|
|
19
|
+
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
|
|
20
|
+
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
|
|
21
|
+
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
|
|
22
|
+
var _OdxLoadingSpinnerComponent_instances, renderSpinner_fn, renderDots_fn;
|
|
23
|
+
let OdxLoadingSpinnerComponent = class extends CustomElement {
|
|
24
|
+
constructor() {
|
|
25
|
+
super(...arguments);
|
|
26
|
+
__privateAdd(this, _OdxLoadingSpinnerComponent_instances);
|
|
27
|
+
}
|
|
28
|
+
render() {
|
|
29
|
+
if (this.variant === "dots") {
|
|
30
|
+
return __privateMethod(this, _OdxLoadingSpinnerComponent_instances, renderDots_fn).call(this);
|
|
31
|
+
}
|
|
32
|
+
return __privateMethod(this, _OdxLoadingSpinnerComponent_instances, renderSpinner_fn).call(this);
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
_OdxLoadingSpinnerComponent_instances = new WeakSet();
|
|
36
|
+
renderSpinner_fn = function() {
|
|
37
|
+
return html`
|
|
38
|
+
<svg class="base" role="progressbar" aria-label="Loading" fill="none" viewBox="0 0 48 48" xmlns="http://www.w3.org/2000/svg">
|
|
39
|
+
<circle class="track" cx="24" cy="24" r="20" fill="none"></circle>
|
|
40
|
+
<circle class="indicator" cx="24" cy="24" r="20" fill="none"></circle>
|
|
41
|
+
</svg>
|
|
42
|
+
`;
|
|
43
|
+
};
|
|
44
|
+
renderDots_fn = function() {
|
|
45
|
+
return html`
|
|
46
|
+
<div class="indicator"></div>
|
|
47
|
+
<div class="indicator"></div>
|
|
48
|
+
<div class="indicator"></div>
|
|
49
|
+
`;
|
|
50
|
+
};
|
|
51
|
+
__decorateClass([
|
|
52
|
+
property({ reflect: true })
|
|
53
|
+
], OdxLoadingSpinnerComponent.prototype, "variant", 2);
|
|
54
|
+
OdxLoadingSpinnerComponent = __decorateClass([
|
|
55
|
+
customElement("odx-loading-spinner", [styles])
|
|
56
|
+
], OdxLoadingSpinnerComponent);
|
|
57
|
+
|
|
58
|
+
export { OdxLoadingSpinnerComponent };
|
|
@@ -19,8 +19,8 @@ export * from './icon-button';
|
|
|
19
19
|
export * from './inline-message';
|
|
20
20
|
export * from './link';
|
|
21
21
|
export * from './list';
|
|
22
|
-
export * from './loading-indicator';
|
|
23
22
|
export * from './loading-overlay';
|
|
23
|
+
export * from './loading-spinner';
|
|
24
24
|
export * from './logo';
|
|
25
25
|
export * from './main-menu';
|
|
26
26
|
export * from './navigation-item';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../components/main.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,
|
|
1
|
+
{"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../components/main.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC;AAC5B,cAAc,mBAAmB,CAAC;AAClC,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAElC,cAAc,kBAAkB,CAAC"}
|
package/dist/components/main.js
CHANGED
|
@@ -38,8 +38,8 @@ export { BaseLink } from './link/base-link.js';
|
|
|
38
38
|
export { OdxLinkComponent } from './link/link.component.js';
|
|
39
39
|
export { OdxListItemComponent } from './list/list-item.component.js';
|
|
40
40
|
export { OdxListComponent } from './list/list.component.js';
|
|
41
|
-
export { OdxLoadingIndicatorComponent } from './loading-indicator/loading-indicator.component.js';
|
|
42
41
|
export { LOADING_OVERLAY_HOST_DIRECTIVE, OdxLoadingOverlayComponent } from './loading-overlay/loading-overlay.component.js';
|
|
42
|
+
export { OdxLoadingSpinnerComponent } from './loading-spinner/loading-spinner.component.js';
|
|
43
43
|
export { OdxLogoComponent } from './logo/logo.component.js';
|
|
44
44
|
export { LogoSize } from './logo/logo.models.js';
|
|
45
45
|
export { OdxMainMenuButtonComponent } from './main-menu/main-menu-button.component.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-loading-state.d.ts","sourceRoot":"","sources":["../../../../src/lib/mixins/with-loading-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,gBAAgB,IAAI,WAAW,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,GAAgB,CAAC,SAAS,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"with-loading-state.d.ts","sourceRoot":"","sources":["../../../../src/lib/mixins/with-loading-state.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,KAAK,WAAW,EAAe,MAAM,gBAAgB,CAAC;AAE/D,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,gBAAgB,IAAI,WAAW,CAAC;CACrC;AAED,eAAO,MAAM,gBAAgB,GAAgB,CAAC,SAAS,WAAW,CAAC,aAAa,CAAC,cAAc,CAAC,KAe5D,WAAW,CAAC,eAAe,CAAC,GAAG,CACjE,CAAC"}
|
|
@@ -19,7 +19,6 @@ const WithLoadingState = dedupeMixin((superClass) => {
|
|
|
19
19
|
}
|
|
20
20
|
set loading(value) {
|
|
21
21
|
this.loadingContainer.ariaBusy = toAriaBooleanAttribute(value);
|
|
22
|
-
this.loadingContainer.inert = value;
|
|
23
22
|
}
|
|
24
23
|
get loading() {
|
|
25
24
|
return fromAriaBooleanAttribute(this.loadingContainer.ariaBusy);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@odx/foundation",
|
|
3
3
|
"description": "A library of Web Component building blocks for ODX",
|
|
4
|
-
"version": "0.1.0-alpha.
|
|
4
|
+
"version": "0.1.0-alpha.23",
|
|
5
5
|
"author": "Drägerwerk AG & Co.KGaA",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
7
7
|
"homepage": "https://odx.draeger.com",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"@odx/typescript-config": "*",
|
|
26
26
|
"ts-lit-plugin": "2.0.2",
|
|
27
|
-
"vite": "6.2.
|
|
27
|
+
"vite": "6.2.1",
|
|
28
28
|
"vite-plugin-checker": "0.9.0",
|
|
29
29
|
"vite-plugin-dts": "4.5.3"
|
|
30
30
|
},
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../components/loading-indicator/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
const styles = "@keyframes loading-indicator-entry-animation{0%{opacity:0}to{opacity:1}}@keyframes loading-indicator-animation{0%,75%,to{transform:scale(.667);opacity:.5}50%{transform:scale(1);opacity:1;background-color:currentColor}}:host{--_animation-timing-function: cubic-bezier(.96, .21, .41, .76);--_animation-duration: 1.25s;--_animation-delay: 0s;--_size: var(--odx-size-75);--_space: var(--odx-size-37);display:flex;place-content:center;place-items:center;color:currentColor;gap:calc(var(--_space) / 2);padding:var(--_space);animation:loading-indicator-entry-animation .25s linear both}.dot{background-color:currentColor;border-radius:50%;block-size:var(--_size);flex:0 0 var(--_size);z-index:3;animation:loading-indicator-animation var(--_animation-duration) var(--_animation-delay) infinite var(--_animation-timing-function) forwards;&:nth-child(1){--_animation-delay: calc(-1 * var(--_animation-duration) / 6)}&:nth-child(2){--_animation-delay: calc(-1 * var(--_animation-duration) / 12)}&:nth-child(3){--_animation-delay: 0s}}";
|
|
2
|
-
|
|
3
|
-
export { styles as default };
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { CustomElement } from '@odx/foundation';
|
|
2
|
-
import { TemplateResult } from 'lit';
|
|
3
|
-
declare global {
|
|
4
|
-
interface HTMLElementTagNameMap {
|
|
5
|
-
'odx-loading-indicator': OdxLoadingIndicatorComponent;
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
|
-
export declare class OdxLoadingIndicatorComponent extends CustomElement {
|
|
9
|
-
protected render(): TemplateResult;
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=loading-indicator.component.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loading-indicator.component.d.ts","sourceRoot":"","sources":["../../../components/loading-indicator/loading-indicator.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAiB,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EAAE,KAAK,cAAc,EAAQ,MAAM,KAAK,CAAC;AAGhD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,4BAA4B,CAAC;KACvD;CACF;AAED,qBACa,4BAA6B,SAAQ,aAAa;cAC1C,MAAM,IAAI,cAAc;CAO5C"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { CustomElement, customElement } from '@odx/foundation';
|
|
2
|
-
import { html } from 'lit';
|
|
3
|
-
import styles from './loading-indicator.component.css.js';
|
|
4
|
-
|
|
5
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
-
var __decorateClass = (decorators, target, key, kind) => {
|
|
7
|
-
var result = kind > 1 ? void 0 : kind ? __getOwnPropDesc(target, key) : target;
|
|
8
|
-
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
9
|
-
if (decorator = decorators[i])
|
|
10
|
-
result = (decorator(result)) || result;
|
|
11
|
-
return result;
|
|
12
|
-
};
|
|
13
|
-
let OdxLoadingIndicatorComponent = class extends CustomElement {
|
|
14
|
-
render() {
|
|
15
|
-
return html`
|
|
16
|
-
<div class="dot"></div>
|
|
17
|
-
<div class="dot"></div>
|
|
18
|
-
<div class="dot"></div>
|
|
19
|
-
`;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
OdxLoadingIndicatorComponent = __decorateClass([
|
|
23
|
-
customElement("odx-loading-indicator", [styles])
|
|
24
|
-
], OdxLoadingIndicatorComponent);
|
|
25
|
-
|
|
26
|
-
export { OdxLoadingIndicatorComponent };
|