@digital-realty/ix-button 3.4.6 → 3.4.8
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/IxButton.d.ts +2 -2
- package/dist/IxButton.js +3 -1
- package/dist/IxButton.js.map +1 -1
- package/dist/ix-button.min.js +1 -1
- package/package.json +8 -4
package/dist/IxButton.d.ts
CHANGED
|
@@ -8,8 +8,8 @@ import '@material/web/icon/icon.js';
|
|
|
8
8
|
import '@digital-realty/ix-progress/ix-progress.js';
|
|
9
9
|
import { FormSubmitter, FormSubmitterType } from '@material/web/internal/controller/form-submitter.js';
|
|
10
10
|
import { internals } from '@material/web/labs/behaviors/element-internals.js';
|
|
11
|
-
declare const
|
|
12
|
-
export declare class IxButton extends
|
|
11
|
+
declare const IxButtonBase: typeof LitElement & import("@digital-realty/ix-shared-fns/aria-forward-mixin.js").Constructor<LitElement & import("@digital-realty/ix-shared-fns/aria-forward-mixin.js").AriaForwardMixinInterface>;
|
|
12
|
+
export declare class IxButton extends IxButtonBase implements FormSubmitter {
|
|
13
13
|
/** @nocollapse */
|
|
14
14
|
static readonly formAssociated = true;
|
|
15
15
|
/** @nocollapse */
|
package/dist/IxButton.js
CHANGED
|
@@ -16,7 +16,9 @@ import '@digital-realty/ix-progress/ix-progress.js';
|
|
|
16
16
|
import { setupFormSubmitter, } from '@material/web/internal/controller/form-submitter.js';
|
|
17
17
|
import { internals } from '@material/web/labs/behaviors/element-internals.js';
|
|
18
18
|
import { AriaForwardMixin } from '@digital-realty/ix-shared-fns/aria-forward-mixin.js';
|
|
19
|
-
|
|
19
|
+
// Store mixin result in variable for better TypeScript declaration emit
|
|
20
|
+
const IxButtonBase = AriaForwardMixin(LitElement);
|
|
21
|
+
export class IxButton extends IxButtonBase {
|
|
20
22
|
/**
|
|
21
23
|
* The associated form element with which this element's value will submit.
|
|
22
24
|
*/
|
package/dist/IxButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IxButton.js","sourceRoot":"","sources":["../src/IxButton.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,UAAU,EAAe,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,6CAA6C,CAAC;AACrD,OAAO,4BAA4B,CAAC;AACpC,OAAO,4CAA4C,CAAC;AACpD,OAAO,EAGL,kBAAkB,GACnB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,MAAM,
|
|
1
|
+
{"version":3,"file":"IxButton.js","sourceRoot":"","sources":["../src/IxButton.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,EAAE,IAAI,IAAI,UAAU,EAAe,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EACL,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,yCAAyC,CAAC;AACjD,OAAO,uCAAuC,CAAC;AAC/C,OAAO,yCAAyC,CAAC;AACjD,OAAO,6CAA6C,CAAC;AACrD,OAAO,4BAA4B,CAAC;AACpC,OAAO,4CAA4C,CAAC;AACpD,OAAO,EAGL,kBAAkB,GACnB,MAAM,qDAAqD,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,mDAAmD,CAAC;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,qDAAqD,CAAC;AAEvF,wEAAwE;AACxE,MAAM,YAAY,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;AAElD,MAAM,OAAO,QAAS,SAAQ,YAAY;IAcxC;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,CAAC,IAA4B;QACnC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAyB,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,aAAa;;QACf,OAAO,MAAA,MAAA,MAAA,IAAI,CAAC,UAAU,0CAClB,aAAa,CAAC,YAAY,CAAC,0CAC3B,UAAU,0CAAE,aAAa,CAAC,SAAS,CAAE,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI;;QACN,OAAO,MAAA,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,mCAAI,EAAE,CAAC;IACzC,CAAC;IAED,IAAI,IAAI,CAAC,IAAY;QACnB,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAQQ,KAAK;QACZ,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC7B,CAAC;IAEQ,IAAI;QACX,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;IAC5B,CAAC;IA+CD;QACE,KAAK,EAAE,CAAC;QA5DE,UAAK,GAAG,EAAE,CAAC;QAEvB,eAAe;QACf,QAAW,GAAI,IAAoB,CAAC,wBAAwB;aACzD,eAAe,EAAE,CAAC;QAUT,SAAI,GAAsB,QAAQ,CAAC;QAE/C;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAE7D;;WAEG;QACyC,eAAU,GAAG,KAAK,CAAC;QAE/D;;WAEG;QACS,SAAI,GAAuB,SAAS,CAAC;QAEjD;;;WAGG;QACS,WAAM,GAAiD,EAAE,CAAC;QAEtE;;;;;WAKG;QACsD,iBAAY,GAAG,KAAK,CAAC;QAE9E;;WAEG;QACiD,YAAO,GAAG,KAAK,CAAC;QAGpE,eAAU,GAMK,QAAQ,CAAC;QASP,0BAAqB,GAAG,CAAC,KAAiB,EAAE,EAAE;YAC7D,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrD,OAAO;YACT,CAAC;YACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,uBAAuB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEe,SAAI,GAAG;YACtB,QAAQ,EAAE,OAAO,CAAA,oBAAoB;YACrC,MAAM,EAAE,OAAO,CAAA,kBAAkB;YACjC,cAAc,EAAE,OAAO,CAAA,wBAAwB;YAC/C,QAAQ,EAAE,OAAO,CAAA,oBAAoB;YACrC,IAAI,EAAE,OAAO,CAAA,gBAAgB;SAC9B,CAAC;QAnBA,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAkBkB,MAAM;;QACvB,IAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,IAAI,CAAA;iBACA,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;eACxB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;UACzB,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;WAC1B,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO;YAChC,CAAC;QACT,CAAC;QACD,MAAM,GAAG,GAAgB,CAAA,MAAA,IAAI,CAAC,IAAI,0CAAG,IAAI,CAAC,UAAU,CAAC,KAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5E,OAAO,UAAU,CAAA;OACd,GAAG;kBACQ,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU;eACnC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC;aACxB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;uBACV,IAAI,CAAC,YAAY;kBACtB,IAAI,CAAC,OAAO;eACf,IAAI,CAAC,KAAK;aACZ,IAAI,CAAC,IAAI;;QAEd,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;;;UAIzB,IAAI,CAAC,UAAU;YACb,CAAC,CAAC,IAAI,CAAA;iCACe,IAAI;0BACX,KAAK;8BACD;YAClB,CAAC,CAAC,IAAI,CAAA,eACV;;QAEA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,uCAAuC,CAAC,CAAC,CAAC,OAAO;QACpE,GAAG,GAAG,CAAC;IACb,CAAC;;KAjHA,SAAS;AAzCV;IACE,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,GAAA,CAAA;AAED,kBAAkB;AACF,uBAAc,GAAG,IAAI,AAAP,CAAQ;AAEtC,kBAAkB;AACF,0BAAiB,GAAmB;IAClD,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,IAAI;CACrB,AAHgC,CAG/B;AA2BU;IAAX,QAAQ,EAAE;uCAAY;AAcX;IAAX,QAAQ,EAAE;sCAAoC;AAKH;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;0CAAkB;AAKjB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAoB;AAKnD;IAAX,QAAQ,EAAE;sCAAsC;AAMrC;IAAX,QAAQ,EAAE;wCAA2D;AAQb;IAAxD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;8CAAsB;AAK1B;IAAnD,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;yCAAiB;AAGpE;IADC,QAAQ,EAAE;4CAOa","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 { spread } from '@open-wc/lit-helpers';\n\nimport {\n dispatchActivationClick,\n isActivationClick,\n} from '@material/web/internal/events/form-label-activation.js';\nimport { ifDefined } from 'lit/directives/if-defined.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 { internals } from '@material/web/labs/behaviors/element-internals.js';\nimport { AriaForwardMixin } from '@digital-realty/ix-shared-fns/aria-forward-mixin.js';\n\n// Store mixin result in variable for better TypeScript declaration emit\nconst IxButtonBase = AriaForwardMixin(LitElement);\n\nexport class IxButton extends IxButtonBase implements FormSubmitter {\n static {\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 ${spread(this.ariaAttributes)}\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 ${spread(this.ariaAttributes)}\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.min.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{LitElement,isServer,nothing,html,css}from"lit";import{__decorate}from"tslib";import{literal,html as html$1}from"lit/static-html.js";import{property}from"lit/decorators.js";import{spread}from"@open-wc/lit-helpers";import{isActivationClick,dispatchActivationClick}from"@material/web/internal/events/form-label-activation.js";import{ifDefined}from"lit/directives/if-defined.js";import"@material/web/button/text-button.js";import"@material/web/button/elevated-button.js";import"@material/web/button/filled-button.js";import"@material/web/button/outlined-button.js";import"@material/web/button/filled-tonal-button.js";import"@material/web/icon/icon.js";import"@digital-realty/ix-progress/ix-progress.js";import{setupFormSubmitter}from"@material/web/internal/controller/form-submitter.js";import{internals}from"@material/web/labs/behaviors/element-internals.js";import{AriaForwardMixin}from"@digital-realty/ix-shared-fns/aria-forward-mixin.js";var _a;class IxButton extends
|
|
1
|
+
import{LitElement,isServer,nothing,html,css}from"lit";import{__decorate}from"tslib";import{literal,html as html$1}from"lit/static-html.js";import{property}from"lit/decorators.js";import{spread}from"@open-wc/lit-helpers";import{isActivationClick,dispatchActivationClick}from"@material/web/internal/events/form-label-activation.js";import{ifDefined}from"lit/directives/if-defined.js";import"@material/web/button/text-button.js";import"@material/web/button/elevated-button.js";import"@material/web/button/filled-button.js";import"@material/web/button/outlined-button.js";import"@material/web/button/filled-tonal-button.js";import"@material/web/icon/icon.js";import"@digital-realty/ix-progress/ix-progress.js";import{setupFormSubmitter}from"@material/web/internal/controller/form-submitter.js";import{internals}from"@material/web/labs/behaviors/element-internals.js";import{AriaForwardMixin}from"@digital-realty/ix-shared-fns/aria-forward-mixin.js";var _a;let IxButtonBase=AriaForwardMixin(LitElement);class IxButton extends IxButtonBase{get form(){return this[internals].form}set form(t){this.setAttribute("form",t)}get buttonElement(){var t;return null==(t=null==(t=null==(t=this.shadowRoot)?void 0:t.querySelector(".md-button"))?void 0:t.shadowRoot)?void 0:t.querySelector(".button")}get name(){var t;return null!=(t=this.getAttribute("name"))?t:""}set name(t){this.setAttribute("name",t)}focus(){this.buttonElement.focus()}blur(){this.buttonElement.blur()}constructor(){super(),this.value="",this[_a]=this.attachInternals(),this.type="submit",this.disabled=!1,this.submitting=!1,this.href=void 0,this.target="",this.trailingIcon=!1,this.hasIcon=!1,this.appearance="filled",this.handleActivationClick=t=>{isActivationClick(t)&&this.buttonElement&&(this.focus(),dispatchActivationClick(this.buttonElement))},this.tags={elevated:literal`md-elevated-button`,filled:literal`md-filled-button`,"filled-tonal":literal`md-filled-tonal-button`,outlined:literal`md-outlined-button`,text:literal`md-text-button`},isServer||this.addEventListener("click",this.handleActivationClick)}render(){var t;return"anchor"===this.appearance?html`<a
|
|
2
2
|
target=${ifDefined(this.target)}
|
|
3
3
|
href=${ifDefined(this.href)}
|
|
4
4
|
${spread(this.ariaAttributes)}
|
package/package.json
CHANGED
|
@@ -3,12 +3,16 @@
|
|
|
3
3
|
"description": "Webcomponent ix-button following open-wc recommendations",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Digital Realty",
|
|
6
|
-
"version": "3.4.
|
|
6
|
+
"version": "3.4.8",
|
|
7
7
|
"type": "module",
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"module": "dist/index.js",
|
|
10
|
+
"types": "dist/index.d.ts",
|
|
10
11
|
"exports": {
|
|
11
|
-
".":
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
12
16
|
"./ix-button.js": "./dist/ix-button.js",
|
|
13
17
|
"./ix-button.min.js": "./dist/ix-button.min.js",
|
|
14
18
|
"./IxButton": "./dist/react/IxButton.js"
|
|
@@ -28,7 +32,7 @@
|
|
|
28
32
|
},
|
|
29
33
|
"dependencies": {
|
|
30
34
|
"@digital-realty/ix-progress": "^1.3.4",
|
|
31
|
-
"@digital-realty/ix-shared-fns": "1.0.
|
|
35
|
+
"@digital-realty/ix-shared-fns": "^1.0.4",
|
|
32
36
|
"@lit/react": "^1.0.2",
|
|
33
37
|
"@material/web": "2.4.0",
|
|
34
38
|
"@open-wc/lit-helpers": "^0.7.0",
|
|
@@ -110,5 +114,5 @@
|
|
|
110
114
|
"README.md",
|
|
111
115
|
"LICENSE"
|
|
112
116
|
],
|
|
113
|
-
"gitHead": "
|
|
117
|
+
"gitHead": "4cd8803f4c5f3b3833ae6ebb5791f73a057863f8"
|
|
114
118
|
}
|