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,20 @@
1
+ import { GemElement } from '@mantou/gem';
2
+ import '@mantou/gem/elements/use';
3
+ import './tooltip';
4
+ import './action-text';
5
+ export declare type BreadcrumbsItem = {
6
+ title?: string;
7
+ icon?: string | Element | DocumentFragment;
8
+ tooltip?: string;
9
+ handle?: () => void;
10
+ };
11
+ /**
12
+ * @customElement dy-breadcrumbs
13
+ */
14
+ export declare class DuoyunBreadcrumbsElement extends GemElement {
15
+ compact: boolean;
16
+ list?: BreadcrumbsItem[];
17
+ constructor();
18
+ render: () => import("@mantou/gem").TemplateResult;
19
+ }
20
+ //# sourceMappingURL=breadcrumbs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbs.d.ts","sourceRoot":"","sources":["../src/elements/breadcrumbs.ts"],"names":[],"mappings":"AACA,OAAO,EACL,UAAU,EASX,MAAM,aAAa,CAAC;AAMrB,OAAO,0BAA0B,CAAC;AAClC,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AAkCvB,oBAAY,eAAe,GAAG;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,qBAEa,wBAAyB,SAAQ,UAAU;IACvC,OAAO,EAAE,OAAO,CAAC;IAEtB,IAAI,CAAC,EAAE,eAAe,EAAE,CAAC;;IAOnC,MAAM,6CAsBJ;CACH"}
@@ -0,0 +1,88 @@
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
+ // https://spectrum.adobe.com/page/breadcrumbs/
8
+ import { GemElement, html, adoptedStyle, createCSSSheet, css, customElement, property, classMap, boolattribute, } from '@mantou/gem';
9
+ import { icons } from '../lib/icons';
10
+ import { theme } from '../lib/theme';
11
+ import { commonHandle } from '../lib/hotkeys';
12
+ import '@mantou/gem/elements/use';
13
+ import './tooltip';
14
+ import './action-text';
15
+ const style = createCSSSheet(css `
16
+ :host {
17
+ display: flex;
18
+ align-items: center;
19
+ gap: 0.3em;
20
+ color: ${theme.describeColor};
21
+ }
22
+ :host([compact]) {
23
+ font-size: 0.875em;
24
+ }
25
+ .item-title {
26
+ text-transform: capitalize;
27
+ }
28
+ .item-icon {
29
+ width: 1.5em;
30
+ }
31
+ .item-title,
32
+ .item-icon,
33
+ .separator {
34
+ flex-shrink: 0;
35
+ }
36
+ .separator {
37
+ width: 1em;
38
+ margin-bottom: -0.2em;
39
+ }
40
+ .item-icon:hover,
41
+ .current {
42
+ color: ${theme.primaryColor};
43
+ font-weight: bold;
44
+ }
45
+ `);
46
+ /**
47
+ * @customElement dy-breadcrumbs
48
+ */
49
+ let DuoyunBreadcrumbsElement = class DuoyunBreadcrumbsElement extends GemElement {
50
+ constructor() {
51
+ super();
52
+ this.render = () => {
53
+ var _a;
54
+ return html `
55
+ ${(_a = this.list) === null || _a === void 0 ? void 0 : _a.map(({ title, tooltip, handle, icon }, index, arr, isLast = arr.length - 1 === index) => html `
56
+ <dy-tooltip .content=${tooltip}>
57
+ ${icon
58
+ ? html `<gem-use class="item-icon" .element=${icon}></gem-use>`
59
+ : html `
60
+ <dy-action-text
61
+ role="link"
62
+ @click=${handle}
63
+ @keydown=${commonHandle}
64
+ class=${classMap({ 'item-title': true, current: isLast })}
65
+ >
66
+ ${title}
67
+ </dy-action-text>
68
+ `}
69
+ </dy-tooltip>
70
+ ${!isLast ? html `<gem-use class="separator" role="separator" .element=${icons.right}></gem-use>` : ''}
71
+ `)}
72
+ `;
73
+ };
74
+ this.internals.ariaLabel = 'breadcrumbs';
75
+ }
76
+ };
77
+ __decorate([
78
+ boolattribute
79
+ ], DuoyunBreadcrumbsElement.prototype, "compact", void 0);
80
+ __decorate([
81
+ property
82
+ ], DuoyunBreadcrumbsElement.prototype, "list", void 0);
83
+ DuoyunBreadcrumbsElement = __decorate([
84
+ customElement('dy-breadcrumbs'),
85
+ adoptedStyle(style)
86
+ ], DuoyunBreadcrumbsElement);
87
+ export { DuoyunBreadcrumbsElement };
88
+ //# sourceMappingURL=breadcrumbs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"breadcrumbs.js","sourceRoot":"","sources":["../src/elements/breadcrumbs.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+C;AAC/C,OAAO,EACL,UAAU,EACV,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,GAAG,EACH,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,aAAa,GACd,MAAM,aAAa,CAAC;AAErB,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,0BAA0B,CAAC;AAClC,OAAO,WAAW,CAAC;AACnB,OAAO,eAAe,CAAC;AAEvB,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;aAKnB,KAAK,CAAC,aAAa;;;;;;;;;;;;;;;;;;;;;;aAsBnB,KAAK,CAAC,YAAY;;;CAG9B,CAAC,CAAC;AASH;;GAEG;AAGH,IAAa,wBAAwB,GAArC,MAAa,wBAAyB,SAAQ,UAAU;IAKtD;QACE,KAAK,EAAE,CAAC;QAIV,WAAM,GAAG,GAAG,EAAE;;YACZ,OAAO,IAAI,CAAA;QACP,MAAA,IAAI,CAAC,IAAI,0CAAE,GAAG,CACd,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC,IAAI,CAAA;iCAChE,OAAO;cAC1B,IAAI;gBACJ,CAAC,CAAC,IAAI,CAAA,uCAAuC,IAAI,aAAa;gBAC9D,CAAC,CAAC,IAAI,CAAA;;;6BAGS,MAAM;+BACJ,YAAY;4BACf,QAAQ,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;;sBAEvD,KAAK;;iBAEV;;YAEL,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,wDAAwD,KAAK,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE;SACtG,CACF;KACF,CAAC;QACJ,CAAC,CAAC;QAzBA,IAAI,CAAC,SAAS,CAAC,SAAS,GAAG,aAAa,CAAC;IAC3C,CAAC;CAyBF,CAAA;AAhCgB;IAAd,aAAa;yDAAkB;AAEtB;IAAT,QAAQ;sDAA0B;AAHxB,wBAAwB;IAFpC,aAAa,CAAC,gBAAgB,CAAC;IAC/B,YAAY,CAAC,KAAK,CAAC;GACP,wBAAwB,CAiCpC;SAjCY,wBAAwB"}
@@ -0,0 +1,30 @@
1
+ import { GemElement, RefObject } from '@mantou/gem';
2
+ import { RouteItem } from '@mantou/gem/elements/route';
3
+ import { GemUseElement } from '@mantou/gem/elements/use';
4
+ import { MenuItem } from './menu';
5
+ /**
6
+ * @customElement dy-button
7
+ * @attr type
8
+ * @attr color
9
+ * @attr small
10
+ * @attr disabled
11
+ */
12
+ export declare class DuoyunButtonElement extends GemElement {
13
+ #private;
14
+ type?: 'solid' | 'reverse';
15
+ color?: 'normal' | 'danger' | 'cancel';
16
+ small: boolean;
17
+ disabled: boolean;
18
+ dropdown?: MenuItem[] | null;
19
+ route?: RouteItem;
20
+ params?: Record<string, string>;
21
+ query?: Record<string, string>;
22
+ icon?: string | Element | DocumentFragment;
23
+ active: boolean;
24
+ dropdownRef: RefObject<GemUseElement>;
25
+ buttonRef: RefObject<HTMLDivElement>;
26
+ constructor();
27
+ render: () => import("@mantou/gem").TemplateResult;
28
+ focus: () => void;
29
+ }
30
+ //# sourceMappingURL=button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../src/elements/button.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAaV,SAAS,EAEV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAuB,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAMzD,OAAO,EAAE,QAAQ,EAAe,MAAM,QAAQ,CAAC;AAoF/C;;;;;;GAMG;AACH,qBAGa,mBAAoB,SAAQ,UAAU;;IACtC,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,KAAK,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACnC,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,gBAAgB,CAAC;IAC9C,MAAM,EAAE,OAAO,CAAC;IAEZ,WAAW,EAAE,SAAS,CAAC,aAAa,CAAC,CAAC;IACtC,SAAS,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;;IAmChD,MAAM,6CAsCJ;IAEF,KAAK,aAEH;CACH"}
@@ -0,0 +1,225 @@
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 _DuoyunButtonElement_onClickDropdown;
13
+ import { GemElement, customElement, html, attribute, adoptedStyle, css, createCSSSheet, property, history, QueryString, connectStore, boolattribute, refobject, state, } from '@mantou/gem';
14
+ import { createHistoryParams } from '@mantou/gem/elements/route';
15
+ import { theme } from '../lib/theme';
16
+ import { icons } from '../lib/icons';
17
+ import { commonHandle } from '../lib/hotkeys';
18
+ import { ContextMenu } from './menu';
19
+ const style = createCSSSheet(css `
20
+ :host {
21
+ --bg: ${theme.primaryColor};
22
+ display: inline-flex;
23
+ align-items: stretch;
24
+ color: ${theme.backgroundColor};
25
+ line-height: 1.2;
26
+ cursor: default;
27
+ user-select: none;
28
+ font-size: 0.875em;
29
+ border-radius: ${theme.normalRound};
30
+ white-space: nowrap;
31
+ }
32
+ :host([disabled]) {
33
+ --bg: ${theme.disabledColor};
34
+ cursor: not-allowed;
35
+ }
36
+ :host([small]) {
37
+ font-size: 0.75em;
38
+ }
39
+ :host([hidden]) {
40
+ display: none;
41
+ }
42
+ .content,
43
+ .dropdown {
44
+ position: relative;
45
+ }
46
+ .content {
47
+ display: flex;
48
+ align-items: center;
49
+ justify-content: center;
50
+ gap: 0.3em;
51
+ padding: 0.5em 1.5em;
52
+ min-width: 3em;
53
+ background-color: var(--bg);
54
+ border: 1px solid var(--bg);
55
+ border-radius: inherit;
56
+ }
57
+ :host([small]) .content {
58
+ min-width: auto;
59
+ padding: 0.5em 0.8em;
60
+ }
61
+ :where(:host(:where(:--active, [data-active]))
62
+ .content, .content:where(:focus-visible, :hover), .dropdown:where(:focus-visible, :hover, :--active, [data-active]))::after {
63
+ content: '';
64
+ position: absolute;
65
+ inset: -1px;
66
+ background-color: currentColor;
67
+ border-radius: inherit;
68
+ opacity: 0.1;
69
+ }
70
+ :host([disabled]) ::after {
71
+ content: none;
72
+ }
73
+ :host([type='reverse']) {
74
+ --bg: transparent;
75
+ color: ${theme.primaryColor};
76
+ }
77
+ :host([type='reverse']) .content {
78
+ border-color: currentColor;
79
+ }
80
+ :host([color='danger']) {
81
+ --bg: ${theme.negativeColor};
82
+ }
83
+ :host([color='cancel']) {
84
+ --bg: ${theme.hoverBackgroundColor};
85
+ color: ${theme.textColor};
86
+ }
87
+ .dropdown {
88
+ display: flex;
89
+ background-color: var(--bg);
90
+ border-radius: 0 ${theme.normalRound} ${theme.normalRound} 0;
91
+ border: 1px solid var(--bg);
92
+ margin-inline-start: -0.6em;
93
+ padding-inline: 0.2em;
94
+ width: 1.4em;
95
+ }
96
+ .icon {
97
+ width: 1.2em;
98
+ }
99
+ `);
100
+ /**
101
+ * @customElement dy-button
102
+ * @attr type
103
+ * @attr color
104
+ * @attr small
105
+ * @attr disabled
106
+ */
107
+ let DuoyunButtonElement = class DuoyunButtonElement extends GemElement {
108
+ constructor() {
109
+ super();
110
+ _DuoyunButtonElement_onClickDropdown.set(this, async (e) => {
111
+ e.stopPropagation();
112
+ if (this.disabled)
113
+ return;
114
+ if (this.dropdown) {
115
+ const { element } = this.dropdownRef;
116
+ const { right, bottom } = element.getBoundingClientRect();
117
+ const { width } = this.getBoundingClientRect();
118
+ element.active = true;
119
+ await ContextMenu.open(this.dropdown, {
120
+ x: right - width,
121
+ y: bottom,
122
+ width: `${width}px`,
123
+ });
124
+ element.active = false;
125
+ }
126
+ });
127
+ this.render = () => {
128
+ return html `
129
+ <div
130
+ ref=${this.buttonRef.ref}
131
+ tabindex="0"
132
+ role="button"
133
+ aria-disabled=${this.disabled}
134
+ @keydown=${commonHandle}
135
+ class="content"
136
+ >
137
+ ${this.icon ? html `<gem-use class="icon" .element=${this.icon}></gem-use>` : ''}
138
+ <slot></slot>
139
+ </div>
140
+ ${this.dropdown
141
+ ? html `
142
+ <style>
143
+ div.content {
144
+ border-start-end-radius: 0;
145
+ border-end-end-radius: 0;
146
+ }
147
+ span.dropdown {
148
+ border-start-start-radius: 0;
149
+ border-end-start-radius: 0;
150
+ }
151
+ </style>
152
+ <gem-use
153
+ ref=${this.dropdownRef.ref}
154
+ class="dropdown"
155
+ tabindex="0"
156
+ @keydown=${commonHandle}
157
+ role="button"
158
+ aria-disabled=${this.disabled}
159
+ @click=${__classPrivateFieldGet(this, _DuoyunButtonElement_onClickDropdown, "f")}
160
+ .element=${icons.expand}
161
+ ></gem-use>
162
+ `
163
+ : ''}
164
+ `;
165
+ };
166
+ this.focus = () => {
167
+ this.buttonRef.element.focus();
168
+ };
169
+ this.addEventListener('click', () => {
170
+ if (this.disabled)
171
+ return;
172
+ if (this.route) {
173
+ history.push(createHistoryParams(this.route, {
174
+ title: this.route.title,
175
+ params: this.params,
176
+ query: new QueryString(this.query),
177
+ }));
178
+ }
179
+ });
180
+ }
181
+ };
182
+ _DuoyunButtonElement_onClickDropdown = new WeakMap();
183
+ __decorate([
184
+ attribute
185
+ ], DuoyunButtonElement.prototype, "type", void 0);
186
+ __decorate([
187
+ attribute
188
+ ], DuoyunButtonElement.prototype, "color", void 0);
189
+ __decorate([
190
+ boolattribute
191
+ ], DuoyunButtonElement.prototype, "small", void 0);
192
+ __decorate([
193
+ boolattribute
194
+ ], DuoyunButtonElement.prototype, "disabled", void 0);
195
+ __decorate([
196
+ property
197
+ ], DuoyunButtonElement.prototype, "dropdown", void 0);
198
+ __decorate([
199
+ property
200
+ ], DuoyunButtonElement.prototype, "route", void 0);
201
+ __decorate([
202
+ property
203
+ ], DuoyunButtonElement.prototype, "params", void 0);
204
+ __decorate([
205
+ property
206
+ ], DuoyunButtonElement.prototype, "query", void 0);
207
+ __decorate([
208
+ property
209
+ ], DuoyunButtonElement.prototype, "icon", void 0);
210
+ __decorate([
211
+ state
212
+ ], DuoyunButtonElement.prototype, "active", void 0);
213
+ __decorate([
214
+ refobject
215
+ ], DuoyunButtonElement.prototype, "dropdownRef", void 0);
216
+ __decorate([
217
+ refobject
218
+ ], DuoyunButtonElement.prototype, "buttonRef", void 0);
219
+ DuoyunButtonElement = __decorate([
220
+ customElement('dy-button'),
221
+ adoptedStyle(style),
222
+ connectStore(icons)
223
+ ], DuoyunButtonElement);
224
+ export { DuoyunButtonElement };
225
+ //# sourceMappingURL=button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../src/elements/button.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { TemplateResult } from '@mantou/gem';
2
+ import { DuoyunLoadableBaseElement } from './base/loadable';
3
+ import { MenuItem } from './menu';
4
+ import '@mantou/gem/elements/use';
5
+ export declare type ActionItem = Omit<MenuItem, 'handle'> & {
6
+ handle: (rest: HTMLElement) => void | Promise<void>;
7
+ };
8
+ /**
9
+ * @customElement dy-card
10
+ * @attr header
11
+ * @attr detail
12
+ * @attr avatar
13
+ * @attr preview
14
+ */
15
+ export declare class DuoyunCardElement extends DuoyunLoadableBaseElement {
16
+ #private;
17
+ avatar: string;
18
+ preview: string;
19
+ header?: string | TemplateResult;
20
+ detail?: string | TemplateResult;
21
+ detailRight?: string | TemplateResult;
22
+ actions?: ActionItem[];
23
+ constructor();
24
+ render: () => TemplateResult;
25
+ }
26
+ //# sourceMappingURL=card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../src/elements/card.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,cAAc,EACf,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAe,MAAM,QAAQ,CAAC;AAE/C,OAAO,0BAA0B,CAAC;AA0ElC,oBAAY,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG;IAAE,MAAM,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAAC;AAE5G;;;;;;GAMG;AACH,qBAEa,iBAAkB,SAAQ,yBAAyB;;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAAC;IACtC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;;IAejC,MAAM,uBA6BJ;CACH"}
@@ -0,0 +1,163 @@
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 _DuoyunCardElement_onOpenMenu;
13
+ // https://spectrum.adobe.com/page/cards/
14
+ import { html, adoptedStyle, createCSSSheet, css, customElement, attribute, property, } from '@mantou/gem';
15
+ import { theme } from '../lib/theme';
16
+ import { icons } from '../lib/icons';
17
+ import { commonHandle } from '../lib/hotkeys';
18
+ import { DuoyunLoadableBaseElement } from './base/loadable';
19
+ import { ContextMenu } from './menu';
20
+ import '@mantou/gem/elements/use';
21
+ const style = createCSSSheet(css `
22
+ :host {
23
+ display: flex;
24
+ flex-direction: column;
25
+ padding: 1em;
26
+ border: 1px solid ${theme.borderColor};
27
+ border-radius: ${theme.normalRound};
28
+ }
29
+ .preview {
30
+ display: block;
31
+ margin: -1em -1em 1em;
32
+ aspect-ratio: 2 / 1;
33
+ background: ${theme.hoverBackgroundColor};
34
+ width: calc(100% + 2em);
35
+ object-fit: cover;
36
+ }
37
+ .avatar {
38
+ display: block;
39
+ width: 4em;
40
+ height: 4em;
41
+ border: 2px solid ${theme.backgroundColor};
42
+ background: ${theme.describeColor};
43
+ border-radius: 4em;
44
+ margin-block: -4em 1em;
45
+ object-fit: cover;
46
+ }
47
+ .header {
48
+ display: flex;
49
+ gap: 0.2em;
50
+ align-items: baseline;
51
+ margin-block-end: 1em;
52
+ }
53
+ .title {
54
+ font-size: 1.125em;
55
+ font-weight: bold;
56
+ color: ${theme.highlightColor};
57
+ }
58
+ .detail {
59
+ flex-grow: 1;
60
+ font-size: 0.875em;
61
+ color: ${theme.describeColor};
62
+ }
63
+ .detail:not(.right) {
64
+ text-transform: uppercase;
65
+ }
66
+ .right {
67
+ flex-grow: 0;
68
+ white-space: nowrap;
69
+ }
70
+ .actions {
71
+ width: 1.5em;
72
+ padding: 0.1em;
73
+ }
74
+ .actions:where(:focus-visible, :hover, :--active, [data-active]) {
75
+ background-color: ${theme.hoverBackgroundColor};
76
+ border-radius: ${theme.normalRound};
77
+ }
78
+ slot[name='body']::slotted(*) {
79
+ hyphens: auto;
80
+ margin-block-end: 0em !important;
81
+ }
82
+ slot[name='footer']::slotted(*) {
83
+ margin-block-start: 1em;
84
+ padding-block-start: 1em;
85
+ border-block-start: 1px solid ${theme.borderColor};
86
+ border-radius: 0;
87
+ display: flex;
88
+ justify-content: flex-end;
89
+ gap: 1em;
90
+ }
91
+ `);
92
+ /**
93
+ * @customElement dy-card
94
+ * @attr header
95
+ * @attr detail
96
+ * @attr avatar
97
+ * @attr preview
98
+ */
99
+ let DuoyunCardElement = class DuoyunCardElement extends DuoyunLoadableBaseElement {
100
+ constructor() {
101
+ super();
102
+ _DuoyunCardElement_onOpenMenu.set(this, (evt) => {
103
+ const target = evt.target;
104
+ ContextMenu.open(this.actions.map((e) => ({ ...e, handle: () => e.handle(target) })), { activeElement: target });
105
+ });
106
+ this.render = () => {
107
+ return html `
108
+ ${this.preview ? html `<img part="preview" alt="preview" class="preview" src=${this.preview}></img>` : ''}
109
+ ${this.avatar ? html `<img part="avatar" alt="avatar" class="avatar" src=${this.avatar}></img>` : ''}
110
+ ${this.header
111
+ ? html `
112
+ <div class="header">
113
+ <div class="title">${this.header}</div>
114
+ <div class="detail">${this.detail}</div>
115
+ <div class="detail right">${this.detailRight}</div>
116
+ ${this.actions
117
+ ? html `
118
+ <gem-use
119
+ tabindex="0"
120
+ role="button"
121
+ class="actions"
122
+ @click=${__classPrivateFieldGet(this, _DuoyunCardElement_onOpenMenu, "f")}
123
+ @keydown=${commonHandle}
124
+ .element=${icons.more}
125
+ ></gem-use>
126
+ `
127
+ : ''}
128
+ </div>
129
+ `
130
+ : ''}
131
+ <slot name="body"></slot>
132
+ <slot></slot>
133
+ <slot name="footer"></slot>
134
+ `;
135
+ };
136
+ this.internals.role = 'group';
137
+ }
138
+ };
139
+ _DuoyunCardElement_onOpenMenu = new WeakMap();
140
+ __decorate([
141
+ attribute
142
+ ], DuoyunCardElement.prototype, "avatar", void 0);
143
+ __decorate([
144
+ attribute
145
+ ], DuoyunCardElement.prototype, "preview", void 0);
146
+ __decorate([
147
+ property
148
+ ], DuoyunCardElement.prototype, "header", void 0);
149
+ __decorate([
150
+ property
151
+ ], DuoyunCardElement.prototype, "detail", void 0);
152
+ __decorate([
153
+ property
154
+ ], DuoyunCardElement.prototype, "detailRight", void 0);
155
+ __decorate([
156
+ property
157
+ ], DuoyunCardElement.prototype, "actions", void 0);
158
+ DuoyunCardElement = __decorate([
159
+ customElement('dy-card'),
160
+ adoptedStyle(style)
161
+ ], DuoyunCardElement);
162
+ export { DuoyunCardElement };
163
+ //# sourceMappingURL=card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../src/elements/card.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAyC;AACzC,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,cAAc,EACd,GAAG,EACH,aAAa,EACb,SAAS,EACT,QAAQ,GAET,MAAM,aAAa,CAAC;AAErB,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,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAY,WAAW,EAAE,MAAM,QAAQ,CAAC;AAE/C,OAAO,0BAA0B,CAAC;AAElC,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,CAAA;;;;;wBAKR,KAAK,CAAC,WAAW;qBACpB,KAAK,CAAC,WAAW;;;;;;kBAMpB,KAAK,CAAC,oBAAoB;;;;;;;;wBAQpB,KAAK,CAAC,eAAe;kBAC3B,KAAK,CAAC,aAAa;;;;;;;;;;;;;;aAcxB,KAAK,CAAC,cAAc;;;;;aAKpB,KAAK,CAAC,aAAa;;;;;;;;;;;;;;wBAcR,KAAK,CAAC,oBAAoB;qBAC7B,KAAK,CAAC,WAAW;;;;;;;;;oCASF,KAAK,CAAC,WAAW;;;;;;CAMpD,CAAC,CAAC;AAIH;;;;;;GAMG;AAGH,IAAa,iBAAiB,GAA9B,MAAa,iBAAkB,SAAQ,yBAAyB;IAS9D;QACE,KAAK,EAAE,CAAC;QAIV,wCAAc,CAAC,GAAe,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAqB,CAAC;YACzC,WAAW,CAAC,IAAI,CACd,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EACpE,EAAE,aAAa,EAAE,MAAM,EAAE,CAC1B,CAAC;QACJ,CAAC,EAAC;QAEF,WAAM,GAAG,GAAG,EAAE;YACZ,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAA,yDAAyD,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC,CAAC,EAAE;QACtG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAA,sDAAsD,IAAI,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,EAAE;QACjG,IAAI,CAAC,MAAM;gBACX,CAAC,CAAC,IAAI,CAAA;;mCAEqB,IAAI,CAAC,MAAM;oCACV,IAAI,CAAC,MAAM;0CACL,IAAI,CAAC,WAAW;gBAC1C,IAAI,CAAC,OAAO;oBACZ,CAAC,CAAC,IAAI,CAAA;;;;;+BAKS,uBAAA,IAAI,qCAAY;iCACd,YAAY;iCACZ,KAAK,CAAC,IAAI;;mBAExB;oBACH,CAAC,CAAC,EAAE;;WAET;gBACH,CAAC,CAAC,EAAE;;;;KAIP,CAAC;QACJ,CAAC,CAAC;QAxCA,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,OAAO,CAAC;IAChC,CAAC;CAwCF,CAAA;;AAnDY;IAAV,SAAS;iDAAgB;AACf;IAAV,SAAS;kDAAiB;AAEjB;IAAT,QAAQ;iDAAkC;AACjC;IAAT,QAAQ;iDAAkC;AACjC;IAAT,QAAQ;sDAAuC;AACtC;IAAT,QAAQ;kDAAwB;AAPtB,iBAAiB;IAF7B,aAAa,CAAC,SAAS,CAAC;IACxB,YAAY,CAAC,KAAK,CAAC;GACP,iBAAiB,CAoD7B;SApDY,iBAAiB"}
@@ -0,0 +1,22 @@
1
+ import { GemElement, Emitter } from '@mantou/gem';
2
+ import type { Option } from './cascader';
3
+ import './cascader';
4
+ import './tag';
5
+ /**
6
+ * @customElement dy-cascader-pick
7
+ */
8
+ export declare class DuoyunCascaderPickElement extends GemElement {
9
+ #private;
10
+ placeholder: string;
11
+ options: Option[];
12
+ fit: boolean;
13
+ disabled: boolean;
14
+ multiple: boolean;
15
+ change: Emitter<(string | number)[][] | (string | number)[]>;
16
+ value?: (string | number)[][] | (string | number)[];
17
+ active: boolean;
18
+ constructor();
19
+ mounted: () => () => false | void;
20
+ render: () => import("@mantou/gem").TemplateResult;
21
+ }
22
+ //# sourceMappingURL=cascader-pick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cascader-pick.d.ts","sourceRoot":"","sources":["../src/elements/cascader-pick.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAQV,OAAO,EAKR,MAAM,aAAa,CAAC;AAQrB,OAAO,KAAK,EAAE,MAAM,EAAyB,MAAM,YAAY,CAAC;AAEhE,OAAO,YAAY,CAAC;AACpB,OAAO,OAAO,CAAC;AA8Cf;;GAEG;AACH,qBAEa,yBAA0B,SAAQ,UAAU;;IAC5C,WAAW,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IACb,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAClE,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACvD,MAAM,EAAE,OAAO,CAAC;;IAuDvB,OAAO,2BAUL;IAEF,MAAM,6CAYJ;CACH"}