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
package/lib/image.js ADDED
@@ -0,0 +1,140 @@
1
+ import { raw } from '@mantou/gem';
2
+ import { luminance, hslToRgb, rgbToHexColor, parseHexColor } from './color';
3
+ export function createCanvas(width, height) {
4
+ const canvas = document.createElement('canvas');
5
+ if (width) {
6
+ canvas.width = width;
7
+ canvas.height = height || width;
8
+ }
9
+ return canvas;
10
+ }
11
+ export function createDataURLFromSVG(raw) {
12
+ return `data:image/svg+xml;base64,${window.btoa(raw)}`;
13
+ }
14
+ // if `bg` is't `HexColor`, text fill color error
15
+ export function createSVGFromText(text, backgroundColor) {
16
+ const hslRange = [
17
+ [0, 1],
18
+ [0.2, 0.7],
19
+ [0.3, 0.6],
20
+ ];
21
+ const rgb = (backgroundColor === null || backgroundColor === void 0 ? void 0 : backgroundColor.startsWith('#'))
22
+ ? parseHexColor(backgroundColor)
23
+ : hslToRgb(Array.from({ length: 3 }, (_, i) => {
24
+ const total = Math.floor(Math.random() * 256) / 255;
25
+ return hslRange[i][0] + total * (hslRange[i][1] - hslRange[i][0]);
26
+ }));
27
+ const bg = backgroundColor || rgbToHexColor(rgb);
28
+ const color = luminance(rgb) < 0.2 ? '#fff4' : '#0004';
29
+ const getTranslate = () => Math.random() / 5;
30
+ const getRotate = () => (Math.random() - 0.5) * 45;
31
+ const strs = [...text].map((char) => `<text
32
+ x="50%"
33
+ y="50%"
34
+ dominant-baseline="middle"
35
+ text-anchor="middle"
36
+ transform="translate(${getTranslate()}, ${getTranslate()}) rotate(${getRotate()})"
37
+ >${char}</text>`);
38
+ return raw `
39
+ <svg
40
+ xmlns="http://www.w3.org/2000/svg"
41
+ width="300"
42
+ height="300"
43
+ viewBox="0 0 1 1"
44
+ style="background: ${bg}; fill: ${color}; font: 1px sans-serif">
45
+ ${strs.join('')}
46
+ </svg>
47
+ `;
48
+ }
49
+ export async function createBitmapFromSvg(svg, { width = 512, height = 512, type, quality } = {}) {
50
+ const img = new Image();
51
+ const canvas = createCanvas(width, height);
52
+ const ctx = canvas.getContext('2d');
53
+ if (!ctx)
54
+ throw new Error('ctx is null');
55
+ img.src = createDataURLFromSVG(svg);
56
+ await new Promise((res) => {
57
+ img.onload = () => {
58
+ ctx.drawImage(img, 0, 0, width, height);
59
+ res(null);
60
+ };
61
+ });
62
+ return new Promise((res) => {
63
+ canvas.toBlob((b) => {
64
+ if (!b)
65
+ throw new Error();
66
+ res(new File([b], '', { type: b.type }));
67
+ }, type, quality);
68
+ });
69
+ }
70
+ export function createDataURLFromBlob(blob) {
71
+ const reader = new FileReader();
72
+ return new Promise((res) => {
73
+ reader.addEventListener('load', () => {
74
+ res(reader.result);
75
+ }, false);
76
+ reader.readAsDataURL(blob);
77
+ });
78
+ }
79
+ export async function compressionImage(origin, limit, { aspectRatio, type } = {}) {
80
+ const originIsFile = origin instanceof Blob;
81
+ const outputDataURL = type === 'url';
82
+ if (!originIsFile && !outputDataURL)
83
+ throw new Error('not support `HTMLImageElement` to `File`');
84
+ const canvas = createCanvas();
85
+ try {
86
+ let img = new Image();
87
+ let file = new File([], '');
88
+ const loadImg = async () => {
89
+ await new Promise((res, rej) => {
90
+ img.onload = res;
91
+ img.onerror = rej;
92
+ });
93
+ };
94
+ if (originIsFile) {
95
+ img.crossOrigin = 'anonymous';
96
+ img.src = await createDataURLFromBlob(origin);
97
+ await loadImg();
98
+ file = origin;
99
+ }
100
+ else {
101
+ img = origin;
102
+ if (!img.complete)
103
+ await loadImg();
104
+ if (limit.fileSize) {
105
+ const res = await fetch(origin.currentSrc);
106
+ const blob = await res.blob();
107
+ const type = res.headers.get('content-type');
108
+ file = new File([blob], 'temp', { type: (type === null || type === void 0 ? void 0 : type.startsWith('image/')) ? type : '' });
109
+ }
110
+ }
111
+ const rate = Math.min(limit.fileSize ? Math.sqrt(limit.fileSize / file.size) : 1, limit.dimension ? limit.dimension.width / img.naturalWidth : 1, limit.dimension ? limit.dimension.height / img.naturalHeight : 1);
112
+ if (rate >= 1) {
113
+ return Promise.resolve(outputDataURL ? img.currentSrc : file);
114
+ }
115
+ const naturalAspectRatio = img.naturalWidth / img.naturalHeight;
116
+ aspectRatio = aspectRatio || naturalAspectRatio;
117
+ const widthRatio = aspectRatio > naturalAspectRatio ? 1 : aspectRatio / naturalAspectRatio;
118
+ const heightRatio = aspectRatio > naturalAspectRatio ? naturalAspectRatio / aspectRatio : 1;
119
+ const width = img.naturalWidth * rate;
120
+ const height = img.naturalHeight * rate;
121
+ canvas.width = width * widthRatio;
122
+ canvas.height = height * heightRatio;
123
+ const ctx = canvas.getContext('2d');
124
+ if (!ctx)
125
+ throw new Error('ctx is null');
126
+ ctx.imageSmoothingQuality = 'high';
127
+ ctx.drawImage(img, (canvas.width - width) / 2, (canvas.height - height) / 2, width, height);
128
+ if (outputDataURL)
129
+ return Promise.resolve(canvas.toDataURL());
130
+ return new Promise((res, rej) => canvas.toBlob((blob) => {
131
+ if (!blob)
132
+ return rej();
133
+ res(new File([blob], 'compressed', { type: blob.type }));
134
+ }));
135
+ }
136
+ catch (err) {
137
+ throw err;
138
+ }
139
+ }
140
+ //# sourceMappingURL=image.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../src/lib/image.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import en from '../locales/en';
2
+ export declare const locale: import("@mantou/gem").Store<{
3
+ localeCode: string;
4
+ year: string;
5
+ month: string;
6
+ week: string;
7
+ day: string;
8
+ hour: string;
9
+ minute: string;
10
+ second: string;
11
+ millisecond: string;
12
+ thousand: string;
13
+ million: string;
14
+ billion: string;
15
+ trillion: string;
16
+ copySuccess: string;
17
+ copyFail: string;
18
+ search: string;
19
+ ok: string;
20
+ cancel: string;
21
+ prevPage: string;
22
+ nextPage: string;
23
+ perPage: string;
24
+ noData: string;
25
+ more: string;
26
+ less: string;
27
+ nextTour: string;
28
+ skipTour: string;
29
+ finishTour: string;
30
+ currentOfTotal: string;
31
+ requiredMeg: string;
32
+ ptternMsg: string;
33
+ }>;
34
+ export declare const updateLocale: (l: Partial<typeof en> | Promise<{
35
+ default: Partial<typeof en>;
36
+ }>) => void;
37
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../src/lib/locale.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,eAAe,CAAC;AAI/B,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAyB,CAAC;AAI7C,eAAO,MAAM,YAAY,MAAO,QAAQ,SAAS,CAAC,GAAG,QAAQ;IAAE,OAAO,EAAE,QAAQ,SAAS,CAAC,CAAA;CAAE,CAAC,SAM5F,CAAC"}
package/lib/locale.js ADDED
@@ -0,0 +1,14 @@
1
+ import { createStore, updateStore } from '@mantou/gem';
2
+ import en from '../locales/en';
3
+ import { OrderlyPromisePool } from './utils';
4
+ export const locale = createStore({ ...en });
5
+ const op = new OrderlyPromisePool();
6
+ export const updateLocale = (l) => {
7
+ if (l instanceof Promise) {
8
+ op.add(l, (ll) => updateStore(locale, ll.default));
9
+ }
10
+ else {
11
+ updateStore(locale, l);
12
+ }
13
+ };
14
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../src/lib/locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,MAAM,eAAe,CAAC;AAE/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C,MAAM,CAAC,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;AAE7C,MAAM,EAAE,GAAG,IAAI,kBAAkB,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAgE,EAAE,EAAE;IAC/F,IAAI,CAAC,YAAY,OAAO,EAAE;QACxB,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;KACpD;SAAM;QACL,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;KACxB;AACH,CAAC,CAAC"}
@@ -0,0 +1,80 @@
1
+ export declare function splitInt(int: string | number, comma?: number): string | number;
2
+ interface FormatNumberOptions {
3
+ dotAfterCount?: number;
4
+ unitSize?: number | number[];
5
+ units?: string[];
6
+ comma?: number;
7
+ autoOmitFract?: boolean;
8
+ level?: number;
9
+ }
10
+ export declare function formatNumber(value: number | undefined | null, option: FormatNumberOptions): {
11
+ number: string;
12
+ unit: string;
13
+ int?: undefined;
14
+ fract?: undefined;
15
+ } | {
16
+ int: number;
17
+ fract: number;
18
+ number: string;
19
+ unit: string;
20
+ };
21
+ export declare function formatBandwidth(value: number, needDetail?: boolean): {
22
+ number: string;
23
+ unit: string;
24
+ int?: undefined;
25
+ fract?: undefined;
26
+ } | {
27
+ int: number;
28
+ fract: number;
29
+ number: string;
30
+ unit: string;
31
+ };
32
+ export declare function formatTraffic(value: number, isDetail?: boolean): {
33
+ number: string;
34
+ unit: string;
35
+ int?: undefined;
36
+ fract?: undefined;
37
+ } | {
38
+ int: number;
39
+ fract: number;
40
+ number: string;
41
+ unit: string;
42
+ };
43
+ export declare function formatDecimal(value: number, isDetail?: boolean): {
44
+ number: string;
45
+ unit: string;
46
+ int?: undefined;
47
+ fract?: undefined;
48
+ } | {
49
+ int: number;
50
+ fract: number;
51
+ number: string;
52
+ unit: string;
53
+ };
54
+ export declare function formatCurrency(value: number, isDetail?: boolean): {
55
+ number: string;
56
+ unit: string;
57
+ int?: undefined;
58
+ fract?: undefined;
59
+ } | {
60
+ int: number;
61
+ fract: number;
62
+ number: string;
63
+ unit: string;
64
+ };
65
+ export declare function formatPercentage(value: number, isDetail?: boolean): {
66
+ number: string;
67
+ unit: string;
68
+ int?: undefined;
69
+ fract?: undefined;
70
+ } | {
71
+ int: number;
72
+ fract: number;
73
+ number: string;
74
+ unit: string;
75
+ };
76
+ export declare function formatToPrecision(value: number, count?: number): number;
77
+ export declare function clamp(min: number, value: number, max: number): number;
78
+ export declare function adjustRange([min, max]: number[], stepCount: number, units?: number[]): number[];
79
+ export {};
80
+ //# sourceMappingURL=number.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../src/lib/number.ts"],"names":[],"mappings":"AAIA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,SAAI,mBAGvD;AAED,UAAU,mBAAmB;IAE3B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAE7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IAEjB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAAE,MAAM,EAAE,mBAAmB;;;;;;;;;;EAoCzF;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,UAAQ;;;;;;;;;;EAMhE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ;;;;;;;;;;EAM5D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ;;;;;;;;;;EAM5D;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ;;;;;;;;;;EAK7D;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,UAAQ;;;;;;;;;;EAO/D;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAI,UAGzD;AAED,wBAAgB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,UAE5D;AAED,wBAAgB,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,YAyDpF"}
package/lib/number.js ADDED
@@ -0,0 +1,144 @@
1
+ // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat
2
+ import { locale } from '../lib/locale';
3
+ export function splitInt(int, comma = 3) {
4
+ if (comma === 0)
5
+ return int;
6
+ return String(int).replace(new RegExp(`(\\d)(?=(\\d{${comma}})+$)`, 'g'), '$1,');
7
+ }
8
+ export function formatNumber(value, option) {
9
+ if (value !== 0 && !value)
10
+ return { number: '-', unit: '' };
11
+ const { dotAfterCount = 2, unitSize = 10, units = [''], comma = 3, autoOmitFract = true, level } = option;
12
+ let l = 0;
13
+ let n = value;
14
+ while (true) {
15
+ const u = Array.isArray(unitSize) ? unitSize[l] : unitSize;
16
+ const haveArg = u && l < units.length - 1;
17
+ const needNextLevel = u > 1 ? n >= u : n < 1;
18
+ if (haveArg && (level === undefined ? needNextLevel : l < level)) {
19
+ l++;
20
+ n /= u;
21
+ }
22
+ else {
23
+ break;
24
+ }
25
+ }
26
+ const oint = Math.trunc(n);
27
+ const fract = n - oint;
28
+ const onlyInt = autoOmitFract && l === 0 && Math.trunc(value) === value;
29
+ const fractPart = fract.toFixed(dotAfterCount);
30
+ const fractPartStr = fractPart.slice(2);
31
+ const int = fractPart.startsWith('1') ? oint + 1 : oint;
32
+ return {
33
+ // 整数
34
+ int,
35
+ // 小数
36
+ fract,
37
+ // 格式化后的整个数字
38
+ number: `${splitInt(int, comma)}${onlyInt || dotAfterCount === 0 ? '' : `.${fractPartStr}`}`,
39
+ // 单位
40
+ unit: units[l],
41
+ };
42
+ }
43
+ export function formatBandwidth(value, needDetail = false) {
44
+ return formatNumber(value, {
45
+ unitSize: 1000,
46
+ units: ['bps', 'Kbps', 'Mbps', 'Gbps', 'Tbps', 'Pbps', 'Ebps', 'Zbps', 'Ybps'],
47
+ level: needDetail ? 2 : undefined,
48
+ });
49
+ }
50
+ export function formatTraffic(value, isDetail = false) {
51
+ return formatNumber(value, {
52
+ unitSize: 1024,
53
+ units: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
54
+ level: isDetail ? 3 : undefined,
55
+ });
56
+ }
57
+ export function formatDecimal(value, isDetail = false) {
58
+ return formatNumber(value, {
59
+ unitSize: 1000,
60
+ units: ['', locale.thousand, locale.million, locale.trillion],
61
+ level: isDetail ? 0 : undefined,
62
+ });
63
+ }
64
+ export function formatCurrency(value, isDetail = false) {
65
+ return formatNumber(value, {
66
+ level: 0,
67
+ dotAfterCount: isDetail ? 2 : 0,
68
+ });
69
+ }
70
+ export function formatPercentage(value, isDetail = false) {
71
+ return formatNumber(value, {
72
+ unitSize: 1 / 100,
73
+ units: ['', '%'],
74
+ level: 1,
75
+ dotAfterCount: isDetail ? 5 : undefined,
76
+ });
77
+ }
78
+ export function formatToPrecision(value, count = 2) {
79
+ const i = 10 ** count;
80
+ return Math.round(value * i) / i;
81
+ }
82
+ export function clamp(min, value, max) {
83
+ return Math.max(min, Math.min(value, max));
84
+ }
85
+ export function adjustRange([min, max], stepCount, units) {
86
+ const getRatio = (d) => {
87
+ if (d > 10)
88
+ return 1;
89
+ if (d > 0.1)
90
+ return 10;
91
+ if (d > 0.01)
92
+ return 100;
93
+ if (d > 0.001)
94
+ return 1000;
95
+ return 10000;
96
+ };
97
+ const scale = getRatio(max - min);
98
+ const scaleMin = min * scale;
99
+ const scaleMax = max * scale + (max === min ? 10 : 0);
100
+ const scaleRange = scaleMax - scaleMin;
101
+ const getTotal = (unit) => {
102
+ const currentStepCount = Math.ceil(scaleRange / unit);
103
+ const multiple = Math.ceil(currentStepCount / stepCount);
104
+ return stepCount * multiple * unit;
105
+ };
106
+ const getBase = (i) => {
107
+ if (units) {
108
+ return units[i] || units[units.length - 1];
109
+ }
110
+ if (i === 0)
111
+ return 1;
112
+ if (scaleRange > 10)
113
+ return 10;
114
+ if (scaleRange > 1 && scaleRange > 10 / stepCount)
115
+ return 1;
116
+ return 0.1;
117
+ };
118
+ const getUnit = (unit) => {
119
+ let pp = unit;
120
+ let p = unit;
121
+ let u = unit;
122
+ for (let i = 0;; i++) {
123
+ if (i > 100) {
124
+ // console.warn([min, max]);
125
+ break;
126
+ }
127
+ const nextUnit = u * getBase(i);
128
+ const total = getTotal(nextUnit);
129
+ const diff = total - scaleRange;
130
+ if (diff > total / stepCount) {
131
+ break;
132
+ }
133
+ pp = p;
134
+ p = u;
135
+ u = nextUnit;
136
+ }
137
+ return [u, p, pp];
138
+ };
139
+ const [unit, _, prevUnit] = getUnit(1);
140
+ const adjustedMin = Math.floor(scaleMin / prevUnit) * prevUnit;
141
+ const adjustedMax = adjustedMin + getTotal(unit);
142
+ return [adjustedMin / scale, adjustedMax / scale];
143
+ }
144
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number.js","sourceRoot":"","sources":["../src/lib/number.ts"],"names":[],"mappings":"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"}
package/lib/theme.d.ts ADDED
@@ -0,0 +1,67 @@
1
+ export declare function getSemanticColor(semantic: string): string | undefined;
2
+ export declare const lightTheme: {
3
+ primaryColor: string;
4
+ highlightColor: string;
5
+ textColor: string;
6
+ describeColor: string;
7
+ backgroundColor: string;
8
+ lightBackgroundColor: string;
9
+ hoverBackgroundColor: string;
10
+ borderColor: string;
11
+ disabledColor: string;
12
+ maskAlpha: string;
13
+ informativeColor: string;
14
+ neutralColor: string;
15
+ positiveColor: string;
16
+ noticeColor: string;
17
+ negativeColor: string;
18
+ normalRound: string;
19
+ smallRound: string;
20
+ gridGutter: string;
21
+ timingFunction: string;
22
+ };
23
+ export declare const darkTheme: Partial<typeof lightTheme>;
24
+ export declare const theme: {
25
+ primaryColor: string;
26
+ highlightColor: string;
27
+ textColor: string;
28
+ describeColor: string;
29
+ backgroundColor: string;
30
+ lightBackgroundColor: string;
31
+ hoverBackgroundColor: string;
32
+ borderColor: string;
33
+ disabledColor: string;
34
+ maskAlpha: string;
35
+ informativeColor: string;
36
+ neutralColor: string;
37
+ positiveColor: string;
38
+ noticeColor: string;
39
+ negativeColor: string;
40
+ normalRound: string;
41
+ smallRound: string;
42
+ gridGutter: string;
43
+ timingFunction: string;
44
+ };
45
+ export declare const updateTheme: (tm: Partial<typeof lightTheme>) => void;
46
+ export declare const themeStore: import("@mantou/gem").Store<{
47
+ primaryColor: string;
48
+ highlightColor: string;
49
+ textColor: string;
50
+ describeColor: string;
51
+ backgroundColor: string;
52
+ lightBackgroundColor: string;
53
+ hoverBackgroundColor: string;
54
+ borderColor: string;
55
+ disabledColor: string;
56
+ maskAlpha: string;
57
+ informativeColor: string;
58
+ neutralColor: string;
59
+ positiveColor: string;
60
+ noticeColor: string;
61
+ negativeColor: string;
62
+ normalRound: string;
63
+ smallRound: string;
64
+ gridGutter: string;
65
+ timingFunction: string;
66
+ }>;
67
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/lib/theme.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,sBAahD;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAuBtB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,OAAO,CAAC,OAAO,UAAU,CAWhD,CAAC;AAEF,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;CAAiC,CAAC;AAEpD,eAAO,MAAM,WAAW,OAAQ,QAAQ,iBAAiB,CAAC,SAEzD,CAAC;AAEF,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;EAAuB,CAAC"}
package/lib/theme.js ADDED
@@ -0,0 +1,56 @@
1
+ import { createTheme, getThemeStore, updateTheme as changeTheme } from '@mantou/gem/helper/theme';
2
+ export function getSemanticColor(semantic) {
3
+ switch (semantic) {
4
+ case 'negative':
5
+ return theme.negativeColor;
6
+ case 'positive':
7
+ return theme.positiveColor;
8
+ case 'notice':
9
+ return theme.noticeColor;
10
+ case 'informative':
11
+ return theme.informativeColor;
12
+ case 'neutral':
13
+ return theme.neutralColor;
14
+ }
15
+ }
16
+ export const lightTheme = {
17
+ primaryColor: '#000',
18
+ highlightColor: '#000',
19
+ textColor: '#4b4b4b',
20
+ describeColor: '#6e6e6e',
21
+ backgroundColor: '#fff',
22
+ lightBackgroundColor: '#fafafa',
23
+ hoverBackgroundColor: '#ededed',
24
+ borderColor: '#e1e1e1',
25
+ disabledColor: '#eaeaea',
26
+ maskAlpha: '0.2',
27
+ // same of light/dark
28
+ // https://spectrum.adobe.com/page/color/#Semantic-colors
29
+ informativeColor: '#2680eb',
30
+ neutralColor: '#b3b3b3',
31
+ positiveColor: '#2d9d78',
32
+ noticeColor: '#e68619',
33
+ negativeColor: '#e34850',
34
+ normalRound: '4px',
35
+ smallRound: '2px',
36
+ gridGutter: '24px',
37
+ timingFunction: 'cubic-bezier(0.4, 0, 0.2, 1)',
38
+ };
39
+ export const darkTheme = {
40
+ primaryColor: '#efefef',
41
+ highlightColor: '#efefef',
42
+ textColor: '#c8c8c8',
43
+ describeColor: '#616161',
44
+ backgroundColor: '#1a1a1a',
45
+ lightBackgroundColor: '#1e1e1e',
46
+ hoverBackgroundColor: '#2f2f2f',
47
+ borderColor: '#313131',
48
+ disabledColor: '#5b5b5b',
49
+ maskAlpha: '0.4',
50
+ };
51
+ export const theme = createTheme({ ...lightTheme });
52
+ export const updateTheme = (tm) => {
53
+ changeTheme(theme, tm);
54
+ };
55
+ export const themeStore = getThemeStore(theme);
56
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/lib/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAElG,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,QAAQ,QAAQ,EAAE;QAChB,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,aAAa,CAAC;QAC7B,KAAK,UAAU;YACb,OAAO,KAAK,CAAC,aAAa,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,KAAK,CAAC,WAAW,CAAC;QAC3B,KAAK,aAAa;YAChB,OAAO,KAAK,CAAC,gBAAgB,CAAC;QAChC,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,YAAY,CAAC;KAC7B;AACH,CAAC;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,YAAY,EAAE,MAAM;IACpB,cAAc,EAAE,MAAM;IACtB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,MAAM;IACvB,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,SAAS,EAAE,KAAK;IAEhB,qBAAqB;IACrB,yDAAyD;IACzD,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,SAAS;IACvB,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,WAAW,EAAE,KAAK;IAClB,UAAU,EAAE,KAAK;IACjB,UAAU,EAAE,MAAM;IAClB,cAAc,EAAE,8BAA8B;CAC/C,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAA+B;IACnD,YAAY,EAAE,SAAS;IACvB,cAAc,EAAE,SAAS;IACzB,SAAS,EAAE,SAAS;IACpB,aAAa,EAAE,SAAS;IACxB,eAAe,EAAE,SAAS;IAC1B,oBAAoB,EAAE,SAAS;IAC/B,oBAAoB,EAAE,SAAS;IAC/B,WAAW,EAAE,SAAS;IACtB,aAAa,EAAE,SAAS;IACxB,SAAS,EAAE,KAAK;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC,CAAC;AAEpD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAA8B,EAAE,EAAE;IAC5D,WAAW,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC"}
package/lib/time.d.ts ADDED
@@ -0,0 +1,58 @@
1
+ export declare function parseDate(date?: number | Date): {
2
+ year: string;
3
+ month: string;
4
+ day: string;
5
+ hour: string;
6
+ minute: string;
7
+ second: string;
8
+ };
9
+ declare type Unit = 'Y' | 'M' | 'w' | 'd' | 'h' | 'm' | 's' | 'ms';
10
+ declare type RelativeTimeFormatUnit = Exclude<Unit, 'ms'>;
11
+ declare type RelativeTimeFormatOption = {
12
+ rtf?: Intl.RelativeTimeFormat;
13
+ min?: number;
14
+ lang?: string | string[];
15
+ };
16
+ export declare type NarrowRelativeTime = `${number}${RelativeTimeFormatUnit}`;
17
+ /**
18
+ * @example
19
+ *
20
+ * ```ts
21
+ * parseNarrowTimeRange('d');
22
+ * parseNarrowTimeRange('m');
23
+ * ```
24
+ */
25
+ export declare function parseNarrowTimeRange(str: undefined | null): undefined;
26
+ export declare function parseNarrowTimeRange(str: RelativeTimeFormatUnit): [Time, Time];
27
+ export declare function parseNarrowTimeRange(str: string | null | undefined): [Time, Time] | undefined;
28
+ /**
29
+ * @example
30
+ *
31
+ * ```ts
32
+ * parseNarrowRelativeTime('2d');
33
+ * parseNarrowRelativeTime('-2m');
34
+ * ```
35
+ */
36
+ export declare function parseNarrowRelativeTime(str: undefined | null): undefined;
37
+ export declare function parseNarrowRelativeTime(str: NarrowRelativeTime): Time;
38
+ export declare function parseNarrowRelativeTime(str: string | null | undefined): Time | undefined;
39
+ export declare class Time extends Date {
40
+ #private;
41
+ format(opt?: string | Intl.DateTimeFormatOptions): string;
42
+ subtract(number: number, unit: Unit): this;
43
+ add(number: number, unit: Unit): this;
44
+ startOf(unit: Unit): this;
45
+ endOf(unit: Unit): this;
46
+ isSome<T extends Date>(d: T | number, unit: Unit): boolean;
47
+ /**
48
+ * new D().relativeTimeFormat(new D().add(40, 'd'), { unitLimit: 2, lang: 'zh' }) => '40天后'
49
+ */
50
+ relativeTimeFormat(date: Date | Time | number, { min, lang, rtf }?: RelativeTimeFormatOption): string;
51
+ }
52
+ export declare function parseDuration(ms: number): {
53
+ number: string;
54
+ unit: string;
55
+ };
56
+ export declare function formatDuration(ms: number, numeric?: boolean): string;
57
+ export {};
58
+ //# sourceMappingURL=time.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../src/lib/time.ts"],"names":[],"mappings":"AAYA,wBAAgB,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI;;;;;;;EAM7C;AAUD,aAAK,IAAI,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC;AAE3D,aAAK,sBAAsB,GAAG,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAElD,aAAK,wBAAwB,GAAG;IAC9B,GAAG,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF,oBAAY,kBAAkB,GAAG,GAAG,MAAM,GAAG,sBAAsB,EAAE,CAAC;AAsBtE;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;AACvE,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,sBAAsB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAChF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;AAQ/F;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;AAC1E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAAC;AACvE,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;AA4B1F,qBAAa,IAAK,SAAQ,IAAI;;IAI5B,MAAM,CAAC,GAAG,GAAE,MAAM,GAAG,IAAI,CAAC,qBAA6C;IAgBvE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAcnC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAK9B,OAAO,CAAC,IAAI,EAAE,IAAI;IAsBlB,KAAK,CAAC,IAAI,EAAE,IAAI;IAKhB,MAAM,CAAC,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,IAAI,EAAE,IAAI;IAyBhD;;OAEG;IACH,kBAAkB,CAChB,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,EAC1B,EAAE,GAAO,EAAE,IAAwB,EAAE,GAAsC,EAAE,GAAE,wBAA6B;CAiB/G;AAED,wBAAgB,aAAa,CAAC,EAAE,EAAE,MAAM;;;EAuBvC;AAGD,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,UAW3D"}