@e280/shiny 0.1.0-2 → 0.1.0-21

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 (247) hide show
  1. package/README.md +51 -63
  2. package/package.json +19 -26
  3. package/s/_archive/components/button/component.ts +30 -0
  4. package/s/_archive/components/button/showcase.ts +119 -0
  5. package/s/_archive/components/button/style.css.ts +63 -0
  6. package/s/{ui → _archive/components}/copy/component.ts +12 -5
  7. package/s/_archive/components/copy/showcase.ts +51 -0
  8. package/s/{ui → _archive/components}/copy/style.css.ts +6 -6
  9. package/s/_archive/components/drawer/component.ts +90 -0
  10. package/s/_archive/components/drawer/control.ts +31 -0
  11. package/s/_archive/components/drawer/showcase.ts +111 -0
  12. package/s/_archive/components/drawer/style.css.ts +127 -0
  13. package/s/{ui → _archive/components}/example/component.ts +6 -4
  14. package/s/_archive/components/example/showcase.ts +32 -0
  15. package/s/{ui → _archive/components}/example/style.css.ts +2 -2
  16. package/s/_archive/components/foundation.css.ts +15 -0
  17. package/s/{ui → _archive/components}/framework.ts +1 -2
  18. package/s/_archive/components/raw-components.ts +15 -0
  19. package/s/_archive/components/tabs/component.ts +70 -0
  20. package/s/_archive/components/tabs/control.ts +31 -0
  21. package/s/_archive/components/tabs/showcase.ts +171 -0
  22. package/s/_archive/components/tabs/style.css.ts +46 -0
  23. package/s/_archive/demo/demo.bundle.ts +47 -0
  24. package/s/{demo → _archive/demo}/demo.css +1 -0
  25. package/s/_archive/demo/lipsum.ts +6 -0
  26. package/s/_archive/demo/utils/lipsum.ts +19 -0
  27. package/s/_archive/demo/views/exhibit/style.css.ts +85 -0
  28. package/s/_archive/demo/views/exhibit/view.ts +61 -0
  29. package/s/_archive/demo/views/showcase/style.css.ts +53 -0
  30. package/s/_archive/demo/views/showcase/view.ts +54 -0
  31. package/s/_archive/demo/viewsets.ts +12 -0
  32. package/s/_archive/index.html.ts +34 -0
  33. package/s/_archive/index.ts +19 -0
  34. package/s/_archive/install/aura.bundle.ts +9 -0
  35. package/s/_archive/install/plain.bundle.ts +9 -0
  36. package/s/{shiny.ts → _archive/shiny.ts} +2 -2
  37. package/s/_archive/themes/aura.css.ts +86 -0
  38. package/s/_archive/themes/index.barrel.ts +4 -0
  39. package/s/{themes → _archive/themes}/index.ts +1 -0
  40. package/s/_archive/themes/infra/css-vars.ts +46 -0
  41. package/s/_archive/themes/plain.css.ts +11 -0
  42. package/s/_archive/utils/states.ts +15 -0
  43. package/s/demo/globals.d.ts +3 -0
  44. package/s/demo/main.bundle.ts +16 -0
  45. package/s/demo/main.css +71 -0
  46. package/s/demo/parts/exhibit.ts +15 -0
  47. package/s/demo/utils/lipsum.ts +19 -0
  48. package/s/demo/views/codebox/style.css.ts +45 -0
  49. package/s/demo/views/codebox/use-prism-styles.ts +13 -0
  50. package/s/demo/views/codebox/view.ts +39 -0
  51. package/s/demo/views/showcase/style.css.ts +80 -0
  52. package/s/demo/views/showcase/view.ts +50 -0
  53. package/s/demo/views/stylebox/view.ts +21 -0
  54. package/s/icons/tabler/menu-2.svg.ts +4 -0
  55. package/s/icons/tabler/x.svg.ts +4 -0
  56. package/s/index.html.ts +42 -32
  57. package/s/index.ts +6 -7
  58. package/s/test.ts +5 -0
  59. package/s/theme/parts/core.ts +34 -0
  60. package/s/theme/parts/reset.ts +20 -0
  61. package/s/theme/parts/vars.ts +41 -0
  62. package/s/theme/theme-string.ts +15 -0
  63. package/s/theme/theme.css.ts +7 -0
  64. package/s/utils/states.ts +15 -0
  65. package/s/views/button/showcase.ts +43 -0
  66. package/s/views/button/style.css.ts +110 -0
  67. package/s/views/button/view.ts +32 -0
  68. package/s/views/copy/parts/copy-status.ts +3 -0
  69. package/s/views/copy/parts/determine-base-status.ts +7 -0
  70. package/s/views/copy/parts/use-copier.ts +20 -0
  71. package/s/views/copy/showcase.ts +54 -0
  72. package/s/views/copy/style.css.ts +51 -0
  73. package/s/views/copy/view.ts +60 -0
  74. package/s/views/drawer/control.ts +31 -0
  75. package/s/views/drawer/showcase.ts +83 -0
  76. package/s/views/drawer/style.css.ts +128 -0
  77. package/s/views/drawer/view.ts +76 -0
  78. package/s/views/tabs/control.ts +31 -0
  79. package/s/views/tabs/showcase.ts +89 -0
  80. package/s/views/tabs/style.css.ts +46 -0
  81. package/s/views/tabs/view.ts +66 -0
  82. package/x/{demo → _archive/demo}/demo.css +1 -0
  83. package/x/demo/main.bundle.js +13 -0
  84. package/x/demo/main.bundle.js.map +1 -0
  85. package/x/demo/main.bundle.min.js +811 -0
  86. package/x/demo/main.bundle.min.js.map +7 -0
  87. package/x/demo/main.css +71 -0
  88. package/x/demo/parts/exhibit.d.ts +11 -0
  89. package/x/demo/parts/exhibit.js +2 -0
  90. package/x/demo/parts/exhibit.js.map +1 -0
  91. package/x/demo/utils/lipsum.d.ts +2 -0
  92. package/x/demo/utils/lipsum.js +11 -0
  93. package/x/demo/utils/lipsum.js.map +1 -0
  94. package/x/demo/views/codebox/style.css.js +44 -0
  95. package/x/demo/views/codebox/style.css.js.map +1 -0
  96. package/x/demo/views/codebox/use-prism-styles.d.ts +1 -0
  97. package/x/demo/views/codebox/use-prism-styles.js +12 -0
  98. package/x/demo/views/codebox/use-prism-styles.js.map +1 -0
  99. package/x/demo/views/codebox/view.d.ts +2 -0
  100. package/x/demo/views/codebox/view.js +29 -0
  101. package/x/demo/views/codebox/view.js.map +1 -0
  102. package/x/demo/views/showcase/style.css.js +79 -0
  103. package/x/demo/views/showcase/style.css.js.map +1 -0
  104. package/x/demo/views/showcase/view.d.ts +2 -0
  105. package/x/demo/views/showcase/view.js +44 -0
  106. package/x/demo/views/showcase/view.js.map +1 -0
  107. package/x/demo/views/stylebox/view.d.ts +3 -0
  108. package/x/demo/views/stylebox/view.js +13 -0
  109. package/x/demo/views/stylebox/view.js.map +1 -0
  110. package/x/icons/tabler/menu-2.svg.d.ts +2 -0
  111. package/x/icons/tabler/menu-2.svg.js +3 -0
  112. package/x/icons/tabler/menu-2.svg.js.map +1 -0
  113. package/x/icons/tabler/x.svg.d.ts +2 -0
  114. package/x/icons/tabler/x.svg.js +3 -0
  115. package/x/icons/tabler/x.svg.js.map +1 -0
  116. package/x/index.d.ts +6 -5
  117. package/x/index.html +212 -61
  118. package/x/index.html.js +40 -29
  119. package/x/index.html.js.map +1 -1
  120. package/x/index.js +6 -5
  121. package/x/index.js.map +1 -1
  122. package/x/test.js +3 -0
  123. package/x/test.js.map +1 -0
  124. package/x/theme/parts/core.d.ts +1 -0
  125. package/x/theme/parts/core.js +33 -0
  126. package/x/theme/parts/core.js.map +1 -0
  127. package/x/theme/parts/reset.d.ts +1 -0
  128. package/x/theme/parts/reset.js +19 -0
  129. package/x/theme/parts/reset.js.map +1 -0
  130. package/x/theme/parts/vars.d.ts +1 -0
  131. package/x/theme/parts/vars.js +34 -0
  132. package/x/theme/parts/vars.js.map +1 -0
  133. package/x/theme/theme-string.d.ts +1 -0
  134. package/x/theme/theme-string.js +14 -0
  135. package/x/theme/theme-string.js.map +1 -0
  136. package/x/theme/theme.css.d.ts +1 -0
  137. package/x/theme/theme.css.js +4 -0
  138. package/x/theme/theme.css.js.map +1 -0
  139. package/x/utils/states.d.ts +5 -0
  140. package/x/utils/states.js +13 -0
  141. package/x/utils/states.js.map +1 -0
  142. package/x/views/button/showcase.d.ts +1 -0
  143. package/x/views/button/showcase.js +41 -0
  144. package/x/views/button/showcase.js.map +1 -0
  145. package/x/views/button/style.css.js +109 -0
  146. package/x/views/button/style.css.js.map +1 -0
  147. package/x/views/button/view.d.ts +5 -0
  148. package/x/views/button/view.js +23 -0
  149. package/x/views/button/view.js.map +1 -0
  150. package/x/views/copy/parts/copy-status.d.ts +1 -0
  151. package/x/views/copy/parts/copy-status.js +2 -0
  152. package/x/views/copy/parts/copy-status.js.map +1 -0
  153. package/x/views/copy/parts/determine-base-status.d.ts +1 -0
  154. package/x/views/copy/parts/determine-base-status.js +6 -0
  155. package/x/views/copy/parts/determine-base-status.js.map +1 -0
  156. package/x/views/copy/parts/use-copier.d.ts +6 -0
  157. package/x/views/copy/parts/use-copier.js +13 -0
  158. package/x/views/copy/parts/use-copier.js.map +1 -0
  159. package/x/views/copy/showcase.d.ts +1 -0
  160. package/x/views/copy/showcase.js +51 -0
  161. package/x/views/copy/showcase.js.map +1 -0
  162. package/x/views/copy/style.css.d.ts +2 -0
  163. package/x/{ui → views}/copy/style.css.js +14 -9
  164. package/x/views/copy/style.css.js.map +1 -0
  165. package/x/views/copy/view.d.ts +4 -0
  166. package/x/views/copy/view.js +49 -0
  167. package/x/views/copy/view.js.map +1 -0
  168. package/x/views/drawer/control.d.ts +9 -0
  169. package/x/views/drawer/control.js +24 -0
  170. package/x/views/drawer/control.js.map +1 -0
  171. package/x/views/drawer/showcase.d.ts +1 -0
  172. package/x/views/drawer/showcase.js +75 -0
  173. package/x/views/drawer/showcase.js.map +1 -0
  174. package/x/views/drawer/style.css.d.ts +2 -0
  175. package/x/views/drawer/style.css.js +127 -0
  176. package/x/views/drawer/style.css.js.map +1 -0
  177. package/x/views/drawer/view.d.ts +6 -0
  178. package/x/views/drawer/view.js +60 -0
  179. package/x/views/drawer/view.js.map +1 -0
  180. package/x/views/tabs/control.d.ts +9 -0
  181. package/x/views/tabs/control.js +24 -0
  182. package/x/views/tabs/control.js.map +1 -0
  183. package/x/views/tabs/showcase.d.ts +1 -0
  184. package/x/views/tabs/showcase.js +86 -0
  185. package/x/views/tabs/showcase.js.map +1 -0
  186. package/x/views/tabs/style.css.d.ts +2 -0
  187. package/x/views/tabs/style.css.js +45 -0
  188. package/x/views/tabs/style.css.js.map +1 -0
  189. package/x/views/tabs/view.d.ts +5 -0
  190. package/x/views/tabs/view.js +52 -0
  191. package/x/views/tabs/view.js.map +1 -0
  192. package/s/demo/demo.bundle.ts +0 -42
  193. package/s/demo/views/demonstration/style.css.ts +0 -108
  194. package/s/demo/views/demonstration/view.ts +0 -49
  195. package/s/install.bundle.ts +0 -9
  196. package/s/themes/basic.css.ts +0 -18
  197. package/s/themes/index.barrel.ts +0 -3
  198. package/s/ui/raw-components.ts +0 -9
  199. package/x/demo/demo.bundle.js +0 -37
  200. package/x/demo/demo.bundle.js.map +0 -1
  201. package/x/demo/demo.bundle.min.js +0 -277
  202. package/x/demo/demo.bundle.min.js.map +0 -7
  203. package/x/demo/views/demonstration/style.css.js +0 -107
  204. package/x/demo/views/demonstration/style.css.js.map +0 -1
  205. package/x/demo/views/demonstration/view.d.ts +0 -10
  206. package/x/demo/views/demonstration/view.js +0 -36
  207. package/x/demo/views/demonstration/view.js.map +0 -1
  208. package/x/install.bundle.js +0 -5
  209. package/x/install.bundle.js.map +0 -1
  210. package/x/install.bundle.min.js +0 -135
  211. package/x/install.bundle.min.js.map +0 -7
  212. package/x/shiny.d.ts +0 -14
  213. package/x/shiny.js +0 -8
  214. package/x/shiny.js.map +0 -1
  215. package/x/tests.test.d.ts +0 -1
  216. package/x/tests.test.js +0 -3
  217. package/x/tests.test.js.map +0 -1
  218. package/x/themes/basic.css.d.ts +0 -1
  219. package/x/themes/basic.css.js +0 -17
  220. package/x/themes/basic.css.js.map +0 -1
  221. package/x/themes/index.barrel.d.ts +0 -1
  222. package/x/themes/index.barrel.js +0 -2
  223. package/x/themes/index.barrel.js.map +0 -1
  224. package/x/themes/index.d.ts +0 -1
  225. package/x/themes/index.js +0 -2
  226. package/x/themes/index.js.map +0 -1
  227. package/x/ui/copy/component.d.ts +0 -372
  228. package/x/ui/copy/component.js +0 -56
  229. package/x/ui/copy/component.js.map +0 -1
  230. package/x/ui/copy/style.css.js.map +0 -1
  231. package/x/ui/example/component.d.ts +0 -371
  232. package/x/ui/example/component.js +0 -20
  233. package/x/ui/example/component.js.map +0 -1
  234. package/x/ui/example/style.css.js +0 -10
  235. package/x/ui/example/style.css.js.map +0 -1
  236. package/x/ui/framework.d.ts +0 -8
  237. package/x/ui/framework.js +0 -6
  238. package/x/ui/framework.js.map +0 -1
  239. package/x/ui/raw-components.d.ts +0 -6
  240. package/x/ui/raw-components.js +0 -7
  241. package/x/ui/raw-components.js.map +0 -1
  242. /package/s/{tests.test.ts → _archive/tests.test.ts} +0 -0
  243. /package/x/demo/{demo.bundle.d.ts → main.bundle.d.ts} +0 -0
  244. /package/x/demo/views/{demonstration → codebox}/style.css.d.ts +0 -0
  245. /package/x/{ui/copy → demo/views/showcase}/style.css.d.ts +0 -0
  246. /package/x/{install.bundle.d.ts → test.d.ts} +0 -0
  247. /package/x/{ui/example → views/button}/style.css.d.ts +0 -0
@@ -0,0 +1,109 @@
1
+ import { css } from "lit";
2
+ export default css `@layer view {
3
+
4
+ :host {
5
+ display: inline-flex;
6
+ width: max-content;
7
+ height: max-content;
8
+
9
+ cursor: pointer;
10
+ background: transparent;
11
+ user-select: none;
12
+
13
+ --button-padding: 0.3em 0.7em;
14
+ --button-color: var(--calm);
15
+ }
16
+
17
+ slot {
18
+ z-index: 1;
19
+ position: relative;
20
+ display: block;
21
+ }
22
+
23
+ button {
24
+ opacity: 0.8;
25
+ position: relative;
26
+
27
+ font: inherit;
28
+ cursor: inherit;
29
+ text-shadow: inherit;
30
+ font-weight: medium;
31
+
32
+ display: inline-flex;
33
+ justify-content: center;
34
+ align-items: center;
35
+
36
+ width: 100%;
37
+ height: 100%;
38
+ padding: var(--button-padding);
39
+
40
+ border-radius: 2em;
41
+ background: var(--button-color);
42
+ text-shadow: 0.1em 0.1em 0.1em #0004;
43
+ box-shadow: 0.1em 0.2em 0.3em #0002;
44
+
45
+ color: white;
46
+ border: none;
47
+ background: linear-gradient(
48
+ to bottom right,
49
+ color-mix(in oklab, var(--button-color), white 40%),
50
+ color-mix(in oklab, var(--button-color), black 20%)
51
+ );
52
+
53
+ &::before {
54
+ content: "";
55
+ display: block;
56
+ position: absolute;
57
+ z-index: 0;
58
+ inset: 0.15em;
59
+ border-radius: inherit;
60
+ background: color-mix(in oklab, var(--button-color), #0004 50%);
61
+ }
62
+
63
+ &:not([disabled]):is(:hover, :focus-visible) { opacity: 1; }
64
+ &:not([disabled]):active { opacity: 0.6; }
65
+
66
+ &[data-vibe="lame"] { --button-color: var(--lame); }
67
+ &[data-vibe="angry"] { --button-color: var(--angry); }
68
+ &[data-vibe="zesty"] { --button-color: var(--zesty); }
69
+ &[data-vibe="happy"] { --button-color: var(--happy); }
70
+ &[data-vibe="calm"] { --button-color: var(--calm); }
71
+ &[data-vibe="sad"] { --button-color: var(--sad); }
72
+ &[data-vibe="quirky"] { --button-color: var(--quirky); }
73
+ &[data-vibe="tabbed"] { --button-color: var(--tabbed); }
74
+
75
+ > * {
76
+ position: relative;
77
+ z-index: 1;
78
+ }
79
+
80
+ &[disabled] {
81
+ cursor: default;
82
+ }
83
+
84
+ &[hidden] {
85
+ display: none !important;
86
+ }
87
+ }
88
+
89
+ :host([data-tabbed]) > button {
90
+ opacity: 1;
91
+ filter: brightness(120%);
92
+ }
93
+
94
+ :host(:not([data-tabbed])) > button[disabled] {
95
+ --button-color: var(--lame);
96
+ }
97
+
98
+ :host([data-snug]:not([data-last])) > button {
99
+ border-top-right-radius: 0;
100
+ border-bottom-right-radius: 0;
101
+ }
102
+
103
+ :host([data-snug]:not([data-first])) > button {
104
+ border-top-left-radius: 0;
105
+ border-bottom-left-radius: 0;
106
+ }
107
+
108
+ }`;
109
+ //# sourceMappingURL=style.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.css.js","sourceRoot":"","sources":["../../../s/views/button/style.css.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0GhB,CAAA"}
@@ -0,0 +1,5 @@
1
+ import { Content } from "@e280/sly";
2
+ export declare const ShinyButton: import("@e280/sly").ShadowView<[content?: Content, options?: {
3
+ vibe?: "calm" | "lame" | "happy" | "sad" | "angry" | "zesty" | "quirky";
4
+ onClick?: (event: PointerEvent) => void;
5
+ } | undefined]>;
@@ -0,0 +1,23 @@
1
+ import { html } from "lit";
2
+ import { shadow, useCss, useName, useAttrs } from "@e280/sly";
3
+ import styleCss from "./style.css.js";
4
+ import { themeCss } from "../../theme/theme.css.js";
5
+ export const ShinyButton = shadow((content, options = {}) => {
6
+ useName("shiny-button");
7
+ useCss(themeCss, styleCss);
8
+ const attrs = useAttrs({
9
+ hidden: Boolean,
10
+ disabled: Boolean,
11
+ });
12
+ return html `
13
+ <button
14
+ part=button
15
+ data-vibe="${options.vibe ?? "calm"}"
16
+ ?disabled="${attrs.disabled}"
17
+ ?hidden="${attrs.hidden}"
18
+ @click="${options.onClick}">
19
+ <slot>${content}</slot>
20
+ </button>
21
+ `;
22
+ });
23
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../s/views/button/view.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAU,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,WAAW,CAAA;AAEpE,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,OAAiB,EAAE,UAGjD,EAAE,EAAE,EAAE;IAEV,OAAO,CAAC,cAAc,CAAC,CAAA;IACvB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAE1B,MAAM,KAAK,GAAG,QAAQ,CAAC;QACtB,MAAM,EAAE,OAAO;QACf,QAAQ,EAAE,OAAO;KACjB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;;;gBAGI,OAAO,CAAC,IAAI,IAAI,MAAM;gBACtB,KAAK,CAAC,QAAQ;cAChB,KAAK,CAAC,MAAM;aACb,OAAO,CAAC,OAAO;WACjB,OAAO;;EAEhB,CAAA;AACF,CAAC,CAAC,CAAA"}
@@ -0,0 +1 @@
1
+ export type CopyStatus = "neutral" | "good" | "bad" | "invalid";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=copy-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy-status.js","sourceRoot":"","sources":["../../../../s/views/copy/parts/copy-status.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ export declare function determineBaseStatus(text: string | undefined): "neutral" | "invalid";
@@ -0,0 +1,6 @@
1
+ export function determineBaseStatus(text) {
2
+ return text === undefined
3
+ ? "invalid"
4
+ : "neutral";
5
+ }
6
+ //# sourceMappingURL=determine-base-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"determine-base-status.js","sourceRoot":"","sources":["../../../../s/views/copy/parts/determine-base-status.ts"],"names":[],"mappings":"AACA,MAAM,UAAU,mBAAmB,CAAC,IAAwB;IAC3D,OAAO,IAAI,KAAK,SAAS;QACxB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,SAAS,CAAA;AACb,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { CopyStatus } from "./copy-status.js";
2
+ export declare function useCopier(text: string | undefined, ms: number): {
3
+ reset: import("@e280/stz").DebounceReturn<() => Promise<CopyStatus>>;
4
+ flash: (status: CopyStatus) => Promise<void>;
5
+ status: CopyStatus;
6
+ };
@@ -0,0 +1,13 @@
1
+ import { debounce } from "@e280/stz";
2
+ import { useOnce, useSignal } from "@e280/sly";
3
+ import { determineBaseStatus } from "./determine-base-status.js";
4
+ export function useCopier(text, ms) {
5
+ const $status = useSignal(determineBaseStatus(text));
6
+ const reset = useOnce(() => debounce(ms, () => $status.set(determineBaseStatus(text))));
7
+ const flash = useOnce(() => async (status) => {
8
+ await $status.set(status);
9
+ await reset();
10
+ });
11
+ return { reset, flash, status: $status() };
12
+ }
13
+ //# sourceMappingURL=use-copier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-copier.js","sourceRoot":"","sources":["../../../../s/views/copy/parts/use-copier.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,WAAW,CAAA;AAClC,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,MAAM,WAAW,CAAA;AAG5C,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAA;AAE9D,MAAM,UAAU,SAAS,CAAC,IAAwB,EAAE,EAAU;IAC7D,MAAM,OAAO,GAAG,SAAS,CAAa,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IAEhE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,EAAC,MAAkB,EAAE,EAAE;QACvD,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;QACzB,MAAM,KAAK,EAAE,CAAA;IACd,CAAC,CAAC,CAAA;IAEF,OAAO,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,EAAC,CAAA;AACzC,CAAC"}
@@ -0,0 +1 @@
1
+ export declare const copyShowcase: () => import("@e280/sly").Content;
@@ -0,0 +1,51 @@
1
+ import { css, html } from "lit";
2
+ import { ShinyCopy } from "./view.js";
3
+ import { exhibit } from "../../demo/parts/exhibit.js";
4
+ import { Showcase } from "../../demo/views/showcase/view.js";
5
+ export const copyShowcase = () => Showcase("ShinyCopy", [
6
+ exhibit({
7
+ name: "normal",
8
+ explain: "click-to-copy button.",
9
+ render: () => ShinyCopy("hello world"),
10
+ styleboxCss: css `
11
+ :host {
12
+ font-size: 5em;
13
+ }
14
+ `,
15
+ js: `
16
+ ShinyCopy("hello world")
17
+ `,
18
+ css: css `
19
+ [view="shiny-copy"] {
20
+ --shiny-happy: #0fa;
21
+ --shiny-angry: #f50;
22
+ --shiny-lame: #8888;
23
+ --shiny-inactive-opacity: 0.5;
24
+ }
25
+ `,
26
+ }),
27
+ exhibit({
28
+ name: "fail",
29
+ explain: html `
30
+ <p>click-to-copy button. <em>deliberately fails so you can see.</em></p>
31
+ `,
32
+ render: () => ShinyCopy("hello world", { fail: true }),
33
+ styleboxCss: css `
34
+ :host {
35
+ font-size: 4em;
36
+ }
37
+ `,
38
+ js: `
39
+ ShinyCopy("hello world", {fail: true})
40
+ `,
41
+ css: css `
42
+ [view="shiny-copy"] {
43
+ --shiny-happy: #0fa;
44
+ --shiny-angry: #f50;
45
+ --shiny-lame: #8888;
46
+ --shiny-inactive-opacity: 0.5;
47
+ }
48
+ `,
49
+ }),
50
+ ]);
51
+ //# sourceMappingURL=showcase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../s/views/copy/showcase.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,SAAS,EAAC,MAAM,WAAW,CAAA;AACnC,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAA;AAE1D,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE;IACvD,OAAO,CAAC;QACP,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,uBAAuB;QAChC,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC;QACtC,WAAW,EAAE,GAAG,CAAA;;;;GAIf;QACD,EAAE,EAAE;;GAEH;QACD,GAAG,EAAE,GAAG,CAAA;;;;;;;GAOP;KACD,CAAC;IAEF,OAAO,CAAC;QACP,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,IAAI,CAAA;;GAEZ;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,aAAa,EAAE,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;QACpD,WAAW,EAAE,GAAG,CAAA;;;;GAIf;QACD,EAAE,EAAE;;GAEH;QACD,GAAG,EAAE,GAAG,CAAA;;;;;;;GAOP;KACD,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -1,5 +1,5 @@
1
1
  import { css } from "lit";
2
- export default css `
2
+ export default css `@layer view {
3
3
 
4
4
  button {
5
5
  background: transparent;
@@ -8,31 +8,36 @@ button {
8
8
  }
9
9
 
10
10
  button {
11
- opacity: 0.5;
12
- cursor: pointer;
13
- cursor: copy;
11
+ opacity: var(--inactive-opacity);
12
+ display: flex;
13
+ align-items: center;
14
14
 
15
+ cursor: copy;
15
16
  color: inherit;
16
- transition: all 300ms linear;
17
+ transition: all var(--anim-duration) linear;
17
18
 
18
19
  &:is(:hover, :focus-visible) {
19
20
  opacity: 1;
20
21
  }
22
+
23
+ > span {
24
+ display: flex;
25
+ }
21
26
  }
22
27
 
23
28
  [data-status="invalid"] {
24
- color: var(--invalid);
29
+ color: var(--lame);
25
30
  }
26
31
 
27
32
  [data-status="good"] {
28
33
  opacity: 1;
29
- color: var(--good);
34
+ color: var(--happy);
30
35
  filter: drop-shadow(0 0 0.3em color-mix(in oklab, transparent, currentColor 50%));
31
36
  }
32
37
 
33
38
  [data-status="bad"] {
34
39
  opacity: 1;
35
- color: var(--bad);
40
+ color: var(--angry);
36
41
  filter: drop-shadow(0 0 0.3em color-mix(in oklab, transparent, currentColor 50%));
37
42
  }
38
43
 
@@ -41,5 +46,5 @@ svg {
41
46
  height: 1em;
42
47
  }
43
48
 
44
- `;
49
+ }`;
45
50
  //# sourceMappingURL=style.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.css.js","sourceRoot":"","sources":["../../../s/views/copy/style.css.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+ChB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare const ShinyCopy: import("@e280/sly").ShadowView<[text: string | undefined, options?: {
2
+ ms?: number;
3
+ fail?: boolean;
4
+ } | undefined]>;
@@ -0,0 +1,49 @@
1
+ import { html } from "lit";
2
+ import { shadow, useCss, useName } from "@e280/sly";
3
+ import styleCss from "./style.css.js";
4
+ import clipboardSvg from "../../icons/tabler/clipboard.svg.js";
5
+ import clipboardXFilledSvg from "../../icons/tabler/clipboard-x-filled.svg.js";
6
+ import clipboardCheckFilledSvg from "../../icons/tabler/clipboard-check-filled.svg.js";
7
+ import { useCopier } from "./parts/use-copier.js";
8
+ import { themeCss } from "../../theme/theme.css.js";
9
+ export const ShinyCopy = shadow((text, options = {}) => {
10
+ useName("shiny-copy");
11
+ useCss(themeCss, styleCss);
12
+ const copier = useCopier(text, options.ms ?? 1000);
13
+ async function click() {
14
+ if (text === undefined)
15
+ return;
16
+ try {
17
+ if (options.fail)
18
+ throw new Error("copy failed on purpose for testing purposes");
19
+ await navigator.clipboard.writeText(text);
20
+ await copier.flash("good");
21
+ }
22
+ catch (error) {
23
+ console.error(error);
24
+ await copier.flash("bad");
25
+ }
26
+ }
27
+ return html `
28
+ <button data-status="${copier.status}" @click="${click}" part=button>
29
+ <span part=icon>
30
+ ${(() => {
31
+ switch (copier.status) {
32
+ case "neutral":
33
+ return clipboardSvg;
34
+ case "invalid":
35
+ return clipboardSvg;
36
+ case "good":
37
+ return clipboardCheckFilledSvg;
38
+ case "bad":
39
+ return clipboardXFilledSvg;
40
+ default:
41
+ throw new Error(`unknown copy status`);
42
+ }
43
+ })()}
44
+ </span>
45
+ <slot></slot>
46
+ </button>
47
+ `;
48
+ });
49
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../s/views/copy/view.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAC,MAAM,WAAW,CAAA;AAEjD,OAAO,QAAQ,MAAM,gBAAgB,CAAA;AACrC,OAAO,YAAY,MAAM,qCAAqC,CAAA;AAC9D,OAAO,mBAAmB,MAAM,8CAA8C,CAAA;AAC9E,OAAO,uBAAuB,MAAM,kDAAkD,CAAA;AAEtF,OAAO,EAAC,SAAS,EAAC,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAC,QAAQ,EAAC,MAAM,0BAA0B,CAAA;AAEjD,MAAM,CAAC,MAAM,SAAS,GAAG,MAAM,CAAC,CAC9B,IAAwB,EACxB,UAAyC,EAAE,EAC1C,EAAE;IAEJ,OAAO,CAAC,YAAY,CAAC,CAAA;IACrB,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,CAAA;IAElD,KAAK,UAAU,KAAK;QACnB,IAAI,IAAI,KAAK,SAAS;YAAE,OAAM;QAC9B,IAAI,CAAC;YACJ,IAAI,OAAO,CAAC,IAAI;gBACf,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;YAC/D,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACzC,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAC3B,CAAC;QACD,OAAO,KAAK,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YACpB,MAAM,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1B,CAAC;IACF,CAAC;IAED,OAAO,IAAI,CAAA;yBACa,MAAM,CAAC,MAAM,aAAa,KAAK;;MAElD,CAAC,GAAG,EAAE;QAAE,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,KAAK,SAAS;gBACb,OAAO,YAAY,CAAA;YAEpB,KAAK,SAAS;gBACb,OAAO,YAAY,CAAA;YAEpB,KAAK,MAAM;gBACV,OAAO,uBAAuB,CAAA;YAE/B,KAAK,KAAK;gBACT,OAAO,mBAAmB,CAAA;YAE3B;gBACC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACxC,CAAC;IAAA,CAAC,CAAC,EAAE;;;;EAIP,CAAA;AACF,CAAC,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export declare class DrawerControl {
2
+ $open: import("@e280/strata").Signal<boolean>;
3
+ constructor(startOpen?: boolean);
4
+ get isOpen(): boolean;
5
+ setOpen(value: boolean): Promise<boolean>;
6
+ open: () => Promise<void>;
7
+ close: () => Promise<void>;
8
+ toggle: () => Promise<boolean>;
9
+ }
@@ -0,0 +1,24 @@
1
+ import { signal } from "@e280/strata";
2
+ export class DrawerControl {
3
+ $open = signal(false);
4
+ constructor(startOpen = false) {
5
+ if (startOpen)
6
+ this.$open.set(true);
7
+ }
8
+ get isOpen() {
9
+ return this.$open.get();
10
+ }
11
+ async setOpen(value) {
12
+ return this.$open.set(value);
13
+ }
14
+ open = async () => {
15
+ await this.setOpen(true);
16
+ };
17
+ close = async () => {
18
+ await this.setOpen(false);
19
+ };
20
+ toggle = async () => {
21
+ return this.setOpen(!this.isOpen);
22
+ };
23
+ }
24
+ //# sourceMappingURL=control.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control.js","sourceRoot":"","sources":["../../../s/views/drawer/control.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAA;AAEnC,MAAM,OAAO,aAAa;IACzB,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAErB,YAAY,SAAS,GAAG,KAAK;QAC5B,IAAI,SAAS;YAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,MAAM;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAc;QAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC;IAED,IAAI,GAAG,KAAK,IAAG,EAAE;QAChB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC,CAAA;IAED,KAAK,GAAG,KAAK,IAAG,EAAE;QACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC1B,CAAC,CAAA;IAED,MAAM,GAAG,KAAK,IAAG,EAAE;QAClB,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,CAAC,CAAA;CACD"}
@@ -0,0 +1 @@
1
+ export declare const drawerShowcase: () => import("@e280/sly").Content;
@@ -0,0 +1,75 @@
1
+ import { css, html } from "lit";
2
+ import { ShinyDrawer } from "./view.js";
3
+ import { lipsum } from "../../demo/utils/lipsum.js";
4
+ import { exhibit } from "../../demo/parts/exhibit.js";
5
+ import { Showcase } from "../../demo/views/showcase/view.js";
6
+ const styleboxCss = css `
7
+ :host {
8
+ font-size: 1em;
9
+ width: 100%;
10
+ min-height: 100%;
11
+ }
12
+ p + p {
13
+ margin-top: var(--padding);
14
+ }
15
+ `;
16
+ const customCss = css `
17
+ [slot=plate] { padding-top: 2em; }
18
+ [view="shiny-drawer"] {
19
+ --slate-bg: color-mix(in oklch, var(--calm), #444);
20
+ &::part(slate) { padding: 1em; }
21
+ &:state(left)::part(slate) { border-bottom-right-radius: 0.5em; }
22
+ &:state(right)::part(slate) { border-bottom-left-radius: 0.5em; }
23
+ }
24
+ `;
25
+ const render = (side) => (ShinyDrawer.with({
26
+ props: [{ button: true, side }],
27
+ children: html `
28
+ <header>${lipsum.takeFirst()}</header>
29
+ <section slot=plate>
30
+ <p>${lipsum.takeFirst()}</p>
31
+ <p>${lipsum.takeFirst()}</p>
32
+ </section>
33
+ `,
34
+ }));
35
+ export const drawerShowcase = () => Showcase("ShinyDrawer", [
36
+ exhibit({
37
+ name: "left",
38
+ explain: "slide-out panel. button optional.",
39
+ styleboxCss,
40
+ css: customCss,
41
+ render: () => render("left"),
42
+ js: `
43
+ ShinyDrawer.with({
44
+ props: [{button: true, side: "left"}],
45
+ children: html\`
46
+ <header>lorem kettlebell..</header>
47
+ <section slot=plate>
48
+ <p>lorem protein..</p>
49
+ <p>lorem caffeine..</p>
50
+ </section>
51
+ \`,
52
+ })
53
+ `,
54
+ }),
55
+ exhibit({
56
+ name: "right",
57
+ explain: "slide-out panel. button optional.",
58
+ styleboxCss,
59
+ css: customCss,
60
+ render: () => render("right"),
61
+ js: `
62
+ ShinyDrawer.with({
63
+ props: [{button: true, side: "right"}],
64
+ children: html\`
65
+ <header>lorem kettlebell..</header>
66
+ <section slot=plate>
67
+ <p>lorem protein..</p>
68
+ <p>lorem caffeine..</p>
69
+ </section>
70
+ \`,
71
+ })
72
+ `,
73
+ }),
74
+ ]);
75
+ //# sourceMappingURL=showcase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"showcase.js","sourceRoot":"","sources":["../../../s/views/drawer/showcase.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAE,IAAI,EAAC,MAAM,KAAK,CAAA;AAC7B,OAAO,EAAC,WAAW,EAAC,MAAM,WAAW,CAAA;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,4BAA4B,CAAA;AACjD,OAAO,EAAC,OAAO,EAAC,MAAM,6BAA6B,CAAA;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,mCAAmC,CAAA;AAE1D,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;CAStB,CAAA;AAED,MAAM,SAAS,GAAG,GAAG,CAAA;;;;;;;;CAQpB,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,IAAsB,EAAE,EAAE,CAAC,CAC1C,WAAW,CAAC,IAAI,CAAC;IAChB,KAAK,EAAE,CAAC,EAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAC,CAAC;IAC7B,QAAQ,EAAE,IAAI,CAAA;aACH,MAAM,CAAC,SAAS,EAAE;;SAEtB,MAAM,CAAC,SAAS,EAAE;SAClB,MAAM,CAAC,SAAS,EAAE;;GAExB;CACD,CAAC,CACF,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE;IAC3D,OAAO,CAAC;QACP,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mCAAmC;QAC5C,WAAW;QACX,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;QAC5B,EAAE,EAAE;;;;;;;;;;;GAWH;KACD,CAAC;IAEF,OAAO,CAAC;QACP,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,mCAAmC;QAC5C,WAAW;QACX,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC;QAC7B,EAAE,EAAE;;;;;;;;;;;GAWH;KACD,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("lit").CSSResult;
2
+ export default _default;
@@ -0,0 +1,127 @@
1
+ import { css } from "lit";
2
+ export default css `@layer view {
3
+
4
+ :host {
5
+ display: block;
6
+ width: 100%;
7
+ height: 100%;
8
+
9
+ --slate-bg: transparent;
10
+ --button-size: 2em;
11
+ --blanket-backdrop-filter: blur(0.5em);
12
+ --slate-hidden-opacity: 1;
13
+ --blanket-bg: color-mix(in oklab, transparent, var(--bg));
14
+ }
15
+
16
+ .shell {
17
+ position: relative;
18
+ width: 100%;
19
+ height: 100%;
20
+
21
+ [part="blanket"] {
22
+ opacity: 0;
23
+
24
+ content: "";
25
+ display: block;
26
+ position: absolute;
27
+ inset: 0;
28
+
29
+ background: var(--blanket-bg);
30
+ backdrop-filter: var(--blanket-backdrop-filter);
31
+
32
+ will-change: opacity;
33
+ transition: all var(--anim-duration) ease;
34
+ }
35
+
36
+ .clipper {
37
+ pointer-events: none;
38
+ position: absolute;
39
+ inset: 0;
40
+ width: 100%;
41
+ height: 100%;
42
+ overflow: hidden;
43
+ > * { pointer-events: all; }
44
+ }
45
+
46
+ [part="tray"] {
47
+ position: absolute;
48
+ top: 0;
49
+ width: calc(100% - var(--button-size));
50
+
51
+ display: flex;
52
+ flex-direction: column;
53
+ height: auto;
54
+ max-height: 100%;
55
+
56
+ transform: translateX(-100%);
57
+ will-change: opacity, transform;
58
+ transition: all var(--anim-duration) ease;
59
+
60
+ > [part="slate"] {
61
+ opacity: var(--slate-hidden-opacity);
62
+ will-change: opacity;
63
+ transition: opacity var(--anim-duration) ease;
64
+
65
+ display: block;
66
+ height: 100%;
67
+ overflow-y: auto;
68
+ background: var(--slate-bg);
69
+ }
70
+
71
+ > button {
72
+ position: absolute;
73
+ top: 0;
74
+ left: 100%;
75
+
76
+ opacity: var(--inactive-opacity);
77
+ background: transparent;
78
+ border: none;
79
+ cursor: pointer;
80
+
81
+ &:is(:hover, :focus-visible) {
82
+ opacity: 1;
83
+ }
84
+
85
+ > slot {
86
+ display: contents;
87
+ }
88
+
89
+ svg {
90
+ width: var(--button-size);
91
+ height: var(--button-size);
92
+ }
93
+ }
94
+ }
95
+
96
+ &[data-side="right"] {
97
+ [part="tray"] {
98
+ right: 0;
99
+ transform: translateX(100%);
100
+ > button {
101
+ left: unset;
102
+ right: 100%;
103
+ }
104
+ }
105
+ }
106
+
107
+ slot[name="plate"] {
108
+ display: block;
109
+ width: 100%;
110
+ height: 100%;
111
+ }
112
+
113
+ &[data-open] {
114
+ [part="blanket"] {
115
+ opacity: 1;
116
+ }
117
+ [part="tray"] {
118
+ transform: translateX(0%);
119
+ > [part="slate"] {
120
+ opacity: 1;
121
+ }
122
+ }
123
+ }
124
+ }
125
+
126
+ }`;
127
+ //# sourceMappingURL=style.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"style.css.js","sourceRoot":"","sources":["../../../s/views/drawer/style.css.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAA;AACvB,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4HhB,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { DrawerControl } from "./control.js";
2
+ export declare const ShinyDrawer: import("@e280/sly").ShadowView<[options?: {
3
+ button?: boolean;
4
+ side?: "left" | "right";
5
+ control?: DrawerControl;
6
+ } | undefined]>;