@e280/shiny 0.1.0-10 → 0.1.0-11

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 (52) hide show
  1. package/README.md +10 -7
  2. package/package.json +1 -1
  3. package/s/components/button/component.ts +30 -0
  4. package/s/components/button/style.css.ts +64 -0
  5. package/s/components/raw-components.ts +2 -0
  6. package/s/components/tabs/component.ts +13 -2
  7. package/s/components/tabs/control.ts +3 -3
  8. package/s/components/tabs/style.css.ts +38 -1
  9. package/s/demo/demo.bundle.ts +140 -57
  10. package/s/demo/views/demonstration/style.css.ts +8 -0
  11. package/s/demo/views/demonstration/view.ts +9 -5
  12. package/s/themes/aura.css.ts +48 -10
  13. package/s/themes/infra/css-vars.ts +15 -7
  14. package/s/themes/plain.css.ts +0 -1
  15. package/x/components/button/component.d.ts +5 -0
  16. package/x/components/button/component.js +25 -0
  17. package/x/components/button/component.js.map +1 -0
  18. package/x/components/button/style.css.d.ts +2 -0
  19. package/x/components/button/style.css.js +63 -0
  20. package/x/components/button/style.css.js.map +1 -0
  21. package/x/components/raw-components.d.ts +2 -0
  22. package/x/components/raw-components.js +2 -0
  23. package/x/components/raw-components.js.map +1 -1
  24. package/x/components/tabs/component.js +13 -2
  25. package/x/components/tabs/component.js.map +1 -1
  26. package/x/components/tabs/control.d.ts +1 -1
  27. package/x/components/tabs/control.js +3 -3
  28. package/x/components/tabs/control.js.map +1 -1
  29. package/x/components/tabs/style.css.js +38 -1
  30. package/x/components/tabs/style.css.js.map +1 -1
  31. package/x/demo/aura-views.d.ts +1 -0
  32. package/x/demo/demo.bundle.js +138 -56
  33. package/x/demo/demo.bundle.js.map +1 -1
  34. package/x/demo/demo.bundle.min.js +292 -111
  35. package/x/demo/demo.bundle.min.js.map +4 -4
  36. package/x/demo/views/demonstration/style.css.js +8 -0
  37. package/x/demo/views/demonstration/style.css.js.map +1 -1
  38. package/x/demo/views/demonstration/view.js +7 -5
  39. package/x/demo/views/demonstration/view.js.map +1 -1
  40. package/x/index.html +2 -2
  41. package/x/install/aura.bundle.min.js +184 -42
  42. package/x/install/aura.bundle.min.js.map +4 -4
  43. package/x/install/plain.bundle.min.js +137 -34
  44. package/x/install/plain.bundle.min.js.map +4 -4
  45. package/x/shiny.d.ts +5 -0
  46. package/x/themes/aura.css.js +48 -10
  47. package/x/themes/aura.css.js.map +1 -1
  48. package/x/themes/infra/css-vars.d.ts +6 -3
  49. package/x/themes/infra/css-vars.js +7 -4
  50. package/x/themes/infra/css-vars.js.map +1 -1
  51. package/x/themes/plain.css.js +0 -1
  52. package/x/themes/plain.css.js.map +1 -1
@@ -0,0 +1,63 @@
1
+ import { css } from "lit";
2
+ export default css `@layer view {
3
+
4
+ :host {
5
+ opacity: 0.8;
6
+ display: inline-flex;
7
+ width: max-content;
8
+ height: max-content;
9
+
10
+ --padding: 0.3em;
11
+ border-radius: 0.2em;
12
+ border: 0.1em solid currentColor;
13
+
14
+ cursor: pointer;
15
+ background: transparent;
16
+ user-select: none;
17
+ }
18
+
19
+ :host(:not([disabled]):is(:hover, :focus-visible)) { opacity: 1; }
20
+ :host(:not([disabled]):active) { opacity: 0.6; }
21
+
22
+ :host([disabled]) {
23
+ cursor: default;
24
+ color: var(--lame);
25
+ }
26
+
27
+ :host([hidden]) {
28
+ display: none !important;
29
+ }
30
+
31
+ :host([lame]) { color: var(--lame); }
32
+ :host([angry]) { color: var(--angry); }
33
+ :host([zesty]) { color: var(--zesty); }
34
+ :host([happy]) { color: var(--happy); }
35
+ :host([calm]) { color: var(--calm); }
36
+ :host([sad]) { color: var(--sad); }
37
+ :host([quirky]) { color: var(--quirky); }
38
+
39
+ button {
40
+ background: transparent;
41
+ border: none;
42
+
43
+ font: inherit;
44
+ color: inherit;
45
+ cursor: inherit;
46
+ outline: inherit;
47
+ text-shadow: inherit;
48
+
49
+ display: inline-flex;
50
+ justify-content: center;
51
+ align-items: center;
52
+
53
+ width: 100%;
54
+ height: 100%;
55
+ padding: var(--padding);
56
+ }
57
+
58
+ slot {
59
+ display: contents;
60
+ }
61
+
62
+ }`;
63
+ //# sourceMappingURL=style.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.css.js","sourceRoot":"","sources":["../../../s/components/button/style.css.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4DhB,CAAA"}
@@ -1,8 +1,10 @@
1
+ import { ShinyButton } from "./button/component.js";
1
2
  import { ShinyCopy } from "./copy/component.js";
2
3
  import { ShinyDrawer } from "./drawer/component.js";
3
4
  import { ShinyExample } from "./example/component.js";
4
5
  import { ShinyTabs } from "./tabs/component.js";
5
6
  export declare const rawComponents: {
7
+ ShinyButton: typeof ShinyButton;
6
8
  ShinyCopy: typeof ShinyCopy;
7
9
  ShinyDrawer: typeof ShinyDrawer;
8
10
  ShinyExample: typeof ShinyExample;
@@ -1,8 +1,10 @@
1
+ import { ShinyButton } from "./button/component.js";
1
2
  import { ShinyCopy } from "./copy/component.js";
2
3
  import { ShinyDrawer } from "./drawer/component.js";
3
4
  import { ShinyExample } from "./example/component.js";
4
5
  import { ShinyTabs } from "./tabs/component.js";
5
6
  export const rawComponents = {
7
+ ShinyButton,
6
8
  ShinyCopy,
7
9
  ShinyDrawer,
8
10
  ShinyExample,
@@ -1 +1 @@
1
- {"version":3,"file":"raw-components.js","sourceRoot":"","sources":["../../s/components/raw-components.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAA;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,SAAS;IACT,WAAW;IACX,YAAY;IACZ,SAAS;CACT,CAAA"}
1
+ {"version":3,"file":"raw-components.js","sourceRoot":"","sources":["../../s/components/raw-components.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAA;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAA;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B,WAAW;IACX,SAAS;IACT,WAAW;IACX,YAAY;IACZ,SAAS;CACT,CAAA"}
@@ -21,10 +21,21 @@ export class ShinyTabs extends (view(use => (context, controlOption) => {
21
21
  }
22
22
  attrs.index = control.$index();
23
23
  control.length = $tabs().length;
24
+ function isNeighborActive(index, delta) {
25
+ const nextIndex = control.clamp(index + delta);
26
+ if (nextIndex === index)
27
+ return false;
28
+ return (nextIndex === control.index);
29
+ }
24
30
  for (const [index, tab] of $tabs().entries()) {
25
31
  const active = (index === control.index);
26
- dom.attrs(tab).booleans.active = active;
27
- dom.attrs(tab).booleans.disabled = active;
32
+ const tabAttrs = dom.attrs(tab);
33
+ tabAttrs.booleans.disabled = active;
34
+ tabAttrs.booleans["data-active"] = active;
35
+ tabAttrs.booleans["data-first"] = (index === 0);
36
+ tabAttrs.booleans["data-last"] = (index === (control.length - 1));
37
+ tabAttrs.booleans["data-next-is-active"] = isNeighborActive(index, 1);
38
+ tabAttrs.booleans["data-previous-is-active"] = isNeighborActive(index, -1);
28
39
  tab.onclick = () => control.setIndex(index);
29
40
  }
30
41
  for (const [index, tab] of $panels().entries()) {
@@ -1 +1 @@
1
- {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../s/components/tabs/component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../../s/components/tabs/component.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  export declare class TabControl {
2
- #private;
3
2
  length: number;
4
3
  $index: import("@e280/strata").SignalFn<number>;
5
4
  constructor(start?: number);
5
+ clamp(index: number): number;
6
6
  get index(): number;
7
7
  setIndex(index: number): Promise<number>;
8
8
  shimmy(delta: number): Promise<number>;
@@ -5,19 +5,19 @@ export class TabControl {
5
5
  constructor(start = 0) {
6
6
  this.$index.value = start;
7
7
  }
8
- #clamp(index) {
8
+ clamp(index) {
9
9
  index = Math.min(index, this.length - 1);
10
10
  index = Math.max(index, 0);
11
11
  return index;
12
12
  }
13
13
  get index() {
14
- return this.#clamp(this.$index.get());
14
+ return this.clamp(this.$index.get());
15
15
  }
16
16
  async setIndex(index) {
17
17
  return this.$index.set(index);
18
18
  }
19
19
  async shimmy(delta) {
20
- const index = this.#clamp(this.index + delta);
20
+ const index = this.clamp(this.index + delta);
21
21
  return this.setIndex(index);
22
22
  }
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../s/components/tabs/control.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAEnC,MAAM,OAAO,UAAU;IACtB,MAAM,GAAG,CAAC,CAAA;IACV,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAElB,YAAY,KAAK,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED,MAAM,CAAC,KAAa;QACnB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1B,OAAO,KAAK,CAAA;IACb,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;CACD"}
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../s/components/tabs/control.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAEnC,MAAM,OAAO,UAAU;IACtB,MAAM,GAAG,CAAC,CAAA;IACV,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;IAElB,YAAY,KAAK,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAC1B,CAAC;IAED,KAAK,CAAC,KAAa;QAClB,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACxC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAA;QAC1B,OAAO,KAAK,CAAA;IACb,CAAC;IAED,IAAI,KAAK;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAA;QAC5C,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;CACD"}
@@ -1,5 +1,42 @@
1
1
  import { css } from "lit";
2
2
  export default css `@layer view {
3
3
 
4
- }`;
4
+ :host {
5
+ display: inline-flex;
6
+ flex-direction: column;
7
+ }
8
+
9
+ slot[part="tabs"] {
10
+ display: flex;
11
+
12
+ &::slotted(*) {
13
+ border-radius: 0.3em;
14
+ }
15
+
16
+ &::slotted([data-active]) {
17
+ opacity: 1;
18
+ color: currentColor;
19
+ text-decoration: underline;
20
+ }
21
+
22
+ &::slotted(:not([data-last], [data-next-is-active])) {
23
+ border-right: none;
24
+ }
25
+
26
+ &::slotted([data-active]:not([data-first])) {
27
+ border-left: none;
28
+ }
29
+
30
+ &::slotted(:not([data-last])) {
31
+ border-top-right-radius: 0;
32
+ border-bottom-right-radius: 0;
33
+ }
34
+
35
+ &::slotted(:not([data-first])) {
36
+ border-top-left-radius: 0;
37
+ border-bottom-left-radius: 0;
38
+ }
39
+ }
40
+
41
+ } `;
5
42
  //# sourceMappingURL=style.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"style.css.js","sourceRoot":"","sources":["../../../s/components/tabs/style.css.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,eAAe,GAAG,CAAA;;EAEhB,CAAA"}
1
+ {"version":3,"file":"style.css.js","sourceRoot":"","sources":["../../../s/components/tabs/style.css.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCf,CAAA"}
@@ -1,4 +1,5 @@
1
1
  export declare const auraViews: {
2
+ ShinyButton: import("@e280/sly").View<[]> & import("@e280/sly").View<[context: import("../index.js").ShinyContext]>;
2
3
  ShinyCopy: import("@e280/sly").View<[text: string | undefined, ms?: any]> & import("@e280/sly").View<[context: import("../index.js").ShinyContext, text: string | undefined, ms?: any]>;
3
4
  ShinyDrawer: import("@e280/sly").View<[options: {
4
5
  button: boolean;
@@ -37,7 +37,7 @@ dom.register({ ShinyDemo: view.component(use => {
37
37
  font-style: italic;
38
38
  }
39
39
 
40
- [view="shiny-tabs"] {
40
+ [view="demo-tabs"] {
41
41
  display: flex;
42
42
  }
43
43
  }
@@ -48,7 +48,141 @@ dom.register({ ShinyDemo: view.component(use => {
48
48
  dispenser.takeAll();
49
49
  const demonstrations = [
50
50
  Demonstration({
51
- name: "shiny-copy",
51
+ name: "button",
52
+ explain: html `
53
+ <p>clicky-clacky pressy button.</p>
54
+ `,
55
+ snippets: [
56
+ [labels.html, `
57
+ <shiny-button>hello</shiny-button>
58
+ `],
59
+ [labels.view, `
60
+ ShinyButton
61
+ .props()
62
+ .children("hello")
63
+ .render()
64
+ `],
65
+ [labels.css, `
66
+ shiny-button {
67
+ font-size: 1em;
68
+ --happy: #0fa;
69
+ --angry: #f50;
70
+ --lame: #8888;
71
+ --inactive-opacity: 0.5;
72
+ }
73
+ `],
74
+ ],
75
+ content: [
76
+ views.ShinyButton.props()
77
+ .children("button")
78
+ .render(),
79
+ views.ShinyButton.props()
80
+ .attr("gradient", true)
81
+ .children("gradient")
82
+ .render(),
83
+ views.ShinyButton.props()
84
+ .attr("angry", true)
85
+ .attr("gradient", true)
86
+ .children("angry")
87
+ .render(),
88
+ views.ShinyButton.props()
89
+ .attr("happy", true)
90
+ .attr("gradient", true)
91
+ .children("happy")
92
+ .render(),
93
+ views.ShinyButton.props()
94
+ .attr("zesty", true)
95
+ .attr("gradient", true)
96
+ .children("zesty")
97
+ .render(),
98
+ views.ShinyButton.props()
99
+ .attr("sad", true)
100
+ .attr("gradient", true)
101
+ .children("sad")
102
+ .render(),
103
+ views.ShinyButton.props()
104
+ .attr("quirky", true)
105
+ .attr("gradient", true)
106
+ .children("quirky")
107
+ .render(),
108
+ views.ShinyButton.props()
109
+ .attr("plain", true)
110
+ .children("plain")
111
+ .render(),
112
+ ],
113
+ style: css `
114
+ .content {
115
+ flex-direction: row;
116
+ flex-wrap: wrap;
117
+ align-content: center;
118
+ gap: 0.5em;
119
+
120
+ sly-view {
121
+ font-size: 1.2em;
122
+ }
123
+ }
124
+ `,
125
+ }),
126
+ Demonstration({
127
+ name: "tabs",
128
+ explain: html `
129
+ <p>button bar. panels optional.</p>
130
+ `,
131
+ snippets: [
132
+ [labels.html, `
133
+ <shiny-tabs>
134
+ <shiny-button>tab1</shiny-button>
135
+ <shiny-button>tab2</shiny-button>
136
+ <shiny-button>tab3</shiny-button>
137
+ <div slot=panel>panel1</div>
138
+ <div slot=panel>panel2</div>
139
+ <div slot=panel>panel3</div>
140
+ </shiny-tabs>
141
+ `],
142
+ [labels.view, `
143
+ ShinyTabs
144
+ .props()
145
+ .children(html\`
146
+ \${ShinyButton.props()
147
+ .children("tab1").render()}
148
+ \${ShinyButton.props()
149
+ .children("tab2").render()}
150
+ \${ShinyButton.props()
151
+ .children("tab3").render()}
152
+ <div slot=panel>panel1</div>
153
+ <div slot=panel>panel2</div>
154
+ <div slot=panel>panel3</div>
155
+ \`)
156
+ .render()
157
+ `],
158
+ [labels.css, `
159
+ shiny-tabs {
160
+ &::part(tabs) {}
161
+ &::part(panels) {}
162
+ > shiny-button {}
163
+ }
164
+ `],
165
+ ],
166
+ content: views.ShinyTabs
167
+ .props()
168
+ .children(html `
169
+ ${views.ShinyButton.props().children("tab1").render()}
170
+ ${views.ShinyButton.props().children("tab2").render()}
171
+ ${views.ShinyButton.props().children("tab3").render()}
172
+ <p slot=panel class=lipsum>${lipsum()}</p>
173
+ <p slot=panel class=lipsum>${lipsum()}</p>
174
+ <p slot=panel class=lipsum>${lipsum()}</p>
175
+ `)
176
+ .render(),
177
+ style: css `
178
+ .content {
179
+ justify-content: start;
180
+ p { margin-top: 0.5em; }
181
+ }
182
+ `,
183
+ }),
184
+ Demonstration({
185
+ name: "copy",
52
186
  explain: html `
53
187
  <p>click-to-copy text button.</p>
54
188
  `,
@@ -77,7 +211,7 @@ dom.register({ ShinyDemo: view.component(use => {
77
211
  `,
78
212
  }),
79
213
  Demonstration({
80
- name: "shiny-drawer",
214
+ name: "drawer",
81
215
  explain: html `
82
216
  <p>slide-out panel. button optional.</p>
83
217
  `,
@@ -150,58 +284,6 @@ dom.register({ ShinyDemo: view.component(use => {
150
284
  }
151
285
  `,
152
286
  }),
153
- Demonstration({
154
- name: "shiny-tabs",
155
- explain: html `
156
- <p>button bar. panels optional.</p>
157
- `,
158
- snippets: [
159
- [labels.html, `
160
- <shiny-tabs>
161
- <button>tab1</button>
162
- <button>tab2</button>
163
- <button>tab3</button>
164
- <div slot=panel>panel1</div>
165
- <div slot=panel>panel2</div>
166
- <div slot=panel>panel3</div>
167
- </shiny-tabs>
168
- `],
169
- [labels.view, `
170
- ShinyTabs
171
- .props()
172
- .children(html\`
173
- <button>tab1</button>
174
- <button>tab2</button>
175
- <button>tab3</button>
176
- <div slot=panel>panel1</div>
177
- <div slot=panel>panel2</div>
178
- <div slot=panel>panel3</div>
179
- \`)
180
- .render()
181
- `],
182
- [labels.css, `
183
- shiny-tabs::part(tabs) {}
184
- shiny-tabs::part(panels) {}
185
- `],
186
- ],
187
- content: views.ShinyTabs
188
- .props()
189
- .children(html `
190
- <button>tab1</button>
191
- <button>tab2</button>
192
- <button>tab3</button>
193
- <p slot=panel class=lipsum>${lipsum()}</p>
194
- <p slot=panel class=lipsum>${lipsum()}</p>
195
- <p slot=panel class=lipsum>${lipsum()}</p>
196
- `)
197
- .render(),
198
- style: css `
199
- .content {
200
- justify-content: start;
201
- p { margin-top: 0.5em; }
202
- }
203
- `,
204
- }),
205
287
  ];
206
288
  return html `
207
289
  <div class=themes>
@@ -209,7 +291,7 @@ dom.register({ ShinyDemo: view.component(use => {
209
291
  ${auraViews.ShinyTabs
210
292
  .props(tabControl)
211
293
  .children(viewsets.map(viewset => html `
212
- <button>${viewset.label}</button>
294
+ ${auraViews.ShinyButton.props().children(viewset.label).render()}
213
295
  `))
214
296
  .render()}
215
297
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"demo.bundle.js","sourceRoot":"","sources":["../../s/demo/demo.bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"demo.bundle.js","sourceRoot":"","sources":["../../s/demo/demo.bundle.ts"],"names":[],"mappings":"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"}