@xplortech/apollo-core 0.0.6 → 0.1.0

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 (63) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/README.md +42 -1
  3. package/build/style.css +983 -380
  4. package/dist/apollo-core/apollo-core.css +23 -9
  5. package/dist/apollo-core/apollo-core.esm.js +1 -1
  6. package/dist/apollo-core/p-00996870.js +1 -0
  7. package/dist/apollo-core/{p-b9df8412.entry.js → p-1e6a342a.entry.js} +4 -3
  8. package/dist/apollo-core/{p-5d786409.entry.js → p-21872e0f.entry.js} +1 -1
  9. package/dist/apollo-core/p-d8ea7d80.entry.js +1 -0
  10. package/dist/cjs/apollo-core.cjs.js +3 -3
  11. package/dist/cjs/{index-d0d9877d.js → index-716d8f57.js} +106 -29
  12. package/dist/cjs/loader.cjs.js +3 -3
  13. package/dist/cjs/{xpl-button_2.cjs.entry.js → xpl-avatar_7.cjs.entry.js} +149 -8
  14. package/dist/cjs/xpl-choicelist.cjs.entry.js +16 -0
  15. package/dist/cjs/xpl-pagination.cjs.entry.js +1 -1
  16. package/dist/collection/collection-manifest.json +8 -2
  17. package/dist/collection/components/xpl-avatar/xpl-avatar.js +158 -0
  18. package/dist/collection/components/xpl-badge/xpl-badge.js +50 -0
  19. package/dist/collection/components/xpl-button/xpl-button.js +45 -13
  20. package/dist/collection/components/xpl-checkbox/xpl-checkbox.js +139 -0
  21. package/dist/collection/components/xpl-choicelist/xpl-choicelist.js +9 -0
  22. package/dist/collection/components/xpl-radio/xpl-radio.js +122 -0
  23. package/dist/collection/components/xpl-table/xpl-table.js +9 -5
  24. package/dist/collection/components/xpl-utility-bar/xpl-utility-bar.js +10 -0
  25. package/dist/custom-elements/index.d.ts +36 -0
  26. package/dist/custom-elements/index.js +176 -12
  27. package/dist/esm/apollo-core.js +3 -3
  28. package/dist/esm/{index-252a5f91.js → index-4c8962a5.js} +106 -29
  29. package/dist/esm/loader.js +3 -3
  30. package/dist/esm/{xpl-button_2.entry.js → xpl-avatar_7.entry.js} +145 -9
  31. package/dist/esm/xpl-choicelist.entry.js +12 -0
  32. package/dist/esm/xpl-pagination.entry.js +1 -1
  33. package/dist/stories/avatar.stories.js +173 -0
  34. package/dist/stories/badge.stories.js +48 -0
  35. package/dist/stories/button.stories.js +98 -0
  36. package/dist/stories/checkbox.stories.js +66 -0
  37. package/dist/stories/pagination.stories.js +84 -0
  38. package/dist/stories/radio.stories.js +56 -0
  39. package/dist/stories/table.stories.js +107 -0
  40. package/dist/stories/tabs.stories.js +24 -0
  41. package/dist/stories/utility-bar.stories.js +94 -0
  42. package/dist/types/components/xpl-avatar/xpl-avatar.d.ts +11 -0
  43. package/dist/types/components/xpl-badge/xpl-badge.d.ts +5 -0
  44. package/dist/types/{.stencil → components}/xpl-button/xpl-button.d.ts +4 -2
  45. package/dist/types/components/xpl-checkbox/xpl-checkbox.d.ts +11 -0
  46. package/dist/types/components/xpl-choicelist/xpl-choicelist.d.ts +3 -0
  47. package/dist/types/components/xpl-radio/xpl-radio.d.ts +10 -0
  48. package/dist/types/{.stencil → components}/xpl-table/xpl-table.d.ts +2 -2
  49. package/dist/types/components/xpl-utility-bar/xpl-utility-bar.d.ts +3 -0
  50. package/dist/types/components.d.ts +134 -6
  51. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/avatar.stories.d.ts +91 -0
  52. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/badge.stories.d.ts +48 -0
  53. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/button.stories.d.ts +74 -0
  54. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/checkbox.stories.d.ts +64 -0
  55. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/pagination.stories.d.ts +0 -0
  56. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/radio.stories.d.ts +56 -0
  57. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/table.stories.d.ts +50 -0
  58. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/tabs.stories.d.ts +0 -0
  59. package/dist/types/home/runner/work/apollo/apollo/.stencil/stories/utility-bar.stories.d.ts +20 -0
  60. package/dist/types/stencil-public-runtime.d.ts +183 -182
  61. package/package.json +42 -13
  62. package/dist/apollo-core/p-3f7da885.js +0 -1
  63. /package/dist/types/{.stencil → components}/xpl-pagination/xpl-pagination.d.ts +0 -0
@@ -1,12 +1,18 @@
1
1
  {
2
2
  "entries": [
3
+ "./components/xpl-avatar/xpl-avatar.js",
4
+ "./components/xpl-badge/xpl-badge.js",
3
5
  "./components/xpl-button/xpl-button.js",
6
+ "./components/xpl-checkbox/xpl-checkbox.js",
7
+ "./components/xpl-choicelist/xpl-choicelist.js",
4
8
  "./components/xpl-pagination/xpl-pagination.js",
5
- "./components/xpl-table/xpl-table.js"
9
+ "./components/xpl-radio/xpl-radio.js",
10
+ "./components/xpl-table/xpl-table.js",
11
+ "./components/xpl-utility-bar/xpl-utility-bar.js"
6
12
  ],
7
13
  "compiler": {
8
14
  "name": "@stencil/core",
9
- "version": "2.6.0",
15
+ "version": "2.8.0",
10
16
  "typescriptVersion": "4.2.3"
11
17
  },
12
18
  "collections": [],
@@ -0,0 +1,158 @@
1
+ import { Component, Host, h, Prop } from "@stencil/core";
2
+ export class XplAvatar {
3
+ constructor() {
4
+ this.disabled = false;
5
+ }
6
+ render() {
7
+ let className = "xpl-avatar";
8
+ if (this.size)
9
+ className += ` xpl-avatar--${this.size}`;
10
+ if (this.color)
11
+ className += ` xpl-avatar--${this.color}`;
12
+ const inner = (h("div", null,
13
+ this.src ? (h("img", { alt: this.name, src: this.src })) : (h("div", { class: "xpl-avatar__placeholder" },
14
+ h("slot", null))),
15
+ this.status && h("div", { class: `xpl-avatar__dot--${this.status}` })));
16
+ return (h(Host, null, this.href && !this.disabled ? (h("a", { href: this.href, class: className, target: this.target }, inner)) : this.href && this.disabled ? (h("div", { class: className + " xpl-avatar--disabled" }, inner)) : (h("div", { class: className }, inner))));
17
+ }
18
+ static get is() { return "xpl-avatar"; }
19
+ static get properties() { return {
20
+ "color": {
21
+ "type": "string",
22
+ "mutable": false,
23
+ "complexType": {
24
+ "original": "\"green\" | \"yellow\" | \"pink\" | \"primary\" | \"secondary\"",
25
+ "resolved": "\"green\" | \"pink\" | \"primary\" | \"secondary\" | \"yellow\"",
26
+ "references": {}
27
+ },
28
+ "required": false,
29
+ "optional": true,
30
+ "docs": {
31
+ "tags": [],
32
+ "text": ""
33
+ },
34
+ "attribute": "color",
35
+ "reflect": false
36
+ },
37
+ "disabled": {
38
+ "type": "boolean",
39
+ "mutable": false,
40
+ "complexType": {
41
+ "original": "boolean",
42
+ "resolved": "boolean",
43
+ "references": {}
44
+ },
45
+ "required": false,
46
+ "optional": true,
47
+ "docs": {
48
+ "tags": [],
49
+ "text": ""
50
+ },
51
+ "attribute": "disabled",
52
+ "reflect": false,
53
+ "defaultValue": "false"
54
+ },
55
+ "href": {
56
+ "type": "string",
57
+ "mutable": false,
58
+ "complexType": {
59
+ "original": "string",
60
+ "resolved": "string",
61
+ "references": {}
62
+ },
63
+ "required": false,
64
+ "optional": true,
65
+ "docs": {
66
+ "tags": [],
67
+ "text": ""
68
+ },
69
+ "attribute": "href",
70
+ "reflect": false
71
+ },
72
+ "name": {
73
+ "type": "string",
74
+ "mutable": false,
75
+ "complexType": {
76
+ "original": "string",
77
+ "resolved": "string",
78
+ "references": {}
79
+ },
80
+ "required": false,
81
+ "optional": true,
82
+ "docs": {
83
+ "tags": [],
84
+ "text": ""
85
+ },
86
+ "attribute": "name",
87
+ "reflect": false
88
+ },
89
+ "size": {
90
+ "type": "string",
91
+ "mutable": false,
92
+ "complexType": {
93
+ "original": "\"md\" | \"sm\"",
94
+ "resolved": "\"md\" | \"sm\"",
95
+ "references": {}
96
+ },
97
+ "required": false,
98
+ "optional": true,
99
+ "docs": {
100
+ "tags": [],
101
+ "text": ""
102
+ },
103
+ "attribute": "size",
104
+ "reflect": false
105
+ },
106
+ "src": {
107
+ "type": "string",
108
+ "mutable": false,
109
+ "complexType": {
110
+ "original": "string",
111
+ "resolved": "string",
112
+ "references": {}
113
+ },
114
+ "required": false,
115
+ "optional": true,
116
+ "docs": {
117
+ "tags": [],
118
+ "text": ""
119
+ },
120
+ "attribute": "src",
121
+ "reflect": false
122
+ },
123
+ "status": {
124
+ "type": "string",
125
+ "mutable": false,
126
+ "complexType": {
127
+ "original": "\"active\" | \"warning\" | \"inactive\"",
128
+ "resolved": "\"active\" | \"inactive\" | \"warning\"",
129
+ "references": {}
130
+ },
131
+ "required": false,
132
+ "optional": true,
133
+ "docs": {
134
+ "tags": [],
135
+ "text": ""
136
+ },
137
+ "attribute": "status",
138
+ "reflect": false
139
+ },
140
+ "target": {
141
+ "type": "string",
142
+ "mutable": false,
143
+ "complexType": {
144
+ "original": "string",
145
+ "resolved": "string",
146
+ "references": {}
147
+ },
148
+ "required": false,
149
+ "optional": true,
150
+ "docs": {
151
+ "tags": [],
152
+ "text": ""
153
+ },
154
+ "attribute": "target",
155
+ "reflect": false
156
+ }
157
+ }; }
158
+ }
@@ -0,0 +1,50 @@
1
+ import { Component, Host, h, Prop } from "@stencil/core";
2
+ export class XplBadge {
3
+ render() {
4
+ let className = "xpl-badge";
5
+ if (this.dot)
6
+ className += " xpl-badge--dot";
7
+ if (this.variant)
8
+ className += " xpl-badge--" + this.variant;
9
+ return (h(Host, null,
10
+ h("div", { class: className },
11
+ h("slot", null))));
12
+ }
13
+ static get is() { return "xpl-badge"; }
14
+ static get properties() { return {
15
+ "dot": {
16
+ "type": "boolean",
17
+ "mutable": false,
18
+ "complexType": {
19
+ "original": "boolean",
20
+ "resolved": "boolean",
21
+ "references": {}
22
+ },
23
+ "required": false,
24
+ "optional": true,
25
+ "docs": {
26
+ "tags": [],
27
+ "text": ""
28
+ },
29
+ "attribute": "dot",
30
+ "reflect": false
31
+ },
32
+ "variant": {
33
+ "type": "string",
34
+ "mutable": false,
35
+ "complexType": {
36
+ "original": "\"success\" | \"warning\" | \"inactive\" | \"error\"",
37
+ "resolved": "\"error\" | \"inactive\" | \"success\" | \"warning\"",
38
+ "references": {}
39
+ },
40
+ "required": false,
41
+ "optional": true,
42
+ "docs": {
43
+ "tags": [],
44
+ "text": ""
45
+ },
46
+ "attribute": "variant",
47
+ "reflect": false
48
+ }
49
+ }; }
50
+ }
@@ -3,7 +3,6 @@ import "../../../font-awesome/fontawesome";
3
3
  import "../../../font-awesome/regular";
4
4
  export class XplButton {
5
5
  constructor() {
6
- this.disabled = undefined;
7
6
  this.size = "default";
8
7
  this.variant = "primary";
9
8
  }
@@ -13,8 +12,8 @@ export class XplButton {
13
12
  className += " xpl-button--secondary";
14
13
  if (this.variant === "subtle")
15
14
  className += " xpl-button--subtle";
16
- if (this.variant === "error")
17
- className += " xpl-button--error";
15
+ if (this.variant === "warning")
16
+ className += " xpl-button--warning";
18
17
  if (this.size === "sm")
19
18
  className += " xpl-button--sm";
20
19
  if (this.size === "xs")
@@ -29,12 +28,12 @@ export class XplButton {
29
28
  */
30
29
  this.href ? (h("a", { class: className, href: this.href, role: "button" },
31
30
  !this.iconTrailing && icon,
32
- this.iconOnly ? h("span", { class: "sr-only" },
33
- h("slot", null)) : h("slot", null),
34
- this.iconTrailing && icon)) : (h("button", { class: className, disabled: this.disabled, type: this.type },
31
+ this.iconOnly ? (h("span", { class: "sr-only" },
32
+ h("slot", null))) : (h("slot", null)),
33
+ this.iconTrailing && icon)) : (h("button", { class: className, disabled: this.disabled, name: this.name, type: this.type, value: this.value },
35
34
  !this.iconTrailing && icon,
36
- this.iconOnly ? h("span", { class: "sr-only" },
37
- h("slot", null)) : h("slot", null),
35
+ this.iconOnly ? (h("span", { class: "sr-only" },
36
+ h("slot", null))) : (h("slot", null)),
38
37
  this.iconTrailing && icon))));
39
38
  }
40
39
  static get is() { return "xpl-button"; }
@@ -54,8 +53,7 @@ export class XplButton {
54
53
  "text": ""
55
54
  },
56
55
  "attribute": "disabled",
57
- "reflect": false,
58
- "defaultValue": "undefined"
56
+ "reflect": false
59
57
  },
60
58
  "href": {
61
59
  "type": "string",
@@ -125,6 +123,23 @@ export class XplButton {
125
123
  "attribute": "icon-trailing",
126
124
  "reflect": false
127
125
  },
126
+ "name": {
127
+ "type": "string",
128
+ "mutable": false,
129
+ "complexType": {
130
+ "original": "string",
131
+ "resolved": "string",
132
+ "references": {}
133
+ },
134
+ "required": false,
135
+ "optional": true,
136
+ "docs": {
137
+ "tags": [],
138
+ "text": ""
139
+ },
140
+ "attribute": "name",
141
+ "reflect": false
142
+ },
128
143
  "size": {
129
144
  "type": "string",
130
145
  "mutable": false,
@@ -144,6 +159,23 @@ export class XplButton {
144
159
  "defaultValue": "\"default\""
145
160
  },
146
161
  "type": {
162
+ "type": "string",
163
+ "mutable": false,
164
+ "complexType": {
165
+ "original": "\"submit\" | \"reset\" | \"button\"",
166
+ "resolved": "\"button\" | \"reset\" | \"submit\"",
167
+ "references": {}
168
+ },
169
+ "required": false,
170
+ "optional": true,
171
+ "docs": {
172
+ "tags": [],
173
+ "text": ""
174
+ },
175
+ "attribute": "type",
176
+ "reflect": false
177
+ },
178
+ "value": {
147
179
  "type": "string",
148
180
  "mutable": false,
149
181
  "complexType": {
@@ -157,15 +189,15 @@ export class XplButton {
157
189
  "tags": [],
158
190
  "text": ""
159
191
  },
160
- "attribute": "type",
192
+ "attribute": "value",
161
193
  "reflect": false
162
194
  },
163
195
  "variant": {
164
196
  "type": "string",
165
197
  "mutable": false,
166
198
  "complexType": {
167
- "original": "\"primary\" | \"secondary\" | \"subtle\" | \"error\"",
168
- "resolved": "\"error\" | \"primary\" | \"secondary\" | \"subtle\"",
199
+ "original": "\"primary\" | \"secondary\" | \"subtle\" | \"warning\"",
200
+ "resolved": "\"primary\" | \"secondary\" | \"subtle\" | \"warning\"",
169
201
  "references": {}
170
202
  },
171
203
  "required": false,
@@ -0,0 +1,139 @@
1
+ import { Component, Host, h, Prop, State } from "@stencil/core";
2
+ import { v4 as uuid } from "uuid";
3
+ export class XplCheckbox {
4
+ constructor() {
5
+ this.id = uuid();
6
+ }
7
+ render() {
8
+ return (h(Host, { class: "xpl-checkbox-container" },
9
+ h("input", { class: "xpl-checkbox", type: "checkbox", checked: this.checked, disabled: this.disabled, id: this.id, indeterminate: this.indeterminate, name: this.name, required: this.required, value: this.value }),
10
+ h("label", { htmlFor: this.id },
11
+ h("slot", null),
12
+ this.description && h("small", null, this.description))));
13
+ }
14
+ static get is() { return "xpl-checkbox"; }
15
+ static get properties() { return {
16
+ "checked": {
17
+ "type": "boolean",
18
+ "mutable": false,
19
+ "complexType": {
20
+ "original": "boolean",
21
+ "resolved": "boolean",
22
+ "references": {}
23
+ },
24
+ "required": false,
25
+ "optional": true,
26
+ "docs": {
27
+ "tags": [],
28
+ "text": ""
29
+ },
30
+ "attribute": "checked",
31
+ "reflect": false
32
+ },
33
+ "description": {
34
+ "type": "string",
35
+ "mutable": false,
36
+ "complexType": {
37
+ "original": "string",
38
+ "resolved": "string",
39
+ "references": {}
40
+ },
41
+ "required": false,
42
+ "optional": true,
43
+ "docs": {
44
+ "tags": [],
45
+ "text": ""
46
+ },
47
+ "attribute": "description",
48
+ "reflect": false
49
+ },
50
+ "disabled": {
51
+ "type": "boolean",
52
+ "mutable": false,
53
+ "complexType": {
54
+ "original": "boolean",
55
+ "resolved": "boolean",
56
+ "references": {}
57
+ },
58
+ "required": false,
59
+ "optional": true,
60
+ "docs": {
61
+ "tags": [],
62
+ "text": ""
63
+ },
64
+ "attribute": "disabled",
65
+ "reflect": false
66
+ },
67
+ "indeterminate": {
68
+ "type": "boolean",
69
+ "mutable": false,
70
+ "complexType": {
71
+ "original": "boolean",
72
+ "resolved": "boolean",
73
+ "references": {}
74
+ },
75
+ "required": false,
76
+ "optional": true,
77
+ "docs": {
78
+ "tags": [],
79
+ "text": ""
80
+ },
81
+ "attribute": "indeterminate",
82
+ "reflect": false
83
+ },
84
+ "name": {
85
+ "type": "string",
86
+ "mutable": false,
87
+ "complexType": {
88
+ "original": "string",
89
+ "resolved": "string",
90
+ "references": {}
91
+ },
92
+ "required": false,
93
+ "optional": true,
94
+ "docs": {
95
+ "tags": [],
96
+ "text": ""
97
+ },
98
+ "attribute": "name",
99
+ "reflect": false
100
+ },
101
+ "required": {
102
+ "type": "boolean",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "boolean",
106
+ "resolved": "boolean",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": true,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": ""
114
+ },
115
+ "attribute": "required",
116
+ "reflect": false
117
+ },
118
+ "value": {
119
+ "type": "string",
120
+ "mutable": false,
121
+ "complexType": {
122
+ "original": "string",
123
+ "resolved": "string",
124
+ "references": {}
125
+ },
126
+ "required": false,
127
+ "optional": true,
128
+ "docs": {
129
+ "tags": [],
130
+ "text": ""
131
+ },
132
+ "attribute": "value",
133
+ "reflect": false
134
+ }
135
+ }; }
136
+ static get states() { return {
137
+ "id": {}
138
+ }; }
139
+ }
@@ -0,0 +1,9 @@
1
+ import { Component, Host, h } from "@stencil/core";
2
+ export class XplChoicelist {
3
+ render() {
4
+ return (h(Host, null,
5
+ h("slot", null)));
6
+ }
7
+ static get is() { return "xpl-choicelist"; }
8
+ static get encapsulation() { return "shadow"; }
9
+ }
@@ -0,0 +1,122 @@
1
+ import { Component, Host, h, Prop, State } from "@stencil/core";
2
+ import { v4 as uuid } from "uuid";
3
+ export class XplRadio {
4
+ constructor() {
5
+ this.id = uuid();
6
+ }
7
+ render() {
8
+ return (h(Host, { class: "xpl-radio-container" },
9
+ h("input", { class: "xpl-radio", type: "radio", checked: this.checked, disabled: this.disabled, id: this.id, name: this.name, required: this.required, value: this.value }),
10
+ h("label", { htmlFor: this.id },
11
+ h("slot", null),
12
+ this.description && h("small", null, this.description))));
13
+ }
14
+ static get is() { return "xpl-radio"; }
15
+ static get properties() { return {
16
+ "checked": {
17
+ "type": "boolean",
18
+ "mutable": false,
19
+ "complexType": {
20
+ "original": "boolean",
21
+ "resolved": "boolean",
22
+ "references": {}
23
+ },
24
+ "required": false,
25
+ "optional": true,
26
+ "docs": {
27
+ "tags": [],
28
+ "text": ""
29
+ },
30
+ "attribute": "checked",
31
+ "reflect": false
32
+ },
33
+ "description": {
34
+ "type": "string",
35
+ "mutable": false,
36
+ "complexType": {
37
+ "original": "string",
38
+ "resolved": "string",
39
+ "references": {}
40
+ },
41
+ "required": false,
42
+ "optional": true,
43
+ "docs": {
44
+ "tags": [],
45
+ "text": ""
46
+ },
47
+ "attribute": "description",
48
+ "reflect": false
49
+ },
50
+ "disabled": {
51
+ "type": "boolean",
52
+ "mutable": false,
53
+ "complexType": {
54
+ "original": "boolean",
55
+ "resolved": "boolean",
56
+ "references": {}
57
+ },
58
+ "required": false,
59
+ "optional": true,
60
+ "docs": {
61
+ "tags": [],
62
+ "text": ""
63
+ },
64
+ "attribute": "disabled",
65
+ "reflect": false
66
+ },
67
+ "name": {
68
+ "type": "string",
69
+ "mutable": false,
70
+ "complexType": {
71
+ "original": "string",
72
+ "resolved": "string",
73
+ "references": {}
74
+ },
75
+ "required": false,
76
+ "optional": true,
77
+ "docs": {
78
+ "tags": [],
79
+ "text": ""
80
+ },
81
+ "attribute": "name",
82
+ "reflect": false
83
+ },
84
+ "required": {
85
+ "type": "boolean",
86
+ "mutable": false,
87
+ "complexType": {
88
+ "original": "boolean",
89
+ "resolved": "boolean",
90
+ "references": {}
91
+ },
92
+ "required": false,
93
+ "optional": true,
94
+ "docs": {
95
+ "tags": [],
96
+ "text": ""
97
+ },
98
+ "attribute": "required",
99
+ "reflect": false
100
+ },
101
+ "value": {
102
+ "type": "string",
103
+ "mutable": false,
104
+ "complexType": {
105
+ "original": "string",
106
+ "resolved": "string",
107
+ "references": {}
108
+ },
109
+ "required": false,
110
+ "optional": true,
111
+ "docs": {
112
+ "tags": [],
113
+ "text": ""
114
+ },
115
+ "attribute": "value",
116
+ "reflect": false
117
+ }
118
+ }; }
119
+ static get states() { return {
120
+ "id": {}
121
+ }; }
122
+ }
@@ -66,9 +66,13 @@ export class XplTable {
66
66
  h("table", { class: className },
67
67
  this.columns && (h("thead", null, this.columns.map((column, i) => {
68
68
  return (h("th", null, this.multiselect && i === 0 ? (h("label", { htmlFor: "__xpl-table-th" },
69
- h("input", { id: "__xpl-table-th", type: "checkbox", onChange: (e) => {
69
+ h("input", { checked: this.areAllSelected, id: "__xpl-table-th",
70
+ // appear indeterminate when at least one but not all
71
+ // are selected
72
+ indeterminate: !this.areAllSelected &&
73
+ this.selected.some((a) => a), onChange: (e) => {
70
74
  this.selectAll(e);
71
- }, checked: this.areAllSelected }),
75
+ }, type: "checkbox" }),
72
76
  column)) : (column)));
73
77
  }))),
74
78
  h("tbody", null, this.rowData.map((row, rowNum) => {
@@ -77,7 +81,7 @@ export class XplTable {
77
81
  : "" }, row.map((cell, i) => {
78
82
  return (h("td", null, this.multiselect && i === 0 ? (h("label", { htmlFor: "__xpl-table-row-" + rowNum },
79
83
  h("input", { id: "__xpl-table-row-" + rowNum, checked: this.selected[rowNum], type: "checkbox", onChange: (e) => this.selectOne(e, rowNum) }),
80
- cell)) : (cell)));
84
+ h("div", { innerHTML: cell }))) : (h("div", { innerHTML: cell }))));
81
85
  })));
82
86
  }))))));
83
87
  }
@@ -102,8 +106,8 @@ export class XplTable {
102
106
  "type": "unknown",
103
107
  "mutable": false,
104
108
  "complexType": {
105
- "original": "(string | number)[][]",
106
- "resolved": "(string | number)[][]",
109
+ "original": "string[][]",
110
+ "resolved": "string[][]",
107
111
  "references": {}
108
112
  },
109
113
  "required": false,
@@ -0,0 +1,10 @@
1
+ import { Component, Host, h } from '@stencil/core';
2
+ export class XplUtilityBar {
3
+ render() {
4
+ return (h(Host, null,
5
+ h("nav", { "aria-label": "utility navigation bar", class: "xpl-utility-bar" },
6
+ h("slot", { name: "main" }),
7
+ h("slot", { name: "aside" }))));
8
+ }
9
+ static get is() { return "xpl-utility-bar"; }
10
+ }