@digital-realty/ix-button 3.3.5 → 3.3.7

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.
@@ -59,5 +59,5 @@ export declare class IxButton extends LitElement implements FormSubmitter {
59
59
  constructor();
60
60
  private readonly handleActivationClick;
61
61
  private readonly tags;
62
- protected render(): import("lit").TemplateResult;
62
+ protected render(): import("lit-html").TemplateResult;
63
63
  }
package/dist/IxButton.js CHANGED
@@ -106,7 +106,8 @@ export class IxButton extends LitElement {
106
106
  ></a>`;
107
107
  }
108
108
  const tag = ((_b = this.tags) === null || _b === void 0 ? void 0 : _b[this.appearance]) || this.tags.outlined;
109
- return staticHtml `<${tag}
109
+ return staticHtml `
110
+ <${tag}
110
111
  ?disabled=${this.disabled || this.submitting}
111
112
  target=${ifDefined(this.target)}
112
113
  href=${ifDefined(this.href)}
@@ -1 +1 @@
1
- {"version":3,"file":"IxButton.js","sourceRoot":"","sources":["../src/IxButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, isServer, nothing } from 'lit';\nimport { html as staticHtml, StaticValue, literal } from 'lit/static-html.js';\nimport { property } from 'lit/decorators.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '@material/web/internal/events/form-label-activation.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { internals } from '@material/web/labs/behaviors/element-internals.js';\nimport '@material/web/button/text-button.js';\nimport '@material/web/button/elevated-button.js';\nimport '@material/web/button/filled-button.js';\nimport '@material/web/button/outlined-button.js';\nimport '@material/web/button/filled-tonal-button.js';\nimport '@material/web/icon/icon.js';\nimport '@digital-realty/ix-progress/ix-progress.js';\nimport {\n FormSubmitter,\n FormSubmitterType,\n setupFormSubmitter,\n} from '@material/web/internal/controller/form-submitter.js';\nimport { requestUpdateOnAriaChange } from '@material/web/internal/aria/delegate.js';\n\nexport class IxButton extends LitElement implements FormSubmitter {\n static {\n requestUpdateOnAriaChange(IxButton);\n setupFormSubmitter(IxButton);\n }\n\n /** @nocollapse */\n static readonly formAssociated = true;\n\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this[internals].form;\n }\n\n set form(form: HTMLFormElement | null) {\n this.setAttribute('form', form as unknown as string);\n }\n\n get buttonElement(): HTMLElement {\n return this.shadowRoot\n ?.querySelector('.md-button')\n ?.shadowRoot?.querySelector('.button')!;\n }\n\n get name() {\n return this.getAttribute('name') ?? '';\n }\n\n set name(name: string) {\n this.setAttribute('name', name);\n }\n\n @property() value = '';\n\n /** @private */\n [internals] = (this as HTMLElement) /* needed for closure */\n .attachInternals();\n\n override focus() {\n this.buttonElement.focus();\n }\n\n override blur() {\n this.buttonElement.blur();\n }\n\n @property() type: FormSubmitterType = 'submit';\n\n /**\n * Whether or not the button is disabled.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Whether or not the button is submitting.\n */\n @property({ type: Boolean, reflect: true }) submitting = false;\n\n /**\n * The URL that the link button points to.\n */\n @property() href: string | undefined = undefined;\n\n /**\n * Where to display the linked `href` URL for a link button. Common options\n * include `_blank` to open in a new tab.\n */\n @property() target: '_blank' | '_parent' | '_self' | '_top' | '' = '';\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({ type: Boolean, attribute: 'trailing-icon' }) trailingIcon = false;\n\n /**\n * Whether to display the icon or not.\n */\n @property({ type: Boolean, attribute: 'has-icon' }) hasIcon = false;\n\n @property()\n appearance:\n | 'elevated'\n | 'filled'\n | 'filled-tonal'\n | 'outlined'\n | 'text'\n | 'anchor' = 'filled';\n\n constructor() {\n super();\n if (!isServer) {\n this.addEventListener('click', this.handleActivationClick);\n }\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick(event) || !this.buttonElement) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n private readonly tags = {\n elevated: literal`md-elevated-button`,\n filled: literal`md-filled-button`,\n 'filled-tonal': literal`md-filled-tonal-button`,\n outlined: literal`md-outlined-button`,\n text: literal`md-text-button`,\n };\n\n protected override render() {\n if (this.appearance === 'anchor') {\n return html`<a\n target=${ifDefined(this.target)}\n href=${ifDefined(this.href)}\n >${this.value ? this.value : nothing}<slot></slot\n ></a>`;\n }\n const tag: StaticValue = this.tags?.[this.appearance] || this.tags.outlined;\n return staticHtml`<${tag}\n ?disabled=${this.disabled || this.submitting}\n target=${ifDefined(this.target)}\n href=${ifDefined(this.href)}\n ?trailing-icon=${this.trailingIcon}\n ?has-icon=${this.hasIcon}\n value=\"${this.value}\"\n type=${this.type}\n class=\"md-button\"\n >\n <div class=\"slot-wrap\">\n ${\n this.submitting\n ? html`<ix-progress\n .indeterminate=${true}\n .linear=${false}\n ></ix-progress>`\n : html`<slot></slot>`\n }\n </div>\n ${this.hasIcon ? html`<slot slot=\"icon\" name=\"icon\"></slot>` : nothing}\n </${tag}>`;\n }\n}\n"]}
1
+ {"version":3,"file":"IxButton.js","sourceRoot":"","sources":["../src/IxButton.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement, isServer, nothing } from 'lit';\nimport { html as staticHtml, StaticValue, literal } from 'lit/static-html.js';\nimport { property } from 'lit/decorators.js';\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '@material/web/internal/events/form-label-activation.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { internals } from '@material/web/labs/behaviors/element-internals.js';\nimport '@material/web/button/text-button.js';\nimport '@material/web/button/elevated-button.js';\nimport '@material/web/button/filled-button.js';\nimport '@material/web/button/outlined-button.js';\nimport '@material/web/button/filled-tonal-button.js';\nimport '@material/web/icon/icon.js';\nimport '@digital-realty/ix-progress/ix-progress.js';\nimport {\n FormSubmitter,\n FormSubmitterType,\n setupFormSubmitter,\n} from '@material/web/internal/controller/form-submitter.js';\nimport { requestUpdateOnAriaChange } from '@material/web/internal/aria/delegate.js';\n\nexport class IxButton extends LitElement implements FormSubmitter {\n static {\n requestUpdateOnAriaChange(IxButton);\n setupFormSubmitter(IxButton);\n }\n\n /** @nocollapse */\n static readonly formAssociated = true;\n\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n /**\n * The associated form element with which this element's value will submit.\n */\n get form() {\n return this[internals].form;\n }\n\n set form(form: HTMLFormElement | null) {\n this.setAttribute('form', form as unknown as string);\n }\n\n get buttonElement(): HTMLElement {\n return this.shadowRoot\n ?.querySelector('.md-button')\n ?.shadowRoot?.querySelector('.button')!;\n }\n\n get name() {\n return this.getAttribute('name') ?? '';\n }\n\n set name(name: string) {\n this.setAttribute('name', name);\n }\n\n @property() value = '';\n\n /** @private */\n [internals] = (this as HTMLElement) /* needed for closure */\n .attachInternals();\n\n override focus() {\n this.buttonElement.focus();\n }\n\n override blur() {\n this.buttonElement.blur();\n }\n\n @property() type: FormSubmitterType = 'submit';\n\n /**\n * Whether or not the button is disabled.\n */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /**\n * Whether or not the button is submitting.\n */\n @property({ type: Boolean, reflect: true }) submitting = false;\n\n /**\n * The URL that the link button points to.\n */\n @property() href: string | undefined = undefined;\n\n /**\n * Where to display the linked `href` URL for a link button. Common options\n * include `_blank` to open in a new tab.\n */\n @property() target: '_blank' | '_parent' | '_self' | '_top' | '' = '';\n\n /**\n * Whether to render the icon at the inline end of the label rather than the\n * inline start.\n *\n * _Note:_ Link buttons cannot have trailing icons.\n */\n @property({ type: Boolean, attribute: 'trailing-icon' }) trailingIcon = false;\n\n /**\n * Whether to display the icon or not.\n */\n @property({ type: Boolean, attribute: 'has-icon' }) hasIcon = false;\n\n @property()\n appearance:\n | 'elevated'\n | 'filled'\n | 'filled-tonal'\n | 'outlined'\n | 'text'\n | 'anchor' = 'filled';\n\n constructor() {\n super();\n if (!isServer) {\n this.addEventListener('click', this.handleActivationClick);\n }\n }\n\n private readonly handleActivationClick = (event: MouseEvent) => {\n if (!isActivationClick(event) || !this.buttonElement) {\n return;\n }\n this.focus();\n dispatchActivationClick(this.buttonElement);\n };\n\n private readonly tags = {\n elevated: literal`md-elevated-button`,\n filled: literal`md-filled-button`,\n 'filled-tonal': literal`md-filled-tonal-button`,\n outlined: literal`md-outlined-button`,\n text: literal`md-text-button`,\n };\n\n protected override render() {\n if (this.appearance === 'anchor') {\n return html`<a\n target=${ifDefined(this.target)}\n href=${ifDefined(this.href)}\n >${this.value ? this.value : nothing}<slot></slot\n ></a>`;\n }\n const tag: StaticValue = this.tags?.[this.appearance] || this.tags.outlined;\n return staticHtml`\n <${tag}\n ?disabled=${this.disabled || this.submitting}\n target=${ifDefined(this.target)}\n href=${ifDefined(this.href)}\n ?trailing-icon=${this.trailingIcon}\n ?has-icon=${this.hasIcon}\n value=\"${this.value}\"\n type=${this.type}\n class=\"md-button\"\n >\n <div class=\"slot-wrap\">\n ${\n this.submitting\n ? html`<ix-progress\n .indeterminate=${true}\n .linear=${false}\n ></ix-progress>`\n : html`<slot></slot>`\n }\n </div>\n ${this.hasIcon ? html`<slot slot=\"icon\" name=\"icon\"></slot>` : nothing}\n </${tag}>`;\n }\n}\n"]}
package/dist/ix-button.js CHANGED
@@ -9,10 +9,54 @@ IxButtonStyled.styles = css `
9
9
  }
10
10
 
11
11
  .slot-wrap {
12
- font-weight: bold;
13
- text-transform: uppercase;
12
+ font-family: var(
13
+ --ix-button-font-family,
14
+ var(--root-secondary-font, 'sans-serif')
15
+ );
16
+ font-weight: var(--ix-button-font-weight, bold);
17
+ text-transform: var(--ix-button-text-transform, uppercase);
14
18
  position: relative;
15
- letter-spacing: 1.25px;
19
+ letter-spacing: var(--ix-button-letter-spacing, 1.25px);
20
+ }
21
+
22
+ :host {
23
+ overflow: hidden;
24
+ }
25
+
26
+ :host(.login) {
27
+ --md-filled-button-pressed-state-layer-color: var(
28
+ --clr-secondary,
29
+ #071454
30
+ );
31
+ --md-filled-button-pressed-state-layer-opacity: 1;
32
+ --md-filled-button-hover-state-layer-color: var(--clr-secondary, #071454);
33
+ --md-filled-button-hover-state-layer-opacity: 1;
34
+ --md-filled-button-container-shape: 0;
35
+ }
36
+
37
+ :host(.critical),
38
+ :host(.cancel) {
39
+ --md-outlined-button-pressed-outline-color: var(
40
+ --ix-button-pressed-clr-critical-outline,
41
+ var(--clr-critical, #db0028)
42
+ );
43
+
44
+ --md-sys-color-on-primary: var(
45
+ --ix-button-clr-on-critical,
46
+ var(--clr-on-critical, #fff)
47
+ );
48
+ --md-sys-color-primary: var(
49
+ --ix-button-clr-critical,
50
+ var(--clr-critical, #db0028)
51
+ );
52
+ --md-outlined-button-outline-color: var(
53
+ --ix-button-clr-critical-outline,
54
+ var(--clr-critical, #db0028)
55
+ );
56
+ --md-filled-button-hover-state-layer-color: var(
57
+ --ix-button-clr-critical-hover,
58
+ var(--clr-critical-hover, #f83b3a)
59
+ );
16
60
  }
17
61
  `;
18
62
  window.customElements.define('ix-button', IxButtonStyled);
@@ -1 +1 @@
1
- {"version":3,"file":"ix-button.js","sourceRoot":"","sources":["../src/ix-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,QAAQ;;AAC1B,qBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;GAY3B,CAAC;AAGJ,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\nimport { IxButton } from './IxButton.js';\n\nexport class IxButtonStyled extends IxButton {\n static override styles = css`\n .md-button {\n display: flex;\n --md-circular-progress-size: 24px;\n }\n\n .slot-wrap {\n font-weight: bold;\n text-transform: uppercase;\n position: relative;\n letter-spacing: 1.25px;\n }\n `;\n}\n\nwindow.customElements.define('ix-button', IxButtonStyled);\n"]}
1
+ {"version":3,"file":"ix-button.js","sourceRoot":"","sources":["../src/ix-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,cAAe,SAAQ,QAAQ;;AAC1B,qBAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwD3B,CAAC;AAGJ,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\nimport { IxButton } from './IxButton.js';\n\nexport class IxButtonStyled extends IxButton {\n static override styles = css`\n .md-button {\n display: flex;\n --md-circular-progress-size: 24px;\n }\n\n .slot-wrap {\n font-family: var(\n --ix-button-font-family,\n var(--root-secondary-font, 'sans-serif')\n );\n font-weight: var(--ix-button-font-weight, bold);\n text-transform: var(--ix-button-text-transform, uppercase);\n position: relative;\n letter-spacing: var(--ix-button-letter-spacing, 1.25px);\n }\n\n :host {\n overflow: hidden;\n }\n\n :host(.login) {\n --md-filled-button-pressed-state-layer-color: var(\n --clr-secondary,\n #071454\n );\n --md-filled-button-pressed-state-layer-opacity: 1;\n --md-filled-button-hover-state-layer-color: var(--clr-secondary, #071454);\n --md-filled-button-hover-state-layer-opacity: 1;\n --md-filled-button-container-shape: 0;\n }\n\n :host(.critical),\n :host(.cancel) {\n --md-outlined-button-pressed-outline-color: var(\n --ix-button-pressed-clr-critical-outline,\n var(--clr-critical, #db0028)\n );\n\n --md-sys-color-on-primary: var(\n --ix-button-clr-on-critical,\n var(--clr-on-critical, #fff)\n );\n --md-sys-color-primary: var(\n --ix-button-clr-critical,\n var(--clr-critical, #db0028)\n );\n --md-outlined-button-outline-color: var(\n --ix-button-clr-critical-outline,\n var(--clr-critical, #db0028)\n );\n --md-filled-button-hover-state-layer-color: var(\n --ix-button-clr-critical-hover,\n var(--clr-critical-hover, #f83b3a)\n );\n }\n `;\n}\n\nwindow.customElements.define('ix-button', IxButtonStyled);\n"]}
@@ -2,7 +2,8 @@ import{LitElement,isServer,html,nothing,css}from"lit";import{__decorate}from"tsl
2
2
  target=${ifDefined(this.target)}
3
3
  href=${ifDefined(this.href)}
4
4
  >${this.value||nothing}<slot></slot
5
- ></a>`:(t=(null==(t=this.tags)?void 0:t[this.appearance])||this.tags.outlined,html$1`<${t}
5
+ ></a>`:(t=(null==(t=this.tags)?void 0:t[this.appearance])||this.tags.outlined,html$1`
6
+ <${t}
6
7
  ?disabled=${this.disabled||this.submitting}
7
8
  target=${ifDefined(this.target)}
8
9
  href=${ifDefined(this.href)}
@@ -19,4 +20,25 @@ import{LitElement,isServer,html,nothing,css}from"lit";import{__decorate}from"tsl
19
20
  ></ix-progress>`:html`<slot></slot>`}
20
21
  </div>
21
22
  ${this.hasIcon?html`<slot slot="icon" name="icon"></slot>`:nothing}
22
- </${t}>`)}}_a=internals,requestUpdateOnAriaChange(IxButton),setupFormSubmitter(IxButton),IxButton.formAssociated=!0,IxButton.shadowRootOptions={mode:"open",delegatesFocus:!0},__decorate([property()],IxButton.prototype,"value",void 0),__decorate([property()],IxButton.prototype,"type",void 0),__decorate([property({type:Boolean,reflect:!0})],IxButton.prototype,"disabled",void 0),__decorate([property({type:Boolean,reflect:!0})],IxButton.prototype,"submitting",void 0),__decorate([property()],IxButton.prototype,"href",void 0),__decorate([property()],IxButton.prototype,"target",void 0),__decorate([property({type:Boolean,attribute:"trailing-icon"})],IxButton.prototype,"trailingIcon",void 0),__decorate([property({type:Boolean,attribute:"has-icon"})],IxButton.prototype,"hasIcon",void 0),__decorate([property()],IxButton.prototype,"appearance",void 0);class IxButtonStyled extends IxButton{}IxButtonStyled.styles=css`.md-button{display:flex;--md-circular-progress-size:24px}.slot-wrap{font-weight:700;text-transform:uppercase;position:relative;letter-spacing:1.25px}`,window.customElements.define("ix-button",IxButtonStyled);export{IxButtonStyled};
23
+ </${t}>`)}}_a=internals,requestUpdateOnAriaChange(IxButton),setupFormSubmitter(IxButton),IxButton.formAssociated=!0,IxButton.shadowRootOptions={mode:"open",delegatesFocus:!0},__decorate([property()],IxButton.prototype,"value",void 0),__decorate([property()],IxButton.prototype,"type",void 0),__decorate([property({type:Boolean,reflect:!0})],IxButton.prototype,"disabled",void 0),__decorate([property({type:Boolean,reflect:!0})],IxButton.prototype,"submitting",void 0),__decorate([property()],IxButton.prototype,"href",void 0),__decorate([property()],IxButton.prototype,"target",void 0),__decorate([property({type:Boolean,attribute:"trailing-icon"})],IxButton.prototype,"trailingIcon",void 0),__decorate([property({type:Boolean,attribute:"has-icon"})],IxButton.prototype,"hasIcon",void 0),__decorate([property()],IxButton.prototype,"appearance",void 0);class IxButtonStyled extends IxButton{}IxButtonStyled.styles=css`.md-button{display:flex;--md-circular-progress-size:24px}.slot-wrap{font-family:var(
24
+ --ix-button-font-family,
25
+ var(--root-secondary-font, 'sans-serif')
26
+ );font-weight:var(--ix-button-font-weight,bold);text-transform:var(--ix-button-text-transform,uppercase);position:relative;letter-spacing:var(--ix-button-letter-spacing,1.25px)}:host{overflow:hidden}:host(.login){--md-filled-button-pressed-state-layer-color:var(
27
+ --clr-secondary,
28
+ #071454
29
+ );--md-filled-button-pressed-state-layer-opacity:1;--md-filled-button-hover-state-layer-color:var(--clr-secondary, #071454);--md-filled-button-hover-state-layer-opacity:1;--md-filled-button-container-shape:0}:host(.cancel),:host(.critical){--md-outlined-button-pressed-outline-color:var(
30
+ --ix-button-pressed-clr-critical-outline,
31
+ var(--clr-critical, #db0028)
32
+ );--md-sys-color-on-primary:var(
33
+ --ix-button-clr-on-critical,
34
+ var(--clr-on-critical, #fff)
35
+ );--md-sys-color-primary:var(
36
+ --ix-button-clr-critical,
37
+ var(--clr-critical, #db0028)
38
+ );--md-outlined-button-outline-color:var(
39
+ --ix-button-clr-critical-outline,
40
+ var(--clr-critical, #db0028)
41
+ );--md-filled-button-hover-state-layer-color:var(
42
+ --ix-button-clr-critical-hover,
43
+ var(--clr-critical-hover, #f83b3a)
44
+ )}`,window.customElements.define("ix-button",IxButtonStyled);export{IxButtonStyled};
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent ix-button following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "Digital Realty",
6
- "version": "3.3.5",
6
+ "version": "3.3.7",
7
7
  "type": "module",
8
8
  "main": "dist/index.js",
9
9
  "module": "dist/index.js",
@@ -27,10 +27,10 @@
27
27
  "test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\""
28
28
  },
29
29
  "dependencies": {
30
- "@digital-realty/ix-progress": "^1.2.4",
30
+ "@digital-realty/ix-progress": "^1.2.6",
31
31
  "@lit/react": "^1.0.2",
32
32
  "@material/web": "1.2.0",
33
- "lit": "^2.8.0 || ^3.0.0",
33
+ "lit": "^3.2.1",
34
34
  "react": "^18.2.0"
35
35
  },
36
36
  "devDependencies": {
@@ -48,6 +48,7 @@
48
48
  "husky": "^4.3.8",
49
49
  "lint-staged": "^10.5.4",
50
50
  "prettier": "^2.4.1",
51
+ "rollup": "^4.29.1",
51
52
  "rollup-plugin-minify-html-literals": "^1.2.6",
52
53
  "rollup-plugin-summary": "^2.0.0",
53
54
  "rollup-plugin-uglify": "^6.0.4",
@@ -107,5 +108,5 @@
107
108
  "README.md",
108
109
  "LICENSE"
109
110
  ],
110
- "gitHead": "cb4798e2a22a7e6b2eed58b8fc2d9fdddc875911"
111
+ "gitHead": "a781e30ec63dcc3307d86b94e35fa93c4e61f22f"
111
112
  }