@xplortech/apollo-core 1.0.0-beta.2 → 1.0.0-beta.4

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.
Files changed (73) hide show
  1. package/build/style.css +18 -11
  2. package/dist/apollo-core/apollo-core.css +2 -2
  3. package/dist/apollo-core/apollo-core.esm.js +1 -1
  4. package/dist/apollo-core/p-13e7d3ea.entry.js +1 -0
  5. package/dist/apollo-core/{p-b2327e2c.entry.js → p-2ce2fe5c.entry.js} +1 -1
  6. package/dist/apollo-core/{p-09b2f746.entry.js → p-3ff1ff38.entry.js} +1 -1
  7. package/dist/apollo-core/{p-4e2b69e8.entry.js → p-63dd9a65.entry.js} +1 -1
  8. package/dist/apollo-core/{p-8e47a5be.entry.js → p-6c3c1e3d.entry.js} +1 -1
  9. package/dist/apollo-core/p-81a6ce4c.entry.js +1 -0
  10. package/dist/apollo-core/p-918b0731.entry.js +1 -0
  11. package/dist/apollo-core/{p-93c27db5.entry.js → p-97bdb450.entry.js} +1 -1
  12. package/dist/apollo-core/{p-93958292.entry.js → p-a43e2d1f.entry.js} +1 -1
  13. package/dist/apollo-core/{p-e369d7af.entry.js → p-a7cc4114.entry.js} +1 -1
  14. package/dist/apollo-core/{p-c55b5d9c.entry.js → p-b6d1b135.entry.js} +1 -1
  15. package/dist/apollo-core/{p-e60ecaef.entry.js → p-bc0ebed2.entry.js} +1 -1
  16. package/dist/apollo-core/{p-25983fde.entry.js → p-c8af4ed6.entry.js} +1 -1
  17. package/dist/apollo-core/p-d4aa2fa9.js +1 -0
  18. package/dist/apollo-core/{p-4a348764.entry.js → p-d4e5d3aa.entry.js} +1 -1
  19. package/dist/apollo-core/{p-20389bb6.entry.js → p-dad11011.entry.js} +1 -1
  20. package/dist/apollo-core/{p-880c0359.entry.js → p-db74c99c.entry.js} +1 -1
  21. package/dist/cjs/apollo-core.cjs.js +2 -2
  22. package/dist/cjs/{index-54ba5804.js → index-acf3dd7a.js} +3 -0
  23. package/dist/cjs/loader.cjs.js +2 -2
  24. package/dist/cjs/xpl-application-shell.cjs.entry.js +1 -1
  25. package/dist/cjs/xpl-avatar_12.cjs.entry.js +24 -1
  26. package/dist/cjs/xpl-backdrop.cjs.entry.js +1 -1
  27. package/dist/cjs/xpl-button-row.cjs.entry.js +1 -1
  28. package/dist/cjs/xpl-choicelist.cjs.entry.js +1 -1
  29. package/dist/cjs/xpl-divider.cjs.entry.js +1 -1
  30. package/dist/cjs/xpl-dropdown-group_3.cjs.entry.js +1 -1
  31. package/dist/cjs/xpl-dropdown_2.cjs.entry.js +1 -1
  32. package/dist/cjs/xpl-grid-item.cjs.entry.js +1 -1
  33. package/dist/cjs/xpl-grid.cjs.entry.js +1 -1
  34. package/dist/cjs/xpl-input.cjs.entry.js +1 -1
  35. package/dist/cjs/xpl-list.cjs.entry.js +1 -1
  36. package/dist/cjs/xpl-main-nav.cjs.entry.js +1 -1
  37. package/dist/cjs/xpl-pagination.cjs.entry.js +1 -1
  38. package/dist/cjs/xpl-select.cjs.entry.js +1 -1
  39. package/dist/cjs/xpl-toggle.cjs.entry.js +1 -1
  40. package/dist/collection/components/xpl-button/xpl-button.js +41 -1
  41. package/dist/custom-elements/index.js +24 -1
  42. package/dist/esm/apollo-core.js +2 -2
  43. package/dist/esm/{index-3df6db84.js → index-e3c4bb97.js} +3 -0
  44. package/dist/esm/loader.js +2 -2
  45. package/dist/esm/xpl-application-shell.entry.js +1 -1
  46. package/dist/esm/xpl-avatar_12.entry.js +24 -1
  47. package/dist/esm/xpl-backdrop.entry.js +1 -1
  48. package/dist/esm/xpl-button-row.entry.js +1 -1
  49. package/dist/esm/xpl-choicelist.entry.js +1 -1
  50. package/dist/esm/xpl-divider.entry.js +1 -1
  51. package/dist/esm/xpl-dropdown-group_3.entry.js +1 -1
  52. package/dist/esm/xpl-dropdown_2.entry.js +1 -1
  53. package/dist/esm/xpl-grid-item.entry.js +1 -1
  54. package/dist/esm/xpl-grid.entry.js +1 -1
  55. package/dist/esm/xpl-input.entry.js +1 -1
  56. package/dist/esm/xpl-list.entry.js +1 -1
  57. package/dist/esm/xpl-main-nav.entry.js +1 -1
  58. package/dist/esm/xpl-pagination.entry.js +1 -1
  59. package/dist/esm/xpl-select.entry.js +1 -1
  60. package/dist/esm/xpl-toggle.entry.js +1 -1
  61. package/dist/stories/button.stories.js +17 -5
  62. package/dist/types/Users/fernandogelin/Projects/apollo-admin/packages/apollo/.stencil/stories/button.stories.d.ts +10 -2
  63. package/dist/types/components/xpl-button/xpl-button.d.ts +6 -0
  64. package/dist/types/components/xpl-choicelist/choice.d.ts +6 -0
  65. package/dist/types/components/xpl-dropdown/dropdownoption.d.ts +12 -0
  66. package/dist/types/components/xpl-list/listitem.d.ts +20 -0
  67. package/dist/types/components/xpl-select/selectchoice.d.ts +3 -0
  68. package/dist/types/components.d.ts +8 -0
  69. package/package.json +1 -1
  70. package/dist/apollo-core/p-1b1e7207.entry.js +0 -1
  71. package/dist/apollo-core/p-84bf6b2d.entry.js +0 -1
  72. package/dist/apollo-core/p-c3a12469.entry.js +0 -1
  73. package/dist/apollo-core/p-f929c958.js +0 -1
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
  const v4 = require('./v4-14140ff3.js');
7
7
 
8
8
  const XplAvatar = class {
@@ -74,6 +74,26 @@ const XplButton = class {
74
74
  */
75
75
  this.state = 'neutral';
76
76
  }
77
+ componentDidRender() {
78
+ const attrs = this.el.attributes;
79
+ const dataAttrs = Object.keys(attrs)
80
+ .filter((k) => {
81
+ const propertyName = attrs[k].name;
82
+ if (propertyName) {
83
+ return (propertyName.includes('data-test') ||
84
+ propertyName.includes('aria-'));
85
+ }
86
+ return false;
87
+ })
88
+ .reduce((acc, k) => {
89
+ return Object.assign(Object.assign({}, acc), { [attrs[k].name]: attrs[k].value });
90
+ }, {});
91
+ const child = this.el.querySelector('button');
92
+ Object.keys(dataAttrs).forEach((k) => {
93
+ child.setAttribute(k, dataAttrs[k]);
94
+ this.el.removeAttribute(k);
95
+ });
96
+ }
77
97
  render() {
78
98
  let className = `xpl-button
79
99
  xpl-button--${this.size}
@@ -81,6 +101,8 @@ const XplButton = class {
81
101
  xpl-button--${this.variant}`;
82
102
  if (this.iconOnly)
83
103
  className += ' xpl-button--icon-only';
104
+ if (this.fullWidth)
105
+ className += ' xpl-button--full-width';
84
106
  if (this.link && this.disabled)
85
107
  className += ' xpl-button--link-disabled';
86
108
  return (index.h(index.Host, { class: className },
@@ -90,6 +112,7 @@ const XplButton = class {
90
112
  */
91
113
  this.link ? (index.h("slot", null)) : (index.h("button", { disabled: this.disabled, name: this.name, type: this.type, value: this.value }, index.h("slot", null)))));
92
114
  }
115
+ get el() { return index.getElement(this); }
93
116
  };
94
117
 
95
118
  const XplCheckbox = class {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplBackdrop = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplButtonRow = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplChoicelist = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplDivider = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  var __rest = (undefined && undefined.__rest) || function (s, e) {
8
8
  var t = {};
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  var __rest = (undefined && undefined.__rest) || function (s, e) {
8
8
  var t = {};
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplGridItem = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplGrid = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
  require('./regular-872f5226.js');
7
7
  const v4 = require('./v4-14140ff3.js');
8
8
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
  require('./regular-872f5226.js');
7
7
 
8
8
  const ListItemCpt = ({ avatar, avatars, badges, href, title, subtext, metadata, }) => {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplMainNav = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
 
7
7
  const XplPagination = class {
8
8
  constructor(hostRef) {
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
  const v4 = require('./v4-14140ff3.js');
7
7
 
8
8
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- const index = require('./index-54ba5804.js');
5
+ const index = require('./index-acf3dd7a.js');
6
6
  const v4 = require('./v4-14140ff3.js');
7
7
 
8
8
  const XplToggle = class {
@@ -1,4 +1,4 @@
1
- import { Component, Host, h, Prop } from '@stencil/core';
1
+ import { Component, Element, Host, h, Prop } from '@stencil/core';
2
2
  export class XplButton {
3
3
  constructor() {
4
4
  /**
@@ -14,6 +14,26 @@ export class XplButton {
14
14
  */
15
15
  this.state = 'neutral';
16
16
  }
17
+ componentDidRender() {
18
+ const attrs = this.el.attributes;
19
+ const dataAttrs = Object.keys(attrs)
20
+ .filter((k) => {
21
+ const propertyName = attrs[k].name;
22
+ if (propertyName) {
23
+ return (propertyName.includes('data-test') ||
24
+ propertyName.includes('aria-'));
25
+ }
26
+ return false;
27
+ })
28
+ .reduce((acc, k) => {
29
+ return Object.assign(Object.assign({}, acc), { [attrs[k].name]: attrs[k].value });
30
+ }, {});
31
+ const child = this.el.querySelector('button');
32
+ Object.keys(dataAttrs).forEach((k) => {
33
+ child.setAttribute(k, dataAttrs[k]);
34
+ this.el.removeAttribute(k);
35
+ });
36
+ }
17
37
  render() {
18
38
  let className = `xpl-button
19
39
  xpl-button--${this.size}
@@ -21,6 +41,8 @@ export class XplButton {
21
41
  xpl-button--${this.variant}`;
22
42
  if (this.iconOnly)
23
43
  className += ' xpl-button--icon-only';
44
+ if (this.fullWidth)
45
+ className += ' xpl-button--full-width';
24
46
  if (this.link && this.disabled)
25
47
  className += ' xpl-button--link-disabled';
26
48
  return (h(Host, { class: className },
@@ -84,6 +106,23 @@ export class XplButton {
84
106
  "attribute": "icon-only",
85
107
  "reflect": false
86
108
  },
109
+ "fullWidth": {
110
+ "type": "boolean",
111
+ "mutable": false,
112
+ "complexType": {
113
+ "original": "boolean",
114
+ "resolved": "boolean",
115
+ "references": {}
116
+ },
117
+ "required": false,
118
+ "optional": true,
119
+ "docs": {
120
+ "tags": [],
121
+ "text": "whether button should render with full width"
122
+ },
123
+ "attribute": "full-width",
124
+ "reflect": false
125
+ },
87
126
  "name": {
88
127
  "type": "string",
89
128
  "mutable": false,
@@ -208,4 +247,5 @@ export class XplButton {
208
247
  "defaultValue": "'neutral'"
209
248
  }
210
249
  }; }
250
+ static get elementRef() { return "el"; }
211
251
  }
@@ -146,6 +146,26 @@ const XplButton$1 = class extends HTMLElement {
146
146
  */
147
147
  this.state = 'neutral';
148
148
  }
149
+ componentDidRender() {
150
+ const attrs = this.el.attributes;
151
+ const dataAttrs = Object.keys(attrs)
152
+ .filter((k) => {
153
+ const propertyName = attrs[k].name;
154
+ if (propertyName) {
155
+ return (propertyName.includes('data-test') ||
156
+ propertyName.includes('aria-'));
157
+ }
158
+ return false;
159
+ })
160
+ .reduce((acc, k) => {
161
+ return Object.assign(Object.assign({}, acc), { [attrs[k].name]: attrs[k].value });
162
+ }, {});
163
+ const child = this.el.querySelector('button');
164
+ Object.keys(dataAttrs).forEach((k) => {
165
+ child.setAttribute(k, dataAttrs[k]);
166
+ this.el.removeAttribute(k);
167
+ });
168
+ }
149
169
  render() {
150
170
  let className = `xpl-button
151
171
  xpl-button--${this.size}
@@ -153,6 +173,8 @@ const XplButton$1 = class extends HTMLElement {
153
173
  xpl-button--${this.variant}`;
154
174
  if (this.iconOnly)
155
175
  className += ' xpl-button--icon-only';
176
+ if (this.fullWidth)
177
+ className += ' xpl-button--full-width';
156
178
  if (this.link && this.disabled)
157
179
  className += ' xpl-button--link-disabled';
158
180
  return (h(Host, { class: className },
@@ -162,6 +184,7 @@ const XplButton$1 = class extends HTMLElement {
162
184
  */
163
185
  this.link ? (h("slot", null)) : (h("button", { disabled: this.disabled, name: this.name, type: this.type, value: this.value }, h("slot", null)))));
164
186
  }
187
+ get el() { return this; }
165
188
  };
166
189
 
167
190
  const XplButtonRow$1 = class extends HTMLElement {
@@ -20133,7 +20156,7 @@ const XplBackdrop = /*@__PURE__*/proxyCustomElement(XplBackdrop$1, [0,"xpl-backd
20133
20156
  const XplBadge = /*@__PURE__*/proxyCustomElement(XplBadge$1, [4,"xpl-badge",{"dot":[4],"variant":[1]}]);
20134
20157
  const XplBreadcrumbItem = /*@__PURE__*/proxyCustomElement(XplBreadcrumbItem$1, [4,"xpl-breadcrumb-item"]);
20135
20158
  const XplBreadcrumbs = /*@__PURE__*/proxyCustomElement(XplBreadcrumbs$1, [4,"xpl-breadcrumbs"]);
20136
- const XplButton = /*@__PURE__*/proxyCustomElement(XplButton$1, [4,"xpl-button",{"disabled":[4],"link":[4],"iconOnly":[4,"icon-only"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1],"state":[1]}]);
20159
+ const XplButton = /*@__PURE__*/proxyCustomElement(XplButton$1, [4,"xpl-button",{"disabled":[4],"link":[4],"iconOnly":[4,"icon-only"],"fullWidth":[4,"full-width"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1],"state":[1]}]);
20137
20160
  const XplButtonRow = /*@__PURE__*/proxyCustomElement(XplButtonRow$1, [0,"xpl-button-row",{"primary":[1],"secondary":[1],"tertiary":[1]}]);
20138
20161
  const XplCheckbox = /*@__PURE__*/proxyCustomElement(XplCheckbox$1, [4,"xpl-checkbox",{"checked":[4],"description":[1],"disabled":[4],"indeterminate":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}]);
20139
20162
  const XplChoicelist = /*@__PURE__*/proxyCustomElement(XplChoicelist$1, [0,"xpl-choicelist",{"choices":[16],"description":[1],"heading":[1],"multi":[4],"name":[1],"styled":[4],"selected":[32]}]);
@@ -1,4 +1,4 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-3df6db84.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-e3c4bb97.js';
2
2
 
3
3
  /*
4
4
  Stencil Client Patch Browser v2.8.0 | MIT Licensed | https://stenciljs.com
@@ -13,5 +13,5 @@ const patchBrowser = () => {
13
13
  };
14
14
 
15
15
  patchBrowser().then(options => {
16
- return bootstrapLazy([["xpl-select",[[0,"xpl-select",{"choices":[16],"description":[1],"disabled":[4],"error":[1],"label":[1],"mode":[1],"placeholder":[1],"truncate":[4],"active":[32],"id":[32],"keepFocus":[32],"selected":[32],"value":[32],"displayValue":[32],"visibleChoices":[32]}]]],["xpl-application-shell",[[4,"xpl-application-shell",{"withSubnav":[4,"with-subnav"],"withUtility":[4,"with-utility"],"navWidth":[1,"nav-width"],"navOpen":[32]},[[0,"navOpen","navToggleHandler"],[0,"navWidth","navWithHandler"],[9,"resize","onWindowResize"]]]]],["xpl-avatar_12",[[4,"xpl-breadcrumb-item"],[4,"xpl-breadcrumbs"],[4,"xpl-content-area",{"size":[1]}],[4,"xpl-nav-item",{"navControl":[4,"nav-control"]}],[4,"xpl-secondary-nav"],[0,"xpl-table",{"columns":[16],"data":[16],"freeze":[4],"multiselect":[4],"striped":[4],"areAllSelected":[32],"rowData":[32],"hasScrolled":[32],"selected":[32]}],[4,"xpl-utility-bar",{"navControl":[4,"nav-control"],"open":[32]}],[4,"xpl-avatar",{"color":[1],"disabled":[4],"href":[1],"name":[1],"size":[1],"src":[1],"status":[1],"target":[1]}],[4,"xpl-badge",{"dot":[4],"variant":[1]}],[4,"xpl-button",{"disabled":[4],"link":[4],"iconOnly":[4,"icon-only"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1],"state":[1]}],[4,"xpl-checkbox",{"checked":[4],"description":[1],"disabled":[4],"indeterminate":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}],[4,"xpl-radio",{"checked":[4],"description":[1],"disabled":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}]]],["xpl-choicelist",[[0,"xpl-choicelist",{"choices":[16],"description":[1],"heading":[1],"multi":[4],"name":[1],"styled":[4],"selected":[32]}]]],["xpl-list",[[0,"xpl-list",{"items":[16]}]]],["xpl-button-row",[[0,"xpl-button-row",{"primary":[1],"secondary":[1],"tertiary":[1]}]]],["xpl-divider",[[4,"xpl-divider",{"tier":[2]}]]],["xpl-grid",[[0,"xpl-grid"]]],["xpl-grid-item",[[4,"xpl-grid-item",{"xs":[2],"sm":[2],"md":[2],"lg":[2]}]]],["xpl-input",[[0,"xpl-input",{"_id":[1],"autocomplete":[1],"dateFormat":[1,"date-format"],"description":[1],"disabled":[4],"error":[1],"label":[1],"max":[8],"maxCharacterCount":[2,"max-character-count"],"min":[8],"mode":[1],"multiline":[4],"name":[1],"placeholder":[1],"post":[1],"pre":[1],"readonly":[4],"required":[4],"step":[2],"type":[1],"value":[1],"characterCount":[32],"passwordVisible":[32]}]]],["xpl-main-nav",[[4,"xpl-main-nav",{"width":[1]}]]],["xpl-pagination",[[0,"xpl-pagination",{"total":[2],"perPage":[2,"per-page"],"waitForCallback":[4,"wait-for-callback"],"current":[32],"goto":[64]}]]],["xpl-toggle",[[0,"xpl-toggle",{"checked":[4],"description":[1],"disabled":[4],"heading":[1],"label":[1],"name":[1],"variant":[1],"id":[32]}]]],["xpl-backdrop",[[0,"xpl-backdrop",{"relative":[4]}]]],["xpl-dropdown-group_3",[[4,"xpl-dropdown-group",{"groupName":[1,"label"],"options":[16]}],[4,"xpl-dropdown-heading",{"label":[1]}],[4,"xpl-dropdown-option",{"isDisabled":[516,"disabled"],"label":[1],"isSelected":[1540,"selected"]}]]],["xpl-dropdown_2",[[4,"xpl-dropdown",{"isOpen":[1540,"open"],"closeOnSelect":[4,"close-on-select"],"mode":[1],"options":[16],"selectOnFocus":[4,"select-on-focus"],"triggerId":[1,"trigger-id"],"update":[16],"handleSelect":[64]}],[4,"xpl-tag"]]]], options);
16
+ return bootstrapLazy([["xpl-select",[[0,"xpl-select",{"choices":[16],"description":[1],"disabled":[4],"error":[1],"label":[1],"mode":[1],"placeholder":[1],"truncate":[4],"active":[32],"id":[32],"keepFocus":[32],"selected":[32],"value":[32],"displayValue":[32],"visibleChoices":[32]}]]],["xpl-application-shell",[[4,"xpl-application-shell",{"withSubnav":[4,"with-subnav"],"withUtility":[4,"with-utility"],"navWidth":[1,"nav-width"],"navOpen":[32]},[[0,"navOpen","navToggleHandler"],[0,"navWidth","navWithHandler"],[9,"resize","onWindowResize"]]]]],["xpl-avatar_12",[[4,"xpl-breadcrumb-item"],[4,"xpl-breadcrumbs"],[4,"xpl-content-area",{"size":[1]}],[4,"xpl-nav-item",{"navControl":[4,"nav-control"]}],[4,"xpl-secondary-nav"],[0,"xpl-table",{"columns":[16],"data":[16],"freeze":[4],"multiselect":[4],"striped":[4],"areAllSelected":[32],"rowData":[32],"hasScrolled":[32],"selected":[32]}],[4,"xpl-utility-bar",{"navControl":[4,"nav-control"],"open":[32]}],[4,"xpl-avatar",{"color":[1],"disabled":[4],"href":[1],"name":[1],"size":[1],"src":[1],"status":[1],"target":[1]}],[4,"xpl-badge",{"dot":[4],"variant":[1]}],[4,"xpl-button",{"disabled":[4],"link":[4],"iconOnly":[4,"icon-only"],"fullWidth":[4,"full-width"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1],"state":[1]}],[4,"xpl-checkbox",{"checked":[4],"description":[1],"disabled":[4],"indeterminate":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}],[4,"xpl-radio",{"checked":[4],"description":[1],"disabled":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}]]],["xpl-choicelist",[[0,"xpl-choicelist",{"choices":[16],"description":[1],"heading":[1],"multi":[4],"name":[1],"styled":[4],"selected":[32]}]]],["xpl-list",[[0,"xpl-list",{"items":[16]}]]],["xpl-button-row",[[0,"xpl-button-row",{"primary":[1],"secondary":[1],"tertiary":[1]}]]],["xpl-divider",[[4,"xpl-divider",{"tier":[2]}]]],["xpl-grid",[[0,"xpl-grid"]]],["xpl-grid-item",[[4,"xpl-grid-item",{"xs":[2],"sm":[2],"md":[2],"lg":[2]}]]],["xpl-input",[[0,"xpl-input",{"_id":[1],"autocomplete":[1],"dateFormat":[1,"date-format"],"description":[1],"disabled":[4],"error":[1],"label":[1],"max":[8],"maxCharacterCount":[2,"max-character-count"],"min":[8],"mode":[1],"multiline":[4],"name":[1],"placeholder":[1],"post":[1],"pre":[1],"readonly":[4],"required":[4],"step":[2],"type":[1],"value":[1],"characterCount":[32],"passwordVisible":[32]}]]],["xpl-main-nav",[[4,"xpl-main-nav",{"width":[1]}]]],["xpl-pagination",[[0,"xpl-pagination",{"total":[2],"perPage":[2,"per-page"],"waitForCallback":[4,"wait-for-callback"],"current":[32],"goto":[64]}]]],["xpl-toggle",[[0,"xpl-toggle",{"checked":[4],"description":[1],"disabled":[4],"heading":[1],"label":[1],"name":[1],"variant":[1],"id":[32]}]]],["xpl-backdrop",[[0,"xpl-backdrop",{"relative":[4]}]]],["xpl-dropdown-group_3",[[4,"xpl-dropdown-group",{"groupName":[1,"label"],"options":[16]}],[4,"xpl-dropdown-heading",{"label":[1]}],[4,"xpl-dropdown-option",{"isDisabled":[516,"disabled"],"label":[1],"isSelected":[1540,"selected"]}]]],["xpl-dropdown_2",[[4,"xpl-dropdown",{"isOpen":[1540,"open"],"closeOnSelect":[4,"close-on-select"],"mode":[1],"options":[16],"selectOnFocus":[4,"select-on-focus"],"triggerId":[1,"trigger-id"],"update":[16],"handleSelect":[64]}],[4,"xpl-tag"]]]], options);
17
17
  });
@@ -1066,6 +1066,9 @@ const postUpdateComponent = (hostRef) => {
1066
1066
  const endPostUpdate = createTime('postUpdate', tagName);
1067
1067
  const instance = hostRef.$lazyInstance$ ;
1068
1068
  const ancestorComponent = hostRef.$ancestorComponent$;
1069
+ {
1070
+ safeCall(instance, 'componentDidRender');
1071
+ }
1069
1072
  if (!(hostRef.$flags$ & 64 /* hasLoadedComponent */)) {
1070
1073
  hostRef.$flags$ |= 64 /* hasLoadedComponent */;
1071
1074
  {
@@ -1,4 +1,4 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-3df6db84.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-e3c4bb97.js';
2
2
 
3
3
  /*
4
4
  Stencil Client Patch Esm v2.8.0 | MIT Licensed | https://stenciljs.com
@@ -10,7 +10,7 @@ const patchEsm = () => {
10
10
  const defineCustomElements = (win, options) => {
11
11
  if (typeof window === 'undefined') return Promise.resolve();
12
12
  return patchEsm().then(() => {
13
- return bootstrapLazy([["xpl-select",[[0,"xpl-select",{"choices":[16],"description":[1],"disabled":[4],"error":[1],"label":[1],"mode":[1],"placeholder":[1],"truncate":[4],"active":[32],"id":[32],"keepFocus":[32],"selected":[32],"value":[32],"displayValue":[32],"visibleChoices":[32]}]]],["xpl-application-shell",[[4,"xpl-application-shell",{"withSubnav":[4,"with-subnav"],"withUtility":[4,"with-utility"],"navWidth":[1,"nav-width"],"navOpen":[32]},[[0,"navOpen","navToggleHandler"],[0,"navWidth","navWithHandler"],[9,"resize","onWindowResize"]]]]],["xpl-avatar_12",[[4,"xpl-breadcrumb-item"],[4,"xpl-breadcrumbs"],[4,"xpl-content-area",{"size":[1]}],[4,"xpl-nav-item",{"navControl":[4,"nav-control"]}],[4,"xpl-secondary-nav"],[0,"xpl-table",{"columns":[16],"data":[16],"freeze":[4],"multiselect":[4],"striped":[4],"areAllSelected":[32],"rowData":[32],"hasScrolled":[32],"selected":[32]}],[4,"xpl-utility-bar",{"navControl":[4,"nav-control"],"open":[32]}],[4,"xpl-avatar",{"color":[1],"disabled":[4],"href":[1],"name":[1],"size":[1],"src":[1],"status":[1],"target":[1]}],[4,"xpl-badge",{"dot":[4],"variant":[1]}],[4,"xpl-button",{"disabled":[4],"link":[4],"iconOnly":[4,"icon-only"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1],"state":[1]}],[4,"xpl-checkbox",{"checked":[4],"description":[1],"disabled":[4],"indeterminate":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}],[4,"xpl-radio",{"checked":[4],"description":[1],"disabled":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}]]],["xpl-choicelist",[[0,"xpl-choicelist",{"choices":[16],"description":[1],"heading":[1],"multi":[4],"name":[1],"styled":[4],"selected":[32]}]]],["xpl-list",[[0,"xpl-list",{"items":[16]}]]],["xpl-button-row",[[0,"xpl-button-row",{"primary":[1],"secondary":[1],"tertiary":[1]}]]],["xpl-divider",[[4,"xpl-divider",{"tier":[2]}]]],["xpl-grid",[[0,"xpl-grid"]]],["xpl-grid-item",[[4,"xpl-grid-item",{"xs":[2],"sm":[2],"md":[2],"lg":[2]}]]],["xpl-input",[[0,"xpl-input",{"_id":[1],"autocomplete":[1],"dateFormat":[1,"date-format"],"description":[1],"disabled":[4],"error":[1],"label":[1],"max":[8],"maxCharacterCount":[2,"max-character-count"],"min":[8],"mode":[1],"multiline":[4],"name":[1],"placeholder":[1],"post":[1],"pre":[1],"readonly":[4],"required":[4],"step":[2],"type":[1],"value":[1],"characterCount":[32],"passwordVisible":[32]}]]],["xpl-main-nav",[[4,"xpl-main-nav",{"width":[1]}]]],["xpl-pagination",[[0,"xpl-pagination",{"total":[2],"perPage":[2,"per-page"],"waitForCallback":[4,"wait-for-callback"],"current":[32],"goto":[64]}]]],["xpl-toggle",[[0,"xpl-toggle",{"checked":[4],"description":[1],"disabled":[4],"heading":[1],"label":[1],"name":[1],"variant":[1],"id":[32]}]]],["xpl-backdrop",[[0,"xpl-backdrop",{"relative":[4]}]]],["xpl-dropdown-group_3",[[4,"xpl-dropdown-group",{"groupName":[1,"label"],"options":[16]}],[4,"xpl-dropdown-heading",{"label":[1]}],[4,"xpl-dropdown-option",{"isDisabled":[516,"disabled"],"label":[1],"isSelected":[1540,"selected"]}]]],["xpl-dropdown_2",[[4,"xpl-dropdown",{"isOpen":[1540,"open"],"closeOnSelect":[4,"close-on-select"],"mode":[1],"options":[16],"selectOnFocus":[4,"select-on-focus"],"triggerId":[1,"trigger-id"],"update":[16],"handleSelect":[64]}],[4,"xpl-tag"]]]], options);
13
+ return bootstrapLazy([["xpl-select",[[0,"xpl-select",{"choices":[16],"description":[1],"disabled":[4],"error":[1],"label":[1],"mode":[1],"placeholder":[1],"truncate":[4],"active":[32],"id":[32],"keepFocus":[32],"selected":[32],"value":[32],"displayValue":[32],"visibleChoices":[32]}]]],["xpl-application-shell",[[4,"xpl-application-shell",{"withSubnav":[4,"with-subnav"],"withUtility":[4,"with-utility"],"navWidth":[1,"nav-width"],"navOpen":[32]},[[0,"navOpen","navToggleHandler"],[0,"navWidth","navWithHandler"],[9,"resize","onWindowResize"]]]]],["xpl-avatar_12",[[4,"xpl-breadcrumb-item"],[4,"xpl-breadcrumbs"],[4,"xpl-content-area",{"size":[1]}],[4,"xpl-nav-item",{"navControl":[4,"nav-control"]}],[4,"xpl-secondary-nav"],[0,"xpl-table",{"columns":[16],"data":[16],"freeze":[4],"multiselect":[4],"striped":[4],"areAllSelected":[32],"rowData":[32],"hasScrolled":[32],"selected":[32]}],[4,"xpl-utility-bar",{"navControl":[4,"nav-control"],"open":[32]}],[4,"xpl-avatar",{"color":[1],"disabled":[4],"href":[1],"name":[1],"size":[1],"src":[1],"status":[1],"target":[1]}],[4,"xpl-badge",{"dot":[4],"variant":[1]}],[4,"xpl-button",{"disabled":[4],"link":[4],"iconOnly":[4,"icon-only"],"fullWidth":[4,"full-width"],"name":[1],"size":[1],"type":[1],"value":[1],"variant":[1],"state":[1]}],[4,"xpl-checkbox",{"checked":[4],"description":[1],"disabled":[4],"indeterminate":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}],[4,"xpl-radio",{"checked":[4],"description":[1],"disabled":[4],"name":[1],"required":[4],"styled":[4],"value":[1],"id":[32]}]]],["xpl-choicelist",[[0,"xpl-choicelist",{"choices":[16],"description":[1],"heading":[1],"multi":[4],"name":[1],"styled":[4],"selected":[32]}]]],["xpl-list",[[0,"xpl-list",{"items":[16]}]]],["xpl-button-row",[[0,"xpl-button-row",{"primary":[1],"secondary":[1],"tertiary":[1]}]]],["xpl-divider",[[4,"xpl-divider",{"tier":[2]}]]],["xpl-grid",[[0,"xpl-grid"]]],["xpl-grid-item",[[4,"xpl-grid-item",{"xs":[2],"sm":[2],"md":[2],"lg":[2]}]]],["xpl-input",[[0,"xpl-input",{"_id":[1],"autocomplete":[1],"dateFormat":[1,"date-format"],"description":[1],"disabled":[4],"error":[1],"label":[1],"max":[8],"maxCharacterCount":[2,"max-character-count"],"min":[8],"mode":[1],"multiline":[4],"name":[1],"placeholder":[1],"post":[1],"pre":[1],"readonly":[4],"required":[4],"step":[2],"type":[1],"value":[1],"characterCount":[32],"passwordVisible":[32]}]]],["xpl-main-nav",[[4,"xpl-main-nav",{"width":[1]}]]],["xpl-pagination",[[0,"xpl-pagination",{"total":[2],"perPage":[2,"per-page"],"waitForCallback":[4,"wait-for-callback"],"current":[32],"goto":[64]}]]],["xpl-toggle",[[0,"xpl-toggle",{"checked":[4],"description":[1],"disabled":[4],"heading":[1],"label":[1],"name":[1],"variant":[1],"id":[32]}]]],["xpl-backdrop",[[0,"xpl-backdrop",{"relative":[4]}]]],["xpl-dropdown-group_3",[[4,"xpl-dropdown-group",{"groupName":[1,"label"],"options":[16]}],[4,"xpl-dropdown-heading",{"label":[1]}],[4,"xpl-dropdown-option",{"isDisabled":[516,"disabled"],"label":[1],"isSelected":[1540,"selected"]}]]],["xpl-dropdown_2",[[4,"xpl-dropdown",{"isOpen":[1540,"open"],"closeOnSelect":[4,"close-on-select"],"mode":[1],"options":[16],"selectOnFocus":[4,"select-on-focus"],"triggerId":[1,"trigger-id"],"update":[16],"handleSelect":[64]}],[4,"xpl-tag"]]]], options);
14
14
  });
15
15
  };
16
16
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplApplicationShell = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, c as createEvent } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-e3c4bb97.js';
2
2
  import { v as v4 } from './v4-929670b7.js';
3
3
 
4
4
  const XplAvatar = class {
@@ -70,6 +70,26 @@ const XplButton = class {
70
70
  */
71
71
  this.state = 'neutral';
72
72
  }
73
+ componentDidRender() {
74
+ const attrs = this.el.attributes;
75
+ const dataAttrs = Object.keys(attrs)
76
+ .filter((k) => {
77
+ const propertyName = attrs[k].name;
78
+ if (propertyName) {
79
+ return (propertyName.includes('data-test') ||
80
+ propertyName.includes('aria-'));
81
+ }
82
+ return false;
83
+ })
84
+ .reduce((acc, k) => {
85
+ return Object.assign(Object.assign({}, acc), { [attrs[k].name]: attrs[k].value });
86
+ }, {});
87
+ const child = this.el.querySelector('button');
88
+ Object.keys(dataAttrs).forEach((k) => {
89
+ child.setAttribute(k, dataAttrs[k]);
90
+ this.el.removeAttribute(k);
91
+ });
92
+ }
73
93
  render() {
74
94
  let className = `xpl-button
75
95
  xpl-button--${this.size}
@@ -77,6 +97,8 @@ const XplButton = class {
77
97
  xpl-button--${this.variant}`;
78
98
  if (this.iconOnly)
79
99
  className += ' xpl-button--icon-only';
100
+ if (this.fullWidth)
101
+ className += ' xpl-button--full-width';
80
102
  if (this.link && this.disabled)
81
103
  className += ' xpl-button--link-disabled';
82
104
  return (h(Host, { class: className },
@@ -86,6 +108,7 @@ const XplButton = class {
86
108
  */
87
109
  this.link ? (h("slot", null)) : (h("button", { disabled: this.disabled, name: this.name, type: this.type, value: this.value }, h("slot", null)))));
88
110
  }
111
+ get el() { return getElement(this); }
89
112
  };
90
113
 
91
114
  const XplCheckbox = class {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplBackdrop = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplButtonRow = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplChoicelist = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplDivider = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement } from './index-e3c4bb97.js';
2
2
 
3
3
  var __rest = (undefined && undefined.__rest) || function (s, e) {
4
4
  var t = {};
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-e3c4bb97.js';
2
2
 
3
3
  var __rest = (undefined && undefined.__rest) || function (s, e) {
4
4
  var t = {};
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplGridItem = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, g as getElement, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, g as getElement, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplGrid = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
  import './regular-86225e9d.js';
3
3
  import { v as v4 } from './v4-929670b7.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host, F as Fragment } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host, F as Fragment } from './index-e3c4bb97.js';
2
2
  import './regular-86225e9d.js';
3
3
 
4
4
  const ListItemCpt = ({ avatar, avatars, badges, href, title, subtext, metadata, }) => {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplMainNav = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, c as createEvent, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, c as createEvent, h, H as Host } from './index-e3c4bb97.js';
2
2
 
3
3
  const XplPagination = class {
4
4
  constructor(hostRef) {
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
  import { v as v4 } from './v4-929670b7.js';
3
3
 
4
4
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
@@ -1,4 +1,4 @@
1
- import { r as registerInstance, h, H as Host } from './index-3df6db84.js';
1
+ import { r as registerInstance, h, H as Host } from './index-e3c4bb97.js';
2
2
  import { v as v4 } from './v4-929670b7.js';
3
3
 
4
4
  const XplToggle = class {
@@ -27,6 +27,11 @@ export default {
27
27
  type: 'select',
28
28
  },
29
29
  },
30
+ fullWidth: {
31
+ control: {
32
+ type: 'boolean',
33
+ },
34
+ },
30
35
  icon: {
31
36
  options: ['none', 'leading', 'trailing'],
32
37
  control: {
@@ -40,7 +45,7 @@ export default {
40
45
  },
41
46
  },
42
47
  };
43
- export const Button = ({ variant, size, disabled, state, text, icon, link, }) => {
48
+ export const Button = ({ variant, size, disabled, fullWidth, state, text, icon, link, }) => {
44
49
  let attrs = '';
45
50
  if (variant !== 'primary')
46
51
  attrs += ` variant="${variant}"`;
@@ -59,25 +64,31 @@ export const Button = ({ variant, size, disabled, state, text, icon, link, }) =>
59
64
  `;
60
65
  return link ? `<a href='javascript:;'>${textBlock}</a>` : textBlock;
61
66
  };
62
- return `<xpl-button
67
+ return `<div style="width: 50vw; text-align: center;"><xpl-button
68
+ id="123"
63
69
  variant='${variant}'
64
70
  size='${size}'
65
71
  state='${state}'
72
+ data-test-attribute
73
+ data-test-attribute-with-value="1"
66
74
  ${attrs}
67
75
  ${link ? 'link' : ''}
76
+ ${fullWidth ? 'full-width' : ''}
68
77
  >
69
78
  ${innerHtml(link)}
70
- </xpl-button>`;
79
+ </xpl-button></div>`;
71
80
  };
72
- const HtmlButton = ({ variant, size, state, disabled, text, icon, link }) => {
81
+ const HtmlButton = ({ variant, size, state, disabled, text, icon, link, fullWidth, }) => {
73
82
  const iconSvg = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-coffee"><path d="M18 8h1a4 4 0 0 1 0 8h-1"/><path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z"/><line x1="6" y1="1" x2="6" y2="4"/><line x1="10" y1="1" x2="10" y2="4"/><line x1="14" y1="1" x2="14" y2="4"/></svg>`;
74
- const className = `xpl-button
83
+ let className = `xpl-button
75
84
  xpl-button--${size}
76
85
  xpl-button--${state}
77
86
  xpl-button--${variant} `;
78
87
  let attrs = '';
79
88
  if (disabled)
80
89
  attrs += ' disabled';
90
+ if (fullWidth)
91
+ className += ' xpl-button--full-width';
81
92
  const innerHtml = (link) => {
82
93
  const textBlock = `
83
94
  ${icon == 'leading' ? iconSvg : ''}
@@ -107,4 +118,5 @@ Button.args = {
107
118
  state: 'neutral',
108
119
  text: 'Get Coffee',
109
120
  icon: 'leading',
121
+ fullWidth: true,
110
122
  };