@e280/shiny 0.1.0-1 → 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 (162) hide show
  1. package/README.md +113 -3
  2. package/package.json +3 -3
  3. package/s/components/button/component.ts +30 -0
  4. package/s/components/button/style.css.ts +64 -0
  5. package/s/{ui → components}/copy/component.ts +11 -6
  6. package/s/{ui → components}/copy/style.css.ts +6 -6
  7. package/s/components/drawer/component.ts +92 -0
  8. package/s/components/drawer/control.ts +31 -0
  9. package/s/components/drawer/style.css.ts +120 -0
  10. package/s/{ui → components}/example/component.ts +7 -5
  11. package/s/{ui → components}/example/style.css.ts +2 -2
  12. package/s/components/foundation.css.ts +15 -0
  13. package/s/components/framework.ts +10 -0
  14. package/s/components/raw-components.ts +15 -0
  15. package/s/components/tabs/component.ts +70 -0
  16. package/s/components/tabs/control.ts +31 -0
  17. package/s/components/tabs/style.css.ts +43 -0
  18. package/s/demo/aura-views.ts +6 -0
  19. package/s/demo/demo.bundle.ts +287 -14
  20. package/s/demo/demo.css +3 -1
  21. package/s/demo/utils/lipsum.ts +19 -0
  22. package/s/demo/views/demonstration/style.css.ts +18 -2
  23. package/s/demo/views/demonstration/view.ts +24 -16
  24. package/s/icons/tabler/menu-2.svg.ts +4 -0
  25. package/s/icons/tabler/x.svg.ts +4 -0
  26. package/s/index.html.ts +2 -2
  27. package/s/index.ts +16 -4
  28. package/s/install/aura.bundle.ts +9 -0
  29. package/s/install/plain.bundle.ts +9 -0
  30. package/s/shiny.ts +15 -0
  31. package/s/themes/aura.css.ts +86 -0
  32. package/s/themes/index.barrel.ts +2 -1
  33. package/s/themes/index.ts +1 -0
  34. package/s/themes/infra/css-vars.ts +41 -0
  35. package/s/themes/plain.css.ts +11 -0
  36. package/s/utils/states.ts +15 -0
  37. package/x/components/button/component.d.ts +5 -0
  38. package/x/components/button/component.js +25 -0
  39. package/x/components/button/component.js.map +1 -0
  40. package/x/components/button/style.css.js +63 -0
  41. package/x/components/button/style.css.js.map +1 -0
  42. package/x/{ui → components}/copy/component.d.ts +8 -4
  43. package/x/{ui → components}/copy/component.js +10 -5
  44. package/x/components/copy/component.js.map +1 -0
  45. package/x/{ui → components}/copy/style.css.js +6 -6
  46. package/x/components/copy/style.css.js.map +1 -0
  47. package/x/components/drawer/component.d.ts +387 -0
  48. package/x/components/drawer/component.js +76 -0
  49. package/x/components/drawer/component.js.map +1 -0
  50. package/x/components/drawer/control.d.ts +9 -0
  51. package/x/components/drawer/control.js +24 -0
  52. package/x/components/drawer/control.js.map +1 -0
  53. package/x/components/drawer/style.css.d.ts +2 -0
  54. package/x/components/drawer/style.css.js +119 -0
  55. package/x/components/drawer/style.css.js.map +1 -0
  56. package/x/{ui → components}/example/component.d.ts +3 -3
  57. package/x/{ui → components}/example/component.js +6 -4
  58. package/x/components/example/component.js.map +1 -0
  59. package/x/components/example/style.css.d.ts +2 -0
  60. package/x/components/example/style.css.js +10 -0
  61. package/x/components/example/style.css.js.map +1 -0
  62. package/x/components/foundation.css.d.ts +1 -0
  63. package/x/components/foundation.css.js +14 -0
  64. package/x/components/foundation.css.js.map +1 -0
  65. package/x/components/framework.d.ts +8 -0
  66. package/x/components/framework.js +5 -0
  67. package/x/components/framework.js.map +1 -0
  68. package/x/components/raw-components.d.ts +12 -0
  69. package/x/components/raw-components.js +13 -0
  70. package/x/components/raw-components.js.map +1 -0
  71. package/x/components/tabs/component.d.ts +374 -0
  72. package/x/components/tabs/component.js +60 -0
  73. package/x/components/tabs/component.js.map +1 -0
  74. package/x/components/tabs/control.d.ts +9 -0
  75. package/x/components/tabs/control.js +24 -0
  76. package/x/components/tabs/control.js.map +1 -0
  77. package/x/components/tabs/style.css.d.ts +2 -0
  78. package/x/components/tabs/style.css.js +42 -0
  79. package/x/components/tabs/style.css.js.map +1 -0
  80. package/x/demo/aura-views.d.ts +15 -0
  81. package/x/demo/aura-views.js +4 -0
  82. package/x/demo/aura-views.js.map +1 -0
  83. package/x/demo/demo.bundle.js +280 -14
  84. package/x/demo/demo.bundle.js.map +1 -1
  85. package/x/demo/demo.bundle.min.js +561 -45
  86. package/x/demo/demo.bundle.min.js.map +4 -4
  87. package/x/demo/demo.css +3 -1
  88. package/x/demo/utils/lipsum.d.ts +2 -0
  89. package/x/demo/utils/lipsum.js +11 -0
  90. package/x/demo/utils/lipsum.js.map +1 -0
  91. package/x/demo/views/demonstration/style.css.js +18 -2
  92. package/x/demo/views/demonstration/style.css.js.map +1 -1
  93. package/x/demo/views/demonstration/view.d.ts +6 -4
  94. package/x/demo/views/demonstration/view.js +20 -12
  95. package/x/demo/views/demonstration/view.js.map +1 -1
  96. package/x/icons/tabler/menu-2.svg.d.ts +2 -0
  97. package/x/icons/tabler/menu-2.svg.js +3 -0
  98. package/x/icons/tabler/menu-2.svg.js.map +1 -0
  99. package/x/icons/tabler/x.svg.d.ts +2 -0
  100. package/x/icons/tabler/x.svg.js +3 -0
  101. package/x/icons/tabler/x.svg.js.map +1 -0
  102. package/x/index.d.ts +10 -4
  103. package/x/index.html +7 -5
  104. package/x/index.html.js +2 -2
  105. package/x/index.js +10 -4
  106. package/x/index.js.map +1 -1
  107. package/x/install/aura.bundle.d.ts +1 -0
  108. package/x/install/aura.bundle.js +5 -0
  109. package/x/install/aura.bundle.js.map +1 -0
  110. package/x/install/aura.bundle.min.js +463 -0
  111. package/x/install/aura.bundle.min.js.map +7 -0
  112. package/x/install/plain.bundle.d.ts +1 -0
  113. package/x/install/plain.bundle.js +5 -0
  114. package/x/install/plain.bundle.js.map +1 -0
  115. package/x/install/plain.bundle.min.js +390 -0
  116. package/x/install/plain.bundle.min.js.map +7 -0
  117. package/x/shiny.d.ts +47 -0
  118. package/x/shiny.js +8 -0
  119. package/x/shiny.js.map +1 -0
  120. package/x/themes/aura.css.d.ts +1 -0
  121. package/x/themes/aura.css.js +85 -0
  122. package/x/themes/aura.css.js.map +1 -0
  123. package/x/themes/index.barrel.d.ts +2 -1
  124. package/x/themes/index.barrel.js +2 -1
  125. package/x/themes/index.barrel.js.map +1 -1
  126. package/x/themes/index.d.ts +1 -0
  127. package/x/themes/infra/css-vars.d.ts +14 -0
  128. package/x/themes/infra/css-vars.js +21 -0
  129. package/x/themes/infra/css-vars.js.map +1 -0
  130. package/x/themes/plain.css.d.ts +1 -0
  131. package/x/themes/plain.css.js +10 -0
  132. package/x/themes/plain.css.js.map +1 -0
  133. package/x/utils/states.d.ts +5 -0
  134. package/x/utils/states.js +13 -0
  135. package/x/utils/states.js.map +1 -0
  136. package/s/themes/basic.css.ts +0 -18
  137. package/s/tools/untab.ts +0 -30
  138. package/s/ui/components.ts +0 -9
  139. package/s/ui/framework.ts +0 -8
  140. package/s/ui/themers.ts +0 -28
  141. package/x/themes/basic.css.d.ts +0 -1
  142. package/x/themes/basic.css.js +0 -17
  143. package/x/themes/basic.css.js.map +0 -1
  144. package/x/tools/untab.d.ts +0 -1
  145. package/x/tools/untab.js +0 -26
  146. package/x/tools/untab.js.map +0 -1
  147. package/x/ui/components.d.ts +0 -6
  148. package/x/ui/components.js +0 -7
  149. package/x/ui/components.js.map +0 -1
  150. package/x/ui/copy/component.js.map +0 -1
  151. package/x/ui/copy/style.css.js.map +0 -1
  152. package/x/ui/example/component.js.map +0 -1
  153. package/x/ui/example/style.css.js +0 -10
  154. package/x/ui/example/style.css.js.map +0 -1
  155. package/x/ui/framework.d.ts +0 -4
  156. package/x/ui/framework.js +0 -6
  157. package/x/ui/framework.js.map +0 -1
  158. package/x/ui/themers.d.ts +0 -8
  159. package/x/ui/themers.js +0 -12
  160. package/x/ui/themers.js.map +0 -1
  161. /package/x/{ui/copy → components/button}/style.css.d.ts +0 -0
  162. /package/x/{ui/example → components/copy}/style.css.d.ts +0 -0
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCf,CAAA"}
@@ -0,0 +1,15 @@
1
+ export declare const auraViews: {
2
+ ShinyButton: import("@e280/sly").View<[]> & import("@e280/sly").View<[context: import("../index.js").ShinyContext]>;
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]>;
4
+ ShinyDrawer: import("@e280/sly").View<[options: {
5
+ button: boolean;
6
+ side?: "left" | "right";
7
+ control?: import("../index.js").DrawerControl;
8
+ }]> & import("@e280/sly").View<[context: import("../index.js").ShinyContext, options: {
9
+ button: boolean;
10
+ side?: "left" | "right";
11
+ control?: import("../index.js").DrawerControl;
12
+ }]>;
13
+ ShinyExample: import("@e280/sly").View<[start: number]> & import("@e280/sly").View<[context: import("../index.js").ShinyContext, start: number]>;
14
+ ShinyTabs: import("@e280/sly").View<[controlOption?: import("../index.js").TabControl | undefined]> & import("@e280/sly").View<[context: import("../index.js").ShinyContext, controlOption?: import("../index.js").TabControl | undefined]>;
15
+ };
@@ -0,0 +1,4 @@
1
+ import { shiny } from "../shiny.js";
2
+ import { aura } from "../themes/aura.css.js";
3
+ export const auraViews = shiny({ theme: aura }).views;
4
+ //# sourceMappingURL=aura-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aura-views.js","sourceRoot":"","sources":["../../s/demo/aura-views.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,aAAa,CAAA;AACjC,OAAO,EAAC,IAAI,EAAC,MAAM,uBAAuB,CAAA;AAE1C,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,KAAK,CAAA"}
@@ -1,9 +1,22 @@
1
1
  import { css, html } from "lit";
2
2
  import { dom, view } from "@e280/sly";
3
- import { themes } from "../themes/index.js";
4
- import { themeViews } from "../ui/themers.js";
3
+ import { shiny } from "../shiny.js";
4
+ import { auraViews } from "./aura-views.js";
5
+ import { plain } from "../themes/plain.css.js";
6
+ import { makeLipsumDispenser } from "./utils/lipsum.js";
7
+ import { TabControl } from "../components/tabs/control.js";
5
8
  import { Demonstration } from "./views/demonstration/view.js";
6
- const views = themeViews(themes.basic);
9
+ const viewsets = [
10
+ { label: "aura", views: auraViews },
11
+ { label: "plain", views: shiny({ theme: plain }).views },
12
+ ];
13
+ const labels = {
14
+ html: { button: "html", text: "html web component" },
15
+ view: { button: "view", text: "sly view" },
16
+ css: { button: "css", text: "custom css" },
17
+ };
18
+ const dispenser = makeLipsumDispenser();
19
+ const lipsum = () => dispenser.takeFirst();
7
20
  dom.register({ ShinyDemo: view.component(use => {
8
21
  use.styles(css `
9
22
  :host {
@@ -12,26 +25,279 @@ dom.register({ ShinyDemo: view.component(use => {
12
25
  gap: 1em;
13
26
  }
14
27
 
15
- [view="shiny-copy"]::part(content) {
16
- font-size: 4em;
28
+ .themes {
29
+ display: flex;
30
+ justify-content: end;
31
+ gap: 0.5em;
32
+
33
+ span {
34
+ font-size: 1.2em;
35
+ opacity: 0.5;
36
+ font-family: serif;
37
+ font-style: italic;
38
+ }
39
+
40
+ [view="demo-tabs"] {
41
+ display: flex;
42
+ }
17
43
  }
18
44
  `);
19
- return [
45
+ const tabControl = use.once(() => new TabControl(0));
46
+ const $viewset = use.derived(() => viewsets.at(tabControl.$index()));
47
+ const views = $viewset().views;
48
+ dispenser.takeAll();
49
+ const demonstrations = [
20
50
  Demonstration({
21
- views,
22
- name: "shiny-copy",
51
+ name: "button",
23
52
  explain: html `
24
- <p>button for click-to-copy text</p>
53
+ <p>clicky-clacky pressy button.</p>
25
54
  `,
26
- exampleView: `
27
- ShinyCopy("hello world")
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
+ }
28
124
  `,
29
- exampleComponent: `
30
- <shiny-copy text="hello world"></shiny-copy>
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
+ }
31
182
  `,
183
+ }),
184
+ Demonstration({
185
+ name: "copy",
186
+ explain: html `
187
+ <p>click-to-copy text button.</p>
188
+ `,
189
+ snippets: [
190
+ [labels.html, `
191
+ <shiny-copy text="hello world"></shiny-copy>
192
+ `],
193
+ [labels.view, `
194
+ ShinyCopy("hello world")
195
+ `],
196
+ [labels.css, `
197
+ shiny-copy {
198
+ font-size: 1em;
199
+ --happy: #0fa;
200
+ --angry: #f50;
201
+ --lame: #8888;
202
+ --inactive-opacity: 0.5;
203
+ }
204
+ `],
205
+ ],
32
206
  content: views.ShinyCopy("hello world"),
207
+ style: css `
208
+ .content sly-view {
209
+ font-size: 4em;
210
+ }
211
+ `,
212
+ }),
213
+ Demonstration({
214
+ name: "drawer",
215
+ explain: html `
216
+ <p>slide-out panel. button optional.</p>
217
+ `,
218
+ snippets: [
219
+ [labels.html, `
220
+ <shiny-drawer button side=left>
221
+ <header>example</header>
222
+ <section slot=plate>
223
+ lorem kettlebell..
224
+ </section>
225
+ </shiny-drawer>
226
+ `],
227
+ [labels.view, `
228
+ ShinyDrawer
229
+ .props({button: true, side: "left"})
230
+ .children(html\`
231
+ <header>example</header>
232
+ <section slot=plate>
233
+ lorem kettlebell..
234
+ </section>
235
+ \`)
236
+ .render()
237
+ `],
238
+ [labels.css, `
239
+ shiny-drawer {
240
+ --button-size: 2em;
241
+ --anim-duration: 200ms;
242
+ --blanket-backdrop-filter: blur(0.5em);
243
+ --blanket-bg: color-mix(
244
+ in oklab,
245
+ transparent,
246
+ var(--bg)
247
+ );
248
+ }
249
+ `],
250
+ ],
251
+ content: views.ShinyDrawer
252
+ .props({ button: true })
253
+ .children(html `
254
+ <header>
255
+ <h2>example drawer</h2>
256
+ <p>you can put any content in here.</p>
257
+ <p class=lipsum>${lipsum()}</p>
258
+ </header>
259
+ <section slot=plate>
260
+ <p class=lipsum>${lipsum()}</p>
261
+ <p class=lipsum>${lipsum()}</p>
262
+ </section>
263
+ `)
264
+ .render(),
265
+ style: css `
266
+ .content sly-view {
267
+ border-radius: 0.5em;
268
+ overflow: hidden;
269
+ --button-size: 3em;
270
+
271
+ header {
272
+ > * + * { margin-top: 0.5em; }
273
+ }
274
+
275
+ section {
276
+ display: flex;
277
+ flex-direction: column;
278
+ justify-content: center;
279
+ min-height: 100%;
280
+ padding: 1em;
281
+ padding-top: 3em;
282
+ > * + * { margin-top: 0.5em; }
283
+ }
284
+ }
285
+ `,
33
286
  }),
34
287
  ];
288
+ return html `
289
+ <div class=themes>
290
+ <span>theme</span>
291
+ ${auraViews.ShinyTabs
292
+ .props(tabControl)
293
+ .children(viewsets.map(viewset => html `
294
+ ${auraViews.ShinyButton.props().children(viewset.label).render()}
295
+ `))
296
+ .render()}
297
+ </div>
298
+
299
+ ${demonstrations}
300
+ `;
35
301
  }) });
36
- console.log("✨ shiny");
302
+ console.log("✨shiny");
37
303
  //# sourceMappingURL=demo.bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"demo.bundle.js","sourceRoot":"","sources":["../../s/demo/demo.bundle.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,MAAM,EAAC,MAAM,oBAAoB,CAAA;AACzC,OAAO,EAAC,UAAU,EAAC,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAC,aAAa,EAAC,MAAM,+BAA+B,CAAA;AAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAEtC,GAAG,CAAC,QAAQ,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;QAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;EAUb,CAAC,CAAA;QAEF,OAAO;YACN,aAAa,CAAC;gBACb,KAAK;gBACL,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,IAAI,CAAA;;IAEZ;gBACD,WAAW,EAAE;;IAEZ;gBACD,gBAAgB,EAAE;;IAEjB;gBACD,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC;aACvC,CAAC;SACF,CAAA;IACF,CAAC,CAAC,EAAC,CAAC,CAAA;AAEJ,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA"}
1
+ {"version":3,"file":"demo.bundle.js","sourceRoot":"","sources":["../../s/demo/demo.bundle.ts"],"names":[],"mappings":"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"}