duoyun-ui 0.0.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 (392) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +12 -0
  3. package/docs/.gitignore +4 -0
  4. package/docs/104.bundle.js +19 -0
  5. package/docs/283.bundle.js +47 -0
  6. package/docs/354.bundle.js +1133 -0
  7. package/docs/354.bundle.js.LICENSE.txt +13 -0
  8. package/docs/587.bundle.js +26 -0
  9. package/docs/810.bundle.js +1 -0
  10. package/docs/gem-book.json +84 -0
  11. package/docs/index.html +1 -0
  12. package/docs/main.bundle.js +1 -0
  13. package/docs/robots.txt +2 -0
  14. package/docs/service-worker.js +1 -0
  15. package/docs/workbox-62d1f9d5.js +1 -0
  16. package/elements/action-text.d.ts +12 -0
  17. package/elements/action-text.d.ts.map +1 -0
  18. package/elements/action-text.js +63 -0
  19. package/elements/action-text.js.map +1 -0
  20. package/elements/area-chart.d.ts +35 -0
  21. package/elements/area-chart.d.ts.map +1 -0
  22. package/elements/area-chart.js +408 -0
  23. package/elements/area-chart.js.map +1 -0
  24. package/elements/avatar.d.ts +42 -0
  25. package/elements/avatar.d.ts.map +1 -0
  26. package/elements/avatar.js +190 -0
  27. package/elements/avatar.js.map +1 -0
  28. package/elements/banner.d.ts +21 -0
  29. package/elements/banner.d.ts.map +1 -0
  30. package/elements/banner.js +136 -0
  31. package/elements/banner.js.map +1 -0
  32. package/elements/bar-chart.d.ts +23 -0
  33. package/elements/bar-chart.d.ts.map +1 -0
  34. package/elements/bar-chart.js +170 -0
  35. package/elements/bar-chart.js.map +1 -0
  36. package/elements/base/chart.d.ts +74 -0
  37. package/elements/base/chart.d.ts.map +1 -0
  38. package/elements/base/chart.js +299 -0
  39. package/elements/base/chart.js.map +1 -0
  40. package/elements/base/loadable.d.ts +16 -0
  41. package/elements/base/loadable.d.ts.map +1 -0
  42. package/elements/base/loadable.js +77 -0
  43. package/elements/base/loadable.js.map +1 -0
  44. package/elements/base/resize.d.ts +15 -0
  45. package/elements/base/resize.d.ts.map +1 -0
  46. package/elements/base/resize.js +31 -0
  47. package/elements/base/resize.js.map +1 -0
  48. package/elements/base/scroll.d.ts +11 -0
  49. package/elements/base/scroll.d.ts.map +1 -0
  50. package/elements/base/scroll.js +90 -0
  51. package/elements/base/scroll.js.map +1 -0
  52. package/elements/base/visible.d.ts +12 -0
  53. package/elements/base/visible.d.ts.map +1 -0
  54. package/elements/base/visible.js +37 -0
  55. package/elements/base/visible.js.map +1 -0
  56. package/elements/breadcrumbs.d.ts +20 -0
  57. package/elements/breadcrumbs.d.ts.map +1 -0
  58. package/elements/breadcrumbs.js +88 -0
  59. package/elements/breadcrumbs.js.map +1 -0
  60. package/elements/button.d.ts +30 -0
  61. package/elements/button.d.ts.map +1 -0
  62. package/elements/button.js +225 -0
  63. package/elements/button.js.map +1 -0
  64. package/elements/card.d.ts +26 -0
  65. package/elements/card.d.ts.map +1 -0
  66. package/elements/card.js +163 -0
  67. package/elements/card.js.map +1 -0
  68. package/elements/cascader-pick.d.ts +22 -0
  69. package/elements/cascader-pick.d.ts.map +1 -0
  70. package/elements/cascader-pick.js +172 -0
  71. package/elements/cascader-pick.js.map +1 -0
  72. package/elements/cascader.d.ts +29 -0
  73. package/elements/cascader.d.ts.map +1 -0
  74. package/elements/cascader.js +247 -0
  75. package/elements/cascader.js.map +1 -0
  76. package/elements/chart-tooltip.d.ts +29 -0
  77. package/elements/chart-tooltip.d.ts.map +1 -0
  78. package/elements/chart-tooltip.js +150 -0
  79. package/elements/chart-tooltip.js.map +1 -0
  80. package/elements/chart-zoom.d.ts +20 -0
  81. package/elements/chart-zoom.d.ts.map +1 -0
  82. package/elements/chart-zoom.js +207 -0
  83. package/elements/chart-zoom.js.map +1 -0
  84. package/elements/checkbox.d.ts +20 -0
  85. package/elements/checkbox.d.ts.map +1 -0
  86. package/elements/checkbox.js +108 -0
  87. package/elements/checkbox.js.map +1 -0
  88. package/elements/coach-mark.d.ts +39 -0
  89. package/elements/coach-mark.d.ts.map +1 -0
  90. package/elements/coach-mark.js +212 -0
  91. package/elements/coach-mark.js.map +1 -0
  92. package/elements/code-block.d.ts +14 -0
  93. package/elements/code-block.d.ts.map +1 -0
  94. package/elements/code-block.js +427 -0
  95. package/elements/code-block.js.map +1 -0
  96. package/elements/collapse.d.ts +22 -0
  97. package/elements/collapse.d.ts.map +1 -0
  98. package/elements/collapse.js +111 -0
  99. package/elements/collapse.js.map +1 -0
  100. package/elements/color-panel.d.ts +30 -0
  101. package/elements/color-panel.d.ts.map +1 -0
  102. package/elements/color-panel.js +383 -0
  103. package/elements/color-panel.js.map +1 -0
  104. package/elements/color-pick.d.ts +14 -0
  105. package/elements/color-pick.d.ts.map +1 -0
  106. package/elements/color-pick.js +81 -0
  107. package/elements/color-pick.js.map +1 -0
  108. package/elements/compartment.d.ts +9 -0
  109. package/elements/compartment.d.ts.map +1 -0
  110. package/elements/compartment.js +32 -0
  111. package/elements/compartment.js.map +1 -0
  112. package/elements/copy.d.ts +20 -0
  113. package/elements/copy.d.ts.map +1 -0
  114. package/elements/copy.js +160 -0
  115. package/elements/copy.js.map +1 -0
  116. package/elements/date-panel.d.ts +29 -0
  117. package/elements/date-panel.d.ts.map +1 -0
  118. package/elements/date-panel.js +220 -0
  119. package/elements/date-panel.js.map +1 -0
  120. package/elements/date-pick.d.ts +23 -0
  121. package/elements/date-pick.d.ts.map +1 -0
  122. package/elements/date-pick.js +107 -0
  123. package/elements/date-pick.js.map +1 -0
  124. package/elements/date-range-panel.d.ts +28 -0
  125. package/elements/date-range-panel.d.ts.map +1 -0
  126. package/elements/date-range-panel.js +154 -0
  127. package/elements/date-range-panel.js.map +1 -0
  128. package/elements/date-range-pick.d.ts +26 -0
  129. package/elements/date-range-pick.d.ts.map +1 -0
  130. package/elements/date-range-pick.js +159 -0
  131. package/elements/date-range-pick.js.map +1 -0
  132. package/elements/divider.d.ts +15 -0
  133. package/elements/divider.d.ts.map +1 -0
  134. package/elements/divider.js +95 -0
  135. package/elements/divider.js.map +1 -0
  136. package/elements/donut-chart.d.ts +19 -0
  137. package/elements/donut-chart.d.ts.map +1 -0
  138. package/elements/donut-chart.js +140 -0
  139. package/elements/donut-chart.js.map +1 -0
  140. package/elements/drawer.d.ts +9 -0
  141. package/elements/drawer.d.ts.map +1 -0
  142. package/elements/drawer.js +45 -0
  143. package/elements/drawer.js.map +1 -0
  144. package/elements/drop-area.d.ts +18 -0
  145. package/elements/drop-area.d.ts.map +1 -0
  146. package/elements/drop-area.js +155 -0
  147. package/elements/drop-area.js.map +1 -0
  148. package/elements/empty.d.ts +8 -0
  149. package/elements/empty.d.ts.map +1 -0
  150. package/elements/empty.js +33 -0
  151. package/elements/empty.js.map +1 -0
  152. package/elements/file-pick.d.ts +28 -0
  153. package/elements/file-pick.d.ts.map +1 -0
  154. package/elements/file-pick.js +226 -0
  155. package/elements/file-pick.js.map +1 -0
  156. package/elements/form.d.ts +76 -0
  157. package/elements/form.d.ts.map +1 -0
  158. package/elements/form.js +372 -0
  159. package/elements/form.js.map +1 -0
  160. package/elements/heading.d.ts +13 -0
  161. package/elements/heading.d.ts.map +1 -0
  162. package/elements/heading.js +88 -0
  163. package/elements/heading.js.map +1 -0
  164. package/elements/help-text.d.ts +11 -0
  165. package/elements/help-text.d.ts.map +1 -0
  166. package/elements/help-text.js +53 -0
  167. package/elements/help-text.js.map +1 -0
  168. package/elements/icons.d.ts +10 -0
  169. package/elements/icons.d.ts.map +1 -0
  170. package/elements/icons.js +71 -0
  171. package/elements/icons.js.map +1 -0
  172. package/elements/image-preview.d.ts +26 -0
  173. package/elements/image-preview.d.ts.map +1 -0
  174. package/elements/image-preview.js +172 -0
  175. package/elements/image-preview.js.map +1 -0
  176. package/elements/input-capture.d.ts +17 -0
  177. package/elements/input-capture.d.ts.map +1 -0
  178. package/elements/input-capture.js +111 -0
  179. package/elements/input-capture.js.map +1 -0
  180. package/elements/input.d.ts +51 -0
  181. package/elements/input.d.ts.map +1 -0
  182. package/elements/input.js +372 -0
  183. package/elements/input.js.map +1 -0
  184. package/elements/keyboard-access.d.ts +26 -0
  185. package/elements/keyboard-access.d.ts.map +1 -0
  186. package/elements/keyboard-access.js +217 -0
  187. package/elements/keyboard-access.js.map +1 -0
  188. package/elements/legend.d.ts +21 -0
  189. package/elements/legend.d.ts.map +1 -0
  190. package/elements/legend.js +118 -0
  191. package/elements/legend.js.map +1 -0
  192. package/elements/line-chart.d.ts +9 -0
  193. package/elements/line-chart.d.ts.map +1 -0
  194. package/elements/line-chart.js +116 -0
  195. package/elements/line-chart.js.map +1 -0
  196. package/elements/link.d.ts +14 -0
  197. package/elements/link.d.ts.map +1 -0
  198. package/elements/link.js +46 -0
  199. package/elements/link.js.map +1 -0
  200. package/elements/list.d.ts +30 -0
  201. package/elements/list.d.ts.map +1 -0
  202. package/elements/list.js +114 -0
  203. package/elements/list.js.map +1 -0
  204. package/elements/loading.d.ts +9 -0
  205. package/elements/loading.d.ts.map +1 -0
  206. package/elements/loading.js +44 -0
  207. package/elements/loading.js.map +1 -0
  208. package/elements/map.d.ts +68 -0
  209. package/elements/map.d.ts.map +1 -0
  210. package/elements/map.js +323 -0
  211. package/elements/map.js.map +1 -0
  212. package/elements/menu.d.ts +58 -0
  213. package/elements/menu.d.ts.map +1 -0
  214. package/elements/menu.js +256 -0
  215. package/elements/menu.js.map +1 -0
  216. package/elements/meter.d.ts +20 -0
  217. package/elements/meter.d.ts.map +1 -0
  218. package/elements/meter.js +130 -0
  219. package/elements/meter.js.map +1 -0
  220. package/elements/modal.d.ts +46 -0
  221. package/elements/modal.d.ts.map +1 -0
  222. package/elements/modal.js +296 -0
  223. package/elements/modal.js.map +1 -0
  224. package/elements/more.d.ts +28 -0
  225. package/elements/more.d.ts.map +1 -0
  226. package/elements/more.js +118 -0
  227. package/elements/more.js.map +1 -0
  228. package/elements/options.d.ts +34 -0
  229. package/elements/options.d.ts.map +1 -0
  230. package/elements/options.js +174 -0
  231. package/elements/options.js.map +1 -0
  232. package/elements/page-loadbar.d.ts +20 -0
  233. package/elements/page-loadbar.d.ts.map +1 -0
  234. package/elements/page-loadbar.js +85 -0
  235. package/elements/page-loadbar.js.map +1 -0
  236. package/elements/pagination.d.ts +23 -0
  237. package/elements/pagination.d.ts.map +1 -0
  238. package/elements/pagination.js +221 -0
  239. package/elements/pagination.js.map +1 -0
  240. package/elements/paragraph.d.ts +8 -0
  241. package/elements/paragraph.d.ts.map +1 -0
  242. package/elements/paragraph.js +60 -0
  243. package/elements/paragraph.js.map +1 -0
  244. package/elements/pick.d.ts +34 -0
  245. package/elements/pick.d.ts.map +1 -0
  246. package/elements/pick.js +168 -0
  247. package/elements/pick.js.map +1 -0
  248. package/elements/placeholder.d.ts +23 -0
  249. package/elements/placeholder.d.ts.map +1 -0
  250. package/elements/placeholder.js +93 -0
  251. package/elements/placeholder.js.map +1 -0
  252. package/elements/popover.d.ts +54 -0
  253. package/elements/popover.d.ts.map +1 -0
  254. package/elements/popover.js +316 -0
  255. package/elements/popover.js.map +1 -0
  256. package/elements/progress.d.ts +12 -0
  257. package/elements/progress.d.ts.map +1 -0
  258. package/elements/progress.js +45 -0
  259. package/elements/progress.js.map +1 -0
  260. package/elements/radio.d.ts +34 -0
  261. package/elements/radio.d.ts.map +1 -0
  262. package/elements/radio.js +152 -0
  263. package/elements/radio.js.map +1 -0
  264. package/elements/rating.d.ts +15 -0
  265. package/elements/rating.d.ts.map +1 -0
  266. package/elements/rating.js +122 -0
  267. package/elements/rating.js.map +1 -0
  268. package/elements/scatter-chart.d.ts +13 -0
  269. package/elements/scatter-chart.d.ts.map +1 -0
  270. package/elements/scatter-chart.js +151 -0
  271. package/elements/scatter-chart.js.map +1 -0
  272. package/elements/select.d.ts +63 -0
  273. package/elements/select.d.ts.map +1 -0
  274. package/elements/select.js +416 -0
  275. package/elements/select.js.map +1 -0
  276. package/elements/shortcut-record.d.ts +19 -0
  277. package/elements/shortcut-record.d.ts.map +1 -0
  278. package/elements/shortcut-record.js +127 -0
  279. package/elements/shortcut-record.js.map +1 -0
  280. package/elements/side-navigation.d.ts +31 -0
  281. package/elements/side-navigation.d.ts.map +1 -0
  282. package/elements/side-navigation.js +137 -0
  283. package/elements/side-navigation.js.map +1 -0
  284. package/elements/slider.d.ts +27 -0
  285. package/elements/slider.d.ts.map +1 -0
  286. package/elements/slider.js +219 -0
  287. package/elements/slider.js.map +1 -0
  288. package/elements/space.d.ts +10 -0
  289. package/elements/space.d.ts.map +1 -0
  290. package/elements/space.js +35 -0
  291. package/elements/space.js.map +1 -0
  292. package/elements/statistic.d.ts +24 -0
  293. package/elements/statistic.d.ts.map +1 -0
  294. package/elements/statistic.js +116 -0
  295. package/elements/statistic.js.map +1 -0
  296. package/elements/status-light.d.ts +14 -0
  297. package/elements/status-light.d.ts.map +1 -0
  298. package/elements/status-light.js +75 -0
  299. package/elements/status-light.js.map +1 -0
  300. package/elements/switch.d.ts +18 -0
  301. package/elements/switch.d.ts.map +1 -0
  302. package/elements/switch.js +117 -0
  303. package/elements/switch.js.map +1 -0
  304. package/elements/table.d.ts +36 -0
  305. package/elements/table.d.ts.map +1 -0
  306. package/elements/table.js +268 -0
  307. package/elements/table.js.map +1 -0
  308. package/elements/tabs.d.ts +29 -0
  309. package/elements/tabs.d.ts.map +1 -0
  310. package/elements/tabs.js +130 -0
  311. package/elements/tabs.js.map +1 -0
  312. package/elements/tag.d.ts +20 -0
  313. package/elements/tag.d.ts.map +1 -0
  314. package/elements/tag.js +120 -0
  315. package/elements/tag.js.map +1 -0
  316. package/elements/timeline.d.ts +19 -0
  317. package/elements/timeline.d.ts.map +1 -0
  318. package/elements/timeline.js +92 -0
  319. package/elements/timeline.js.map +1 -0
  320. package/elements/toast.d.ts +26 -0
  321. package/elements/toast.d.ts.map +1 -0
  322. package/elements/toast.js +149 -0
  323. package/elements/toast.js.map +1 -0
  324. package/elements/tooltip.d.ts +12 -0
  325. package/elements/tooltip.d.ts.map +1 -0
  326. package/elements/tooltip.js +27 -0
  327. package/elements/tooltip.js.map +1 -0
  328. package/elements/tree.d.ts +48 -0
  329. package/elements/tree.d.ts.map +1 -0
  330. package/elements/tree.js +231 -0
  331. package/elements/tree.js.map +1 -0
  332. package/elements/wait.d.ts +19 -0
  333. package/elements/wait.d.ts.map +1 -0
  334. package/elements/wait.js +97 -0
  335. package/elements/wait.js.map +1 -0
  336. package/lib/animations.d.ts +4 -0
  337. package/lib/animations.d.ts.map +1 -0
  338. package/lib/animations.js +8 -0
  339. package/lib/animations.js.map +1 -0
  340. package/lib/cache.d.ts +12 -0
  341. package/lib/cache.d.ts.map +1 -0
  342. package/lib/cache.js +56 -0
  343. package/lib/cache.js.map +1 -0
  344. package/lib/color.d.ts +37 -0
  345. package/lib/color.d.ts.map +1 -0
  346. package/lib/color.js +101 -0
  347. package/lib/color.js.map +1 -0
  348. package/lib/hotkeys.d.ts +31 -0
  349. package/lib/hotkeys.d.ts.map +1 -0
  350. package/lib/hotkeys.js +207 -0
  351. package/lib/hotkeys.js.map +1 -0
  352. package/lib/icons.d.ts +90 -0
  353. package/lib/icons.d.ts.map +1 -0
  354. package/lib/icons.js +81 -0
  355. package/lib/icons.js.map +1 -0
  356. package/lib/image.d.ts +29 -0
  357. package/lib/image.d.ts.map +1 -0
  358. package/lib/image.js +140 -0
  359. package/lib/image.js.map +1 -0
  360. package/lib/locale.d.ts +37 -0
  361. package/lib/locale.d.ts.map +1 -0
  362. package/lib/locale.js +14 -0
  363. package/lib/locale.js.map +1 -0
  364. package/lib/number.d.ts +80 -0
  365. package/lib/number.d.ts.map +1 -0
  366. package/lib/number.js +144 -0
  367. package/lib/number.js.map +1 -0
  368. package/lib/theme.d.ts +67 -0
  369. package/lib/theme.d.ts.map +1 -0
  370. package/lib/theme.js +56 -0
  371. package/lib/theme.js.map +1 -0
  372. package/lib/time.d.ts +58 -0
  373. package/lib/time.d.ts.map +1 -0
  374. package/lib/time.js +225 -0
  375. package/lib/time.js.map +1 -0
  376. package/lib/types.d.ts +8 -0
  377. package/lib/types.d.ts.map +1 -0
  378. package/lib/types.js +17 -0
  379. package/lib/types.js.map +1 -0
  380. package/lib/utils.d.ts +37 -0
  381. package/lib/utils.d.ts.map +1 -0
  382. package/lib/utils.js +249 -0
  383. package/lib/utils.js.map +1 -0
  384. package/locales/en.d.ts +34 -0
  385. package/locales/en.d.ts.map +1 -0
  386. package/locales/en.js +33 -0
  387. package/locales/en.js.map +1 -0
  388. package/locales/zh.d.ts +4 -0
  389. package/locales/zh.d.ts.map +1 -0
  390. package/locales/zh.js +34 -0
  391. package/locales/zh.js.map +1 -0
  392. package/package.json +39 -0
@@ -0,0 +1,160 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _DuoyunCopyElement_instances, _DuoyunCopyElement_icon_get, _DuoyunCopyElement_showMessage, _DuoyunCopyElement_copy;
13
+ import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, boolattribute, attribute, classMap, } from '@mantou/gem';
14
+ import { icons } from '../lib/icons';
15
+ import { theme } from '../lib/theme';
16
+ import { locale } from '../lib/locale';
17
+ import { commonHandle } from '../lib/hotkeys';
18
+ import '@mantou/gem/elements/use';
19
+ import '../elements/tooltip';
20
+ const style = createCSSSheet(css `
21
+ :host {
22
+ position: relative;
23
+ display: flex;
24
+ gap: 0.5em;
25
+ }
26
+ :host(:hover) .icon {
27
+ display: flex;
28
+ }
29
+ .icon {
30
+ cursor: pointer;
31
+ flex-shrink: 0;
32
+ width: 1.2em;
33
+ }
34
+ .icon.none {
35
+ display: none;
36
+ }
37
+ .icon.success {
38
+ color: ${theme.positiveColor};
39
+ }
40
+ :host([block]) .icon {
41
+ position: absolute;
42
+ top: 1em;
43
+ right: 1em;
44
+ }
45
+ .tip {
46
+ z-index: 99999;
47
+ position: absolute;
48
+ top: 50%;
49
+ left: 100%;
50
+ transform: translate(0.8em, -50%);
51
+ background: currentColor;
52
+ line-height: 1.5;
53
+ padding: 0.4em 0.6em;
54
+ border-radius: ${theme.normalRound};
55
+ white-space: nowrap;
56
+ filter: drop-shadow(rgba(0, 0, 0, calc(${theme.maskAlpha})) 0px 0.6em 1em);
57
+ }
58
+ .text {
59
+ color: ${theme.backgroundColor};
60
+ }
61
+ .tip::before {
62
+ content: '';
63
+ position: absolute;
64
+ border-style: solid;
65
+ top: 50%;
66
+ right: 100%;
67
+ border-color: transparent currentColor transparent transparent;
68
+ border-width: 0.4em 0.4em 0.4em 0;
69
+ transform: translateY(-50%);
70
+ }
71
+ slot::slotted(*) {
72
+ overflow: hidden;
73
+ text-overflow: ellipsis;
74
+ white-space: nowrap;
75
+ }
76
+ `);
77
+ /**
78
+ * @customElement dy-copy
79
+ */
80
+ let DuoyunCopyElement = class DuoyunCopyElement extends GemElement {
81
+ constructor() {
82
+ super(...arguments);
83
+ _DuoyunCopyElement_instances.add(this);
84
+ this.state = {
85
+ status: 'none',
86
+ };
87
+ _DuoyunCopyElement_showMessage.set(this, (isSuccess) => {
88
+ if (!this.silent) {
89
+ this.setState({ status: isSuccess ? 'success' : 'fail' });
90
+ setTimeout(() => {
91
+ this.setState({ status: 'none' });
92
+ }, 1000);
93
+ }
94
+ });
95
+ _DuoyunCopyElement_copy.set(this, async () => {
96
+ if (this.state.status !== 'none')
97
+ return;
98
+ try {
99
+ await navigator.clipboard.writeText(this.content || this.textContent || '');
100
+ __classPrivateFieldGet(this, _DuoyunCopyElement_showMessage, "f").call(this, true);
101
+ }
102
+ catch (_a) {
103
+ __classPrivateFieldGet(this, _DuoyunCopyElement_showMessage, "f").call(this, false);
104
+ }
105
+ });
106
+ this.render = () => {
107
+ const { status } = this.state;
108
+ return html `
109
+ <slot></slot>
110
+ <dy-tooltip .content=${this.tooltip}>
111
+ <gem-use
112
+ role="button"
113
+ tabindex="0"
114
+ class=${classMap({ icon: true, [status]: true })}
115
+ @click=${__classPrivateFieldGet(this, _DuoyunCopyElement_copy, "f")}
116
+ @keydown=${commonHandle}
117
+ .element=${__classPrivateFieldGet(this, _DuoyunCopyElement_instances, "a", _DuoyunCopyElement_icon_get)}
118
+ >
119
+ ${status === 'none'
120
+ ? ''
121
+ : html `
122
+ <div class="tip">
123
+ <span class="text">${status === 'fail' ? locale.copyFail : locale.copySuccess}</span>
124
+ </div>
125
+ `}
126
+ </gem-use>
127
+ </dy-tooltip>
128
+ <slot name="after"></slot>
129
+ `;
130
+ };
131
+ }
132
+ };
133
+ _DuoyunCopyElement_showMessage = new WeakMap(), _DuoyunCopyElement_copy = new WeakMap(), _DuoyunCopyElement_instances = new WeakSet(), _DuoyunCopyElement_icon_get = function _DuoyunCopyElement_icon_get() {
134
+ switch (this.state.status) {
135
+ case 'success':
136
+ return icons.check;
137
+ case 'fail':
138
+ return icons.close;
139
+ default:
140
+ return icons.copy;
141
+ }
142
+ };
143
+ __decorate([
144
+ boolattribute
145
+ ], DuoyunCopyElement.prototype, "silent", void 0);
146
+ __decorate([
147
+ boolattribute
148
+ ], DuoyunCopyElement.prototype, "block", void 0);
149
+ __decorate([
150
+ attribute
151
+ ], DuoyunCopyElement.prototype, "tooltip", void 0);
152
+ __decorate([
153
+ property
154
+ ], DuoyunCopyElement.prototype, "content", void 0);
155
+ DuoyunCopyElement = __decorate([
156
+ customElement('dy-copy'),
157
+ adoptedStyle(style)
158
+ ], DuoyunCopyElement);
159
+ export { DuoyunCopyElement };
160
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"copy.js","sourceRoot":"","sources":["../src/elements/copy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { GemElement, Emitter } from '@mantou/gem';
2
+ import { Time } from '../lib/time';
3
+ import '@mantou/gem/elements/use';
4
+ declare type State = {
5
+ year: number;
6
+ month: number;
7
+ };
8
+ /**
9
+ * @customElement dy-date-panel
10
+ * @fires change
11
+ * @fires change-view
12
+ * @fires enterdate
13
+ */
14
+ export declare class DuoyunDatePanelElement extends GemElement<State> {
15
+ #private;
16
+ value?: number;
17
+ highlights?: number[][];
18
+ initDate?: Time;
19
+ change: Emitter<number>;
20
+ changeView: Emitter<number>;
21
+ enterdate: Emitter<number>;
22
+ constructor();
23
+ state: State;
24
+ willMount: () => void;
25
+ mounted: () => void;
26
+ render: () => import("@mantou/gem").TemplateResult;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=date-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-panel.d.ts","sourceRoot":"","sources":["../src/elements/date-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAQV,OAAO,EAER,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAGnC,OAAO,0BAA0B,CAAC;AAyElC,aAAK,KAAK,GAAG;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAOF;;;;;GAKG;AACH,qBAEa,sBAAuB,SAAQ,UAAU,CAAC,KAAK,CAAC;;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC;IAExB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAEjB,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACxB,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;;IAWpC,KAAK,EAAE,KAAK,CAGV;IA2BF,SAAS,aAwBP;IAEF,OAAO,aASL;IAEF,MAAM,6CAqCJ;CACH"}
@@ -0,0 +1,220 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
+ if (kind === "m") throw new TypeError("Private method is not writable");
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
+ };
18
+ var _DuoyunDatePanelElement_instances, _DuoyunDatePanelElement_currentD_get, _DuoyunDatePanelElement_dates, _DuoyunDatePanelElement_increaseView, _DuoyunDatePanelElement_isHighlight, _DuoyunDatePanelElement_initState, _DuoyunDatePanelElement_onSubmit;
19
+ import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, emitter, classMap, } from '@mantou/gem';
20
+ import { theme } from '../lib/theme';
21
+ import { Time } from '../lib/time';
22
+ import { icons } from '../lib/icons';
23
+ import '@mantou/gem/elements/use';
24
+ const style = createCSSSheet(css `
25
+ :host {
26
+ font-size: 0.875em;
27
+ display: grid;
28
+ gap: 1px 0;
29
+ grid-template-columns: repeat(7, minmax(0, 1fr));
30
+ border: 1px solid ${theme.borderColor};
31
+ border-radius: ${theme.normalRound};
32
+ }
33
+ .head {
34
+ grid-area: 1 / 1 / 2 / 8;
35
+ display: flex;
36
+ align-items: center;
37
+ justify-content: center;
38
+ padding: 0.5em 0.3em;
39
+ }
40
+ .current {
41
+ flex-grow: 1;
42
+ text-align: center;
43
+ }
44
+ gem-use {
45
+ max-width: 10%;
46
+ }
47
+ .day,
48
+ .weekday {
49
+ aspect-ratio: 1 / 1;
50
+ display: flex;
51
+ align-items: center;
52
+ justify-content: center;
53
+ }
54
+ .weekday {
55
+ border-block-end: 1px solid ${theme.lightBackgroundColor};
56
+ }
57
+ .other {
58
+ opacity: 0.2;
59
+ }
60
+ :where(.day, gem-use):where(:hover) {
61
+ background-color: ${theme.hoverBackgroundColor};
62
+ }
63
+ .today {
64
+ position: relative;
65
+ }
66
+ .today::before,
67
+ .today::after {
68
+ content: '';
69
+ position: absolute;
70
+ border-radius: inherit;
71
+ border: 1px solid ${theme.backgroundColor};
72
+ }
73
+ .today::before {
74
+ inset: 2px;
75
+ }
76
+ .today::after {
77
+ border-color: ${theme.primaryColor};
78
+ inset: 0;
79
+ }
80
+ .check,
81
+ .highlight {
82
+ background-color: ${theme.primaryColor};
83
+ color: ${theme.backgroundColor};
84
+ }
85
+ .start {
86
+ border-start-start-radius: 10em;
87
+ border-end-start-radius: 10em;
88
+ }
89
+ .stop {
90
+ border-start-end-radius: 10em;
91
+ border-end-end-radius: 10em;
92
+ }
93
+ `);
94
+ /**
95
+ * @customElement dy-date-panel
96
+ * @fires change
97
+ * @fires change-view
98
+ * @fires enterdate
99
+ */
100
+ let DuoyunDatePanelElement = class DuoyunDatePanelElement extends GemElement {
101
+ constructor() {
102
+ super();
103
+ _DuoyunDatePanelElement_instances.add(this);
104
+ this.state = {
105
+ year: 0,
106
+ month: 0,
107
+ };
108
+ _DuoyunDatePanelElement_dates.set(this, void 0);
109
+ _DuoyunDatePanelElement_increaseView.set(this, (number) => {
110
+ const date = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentD_get).add(number, 'M');
111
+ __classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, date);
112
+ this.changeView(date.valueOf());
113
+ });
114
+ _DuoyunDatePanelElement_isHighlight.set(this, (date) => {
115
+ var _a;
116
+ const t = date.valueOf();
117
+ return !!((_a = this.highlights) === null || _a === void 0 ? void 0 : _a.some(([start, stop]) => t >= start && t <= stop));
118
+ });
119
+ _DuoyunDatePanelElement_initState.set(this, (value) => {
120
+ const d = new Time(value);
121
+ this.setState({ year: d.getFullYear(), month: d.getMonth() });
122
+ });
123
+ _DuoyunDatePanelElement_onSubmit.set(this, (value, isCurrentMonth) => {
124
+ if (!isCurrentMonth) {
125
+ __classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, value);
126
+ }
127
+ this.change(value.valueOf());
128
+ });
129
+ this.willMount = () => {
130
+ __classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, this.value || this.initDate || new Time());
131
+ this.memo(() => {
132
+ const start = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentD_get).startOf('M');
133
+ const startDay = start.getDay();
134
+ const stop = __classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentD_get).endOf('M');
135
+ const stopDay = stop.getDay();
136
+ const dates = [];
137
+ for (let i = 0; i < startDay; i++) {
138
+ dates.push({ date: new Time(start).subtract(startDay - i, 'd'), isCurrentMonth: false });
139
+ }
140
+ let s = start;
141
+ while (s.valueOf() < stop.valueOf()) {
142
+ dates.push({ date: new Time(s), isCurrentMonth: true });
143
+ s = new Time(s).add(1, 'd');
144
+ }
145
+ for (let i = 1; i < 7 - stopDay; i++) {
146
+ dates.push({ date: new Time(stop).add(i, 'd'), isCurrentMonth: false });
147
+ }
148
+ __classPrivateFieldSet(this, _DuoyunDatePanelElement_dates, dates, "f");
149
+ }, () => [this.state.year, this.state.month]);
150
+ };
151
+ this.mounted = () => {
152
+ this.effect(() => {
153
+ if (this.initDate) {
154
+ __classPrivateFieldGet(this, _DuoyunDatePanelElement_initState, "f").call(this, this.initDate);
155
+ }
156
+ }, () => { var _a; return [(_a = this.initDate) === null || _a === void 0 ? void 0 : _a.startOf('M').valueOf()]; });
157
+ };
158
+ this.render = () => {
159
+ return html `
160
+ <div class="head">
161
+ <gem-use @click=${() => __classPrivateFieldGet(this, _DuoyunDatePanelElement_increaseView, "f").call(this, -1)} .element=${icons.left}></gem-use>
162
+ <div class="current">${__classPrivateFieldGet(this, _DuoyunDatePanelElement_instances, "a", _DuoyunDatePanelElement_currentD_get).format({ year: 'numeric', month: 'long' })}</div>
163
+ <gem-use @click=${() => __classPrivateFieldGet(this, _DuoyunDatePanelElement_increaseView, "f").call(this, 1)} .element=${icons.right}></gem-use>
164
+ </div>
165
+ ${__classPrivateFieldGet(this, _DuoyunDatePanelElement_dates, "f")
166
+ .slice(0, 7)
167
+ .map(({ date }) => html `<div class="weekday">${date.format({ weekday: 'narrow' })}</div>`)}
168
+ ${__classPrivateFieldGet(this, _DuoyunDatePanelElement_dates, "f").map(({ date, isCurrentMonth }) => html `
169
+ <div
170
+ class=${classMap(isCurrentMonth
171
+ ? {
172
+ day: true,
173
+ check: !!this.value && date.isSome(this.value, 'd'),
174
+ today: isCurrentMonth && date.isSome(new Time(), 'd'),
175
+ start: !!this.highlights && this.highlights.some(([d]) => date.isSome(d, 'd')),
176
+ stop: !!this.highlights && this.highlights.some((ds) => date.isSome(ds[ds.length - 1], 'd')),
177
+ highlight: __classPrivateFieldGet(this, _DuoyunDatePanelElement_isHighlight, "f").call(this, date),
178
+ }
179
+ : {
180
+ day: true,
181
+ other: true,
182
+ })}
183
+ @click=${() => __classPrivateFieldGet(this, _DuoyunDatePanelElement_onSubmit, "f").call(this, date, isCurrentMonth)}
184
+ @mouseover=${() => this.enterdate(date.valueOf())}
185
+ >
186
+ ${date.getDate()}
187
+ </div>
188
+ `)}
189
+ `;
190
+ };
191
+ this.internals.role = 'widget';
192
+ }
193
+ };
194
+ _DuoyunDatePanelElement_dates = new WeakMap(), _DuoyunDatePanelElement_increaseView = new WeakMap(), _DuoyunDatePanelElement_isHighlight = new WeakMap(), _DuoyunDatePanelElement_initState = new WeakMap(), _DuoyunDatePanelElement_onSubmit = new WeakMap(), _DuoyunDatePanelElement_instances = new WeakSet(), _DuoyunDatePanelElement_currentD_get = function _DuoyunDatePanelElement_currentD_get() {
195
+ return new Time(`${this.state.year}-${String(this.state.month + 1).padStart(2, '0')}`);
196
+ };
197
+ __decorate([
198
+ property
199
+ ], DuoyunDatePanelElement.prototype, "value", void 0);
200
+ __decorate([
201
+ property
202
+ ], DuoyunDatePanelElement.prototype, "highlights", void 0);
203
+ __decorate([
204
+ property
205
+ ], DuoyunDatePanelElement.prototype, "initDate", void 0);
206
+ __decorate([
207
+ emitter
208
+ ], DuoyunDatePanelElement.prototype, "change", void 0);
209
+ __decorate([
210
+ emitter
211
+ ], DuoyunDatePanelElement.prototype, "changeView", void 0);
212
+ __decorate([
213
+ emitter
214
+ ], DuoyunDatePanelElement.prototype, "enterdate", void 0);
215
+ DuoyunDatePanelElement = __decorate([
216
+ customElement('dy-date-panel'),
217
+ adoptedStyle(style)
218
+ ], DuoyunDatePanelElement);
219
+ export { DuoyunDatePanelElement };
220
+ //# sourceMappingURL=date-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-panel.js","sourceRoot":"","sources":["../src/elements/date-panel.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,OAAO,EACL,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,GAAG,EACH,aAAa,EACb,QAAQ,EACR,OAAO,EAEP,QAAQ,GACT,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAErC,OAAO,0BAA0B,CAAC;AAElC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;;wBAMR,KAAK,CAAC,WAAW;qBACpB,KAAK,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;kCAwBJ,KAAK,CAAC,oBAAoB;;;;;;wBAMpC,KAAK,CAAC,oBAAoB;;;;;;;;;;wBAU1B,KAAK,CAAC,eAAe;;;;;;oBAMzB,KAAK,CAAC,YAAY;;;;;wBAKd,KAAK,CAAC,YAAY;aAC7B,KAAK,CAAC,eAAe;;;;;;;;;;CAUjC,CAAC,CAAC;AAYH;;;;;GAKG;AAGH,IAAa,sBAAsB,GAAnC,MAAa,sBAAuB,SAAQ,UAAiB;IAc3D;QACE,KAAK,EAAE,CAAC;;QAIV,UAAK,GAAU;YACb,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,CAAC;SACT,CAAC;QAEF,gDAAc;QAEd,+CAAgB,CAAC,MAAc,EAAE,EAAE;YACjC,MAAM,IAAI,GAAG,uBAAA,IAAI,+EAAU,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAC7C,uBAAA,IAAI,yCAAW,MAAf,IAAI,EAAY,IAAI,CAAC,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAClC,CAAC,EAAC;QAEF,8CAAe,CAAC,IAAU,EAAE,EAAE;;YAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,CAAC,CAAC,CAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,CAAA,CAAC;QAC7E,CAAC,EAAC;QAEF,4CAAa,CAAC,KAA2B,EAAE,EAAE;YAC3C,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChE,CAAC,EAAC;QAEF,2CAAY,CAAC,KAAW,EAAE,cAAuB,EAAE,EAAE;YACnD,IAAI,CAAC,cAAc,EAAE;gBACnB,uBAAA,IAAI,yCAAW,MAAf,IAAI,EAAY,KAAK,CAAC,CAAC;aACxB;YACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/B,CAAC,EAAC;QAEF,cAAS,GAAG,GAAG,EAAE;YACf,uBAAA,IAAI,yCAAW,MAAf,IAAI,EAAY,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,IAAI,CACP,GAAG,EAAE;gBACH,MAAM,KAAK,GAAG,uBAAA,IAAI,+EAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;gBAChC,MAAM,IAAI,GAAG,uBAAA,IAAI,+EAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACvC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAU,EAAE,CAAC;gBACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE;oBACjC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC1F;gBACD,IAAI,CAAC,GAAG,KAAK,CAAC;gBACd,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE;oBACnC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC;oBACxD,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;iBAC7B;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE;oBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;iBACzE;gBACD,uBAAA,IAAI,iCAAU,KAAK,MAAA,CAAC;YACtB,CAAC,EACD,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAC1C,CAAC;QACJ,CAAC,CAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACb,IAAI,CAAC,MAAM,CACT,GAAG,EAAE;gBACH,IAAI,IAAI,CAAC,QAAQ,EAAE;oBACjB,uBAAA,IAAI,yCAAW,MAAf,IAAI,EAAY,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAChC;YACH,CAAC,EACD,GAAG,EAAE,WAAC,OAAA,CAAC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA,EAAA,CAC9C,CAAC;QACJ,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAA;;0BAEW,GAAG,EAAE,CAAC,uBAAA,IAAI,4CAAc,MAAlB,IAAI,EAAe,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,IAAI;+BAC9C,uBAAA,IAAI,+EAAU,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;0BAC9D,GAAG,EAAE,CAAC,uBAAA,IAAI,4CAAc,MAAlB,IAAI,EAAe,CAAC,CAAC,aAAa,KAAK,CAAC,KAAK;;QAErE,uBAAA,IAAI,qCAAO;iBACV,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;iBACX,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAA,wBAAwB,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC;QAC1F,uBAAA,IAAI,qCAAO,CAAC,GAAG,CACf,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,EAAE,EAAE,CAC3B,IAAI,CAAA;;sBAEQ,QAAQ,CACd,cAAc;gBACZ,CAAC,CAAC;oBACE,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC;oBACnD,KAAK,EAAE,cAAc,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,GAAG,CAAC;oBACrD,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9E,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC5F,SAAS,EAAE,uBAAA,IAAI,2CAAa,MAAjB,IAAI,EAAc,IAAI,CAAC;iBACnC;gBACH,CAAC,CAAC;oBACE,GAAG,EAAE,IAAI;oBACT,KAAK,EAAE,IAAI;iBACZ,CACN;uBACQ,GAAG,EAAE,CAAC,uBAAA,IAAI,wCAAU,MAAd,IAAI,EAAW,IAAI,EAAE,cAAc,CAAC;2BACtC,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;;gBAE/C,IAAI,CAAC,OAAO,EAAE;;WAEnB,CACJ;KACF,CAAC;QACJ,CAAC,CAAC;QA3GA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,QAAQ,CAAC;IACjC,CAAC;CA2GF,CAAA;;IAjHG,OAAO,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;AACzF,CAAC;AAXS;IAAT,QAAQ;qDAAgB;AACf;IAAT,QAAQ;0DAAyB;AAExB;IAAT,QAAQ;wDAAiB;AAEjB;IAAR,OAAO;sDAAyB;AACxB;IAAR,OAAO;0DAA6B;AAC5B;IAAR,OAAO;yDAA4B;AARzB,sBAAsB;IAFlC,aAAa,CAAC,eAAe,CAAC;IAC9B,YAAY,CAAC,KAAK,CAAC;GACP,sBAAsB,CA4HlC;SA5HY,sBAAsB"}
@@ -0,0 +1,23 @@
1
+ import { GemElement, TemplateResult, Emitter } from '@mantou/gem';
2
+ import { Time } from '../lib/time';
3
+ import '@mantou/gem/elements/use';
4
+ import './date-panel';
5
+ export interface Option {
6
+ label: string | TemplateResult;
7
+ value?: any;
8
+ }
9
+ /**
10
+ * @customElement dy-date-pick
11
+ */
12
+ export declare class DuoyunDatePickElement extends GemElement {
13
+ #private;
14
+ placeholder: string;
15
+ disabled: boolean;
16
+ active: boolean;
17
+ value?: Time;
18
+ change: Emitter<Time>;
19
+ constructor();
20
+ mounted: () => () => false | void;
21
+ render: () => TemplateResult;
22
+ }
23
+ //# sourceMappingURL=date-pick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-pick.d.ts","sourceRoot":"","sources":["../src/elements/date-pick.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOV,cAAc,EAId,OAAO,EAIR,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAOnC,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AAsCtB,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC;IAC/B,KAAK,CAAC,EAAE,GAAG,CAAC;CACb;AAED;;GAEG;AACH,qBAGa,qBAAsB,SAAQ,UAAU;;IACxC,WAAW,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAE1B,MAAM,EAAE,OAAO,CAAC;IACb,KAAK,CAAC,EAAE,IAAI,CAAC;IACR,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;;IAiBrC,OAAO,2BAEL;IAEF,MAAM,uBAOJ;CACH"}
@@ -0,0 +1,107 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var _DuoyunDatePickElement_onOpen;
13
+ import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, connectStore, attribute, globalemitter, state, boolattribute, classMap, } from '@mantou/gem';
14
+ import { theme } from '../lib/theme';
15
+ import { icons } from '../lib/icons';
16
+ import { commonHandle } from '../lib/hotkeys';
17
+ import { ContextMenu } from './menu';
18
+ import '@mantou/gem/elements/use';
19
+ import './date-panel';
20
+ const style = createCSSSheet(css `
21
+ :host {
22
+ cursor: pointer;
23
+ display: inline-flex;
24
+ align-items: center;
25
+ border: 1px solid ${theme.borderColor};
26
+ border-radius: ${theme.normalRound};
27
+ line-height: 1.2;
28
+ padding: 0.5em;
29
+ gap: 0.5em;
30
+ font-size: 0.875em;
31
+ box-sizing: border-box;
32
+ width: 15em;
33
+ }
34
+ :host(:where(:focus-visible, :--active, [data-active])) {
35
+ background-color: ${theme.lightBackgroundColor};
36
+ }
37
+ :host([disabled]) {
38
+ cursor: not-allowed;
39
+ border-color: transparent;
40
+ background: ${theme.disabledColor};
41
+ }
42
+ .value {
43
+ flex-grow: 1;
44
+ overflow: hidden;
45
+ text-overflow: ellipsis;
46
+ white-space: nowrap;
47
+ }
48
+ .placeholder {
49
+ color: ${theme.describeColor};
50
+ }
51
+ gem-use {
52
+ width: 1.2em;
53
+ }
54
+ `);
55
+ /**
56
+ * @customElement dy-date-pick
57
+ */
58
+ let DuoyunDatePickElement = class DuoyunDatePickElement extends GemElement {
59
+ constructor() {
60
+ super();
61
+ _DuoyunDatePickElement_onOpen.set(this, () => {
62
+ if (this.disabled)
63
+ return;
64
+ ContextMenu.open(html `<dy-date-panel></dy-date-panel>`, {
65
+ activeElement: this,
66
+ });
67
+ });
68
+ this.mounted = () => {
69
+ return () => this.active && ContextMenu.close();
70
+ };
71
+ this.render = () => {
72
+ return html `
73
+ <div class=${classMap({ value: true, placeholder: !this.value })}>
74
+ ${this.value ? this.value.format() : this.placeholder}
75
+ </div>
76
+ <gem-use .element=${icons.date}></gem-use>
77
+ `;
78
+ };
79
+ this.addEventListener('click', __classPrivateFieldGet(this, _DuoyunDatePickElement_onOpen, "f"));
80
+ this.addEventListener('keydown', commonHandle);
81
+ this.tabIndex = 0;
82
+ this.internals.role = 'combobox';
83
+ }
84
+ };
85
+ _DuoyunDatePickElement_onOpen = new WeakMap();
86
+ __decorate([
87
+ attribute
88
+ ], DuoyunDatePickElement.prototype, "placeholder", void 0);
89
+ __decorate([
90
+ boolattribute
91
+ ], DuoyunDatePickElement.prototype, "disabled", void 0);
92
+ __decorate([
93
+ state
94
+ ], DuoyunDatePickElement.prototype, "active", void 0);
95
+ __decorate([
96
+ property
97
+ ], DuoyunDatePickElement.prototype, "value", void 0);
98
+ __decorate([
99
+ globalemitter
100
+ ], DuoyunDatePickElement.prototype, "change", void 0);
101
+ DuoyunDatePickElement = __decorate([
102
+ customElement('dy-date-pick'),
103
+ adoptedStyle(style),
104
+ connectStore(icons)
105
+ ], DuoyunDatePickElement);
106
+ export { DuoyunDatePickElement };
107
+ //# sourceMappingURL=date-pick.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-pick.js","sourceRoot":"","sources":["../src/elements/date-pick.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EACL,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,GAAG,EACH,aAAa,EACb,QAAQ,EAER,YAAY,EACZ,SAAS,EACT,aAAa,EAEb,KAAK,EACL,aAAa,EACb,QAAQ,GACT,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,0BAA0B,CAAC;AAClC,OAAO,cAAc,CAAC;AAEtB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;wBAKR,KAAK,CAAC,WAAW;qBACpB,KAAK,CAAC,WAAW;;;;;;;;;wBASd,KAAK,CAAC,oBAAoB;;;;;kBAKhC,KAAK,CAAC,aAAa;;;;;;;;;aASxB,KAAK,CAAC,aAAa;;;;;CAK/B,CAAC,CAAC;AAOH;;GAEG;AAIH,IAAa,qBAAqB,GAAlC,MAAa,qBAAsB,SAAQ,UAAU;IAQnD;QACE,KAAK,EAAE,CAAC;QAOV,wCAAU,GAAG,EAAE;YACb,IAAI,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAA,iCAAiC,EAAE;gBACtD,aAAa,EAAE,IAAI;aACpB,CAAC,CAAC;QACL,CAAC,EAAC;QAEF,YAAO,GAAG,GAAG,EAAE;YACb,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAClD,CAAC,CAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAA;mBACI,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;UAC5D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW;;0BAEnC,KAAK,CAAC,IAAI;KAC/B,CAAC;QACJ,CAAC,CAAC;QAxBA,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,uBAAA,IAAI,qCAAQ,CAAC,CAAC;QAC7C,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC/C,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,UAAU,CAAC;IACnC,CAAC;CAqBF,CAAA;;AAlCY;IAAV,SAAS;0DAAqB;AAChB;IAAd,aAAa;uDAAmB;AAE1B;IAAN,KAAK;qDAAiB;AACb;IAAT,QAAQ;oDAAc;AACR;IAAd,aAAa;qDAAuB;AAN1B,qBAAqB;IAHjC,aAAa,CAAC,cAAc,CAAC;IAC7B,YAAY,CAAC,KAAK,CAAC;IACnB,YAAY,CAAC,KAAK,CAAC;GACP,qBAAqB,CAmCjC;SAnCY,qBAAqB"}
@@ -0,0 +1,28 @@
1
+ import { GemElement, Emitter } from '@mantou/gem';
2
+ import './date-panel';
3
+ import './button';
4
+ import './action-text';
5
+ import './divider';
6
+ declare type State = {
7
+ start?: number;
8
+ stop?: number;
9
+ hover?: number;
10
+ };
11
+ /**
12
+ * @customElement dy-date-range-panel
13
+ */
14
+ export declare class DuoyunDateRangePanelElement extends GemElement<State> {
15
+ #private;
16
+ quickRanges?: {
17
+ label: string;
18
+ value: string | number[];
19
+ }[];
20
+ value?: string | number[];
21
+ change: Emitter<string | number[]>;
22
+ constructor();
23
+ state: State;
24
+ willMount: () => void;
25
+ render: () => import("@mantou/gem").TemplateResult;
26
+ }
27
+ export {};
28
+ //# sourceMappingURL=date-range-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date-range-panel.d.ts","sourceRoot":"","sources":["../src/elements/date-range-panel.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAOV,OAAO,EAGR,MAAM,aAAa,CAAC;AAOrB,OAAO,cAAc,CAAC;AACtB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,WAAW,CAAC;AA+BnB,aAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;GAEG;AACH,qBAEa,2BAA4B,SAAQ,UAAU,CAAC,KAAK,CAAC;;IACtD,WAAW,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;KAAE,EAAE,CAAC;IAC5D,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;;IAOlD,KAAK,EAAE,KAAK,CAAM;IAoBlB,SAAS,aAmBP;IAEF,MAAM,6CAgDJ;CACH"}