godown 3.0.0-canary.0 → 3.0.0-canary.2

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 (249) hide show
  1. package/components/select.d.ts.map +1 -1
  2. package/components/select.js +3 -0
  3. package/components/select.js.map +1 -1
  4. package/dev/alert.d.ts +8 -0
  5. package/dev/alert.d.ts.map +1 -0
  6. package/dev/alert.js +4 -0
  7. package/dev/alert.js.map +1 -0
  8. package/dev/avatar.d.ts +8 -0
  9. package/dev/avatar.d.ts.map +1 -0
  10. package/dev/avatar.js +4 -0
  11. package/dev/avatar.js.map +1 -0
  12. package/dev/breath.d.ts +9 -0
  13. package/dev/breath.d.ts.map +1 -0
  14. package/dev/breath.js +5 -0
  15. package/dev/breath.js.map +1 -0
  16. package/dev/button.d.ts +8 -0
  17. package/dev/button.d.ts.map +1 -0
  18. package/dev/button.js +4 -0
  19. package/dev/button.js.map +1 -0
  20. package/dev/card.d.ts +8 -0
  21. package/dev/card.d.ts.map +1 -0
  22. package/dev/card.js +4 -0
  23. package/dev/card.js.map +1 -0
  24. package/dev/carousel.d.ts +8 -0
  25. package/dev/carousel.d.ts.map +1 -0
  26. package/dev/carousel.js +4 -0
  27. package/dev/carousel.js.map +1 -0
  28. package/dev/components/alert.d.ts +50 -0
  29. package/dev/components/alert.d.ts.map +1 -0
  30. package/dev/components/alert.js +234 -0
  31. package/dev/components/alert.js.map +1 -0
  32. package/dev/components/avatar.d.ts +26 -0
  33. package/dev/components/avatar.d.ts.map +1 -0
  34. package/dev/components/avatar.js +91 -0
  35. package/dev/components/avatar.js.map +1 -0
  36. package/dev/components/breath.d.ts +34 -0
  37. package/dev/components/breath.d.ts.map +1 -0
  38. package/dev/components/breath.js +133 -0
  39. package/dev/components/breath.js.map +1 -0
  40. package/dev/components/button.d.ts +45 -0
  41. package/dev/components/button.d.ts.map +1 -0
  42. package/dev/components/button.js +256 -0
  43. package/dev/components/button.js.map +1 -0
  44. package/dev/components/card.d.ts +20 -0
  45. package/dev/components/card.d.ts.map +1 -0
  46. package/dev/components/card.js +89 -0
  47. package/dev/components/card.js.map +1 -0
  48. package/dev/components/carousel.d.ts +40 -0
  49. package/dev/components/carousel.d.ts.map +1 -0
  50. package/dev/components/carousel.js +155 -0
  51. package/dev/components/carousel.js.map +1 -0
  52. package/dev/components/details.d.ts +20 -0
  53. package/dev/components/details.d.ts.map +1 -0
  54. package/dev/components/details.js +115 -0
  55. package/dev/components/details.js.map +1 -0
  56. package/dev/components/dialog.d.ts +33 -0
  57. package/dev/components/dialog.d.ts.map +1 -0
  58. package/dev/components/dialog.js +154 -0
  59. package/dev/components/dialog.js.map +1 -0
  60. package/dev/components/divider.d.ts +17 -0
  61. package/dev/components/divider.d.ts.map +1 -0
  62. package/dev/components/divider.js +46 -0
  63. package/dev/components/divider.js.map +1 -0
  64. package/dev/components/dragbox.d.ts +40 -0
  65. package/dev/components/dragbox.d.ts.map +1 -0
  66. package/dev/components/dragbox.js +117 -0
  67. package/dev/components/dragbox.js.map +1 -0
  68. package/dev/components/flex.d.ts +31 -0
  69. package/dev/components/flex.d.ts.map +1 -0
  70. package/dev/components/flex.js +52 -0
  71. package/dev/components/flex.js.map +1 -0
  72. package/dev/components/form.d.ts +24 -0
  73. package/dev/components/form.d.ts.map +1 -0
  74. package/dev/components/form.js +79 -0
  75. package/dev/components/form.js.map +1 -0
  76. package/dev/components/grid.d.ts +31 -0
  77. package/dev/components/grid.d.ts.map +1 -0
  78. package/dev/components/grid.js +53 -0
  79. package/dev/components/grid.js.map +1 -0
  80. package/dev/components/input.d.ts +20 -0
  81. package/dev/components/input.d.ts.map +1 -0
  82. package/dev/components/input.js +89 -0
  83. package/dev/components/input.js.map +1 -0
  84. package/dev/components/layout.d.ts +29 -0
  85. package/dev/components/layout.d.ts.map +1 -0
  86. package/dev/components/layout.js +69 -0
  87. package/dev/components/layout.js.map +1 -0
  88. package/dev/components/link.d.ts +20 -0
  89. package/dev/components/link.d.ts.map +1 -0
  90. package/dev/components/link.js +40 -0
  91. package/dev/components/link.js.map +1 -0
  92. package/dev/components/progress.d.ts +30 -0
  93. package/dev/components/progress.d.ts.map +1 -0
  94. package/dev/components/progress.js +108 -0
  95. package/dev/components/progress.js.map +1 -0
  96. package/dev/components/range.d.ts +60 -0
  97. package/dev/components/range.d.ts.map +1 -0
  98. package/dev/components/range.js +306 -0
  99. package/dev/components/range.js.map +1 -0
  100. package/dev/components/rotate.d.ts +26 -0
  101. package/dev/components/rotate.d.ts.map +1 -0
  102. package/dev/components/rotate.js +86 -0
  103. package/dev/components/rotate.js.map +1 -0
  104. package/dev/components/router.d.ts +121 -0
  105. package/dev/components/router.d.ts.map +1 -0
  106. package/dev/components/router.js +248 -0
  107. package/dev/components/router.js.map +1 -0
  108. package/dev/components/select.d.ts +50 -0
  109. package/dev/components/select.d.ts.map +1 -0
  110. package/dev/components/select.js +246 -0
  111. package/dev/components/select.js.map +1 -0
  112. package/dev/components/skeleton.d.ts +26 -0
  113. package/dev/components/skeleton.d.ts.map +1 -0
  114. package/dev/components/skeleton.js +119 -0
  115. package/dev/components/skeleton.js.map +1 -0
  116. package/dev/components/split.d.ts +32 -0
  117. package/dev/components/split.d.ts.map +1 -0
  118. package/dev/components/split.js +173 -0
  119. package/dev/components/split.js.map +1 -0
  120. package/dev/components/switch.d.ts +39 -0
  121. package/dev/components/switch.d.ts.map +1 -0
  122. package/dev/components/switch.js +183 -0
  123. package/dev/components/switch.js.map +1 -0
  124. package/dev/components/text.d.ts +19 -0
  125. package/dev/components/text.d.ts.map +1 -0
  126. package/dev/components/text.js +93 -0
  127. package/dev/components/text.js.map +1 -0
  128. package/dev/components/time.d.ts +53 -0
  129. package/dev/components/time.d.ts.map +1 -0
  130. package/dev/components/time.js +136 -0
  131. package/dev/components/time.js.map +1 -0
  132. package/dev/components/tooltip.d.ts +38 -0
  133. package/dev/components/tooltip.d.ts.map +1 -0
  134. package/dev/components/tooltip.js +114 -0
  135. package/dev/components/tooltip.js.map +1 -0
  136. package/dev/components/typewriter.d.ts +55 -0
  137. package/dev/components/typewriter.d.ts.map +1 -0
  138. package/dev/components/typewriter.js +156 -0
  139. package/dev/components/typewriter.js.map +1 -0
  140. package/dev/core/global-style.d.ts +21 -0
  141. package/dev/core/global-style.d.ts.map +1 -0
  142. package/dev/core/global-style.js +77 -0
  143. package/dev/core/global-style.js.map +1 -0
  144. package/dev/core/super-anchor.d.ts +15 -0
  145. package/dev/core/super-anchor.d.ts.map +1 -0
  146. package/dev/core/super-anchor.js +58 -0
  147. package/dev/core/super-anchor.js.map +1 -0
  148. package/dev/core/super-input.d.ts +39 -0
  149. package/dev/core/super-input.d.ts.map +1 -0
  150. package/dev/core/super-input.js +181 -0
  151. package/dev/core/super-input.js.map +1 -0
  152. package/dev/core/super-openable.d.ts +19 -0
  153. package/dev/core/super-openable.d.ts.map +1 -0
  154. package/dev/core/super-openable.js +36 -0
  155. package/dev/core/super-openable.js.map +1 -0
  156. package/dev/details.d.ts +8 -0
  157. package/dev/details.d.ts.map +1 -0
  158. package/dev/details.js +4 -0
  159. package/dev/details.js.map +1 -0
  160. package/dev/dialog.d.ts +8 -0
  161. package/dev/dialog.d.ts.map +1 -0
  162. package/dev/dialog.js +4 -0
  163. package/dev/dialog.js.map +1 -0
  164. package/dev/divider.d.ts +8 -0
  165. package/dev/divider.d.ts.map +1 -0
  166. package/dev/divider.js +4 -0
  167. package/dev/divider.js.map +1 -0
  168. package/dev/dragbox.d.ts +8 -0
  169. package/dev/dragbox.d.ts.map +1 -0
  170. package/dev/dragbox.js +4 -0
  171. package/dev/dragbox.js.map +1 -0
  172. package/dev/flex.d.ts +8 -0
  173. package/dev/flex.d.ts.map +1 -0
  174. package/dev/flex.js +4 -0
  175. package/dev/flex.js.map +1 -0
  176. package/dev/form.d.ts +8 -0
  177. package/dev/form.d.ts.map +1 -0
  178. package/dev/form.js +4 -0
  179. package/dev/form.js.map +1 -0
  180. package/dev/grid.d.ts +8 -0
  181. package/dev/grid.d.ts.map +1 -0
  182. package/dev/grid.js +4 -0
  183. package/dev/grid.js.map +1 -0
  184. package/dev/index.d.ts +29 -0
  185. package/dev/index.d.ts.map +1 -0
  186. package/dev/index.js +29 -0
  187. package/dev/index.js.map +1 -0
  188. package/dev/input.d.ts +9 -0
  189. package/dev/input.d.ts.map +1 -0
  190. package/dev/input.js +5 -0
  191. package/dev/input.js.map +1 -0
  192. package/dev/layout.d.ts +9 -0
  193. package/dev/layout.d.ts.map +1 -0
  194. package/dev/layout.js +5 -0
  195. package/dev/layout.js.map +1 -0
  196. package/dev/link.d.ts +9 -0
  197. package/dev/link.d.ts.map +1 -0
  198. package/dev/link.js +5 -0
  199. package/dev/link.js.map +1 -0
  200. package/dev/progress.d.ts +9 -0
  201. package/dev/progress.d.ts.map +1 -0
  202. package/dev/progress.js +5 -0
  203. package/dev/progress.js.map +1 -0
  204. package/dev/range.d.ts +9 -0
  205. package/dev/range.d.ts.map +1 -0
  206. package/dev/range.js +5 -0
  207. package/dev/range.js.map +1 -0
  208. package/dev/rotate.d.ts +9 -0
  209. package/dev/rotate.d.ts.map +1 -0
  210. package/dev/rotate.js +5 -0
  211. package/dev/rotate.js.map +1 -0
  212. package/dev/router.d.ts +9 -0
  213. package/dev/router.d.ts.map +1 -0
  214. package/dev/router.js +5 -0
  215. package/dev/router.js.map +1 -0
  216. package/dev/select.d.ts +9 -0
  217. package/dev/select.d.ts.map +1 -0
  218. package/dev/select.js +5 -0
  219. package/dev/select.js.map +1 -0
  220. package/dev/skeleton.d.ts +9 -0
  221. package/dev/skeleton.d.ts.map +1 -0
  222. package/dev/skeleton.js +5 -0
  223. package/dev/skeleton.js.map +1 -0
  224. package/dev/split.d.ts +9 -0
  225. package/dev/split.d.ts.map +1 -0
  226. package/dev/split.js +5 -0
  227. package/dev/split.js.map +1 -0
  228. package/dev/switch.d.ts +9 -0
  229. package/dev/switch.d.ts.map +1 -0
  230. package/dev/switch.js +5 -0
  231. package/dev/switch.js.map +1 -0
  232. package/dev/text.d.ts +9 -0
  233. package/dev/text.d.ts.map +1 -0
  234. package/dev/text.js +5 -0
  235. package/dev/text.js.map +1 -0
  236. package/dev/time.d.ts +9 -0
  237. package/dev/time.d.ts.map +1 -0
  238. package/dev/time.js +5 -0
  239. package/dev/time.js.map +1 -0
  240. package/dev/tooltip.d.ts +9 -0
  241. package/dev/tooltip.d.ts.map +1 -0
  242. package/dev/tooltip.js +5 -0
  243. package/dev/tooltip.js.map +1 -0
  244. package/dev/typewriter.d.ts +8 -0
  245. package/dev/typewriter.d.ts.map +1 -0
  246. package/dev/typewriter.js +4 -0
  247. package/dev/typewriter.js.map +1 -0
  248. package/package.json +3 -3
  249. package/web-types.json +1 -1
@@ -0,0 +1,183 @@
1
+ import { __decorate } from "tslib";
2
+ import { godown } from "@godown/element/decorators/godown.js";
3
+ import { styles } from "@godown/element/decorators/styles.js";
4
+ import { css, html } from "lit";
5
+ import { property, query } from "lit/decorators.js";
6
+ import { cssGlobalVars, scopePrefix } from "../core/global-style.js";
7
+ import SuperInput from "../core/super-input.js";
8
+ const protoName = "switch";
9
+ const cssScope = scopePrefix(protoName);
10
+ /**
11
+ * {@linkcode Switch} renders a switch.
12
+ *
13
+ * The switch is rectangular by default,
14
+ * set the round property to rounded switch.
15
+ *
16
+ * @category input
17
+ */
18
+ let Switch = class Switch extends SuperInput {
19
+ constructor() {
20
+ super(...arguments);
21
+ /**
22
+ * Border style.
23
+ */
24
+ this.round = false;
25
+ /**
26
+ * Whether this element is selected or not.
27
+ */
28
+ this.checked = false;
29
+ /**
30
+ * Whether this element is disabled or not.
31
+ */
32
+ this.disabled = false;
33
+ /**
34
+ * Parsed by JSON.parse to checked.
35
+ */
36
+ this.default = "false";
37
+ /**
38
+ * Input value.
39
+ */
40
+ this.value = "on";
41
+ }
42
+ render() {
43
+ return html `<div part="root" class="${this.round ? "round" : "rect"}">
44
+ <input
45
+ part="input"
46
+ @change="${this._handleChange}"
47
+ ?disabled="${this.disabled}"
48
+ ?checked="${this.checked}"
49
+ name="${this.name}"
50
+ id="${this.makeId}"
51
+ type="checkbox"
52
+ >
53
+ <span class="${this.checked}">
54
+ </span>
55
+ </div>`;
56
+ }
57
+ reset() {
58
+ this.checked = this.default === "true";
59
+ this._input.checked = this.checked;
60
+ }
61
+ connectedCallback() {
62
+ super.connectedCallback();
63
+ if (this.checked) {
64
+ this.default = "true";
65
+ }
66
+ if (this.default === "true") {
67
+ this.checked = true;
68
+ }
69
+ }
70
+ _handleChange() {
71
+ this.checked = this._input.checked;
72
+ this.dispatchEvent(new CustomEvent("input", { detail: this.checked, bubbles: true, composed: true }));
73
+ this.dispatchEvent(new CustomEvent("change", { detail: this.checked, composed: true }));
74
+ }
75
+ namevalue() {
76
+ return [this.name, this.checked];
77
+ }
78
+ };
79
+ __decorate([
80
+ property({ type: Boolean, reflect: true })
81
+ ], Switch.prototype, "round", void 0);
82
+ __decorate([
83
+ property({ type: Boolean, reflect: true })
84
+ ], Switch.prototype, "checked", void 0);
85
+ __decorate([
86
+ property({ type: Boolean, reflect: true })
87
+ ], Switch.prototype, "disabled", void 0);
88
+ __decorate([
89
+ property()
90
+ ], Switch.prototype, "default", void 0);
91
+ __decorate([
92
+ property()
93
+ ], Switch.prototype, "value", void 0);
94
+ __decorate([
95
+ query("input")
96
+ ], Switch.prototype, "_input", void 0);
97
+ Switch = __decorate([
98
+ godown(protoName),
99
+ styles(css `
100
+ :host {
101
+ ${cssScope}-width: 3em;
102
+ ${cssScope}-height: calc(var(${cssScope}-width) / 2);
103
+ ${cssScope}-handle-size: 1.25em;
104
+ ${cssScope}-transition: .2s ease-in-out;
105
+ background: var(${cssGlobalVars.input}-background);
106
+ width: var(${cssScope}-width);
107
+ height: var(${cssScope}-height);
108
+ display: inline-block;
109
+ vertical-align: bottom;
110
+ border-radius: 0;
111
+ }
112
+
113
+ [part="root"],
114
+ span {
115
+ transition: var(${cssScope}-transition);
116
+ }
117
+
118
+ [part="root"] {
119
+ border-radius: inherit;
120
+ position: relative;
121
+ height: inherit;
122
+ }
123
+
124
+ [part="root"],
125
+ input {
126
+ width: 100%;
127
+ }
128
+
129
+ input {
130
+ margin: 0;
131
+ height: 100%;
132
+ outline: none;
133
+ appearance: none;
134
+ }
135
+
136
+ span {
137
+ height: 100%;
138
+ display: inline-flex;
139
+ align-items: center;
140
+ justify-content: center;
141
+ position: absolute;
142
+ left: 0;
143
+ width: 50%;
144
+ pointer-events: none;
145
+ border-radius: inherit;
146
+ }
147
+
148
+ :host([round]) {
149
+ border-radius: calc(var(${cssScope}-height) / 2);
150
+ }
151
+
152
+ :host([checked]) span {
153
+ transform: translateX(100%);
154
+ }
155
+
156
+ .rect .true {
157
+ background: var(${cssGlobalVars.active});
158
+ }
159
+
160
+ .rect .false {
161
+ background: var(${cssGlobalVars.passive});
162
+ }
163
+
164
+ .round span::after{
165
+ --size: var(${cssScope}-handle-size);
166
+ content:"";
167
+ border-radius: 100%;
168
+ background: var(--godown--input-control);
169
+ width: var(--size);
170
+ height: var(--size);
171
+ }
172
+
173
+ .round {
174
+ background: var(${cssGlobalVars.passive});
175
+ }
176
+
177
+ :host([checked]) .round {
178
+ background: var(${cssGlobalVars.active});
179
+ }
180
+ `)
181
+ ], Switch);
182
+ export default Switch;
183
+ //# sourceMappingURL=switch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["../../src/components/switch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { GlobalStyle } from "../core/global-style.js";
2
+ /**
3
+ * {@linkcode Text} renders nowrap text.
4
+ *
5
+ * @category display
6
+ */
7
+ declare class Text extends GlobalStyle {
8
+ /**
9
+ * Underline behavior.
10
+ */
11
+ underline: "none" | "hover" | "active" | "always";
12
+ /**
13
+ * Set background-clip to text.
14
+ */
15
+ clip: boolean;
16
+ protected render(): import("lit").TemplateResult<1>;
17
+ }
18
+ export default Text;
19
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/components/text.ts"],"names":[],"mappings":"AAOA,OAAO,EAAiB,WAAW,EAAe,MAAM,yBAAyB,CAAC;AAMlF;;;;GAIG;AACH,cAiDM,IAAK,SAAQ,WAAW;IAC5B;;OAEG;IAEH,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAU;IAE3D;;OAEG;IAEH,IAAI,EAAE,OAAO,CAAC;IAEd,SAAS,CAAC,MAAM;CAYjB;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,93 @@
1
+ import { __decorate } from "tslib";
2
+ import { godown } from "@godown/element/decorators/godown.js";
3
+ import { styles } from "@godown/element/decorators/styles.js";
4
+ import { classList } from "@godown/element/directives/class-list.js";
5
+ import { htmlSlot } from "@godown/element/directives/html-slot.js";
6
+ import { css, html } from "lit";
7
+ import { property } from "lit/decorators.js";
8
+ import { cssGlobalVars, GlobalStyle, scopePrefix } from "../core/global-style.js";
9
+ const protoName = "text";
10
+ const cssScope = scopePrefix(protoName);
11
+ /**
12
+ * {@linkcode Text} renders nowrap text.
13
+ *
14
+ * @category display
15
+ */
16
+ let Text = class Text extends GlobalStyle {
17
+ constructor() {
18
+ super(...arguments);
19
+ /**
20
+ * Underline behavior.
21
+ */
22
+ this.underline = "none";
23
+ }
24
+ render() {
25
+ return html `<span
26
+ part="root"
27
+ class="${classList(this.underline, {
28
+ clip: this.clip,
29
+ })}"
30
+ >
31
+ ${htmlSlot()}
32
+ </span>`;
33
+ }
34
+ };
35
+ __decorate([
36
+ property()
37
+ ], Text.prototype, "underline", void 0);
38
+ __decorate([
39
+ property({ type: Boolean })
40
+ ], Text.prototype, "clip", void 0);
41
+ Text = __decorate([
42
+ godown(protoName),
43
+ styles(css `
44
+ :host {
45
+ ${cssScope}--color: currentColor;
46
+ ${cssScope}--color-hover: currentColor;
47
+ ${cssScope}--color-active: currentColor;
48
+ display: inline-block;
49
+ text-overflow: ellipsis;
50
+ overflow-wrap: break-word;
51
+ }
52
+
53
+ span {
54
+ white-space: nowrap;
55
+ width: 100%;
56
+ vertical-align: bottom;
57
+ display: inline-block;
58
+ text-overflow: inherit;
59
+ overflow-wrap: inherit;
60
+ overflow: hidden;
61
+ color: var(${cssScope}--color);
62
+ }
63
+
64
+ span:hover {
65
+ color: var(${cssScope}--color-hover, var(${cssScope}--color));
66
+ }
67
+
68
+ span:active {
69
+ color: var(${cssScope}--color-active, var(${cssScope}--color));
70
+ }
71
+
72
+ .hover:hover,
73
+ .active:active,
74
+ .always {
75
+ text-decoration: underline;
76
+ }
77
+
78
+ .none {
79
+ text-decoration: none;
80
+ }
81
+
82
+ .clip{
83
+ background: var(${cssGlobalVars.clipBackground});
84
+ display: inline-block;
85
+ color: transparent;
86
+ -webkit-text-fill-color: transparent;
87
+ background-clip: text;
88
+ -webkit-background-clip: text;
89
+ }
90
+ `)
91
+ ], Text);
92
+ export default Text;
93
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/components/text.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,0CAA0C,CAAC;AACrE,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAElF,MAAM,SAAS,GAAG,MAAM,CAAC;AAEzB,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAExC;;;;GAIG;AAkDH,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,WAAW;IAA9B;;QACE;;WAEG;QAEH,cAAS,GAA2C,MAAM,CAAC;IAoB7D,CAAC;IAZW,MAAM;QACd,OAAO,IAAI,CAAA;;eAGT,SAAS,CAAC,IAAI,CAAC,SAAS,EAAE;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CACH;;QAEI,QAAQ,EAAE;YACN,CAAC;IACX,CAAC;CACF,CAAA;AApBC;IADC,QAAQ,EAAE;uCACgD;AAM3D;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;kCACd;AAXV,IAAI;IAjDT,MAAM,CAAC,SAAS,CAAC;IACjB,MAAM,CAAC,GAAG,CAAA;;QAEH,QAAQ;QACR,QAAQ;QACR,QAAQ;;;;;;;;;;;;;;mBAcG,QAAQ;;;;mBAIR,QAAQ,sBAAsB,QAAQ;;;;mBAItC,QAAQ,uBAAuB,QAAQ;;;;;;;;;;;;;;wBAclC,aAAa,CAAC,cAAc;;;;;;;CAOnD,CAAC;GACI,IAAI,CAyBT;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { type PropertyValues } from "lit";
2
+ import { GlobalStyle } from "../core/global-style.js";
3
+ /**
4
+ * {@linkcode Time} renders a formatting time.
5
+ *
6
+ * @category display
7
+ */
8
+ declare class Time extends GlobalStyle {
9
+ /**
10
+ * Cancels the next character formatting.
11
+ */
12
+ escape: string;
13
+ /**
14
+ * Format strings.
15
+ * {@linkcode Time.fmt}
16
+ */
17
+ format: string;
18
+ /**
19
+ * Time.
20
+ */
21
+ time: Date;
22
+ /**
23
+ * If there is a value, update every gap or timeout.
24
+ */
25
+ timeout: number;
26
+ /**
27
+ * The number of milliseconds that change with each update.
28
+ */
29
+ gap: number;
30
+ timeoutId: number;
31
+ protected render(): string;
32
+ protected firstUpdated(): void;
33
+ protected updated(changedProperties: PropertyValues): void;
34
+ disconnectedCallback(): void;
35
+ startTimeout(): number;
36
+ /**
37
+ * Y for year\
38
+ * M for month\
39
+ * D for day\
40
+ * h for hour\
41
+ * m for minute\
42
+ * s for second\
43
+ * S for milli second\
44
+ * Z for time zone.
45
+ *
46
+ * @param fm Format string.
47
+ * @param tm Time.
48
+ * @returns Format result
49
+ */
50
+ static fmt(fm: string, tm: Date, em: string): string;
51
+ }
52
+ export default Time;
53
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/components/time.ts"],"names":[],"mappings":"AAEA,OAAO,EAAO,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAItD;;;;GAIG;AACH,cAEM,IAAK,SAAQ,WAAW;IAC5B;;OAEG;IAEH,MAAM,SAAO;IACb;;;OAGG;IAEH,MAAM,SAA8B;IACpC;;OAEG;IAEH,IAAI,OAAc;IAClB;;OAEG;IAEH,OAAO,SAAK;IACZ;;OAEG;IAEH,GAAG,SAAK;IAER,SAAS,EAAE,MAAM,CAAC;IAElB,SAAS,CAAC,MAAM,IAAI,MAAM;IAI1B,SAAS,CAAC,YAAY;IAMtB,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,cAAc,GAAG,IAAI;IAS1D,oBAAoB;IAIpB,YAAY;IAMZ;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM;CAwCrD;AAED,eAAe,IAAI,CAAC"}
@@ -0,0 +1,136 @@
1
+ var Time_1;
2
+ import { __decorate } from "tslib";
3
+ import { godown } from "@godown/element/decorators/godown.js";
4
+ import { styles } from "@godown/element/decorators/styles.js";
5
+ import { css } from "lit";
6
+ import { property } from "lit/decorators.js";
7
+ import { GlobalStyle } from "../core/global-style.js";
8
+ const protoName = "time";
9
+ /**
10
+ * {@linkcode Time} renders a formatting time.
11
+ *
12
+ * @category display
13
+ */
14
+ let Time = Time_1 = class Time extends GlobalStyle {
15
+ constructor() {
16
+ super(...arguments);
17
+ /**
18
+ * Cancels the next character formatting.
19
+ */
20
+ this.escape = "%";
21
+ /**
22
+ * Format strings.
23
+ * {@linkcode Time.fmt}
24
+ */
25
+ this.format = "YYYY-MM-DD hh:mm:ss UTFZ";
26
+ /**
27
+ * Time.
28
+ */
29
+ this.time = new Date();
30
+ /**
31
+ * If there is a value, update every gap or timeout.
32
+ */
33
+ this.timeout = 0;
34
+ /**
35
+ * The number of milliseconds that change with each update.
36
+ */
37
+ this.gap = 0;
38
+ }
39
+ render() {
40
+ return Time_1.fmt(this.format, this.time, this.escape);
41
+ }
42
+ firstUpdated() {
43
+ if (this.timeout) {
44
+ this.timeoutId = this.startTimeout();
45
+ }
46
+ }
47
+ updated(changedProperties) {
48
+ if (changedProperties.has("timeout")) {
49
+ clearInterval(this.timeoutId);
50
+ if (this.timeout) {
51
+ this.timeoutId = this.startTimeout();
52
+ }
53
+ }
54
+ }
55
+ disconnectedCallback() {
56
+ clearInterval(this.timeoutId);
57
+ }
58
+ startTimeout() {
59
+ return window.setInterval(() => {
60
+ this.time = new Date(this.time.getTime() + (this.gap || this.timeout));
61
+ }, Math.abs(this.timeout));
62
+ }
63
+ /**
64
+ * Y for year\
65
+ * M for month\
66
+ * D for day\
67
+ * h for hour\
68
+ * m for minute\
69
+ * s for second\
70
+ * S for milli second\
71
+ * Z for time zone.
72
+ *
73
+ * @param fm Format string.
74
+ * @param tm Time.
75
+ * @returns Format result
76
+ */
77
+ static fmt(fm, tm, em) {
78
+ if (!fm) {
79
+ return fm;
80
+ }
81
+ tm = typeof tm === "string" ? new Date(tm) : tm;
82
+ if (isNaN(tm.getTime())) {
83
+ return fm;
84
+ }
85
+ const rest = [];
86
+ const replaced = `${em}${em}`;
87
+ fm = fm.replace(new RegExp(`${em}([ZYMDhmsS${em}])`, "g"), (_, p1) => {
88
+ rest.push(p1);
89
+ return replaced;
90
+ });
91
+ function formatNumber(n, max = 2) {
92
+ return n.toString().padStart(max, "0").split("");
93
+ }
94
+ const z = tm.getTimezoneOffset() / -60;
95
+ const switcher = {
96
+ Z: [z >= 0 ? "+" + z.toString() : z.toString()],
97
+ Y: tm.getFullYear().toString().split(""),
98
+ M: formatNumber(tm.getMonth() + 1),
99
+ D: formatNumber(tm.getDate()),
100
+ h: formatNumber(tm.getHours()),
101
+ m: formatNumber(tm.getMinutes()),
102
+ s: formatNumber(tm.getSeconds()),
103
+ S: formatNumber(tm.getMilliseconds(), 3),
104
+ };
105
+ const result = [];
106
+ for (const f of fm.split("").reverse()) {
107
+ const s = switcher[f]?.pop();
108
+ result.push(s ? s : f);
109
+ }
110
+ return result
111
+ .reverse()
112
+ .join("")
113
+ .replace(new RegExp(replaced, "g"), () => rest.shift());
114
+ }
115
+ };
116
+ __decorate([
117
+ property()
118
+ ], Time.prototype, "escape", void 0);
119
+ __decorate([
120
+ property()
121
+ ], Time.prototype, "format", void 0);
122
+ __decorate([
123
+ property({ type: Object })
124
+ ], Time.prototype, "time", void 0);
125
+ __decorate([
126
+ property({ type: Number })
127
+ ], Time.prototype, "timeout", void 0);
128
+ __decorate([
129
+ property({ type: Number })
130
+ ], Time.prototype, "gap", void 0);
131
+ Time = Time_1 = __decorate([
132
+ godown(protoName),
133
+ styles(css `:host{text-align: center;}`)
134
+ ], Time);
135
+ export default Time;
136
+ //# sourceMappingURL=time.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/components/time.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import SuperOpenable, { type Direction8 } from "../core/super-openable.js";
2
+ /**
3
+ * {@linkcode Tooltip} provide tooltip for slot elements.
4
+ *
5
+ * If it has the tip property, ignore the slot tip.
6
+ *
7
+ * @slot tip - Tip element.
8
+ * @slot - Content.
9
+ * @category feedback
10
+ */
11
+ declare class Tooltip extends SuperOpenable {
12
+ /**
13
+ * Tip text, if there is a value, the slot will be ignored.
14
+ */
15
+ tip: string;
16
+ /**
17
+ * Direction of opening the tip.
18
+ */
19
+ direction: Direction8;
20
+ /**
21
+ * Content alignment.
22
+ */
23
+ align: "center" | "flex-start" | "flex-end" | "start" | "end";
24
+ /**
25
+ * If true, allow penetration of the tip.
26
+ */
27
+ propagation: boolean;
28
+ static aligns: {
29
+ start: string;
30
+ end: string;
31
+ center: string;
32
+ "flex-start": string;
33
+ "flex-end": string;
34
+ };
35
+ protected render(): import("lit").TemplateResult<1>;
36
+ }
37
+ export default Tooltip;
38
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../src/components/tooltip.ts"],"names":[],"mappings":"AAOA,OAAO,aAAa,EAAE,EAAE,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAK3E;;;;;;;;GAQG;AACH,cAmDM,OAAQ,SAAQ,aAAa;IACjC;;OAEG;IAEH,GAAG,EAAE,MAAM,CAAC;IACZ;;OAEG;IAEH,SAAS,EAAE,UAAU,CAAS;IAC9B;;OAEG;IAEH,KAAK,EAAE,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,OAAO,GAAG,KAAK,CAAY;IAEzE;;OAEG;IAEH,WAAW,EAAE,OAAO,CAAC;IAErB,MAAM,CAAC,MAAM;;;;;;MAMX;IAEF,SAAS,CAAC,MAAM;CAYjB;AAED,eAAe,OAAO,CAAC"}
@@ -0,0 +1,114 @@
1
+ var Tooltip_1;
2
+ import { __decorate } from "tslib";
3
+ import { godown } from "@godown/element/decorators/godown.js";
4
+ import { styles } from "@godown/element/decorators/styles.js";
5
+ import { htmlSlot } from "@godown/element/directives/html-slot.js";
6
+ import { css, html } from "lit";
7
+ import { property } from "lit/decorators.js";
8
+ import { cssGlobalVars, scopePrefix } from "../core/global-style.js";
9
+ import SuperOpenable from "../core/super-openable.js";
10
+ const protoName = "tooltip";
11
+ const cssScope = scopePrefix(protoName);
12
+ /**
13
+ * {@linkcode Tooltip} provide tooltip for slot elements.
14
+ *
15
+ * If it has the tip property, ignore the slot tip.
16
+ *
17
+ * @slot tip - Tip element.
18
+ * @slot - Content.
19
+ * @category feedback
20
+ */
21
+ let Tooltip = Tooltip_1 = class Tooltip extends SuperOpenable {
22
+ constructor() {
23
+ super(...arguments);
24
+ /**
25
+ * Direction of opening the tip.
26
+ */
27
+ this.direction = "top";
28
+ /**
29
+ * Content alignment.
30
+ */
31
+ this.align = "center";
32
+ }
33
+ render() {
34
+ const align = Tooltip_1.aligns[this.align] || "inherit";
35
+ return html `<div part="root" style="justify-content:${align};align-items:${align}">
36
+ ${htmlSlot()}
37
+ <div part="tip" direction="${this.direction}" style="pointer-events:${this.propagation ? "none" : "all"}">
38
+ ${this.tip
39
+ ? html `<span class="passive">${this.tip}</span>`
40
+ : htmlSlot("tip")}</div>
41
+ </div>`;
42
+ }
43
+ };
44
+ Tooltip.aligns = {
45
+ start: "flex-start",
46
+ end: "flex-end",
47
+ center: "center",
48
+ "flex-start": "flex-start",
49
+ "flex-end": "flex-end",
50
+ };
51
+ __decorate([
52
+ property()
53
+ ], Tooltip.prototype, "tip", void 0);
54
+ __decorate([
55
+ property()
56
+ ], Tooltip.prototype, "direction", void 0);
57
+ __decorate([
58
+ property()
59
+ ], Tooltip.prototype, "align", void 0);
60
+ __decorate([
61
+ property({ type: Boolean })
62
+ ], Tooltip.prototype, "propagation", void 0);
63
+ Tooltip = Tooltip_1 = __decorate([
64
+ godown(protoName),
65
+ styles(css `
66
+ :host {
67
+ ${cssScope}--tip-background: var(${cssGlobalVars.background});
68
+ display: inline-block;
69
+ width: fit-content;
70
+ }
71
+
72
+ [part="root"] {
73
+ display: flex;
74
+ position: relative;
75
+ transition: inherit;
76
+ border-radius: inherit;
77
+ }
78
+
79
+ [part="tip"] {
80
+ width: fit-content;
81
+ height: fit-content;
82
+ position: absolute;
83
+ visibility: hidden;
84
+ transition: inherit;
85
+ user-select: none;
86
+ }
87
+
88
+ :host([open]) [part="tip"],
89
+ :host(:hover) [part="tip"],
90
+ [part="tip"]:hover {
91
+ visibility: visible;
92
+ }
93
+
94
+ .passive{
95
+ background: var(${cssScope}--tip-background);
96
+ padding: 0 .5em;
97
+ }
98
+ `, css `
99
+ [direction^="top"] {
100
+ bottom: 100%;
101
+ }
102
+ [direction^="bottom"] {
103
+ top: 100%;
104
+ }
105
+ [direction$="right"] {
106
+ left: 100%;
107
+ }
108
+ [direction$="left"] {
109
+ right: 100%;
110
+ }
111
+ `)
112
+ ], Tooltip);
113
+ export default Tooltip;
114
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../../src/components/tooltip.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,yCAAyC,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,aAAkC,MAAM,2BAA2B,CAAC;AAE3E,MAAM,SAAS,GAAG,SAAS,CAAC;AAC5B,MAAM,QAAQ,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;AAExC;;;;;;;;GAQG;AAoDH,IAAM,OAAO,eAAb,MAAM,OAAQ,SAAQ,aAAa;IAAnC;;QAME;;WAEG;QAEH,cAAS,GAAe,KAAK,CAAC;QAC9B;;WAEG;QAEH,UAAK,GAA2D,QAAQ,CAAC;IA4B3E,CAAC;IAZW,MAAM;QACd,MAAM,KAAK,GAAG,SAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;QACtD,OAAO,IAAI,CAAA,2CAA2C,KAAK,gBAAgB,KAAK;QAC5E,QAAQ,EAAE;mCACiB,IAAI,CAAC,SAAS,2BAA2B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;MAEvG,IAAI,CAAC,GAAG;YACN,CAAC,CAAC,IAAI,CAAA,yBAAyB,IAAI,CAAC,GAAG,SAAS;YAChD,CAAC,CAAC,QAAQ,CAAC,KAAK,CACpB;WACO,CAAC;IACV,CAAC;;AAnBM,cAAM,GAAG;IACd,KAAK,EAAE,YAAY;IACnB,GAAG,EAAE,UAAU;IACf,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;IAC1B,UAAU,EAAE,UAAU;CACvB,AANY,CAMX;AAxBF;IADC,QAAQ,EAAE;oCACC;AAKZ;IADC,QAAQ,EAAE;0CACmB;AAK9B;IADC,QAAQ,EAAE;sCAC8D;AAMzE;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;4CACP;AArBjB,OAAO;IAnDZ,MAAM,CAAC,SAAS,CAAC;IACjB,MAAM,CACL,GAAG,CAAA;;QAEG,QAAQ,yBAAyB,aAAa,CAAC,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA4BzC,QAAQ;;;GAG7B,EACD,GAAG,CAAA;;;;;;;;;;;;;GAaF,CACF;GACK,OAAO,CA2CZ;AAED,eAAe,OAAO,CAAC"}