neko-ui 2.8.21 → 2.8.23

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 (671) hide show
  1. package/es/avatar/README.mdx +10 -0
  2. package/es/avatar/examples/basic.md +14 -0
  3. package/es/avatar/examples/group.md +57 -0
  4. package/es/avatar/examples/size.md +21 -0
  5. package/es/avatar/group.js +2 -2
  6. package/es/avatar/group.js.map +1 -1
  7. package/es/avatar/index.js +2 -2
  8. package/es/avatar/index.js.map +1 -1
  9. package/es/avatar/style.js +2 -2
  10. package/es/avatar/style.js.map +1 -1
  11. package/es/back-top/README.mdx +10 -0
  12. package/es/back-top/examples/basic.md +19 -0
  13. package/es/back-top/examples/mount.md +36 -0
  14. package/es/back-top/examples/target.md +46 -0
  15. package/es/back-top/index.js +1 -1
  16. package/es/back-top/index.js.map +1 -1
  17. package/es/basic-config/README.mdx +11 -0
  18. package/es/button/README.mdx +10 -0
  19. package/es/button/examples/basic.md +21 -0
  20. package/es/button/examples/block.md +33 -0
  21. package/es/button/examples/circle.md +21 -0
  22. package/es/button/examples/danger.md +23 -0
  23. package/es/button/examples/dashed.md +21 -0
  24. package/es/button/examples/disabled.md +35 -0
  25. package/es/button/examples/fill.md +21 -0
  26. package/es/button/examples/flat.md +21 -0
  27. package/es/button/examples/ghost.md +21 -0
  28. package/es/button/examples/icon.md +30 -0
  29. package/es/button/examples/link.md +21 -0
  30. package/es/button/examples/size.md +23 -0
  31. package/es/button/index.js +1 -1
  32. package/es/button/index.js.map +1 -1
  33. package/es/button/style.js +1 -0
  34. package/es/button/style.js.map +1 -1
  35. package/es/capture-screen/README.mdx +10 -0
  36. package/es/capture-screen/examples/basic.md +13 -0
  37. package/es/capture-screen/examples/custom-save.md +30 -0
  38. package/es/capture-screen/examples/preview.md +13 -0
  39. package/es/capture-screen/examples/recorder-save.md +13 -0
  40. package/es/capture-screen/index.js +1 -1
  41. package/es/capture-screen/index.js.map +1 -1
  42. package/es/carousel/README.mdx +10 -0
  43. package/es/carousel/examples/autoplay.md +21 -0
  44. package/es/carousel/examples/basic.md +23 -0
  45. package/es/carousel/examples/dots.md +23 -0
  46. package/es/carousel/examples/header.md +38 -0
  47. package/es/carousel/index.js +1 -1
  48. package/es/carousel/index.js.map +1 -1
  49. package/es/checkbox/README.mdx +10 -0
  50. package/es/checkbox/examples/basic.md +31 -0
  51. package/es/checkbox/examples/check-all.md +37 -0
  52. package/es/checkbox/examples/disabled-all.md +28 -0
  53. package/es/checkbox/examples/disabled-option.md +35 -0
  54. package/es/checkbox/examples/field-names.md +40 -0
  55. package/es/checkbox/examples/status.md +37 -0
  56. package/es/checkbox/examples/vertical.md +36 -0
  57. package/es/checkbox/index.js +1 -1
  58. package/es/checkbox/index.js.map +1 -1
  59. package/es/code/README.mdx +10 -0
  60. package/es/code/examples/basic.md +19 -0
  61. package/es/code/examples/diff.md +45 -0
  62. package/es/code/examples/line-number.md +18 -0
  63. package/es/code/examples/live-edit.md +20 -0
  64. package/es/code/examples/toolbar.md +18 -0
  65. package/es/code/index.js +2 -2
  66. package/es/code/index.js.map +1 -1
  67. package/es/code/worker.js.map +1 -1
  68. package/es/color-palette/README.mdx +10 -0
  69. package/es/color-palette/examples/default-value.md +25 -0
  70. package/es/color-palette/examples/hexa.md +13 -0
  71. package/es/color-palette/examples/hsla.md +13 -0
  72. package/es/color-palette/examples/rgba.md +13 -0
  73. package/es/color-palette/index.js +1 -1
  74. package/es/color-palette/index.js.map +1 -1
  75. package/es/color-picker/README.mdx +10 -0
  76. package/es/color-picker/examples/basic.md +12 -0
  77. package/es/color-picker/examples/default-value.md +20 -0
  78. package/es/color-picker/examples/size.md +17 -0
  79. package/es/color-picker/index.js +1 -1
  80. package/es/color-picker/index.js.map +1 -1
  81. package/es/cron/README.mdx +10 -0
  82. package/es/cron/begin-interval.js.map +1 -1
  83. package/es/cron/day.js.map +1 -1
  84. package/es/cron/examples/basic.md +19 -0
  85. package/es/cron/examples/card.md +12 -0
  86. package/es/cron/examples/show-cron.md +12 -0
  87. package/es/cron/hour.js +1 -1
  88. package/es/cron/hour.js.map +1 -1
  89. package/es/cron/index.js +1 -1
  90. package/es/cron/index.js.map +1 -1
  91. package/es/cron/item.js.map +1 -1
  92. package/es/cron/minute.js +1 -1
  93. package/es/cron/minute.js.map +1 -1
  94. package/es/cron/month.js +1 -1
  95. package/es/cron/month.js.map +1 -1
  96. package/es/cron/period.js.map +1 -1
  97. package/es/cron/second.js +1 -1
  98. package/es/cron/second.js.map +1 -1
  99. package/es/cron/some.js.map +1 -1
  100. package/es/date-picker/README.mdx +10 -0
  101. package/es/date-picker/date.js +1 -1
  102. package/es/date-picker/date.js.map +1 -1
  103. package/es/date-picker/dayjs.js +1 -1
  104. package/es/date-picker/dayjs.js.map +1 -1
  105. package/es/date-picker/examples/basic.md +24 -0
  106. package/es/date-picker/examples/date.md +13 -0
  107. package/es/date-picker/examples/disbaled.md +13 -0
  108. package/es/date-picker/examples/header.md +13 -0
  109. package/es/date-picker/examples/month.md +13 -0
  110. package/es/date-picker/examples/time.md +15 -0
  111. package/es/date-picker/examples/today.md +13 -0
  112. package/es/date-picker/examples/year.md +13 -0
  113. package/es/date-picker/index.js +1 -1
  114. package/es/date-picker/index.js.map +1 -1
  115. package/es/date-picker/month.js +1 -1
  116. package/es/date-picker/month.js.map +1 -1
  117. package/es/date-picker/panel.js +1 -1
  118. package/es/date-picker/panel.js.map +1 -1
  119. package/es/date-picker/time.js +1 -1
  120. package/es/date-picker/time.js.map +1 -1
  121. package/es/date-picker/year.js +1 -1
  122. package/es/date-picker/year.js.map +1 -1
  123. package/es/dropdown/README.mdx +10 -0
  124. package/es/dropdown/examples/arrow.md +59 -0
  125. package/es/dropdown/examples/basic.md +17 -0
  126. package/es/dropdown/examples/click.md +45 -0
  127. package/es/dropdown/examples/context-menu.md +66 -0
  128. package/es/dropdown/examples/field-names.md +44 -0
  129. package/es/dropdown/examples/icon.md +30 -0
  130. package/es/dropdown/examples/multiple.md +45 -0
  131. package/es/dropdown/examples/no-data.md +16 -0
  132. package/es/dropdown/examples/placement.md +59 -0
  133. package/es/dropdown/examples/toggle.md +36 -0
  134. package/es/dropdown/index.js +1 -1
  135. package/es/dropdown/index.js.map +1 -1
  136. package/es/empty/index.js.map +1 -1
  137. package/es/from-schema/index.js +1 -1
  138. package/es/from-schema/index.js.map +1 -1
  139. package/es/highlight-text/README.mdx +10 -0
  140. package/es/highlight-text/examples/basic.md +19 -0
  141. package/es/highlight-text/examples/mut.md +47 -0
  142. package/es/highlight-text/examples/not-hightlight.md +19 -0
  143. package/es/highlight-text/index.js +2 -2
  144. package/es/highlight-text/index.js.map +1 -1
  145. package/es/img/README.mdx +10 -0
  146. package/es/img/examples/basic.md +17 -0
  147. package/es/img/examples/close-mask.md +21 -0
  148. package/es/img/examples/disabled.md +16 -0
  149. package/es/img/examples/error.md +13 -0
  150. package/es/img/examples/esc.md +21 -0
  151. package/es/img/examples/open-change.md +25 -0
  152. package/es/img/index.js +1 -1
  153. package/es/img/index.js.map +1 -1
  154. package/es/img/lazy.js +1 -1
  155. package/es/img/lazy.js.map +1 -1
  156. package/es/index.js +1 -1
  157. package/es/index.js.map +1 -1
  158. package/es/input/README.mdx +10 -0
  159. package/es/input/examples/basic.md +31 -0
  160. package/es/input/examples/prefix&suffix.md +33 -0
  161. package/es/input/examples/size.md +21 -0
  162. package/es/input/examples/status.md +23 -0
  163. package/es/input/index.js +1 -1
  164. package/es/input/index.js.map +1 -1
  165. package/es/input-number/README.mdx +10 -0
  166. package/es/input-number/examples/basic.md +26 -0
  167. package/es/input-number/examples/formatter.md +36 -0
  168. package/es/input-number/examples/max-min.md +13 -0
  169. package/es/input-number/index.js.map +1 -1
  170. package/es/katex/README.mdx +42 -0
  171. package/es/katex/examples/block.md +25 -0
  172. package/es/katex/examples/inline.md +19 -0
  173. package/es/md/README.mdx +10 -0
  174. package/es/md/examples/in-children.md +23 -0
  175. package/es/md/examples/in-text.md +32 -0
  176. package/es/md/examples/math.md +36 -0
  177. package/es/md/index.js +1 -1
  178. package/es/md/index.js.map +1 -1
  179. package/es/menu/README.mdx +10 -0
  180. package/es/menu/examples/basic.md +17 -0
  181. package/es/menu/examples/field-names.md +42 -0
  182. package/es/menu/examples/icon.md +125 -0
  183. package/es/menu/examples/multiple.md +42 -0
  184. package/es/menu/index.js +1 -1
  185. package/es/menu/index.js.map +1 -1
  186. package/es/modal/README.mdx +10 -0
  187. package/es/modal/examples/basic.md +56 -0
  188. package/es/modal/examples/close-icon.md +57 -0
  189. package/es/modal/examples/esc-closable.md +64 -0
  190. package/es/modal/examples/mask-blur.md +56 -0
  191. package/es/modal/examples/mask-closable.md +64 -0
  192. package/es/modal/index.js +1 -1
  193. package/es/modal/index.js.map +1 -1
  194. package/es/notification/README.mdx +11 -0
  195. package/es/notification/examples/basic.md +35 -0
  196. package/es/notification/examples/close.md +35 -0
  197. package/es/notification/examples/type.md +84 -0
  198. package/es/notification/examples/update.md +52 -0
  199. package/es/notification/index.js.map +1 -1
  200. package/es/notification/notification.js +1 -1
  201. package/es/notification/notification.js.map +1 -1
  202. package/es/pagination/README.mdx +10 -0
  203. package/es/pagination/examples/basic.md +13 -0
  204. package/es/pagination/examples/onchange.md +29 -0
  205. package/es/pagination/examples/size.md +23 -0
  206. package/es/pagination/examples/total-text.md +42 -0
  207. package/es/pagination/index.js +1 -1
  208. package/es/pagination/index.js.map +1 -1
  209. package/es/popover/README.mdx +10 -0
  210. package/es/popover/examples/basic.md +35 -0
  211. package/es/popover/examples/click.md +15 -0
  212. package/es/popover/examples/context-menu.md +58 -0
  213. package/es/popover/examples/controlled.md +47 -0
  214. package/es/popover/index.js +1 -1
  215. package/es/popover/index.js.map +1 -1
  216. package/es/prism/css.js.map +1 -1
  217. package/es/prism/index.js.map +1 -1
  218. package/es/provider/README.mdx +10 -0
  219. package/es/provider/examples/scheme.md +14 -0
  220. package/es/provider/index.js.map +1 -1
  221. package/es/radio/README.mdx +10 -0
  222. package/es/radio/examples/basic.md +19 -0
  223. package/es/radio/examples/disabled-option.md +19 -0
  224. package/es/radio/examples/disabled.md +19 -0
  225. package/es/radio/examples/field-names.md +39 -0
  226. package/es/radio/examples/layout-vertical.md +19 -0
  227. package/es/radio/examples/status.md +31 -0
  228. package/es/radio/index.js +1 -1
  229. package/es/radio/index.js.map +1 -1
  230. package/es/segmented/README.mdx +10 -0
  231. package/es/segmented/examples/basic.md +18 -0
  232. package/es/segmented/examples/custom-field-names.md +43 -0
  233. package/es/segmented/examples/disabled-option.md +29 -0
  234. package/es/segmented/examples/disabled.md +18 -0
  235. package/es/segmented/examples/icon.md +28 -0
  236. package/es/segmented/examples/options.md +21 -0
  237. package/es/segmented/index.js +2 -2
  238. package/es/segmented/index.js.map +1 -1
  239. package/es/select/README.mdx +10 -0
  240. package/es/select/examples/basic.md +44 -0
  241. package/es/select/examples/disabled-option.md +21 -0
  242. package/es/select/examples/disabled.md +24 -0
  243. package/es/select/examples/field-names.md +40 -0
  244. package/es/select/examples/item-suffix.md +84 -0
  245. package/es/select/examples/multiple.md +61 -0
  246. package/es/select/examples/no-data.md +12 -0
  247. package/es/select/examples/prefix-icon.md +74 -0
  248. package/es/select/index.js +1 -1
  249. package/es/select/index.js.map +1 -1
  250. package/es/skeleton/README.mdx +10 -0
  251. package/es/skeleton/examples/animation.md +13 -0
  252. package/es/skeleton/examples/avatar.md +13 -0
  253. package/es/skeleton/examples/basic.md +12 -0
  254. package/es/skeleton/examples/rows.md +13 -0
  255. package/es/skeleton/examples/title.md +12 -0
  256. package/es/skeleton/index.js +3 -3
  257. package/es/skeleton/index.js.map +1 -1
  258. package/es/spin/README.mdx +10 -0
  259. package/es/spin/examples/basic.md +67 -0
  260. package/es/spin/index.js +4 -4
  261. package/es/spin/index.js.map +1 -1
  262. package/es/switch/README.mdx +10 -0
  263. package/es/switch/examples/basic.md +24 -0
  264. package/es/switch/examples/checked-text.md +17 -0
  265. package/es/switch/examples/disabled.md +15 -0
  266. package/es/switch/examples/loading.md +17 -0
  267. package/es/switch/index.js +1 -1
  268. package/es/switch/index.js.map +1 -1
  269. package/es/table/README.mdx +10 -0
  270. package/es/table/examples/basic.md +29 -0
  271. package/es/table/examples/key.md +29 -0
  272. package/es/table/examples/order.md +29 -0
  273. package/es/table/examples/pagination.md +67 -0
  274. package/es/table/examples/render.md +92 -0
  275. package/es/table/examples/size.md +52 -0
  276. package/es/table/examples/summary.md +40 -0
  277. package/es/table/index.js +1 -1
  278. package/es/table/index.js.map +1 -1
  279. package/es/tabs/README.mdx +10 -0
  280. package/es/tabs/examples/add-remove.md +115 -0
  281. package/es/tabs/examples/animated.md +33 -0
  282. package/es/tabs/examples/basic.md +32 -0
  283. package/es/tabs/examples/card.md +33 -0
  284. package/es/tabs/examples/center.md +33 -0
  285. package/es/tabs/examples/disabled-tab.md +34 -0
  286. package/es/tabs/examples/disabled.md +33 -0
  287. package/es/tabs/examples/extra.md +65 -0
  288. package/es/tabs/index.js +2 -2
  289. package/es/tabs/index.js.map +1 -1
  290. package/es/tag/README.mdx +10 -0
  291. package/es/tag/examples/basic.md +28 -0
  292. package/es/tag/examples/bordered.md +19 -0
  293. package/es/tag/examples/color.md +25 -0
  294. package/es/tag/examples/icon.md +21 -0
  295. package/es/tag/examples/type.md +19 -0
  296. package/es/tag/index.js +3 -3
  297. package/es/tag/index.js.map +1 -1
  298. package/es/theme/README.mdx +10 -0
  299. package/es/theme/examples/colors.md +123 -0
  300. package/es/theme/examples/theme.md +19 -0
  301. package/es/theme/index.js +1 -1
  302. package/es/theme/index.js.map +1 -1
  303. package/es/tree/README.mdx +10 -0
  304. package/es/tree/examples/basic.md +108 -0
  305. package/es/tree/examples/custom-render.md +115 -0
  306. package/es/tree/examples/direction.md +100 -0
  307. package/es/tree/examples/field-names.md +114 -0
  308. package/es/tree/examples/multiple.md +117 -0
  309. package/es/tree/examples/readonly.md +90 -0
  310. package/es/tree/examples/render-tree-string1.md +70 -0
  311. package/es/tree/examples/render-tree-string2.md +52 -0
  312. package/es/tree/examples/schema.md +130 -0
  313. package/es/tree/examples/size.md +125 -0
  314. package/es/tree/examples/toggle.md +71 -0
  315. package/es/tree/index.js +1 -1
  316. package/es/tree/index.js.map +1 -1
  317. package/es/tree/register.js.map +1 -1
  318. package/es/typography/README.mdx +10 -0
  319. package/es/typography/examples/basic.md +27 -0
  320. package/es/typography/examples/tag.md +25 -0
  321. package/es/typography/examples/truncated.md +17 -0
  322. package/es/typography/index.js +3 -3
  323. package/es/typography/index.js.map +1 -1
  324. package/eslint.config.mjs +9 -0
  325. package/lib/avatar/README.mdx +10 -0
  326. package/lib/avatar/examples/basic.md +14 -0
  327. package/lib/avatar/examples/group.md +57 -0
  328. package/lib/avatar/examples/size.md +21 -0
  329. package/lib/avatar/group.js.map +1 -1
  330. package/lib/avatar/index.js +2 -2
  331. package/lib/avatar/index.js.map +1 -1
  332. package/lib/avatar/style.js +2 -2
  333. package/lib/avatar/style.js.map +1 -1
  334. package/lib/back-top/README.mdx +10 -0
  335. package/lib/back-top/examples/basic.md +19 -0
  336. package/lib/back-top/examples/mount.md +36 -0
  337. package/lib/back-top/examples/target.md +46 -0
  338. package/lib/back-top/index.js +1 -1
  339. package/lib/back-top/index.js.map +1 -1
  340. package/lib/basic-config/README.mdx +11 -0
  341. package/lib/button/README.mdx +10 -0
  342. package/lib/button/examples/basic.md +21 -0
  343. package/lib/button/examples/block.md +33 -0
  344. package/lib/button/examples/circle.md +21 -0
  345. package/lib/button/examples/danger.md +23 -0
  346. package/lib/button/examples/dashed.md +21 -0
  347. package/lib/button/examples/disabled.md +35 -0
  348. package/lib/button/examples/fill.md +21 -0
  349. package/lib/button/examples/flat.md +21 -0
  350. package/lib/button/examples/ghost.md +21 -0
  351. package/lib/button/examples/icon.md +30 -0
  352. package/lib/button/examples/link.md +21 -0
  353. package/lib/button/examples/size.md +23 -0
  354. package/lib/button/index.js +1 -1
  355. package/lib/button/index.js.map +1 -1
  356. package/lib/button/style.js +1 -0
  357. package/lib/button/style.js.map +1 -1
  358. package/lib/capture-screen/README.mdx +10 -0
  359. package/lib/capture-screen/examples/basic.md +13 -0
  360. package/lib/capture-screen/examples/custom-save.md +30 -0
  361. package/lib/capture-screen/examples/preview.md +13 -0
  362. package/lib/capture-screen/examples/recorder-save.md +13 -0
  363. package/lib/capture-screen/index.js +1 -1
  364. package/lib/capture-screen/index.js.map +1 -1
  365. package/lib/carousel/README.mdx +10 -0
  366. package/lib/carousel/examples/autoplay.md +21 -0
  367. package/lib/carousel/examples/basic.md +23 -0
  368. package/lib/carousel/examples/dots.md +23 -0
  369. package/lib/carousel/examples/header.md +38 -0
  370. package/lib/carousel/index.js +1 -1
  371. package/lib/carousel/index.js.map +1 -1
  372. package/lib/checkbox/README.mdx +10 -0
  373. package/lib/checkbox/examples/basic.md +31 -0
  374. package/lib/checkbox/examples/check-all.md +37 -0
  375. package/lib/checkbox/examples/disabled-all.md +28 -0
  376. package/lib/checkbox/examples/disabled-option.md +35 -0
  377. package/lib/checkbox/examples/field-names.md +40 -0
  378. package/lib/checkbox/examples/status.md +37 -0
  379. package/lib/checkbox/examples/vertical.md +36 -0
  380. package/lib/checkbox/index.js +1 -1
  381. package/lib/checkbox/index.js.map +1 -1
  382. package/lib/code/README.mdx +10 -0
  383. package/lib/code/examples/basic.md +19 -0
  384. package/lib/code/examples/diff.md +45 -0
  385. package/lib/code/examples/line-number.md +18 -0
  386. package/lib/code/examples/live-edit.md +20 -0
  387. package/lib/code/examples/toolbar.md +18 -0
  388. package/lib/code/index.js +2 -2
  389. package/lib/code/index.js.map +1 -1
  390. package/lib/code/worker.js.map +1 -1
  391. package/lib/color-palette/README.mdx +10 -0
  392. package/lib/color-palette/examples/default-value.md +25 -0
  393. package/lib/color-palette/examples/hexa.md +13 -0
  394. package/lib/color-palette/examples/hsla.md +13 -0
  395. package/lib/color-palette/examples/rgba.md +13 -0
  396. package/lib/color-palette/index.js +1 -1
  397. package/lib/color-palette/index.js.map +1 -1
  398. package/lib/color-picker/README.mdx +10 -0
  399. package/lib/color-picker/examples/basic.md +12 -0
  400. package/lib/color-picker/examples/default-value.md +20 -0
  401. package/lib/color-picker/examples/size.md +17 -0
  402. package/lib/color-picker/index.js +1 -1
  403. package/lib/color-picker/index.js.map +1 -1
  404. package/lib/cron/README.mdx +10 -0
  405. package/lib/cron/begin-interval.js.map +1 -1
  406. package/lib/cron/day.js.map +1 -1
  407. package/lib/cron/examples/basic.md +19 -0
  408. package/lib/cron/examples/card.md +12 -0
  409. package/lib/cron/examples/show-cron.md +12 -0
  410. package/lib/cron/hour.js +1 -1
  411. package/lib/cron/hour.js.map +1 -1
  412. package/lib/cron/index.js.map +1 -1
  413. package/lib/cron/item.js.map +1 -1
  414. package/lib/cron/minute.js +1 -1
  415. package/lib/cron/minute.js.map +1 -1
  416. package/lib/cron/month.js +1 -1
  417. package/lib/cron/month.js.map +1 -1
  418. package/lib/cron/period.js.map +1 -1
  419. package/lib/cron/second.js +1 -1
  420. package/lib/cron/second.js.map +1 -1
  421. package/lib/cron/some.js.map +1 -1
  422. package/lib/date-picker/README.mdx +10 -0
  423. package/lib/date-picker/date.js.map +1 -1
  424. package/lib/date-picker/dayjs.js +1 -1
  425. package/lib/date-picker/dayjs.js.map +1 -1
  426. package/lib/date-picker/examples/basic.md +24 -0
  427. package/lib/date-picker/examples/date.md +13 -0
  428. package/lib/date-picker/examples/disbaled.md +13 -0
  429. package/lib/date-picker/examples/header.md +13 -0
  430. package/lib/date-picker/examples/month.md +13 -0
  431. package/lib/date-picker/examples/time.md +15 -0
  432. package/lib/date-picker/examples/today.md +13 -0
  433. package/lib/date-picker/examples/year.md +13 -0
  434. package/lib/date-picker/index.js +1 -1
  435. package/lib/date-picker/index.js.map +1 -1
  436. package/lib/date-picker/month.js.map +1 -1
  437. package/lib/date-picker/panel.js +1 -1
  438. package/lib/date-picker/panel.js.map +1 -1
  439. package/lib/date-picker/time.js.map +1 -1
  440. package/lib/date-picker/year.js.map +1 -1
  441. package/lib/dropdown/README.mdx +10 -0
  442. package/lib/dropdown/examples/arrow.md +59 -0
  443. package/lib/dropdown/examples/basic.md +17 -0
  444. package/lib/dropdown/examples/click.md +45 -0
  445. package/lib/dropdown/examples/context-menu.md +66 -0
  446. package/lib/dropdown/examples/field-names.md +44 -0
  447. package/lib/dropdown/examples/icon.md +30 -0
  448. package/lib/dropdown/examples/multiple.md +45 -0
  449. package/lib/dropdown/examples/no-data.md +16 -0
  450. package/lib/dropdown/examples/placement.md +59 -0
  451. package/lib/dropdown/examples/toggle.md +36 -0
  452. package/lib/dropdown/index.js +1 -1
  453. package/lib/dropdown/index.js.map +1 -1
  454. package/lib/empty/index.js.map +1 -1
  455. package/lib/from-schema/index.js +1 -1
  456. package/lib/from-schema/index.js.map +1 -1
  457. package/lib/highlight-text/README.mdx +10 -0
  458. package/lib/highlight-text/examples/basic.md +19 -0
  459. package/lib/highlight-text/examples/mut.md +47 -0
  460. package/lib/highlight-text/examples/not-hightlight.md +19 -0
  461. package/lib/highlight-text/index.js.map +1 -1
  462. package/lib/img/README.mdx +10 -0
  463. package/lib/img/examples/basic.md +17 -0
  464. package/lib/img/examples/close-mask.md +21 -0
  465. package/lib/img/examples/disabled.md +16 -0
  466. package/lib/img/examples/error.md +13 -0
  467. package/lib/img/examples/esc.md +21 -0
  468. package/lib/img/examples/open-change.md +25 -0
  469. package/lib/img/index.js +1 -1
  470. package/lib/img/index.js.map +1 -1
  471. package/lib/img/lazy.js +1 -1
  472. package/lib/img/lazy.js.map +1 -1
  473. package/lib/index.js +1 -1
  474. package/lib/index.js.map +1 -1
  475. package/lib/input/README.mdx +10 -0
  476. package/lib/input/examples/basic.md +31 -0
  477. package/lib/input/examples/prefix&suffix.md +33 -0
  478. package/lib/input/examples/size.md +21 -0
  479. package/lib/input/examples/status.md +23 -0
  480. package/lib/input/index.js +1 -1
  481. package/lib/input/index.js.map +1 -1
  482. package/lib/input-number/README.mdx +10 -0
  483. package/lib/input-number/examples/basic.md +26 -0
  484. package/lib/input-number/examples/formatter.md +36 -0
  485. package/lib/input-number/examples/max-min.md +13 -0
  486. package/lib/input-number/index.js.map +1 -1
  487. package/lib/katex/README.mdx +42 -0
  488. package/lib/katex/examples/block.md +25 -0
  489. package/lib/katex/examples/inline.md +19 -0
  490. package/lib/md/README.mdx +10 -0
  491. package/lib/md/examples/in-children.md +23 -0
  492. package/lib/md/examples/in-text.md +32 -0
  493. package/lib/md/examples/math.md +36 -0
  494. package/lib/md/index.js +1 -1
  495. package/lib/md/index.js.map +1 -1
  496. package/lib/menu/README.mdx +10 -0
  497. package/lib/menu/examples/basic.md +17 -0
  498. package/lib/menu/examples/field-names.md +42 -0
  499. package/lib/menu/examples/icon.md +125 -0
  500. package/lib/menu/examples/multiple.md +42 -0
  501. package/lib/menu/index.js +1 -1
  502. package/lib/menu/index.js.map +1 -1
  503. package/lib/modal/README.mdx +10 -0
  504. package/lib/modal/examples/basic.md +56 -0
  505. package/lib/modal/examples/close-icon.md +57 -0
  506. package/lib/modal/examples/esc-closable.md +64 -0
  507. package/lib/modal/examples/mask-blur.md +56 -0
  508. package/lib/modal/examples/mask-closable.md +64 -0
  509. package/lib/modal/index.js.map +1 -1
  510. package/lib/notification/README.mdx +11 -0
  511. package/lib/notification/examples/basic.md +35 -0
  512. package/lib/notification/examples/close.md +35 -0
  513. package/lib/notification/examples/type.md +84 -0
  514. package/lib/notification/examples/update.md +52 -0
  515. package/lib/notification/index.js.map +1 -1
  516. package/lib/notification/notification.js +1 -1
  517. package/lib/notification/notification.js.map +1 -1
  518. package/lib/pagination/README.mdx +10 -0
  519. package/lib/pagination/examples/basic.md +13 -0
  520. package/lib/pagination/examples/onchange.md +29 -0
  521. package/lib/pagination/examples/size.md +23 -0
  522. package/lib/pagination/examples/total-text.md +42 -0
  523. package/lib/pagination/index.js +1 -1
  524. package/lib/pagination/index.js.map +1 -1
  525. package/lib/popover/README.mdx +10 -0
  526. package/lib/popover/examples/basic.md +35 -0
  527. package/lib/popover/examples/click.md +15 -0
  528. package/lib/popover/examples/context-menu.md +58 -0
  529. package/lib/popover/examples/controlled.md +47 -0
  530. package/lib/popover/index.js +1 -1
  531. package/lib/popover/index.js.map +1 -1
  532. package/lib/prism/css.js.map +1 -1
  533. package/lib/prism/index.js.map +1 -1
  534. package/lib/provider/README.mdx +10 -0
  535. package/lib/provider/examples/scheme.md +14 -0
  536. package/lib/provider/index.js.map +1 -1
  537. package/lib/radio/README.mdx +10 -0
  538. package/lib/radio/examples/basic.md +19 -0
  539. package/lib/radio/examples/disabled-option.md +19 -0
  540. package/lib/radio/examples/disabled.md +19 -0
  541. package/lib/radio/examples/field-names.md +39 -0
  542. package/lib/radio/examples/layout-vertical.md +19 -0
  543. package/lib/radio/examples/status.md +31 -0
  544. package/lib/radio/index.js +1 -1
  545. package/lib/radio/index.js.map +1 -1
  546. package/lib/segmented/README.mdx +10 -0
  547. package/lib/segmented/examples/basic.md +18 -0
  548. package/lib/segmented/examples/custom-field-names.md +43 -0
  549. package/lib/segmented/examples/disabled-option.md +29 -0
  550. package/lib/segmented/examples/disabled.md +18 -0
  551. package/lib/segmented/examples/icon.md +28 -0
  552. package/lib/segmented/examples/options.md +21 -0
  553. package/lib/segmented/index.js +2 -2
  554. package/lib/segmented/index.js.map +1 -1
  555. package/lib/select/README.mdx +10 -0
  556. package/lib/select/examples/basic.md +44 -0
  557. package/lib/select/examples/disabled-option.md +21 -0
  558. package/lib/select/examples/disabled.md +24 -0
  559. package/lib/select/examples/field-names.md +40 -0
  560. package/lib/select/examples/item-suffix.md +84 -0
  561. package/lib/select/examples/multiple.md +61 -0
  562. package/lib/select/examples/no-data.md +12 -0
  563. package/lib/select/examples/prefix-icon.md +74 -0
  564. package/lib/select/index.js +1 -1
  565. package/lib/select/index.js.map +1 -1
  566. package/lib/skeleton/README.mdx +10 -0
  567. package/lib/skeleton/examples/animation.md +13 -0
  568. package/lib/skeleton/examples/avatar.md +13 -0
  569. package/lib/skeleton/examples/basic.md +12 -0
  570. package/lib/skeleton/examples/rows.md +13 -0
  571. package/lib/skeleton/examples/title.md +12 -0
  572. package/lib/skeleton/index.js.map +1 -1
  573. package/lib/spin/README.mdx +10 -0
  574. package/lib/spin/examples/basic.md +67 -0
  575. package/lib/spin/index.js +3 -3
  576. package/lib/spin/index.js.map +1 -1
  577. package/lib/switch/README.mdx +10 -0
  578. package/lib/switch/examples/basic.md +24 -0
  579. package/lib/switch/examples/checked-text.md +17 -0
  580. package/lib/switch/examples/disabled.md +15 -0
  581. package/lib/switch/examples/loading.md +17 -0
  582. package/lib/switch/index.js +1 -1
  583. package/lib/switch/index.js.map +1 -1
  584. package/lib/table/README.mdx +10 -0
  585. package/lib/table/examples/basic.md +29 -0
  586. package/lib/table/examples/key.md +29 -0
  587. package/lib/table/examples/order.md +29 -0
  588. package/lib/table/examples/pagination.md +67 -0
  589. package/lib/table/examples/render.md +92 -0
  590. package/lib/table/examples/size.md +52 -0
  591. package/lib/table/examples/summary.md +40 -0
  592. package/lib/table/index.js +1 -1
  593. package/lib/table/index.js.map +1 -1
  594. package/lib/tabs/README.mdx +10 -0
  595. package/lib/tabs/examples/add-remove.md +115 -0
  596. package/lib/tabs/examples/animated.md +33 -0
  597. package/lib/tabs/examples/basic.md +32 -0
  598. package/lib/tabs/examples/card.md +33 -0
  599. package/lib/tabs/examples/center.md +33 -0
  600. package/lib/tabs/examples/disabled-tab.md +34 -0
  601. package/lib/tabs/examples/disabled.md +33 -0
  602. package/lib/tabs/examples/extra.md +65 -0
  603. package/lib/tabs/index.js +2 -2
  604. package/lib/tabs/index.js.map +1 -1
  605. package/lib/tag/README.mdx +10 -0
  606. package/lib/tag/examples/basic.md +28 -0
  607. package/lib/tag/examples/bordered.md +19 -0
  608. package/lib/tag/examples/color.md +25 -0
  609. package/lib/tag/examples/icon.md +21 -0
  610. package/lib/tag/examples/type.md +19 -0
  611. package/lib/tag/index.js +3 -3
  612. package/lib/tag/index.js.map +1 -1
  613. package/lib/theme/README.mdx +10 -0
  614. package/lib/theme/examples/colors.md +123 -0
  615. package/lib/theme/examples/theme.md +19 -0
  616. package/lib/theme/index.js +1 -1
  617. package/lib/theme/index.js.map +1 -1
  618. package/lib/tree/README.mdx +10 -0
  619. package/lib/tree/examples/basic.md +108 -0
  620. package/lib/tree/examples/custom-render.md +115 -0
  621. package/lib/tree/examples/direction.md +100 -0
  622. package/lib/tree/examples/field-names.md +114 -0
  623. package/lib/tree/examples/multiple.md +117 -0
  624. package/lib/tree/examples/readonly.md +90 -0
  625. package/lib/tree/examples/render-tree-string1.md +70 -0
  626. package/lib/tree/examples/render-tree-string2.md +52 -0
  627. package/lib/tree/examples/schema.md +130 -0
  628. package/lib/tree/examples/size.md +125 -0
  629. package/lib/tree/examples/toggle.md +71 -0
  630. package/lib/tree/index.js +1 -1
  631. package/lib/tree/index.js.map +1 -1
  632. package/lib/tree/register.js.map +1 -1
  633. package/lib/typography/README.mdx +10 -0
  634. package/lib/typography/examples/basic.md +27 -0
  635. package/lib/typography/examples/tag.md +25 -0
  636. package/lib/typography/examples/truncated.md +17 -0
  637. package/lib/typography/index.js.map +1 -1
  638. package/package.json +18 -18
  639. package/types/avatar/group.d.ts +1 -1
  640. package/types/back-top/index.d.ts +1 -1
  641. package/types/capture-screen/index.d.ts +1 -1
  642. package/types/color-palette/index.d.ts +1 -1
  643. package/types/color-picker/index.d.ts +1 -1
  644. package/types/cron/begin-interval.d.ts +3 -3
  645. package/types/cron/index.d.ts +5 -5
  646. package/types/cron/item.d.ts +4 -4
  647. package/types/cron/period.d.ts +3 -3
  648. package/types/cron/some.d.ts +3 -3
  649. package/types/date-picker/date.d.ts +2 -2
  650. package/types/date-picker/index.d.ts +2 -2
  651. package/types/date-picker/month.d.ts +2 -2
  652. package/types/date-picker/panel.d.ts +3 -3
  653. package/types/date-picker/time.d.ts +2 -2
  654. package/types/date-picker/year.d.ts +2 -2
  655. package/types/dropdown/index.d.ts +1 -1
  656. package/types/empty/index.d.ts +1 -1
  657. package/types/from-schema/index.d.ts +4 -4
  658. package/types/index.d.ts +12 -12
  659. package/types/md/index.d.ts +1 -1
  660. package/types/modal/index.d.ts +1 -1
  661. package/types/notification/index.d.ts +1 -1
  662. package/types/pagination/index.d.ts +1 -1
  663. package/types/provider/index.d.ts +1 -1
  664. package/types/segmented/index.d.ts +1 -1
  665. package/types/select/index.d.ts +1 -1
  666. package/types/table/index.d.ts +1 -1
  667. package/types/tabs/index.d.ts +1 -1
  668. package/types/tree/index.d.ts +1 -1
  669. package/umd/assets/svg/favicon.svg +1 -0
  670. package/umd/index.js +2 -2
  671. package/umd/js/46e8f96158e59015.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/code/worker.ts"],"sourcesContent":["self.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/prism.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-bash.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-clike.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-css.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-diff.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-docker.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-git.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-javascript.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-jsx.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-latex.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-less.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-markdown.js');\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-markup-templating.js',\n);\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-markup.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-regex.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-rust.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-sql.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-swift.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-toml.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-tsx.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-typescript.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-wasm.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-yaml.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-bash.js');\n// plugins\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/diff-highlight/prism-diff-highlight.js',\n);\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/highlight-keywords/prism-highlight-keywords.js',\n);\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/line-numbers/prism-line-numbers.js',\n);\n\nfunction onMessage(e: MessageEvent<string>) {\n let result;\n\n try {\n const { code, language = 'markup' } = JSON.parse(e.data) as {\n code: string;\n language: string;\n };\n\n if (/^diff-([\\w-]+)/i.test(language) && !self.Prism.languages[language]) {\n self.Prism.languages[language] = self.Prism.languages.diff;\n }\n\n result = self.Prism.highlight(`${code}\\n`, self.Prism.languages[language], language);\n } catch (error) {\n result = '';\n }\n self.postMessage(result); // 向主线程发送消息\n}\n\nself.addEventListener('message', onMessage, false);\n"],"names":["self","importScripts","addEventListener","e","result","code","language","JSON","parse","data","test","Prism","languages","diff","highlight","error","postMessage"],"mappings":"AAAAA,KAAKC,aAAa,CAAC,wDACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,0EACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,8EACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,4EACnBD,KAAKC,aAAa,CAChB,qFAEFD,KAAKC,aAAa,CAAC,0EACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,8EACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,wEAEnBD,KAAKC,aAAa,CAChB,8FAEFD,KAAKC,aAAa,CAChB,sGAEFD,KAAKC,aAAa,CAChB,0FAuBFD,KAAKE,gBAAgB,CAAC,UApBtB,SAAmBC,CAAuB,EACxC,IAAIC,EAEJ,GAAI,CACF,GAAM,CAAEC,KAAAA,CAAI,CAAEC,SAAAA,EAAW,QAAQ,CAAE,CAAGC,KAAKC,KAAK,CAACL,EAAEM,IAAI,EAKnD,kBAAkBC,IAAI,CAACJ,IAAa,CAACN,KAAKW,KAAK,CAACC,SAAS,CAACN,EAAS,EACrEN,CAAAA,KAAKW,KAAK,CAACC,SAAS,CAACN,EAAS,CAAGN,KAAKW,KAAK,CAACC,SAAS,CAACC,IAAI,AAAD,EAG3DT,EAASJ,KAAKW,KAAK,CAACG,SAAS,CAAC,CAAC,EAAET,EAAK;AAAE,CAAC,CAAEL,KAAKW,KAAK,CAACC,SAAS,CAACN,EAAS,CAAEA,EAC7E,CAAE,MAAOS,EAAO,CACdX,EAAS,EACX,CACAJ,KAAKgB,WAAW,CAACZ,EACnB,EAE4C,CAAA"}
1
+ {"version":3,"sources":["../../components/code/worker.ts"],"sourcesContent":["self.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/prism.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-bash.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-clike.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-css.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-diff.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-docker.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-git.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-javascript.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-jsx.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-latex.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-less.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-markdown.js');\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-markup-templating.js',\n);\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-markup.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-regex.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-rust.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-sql.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-swift.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-toml.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-tsx.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-typescript.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-wasm.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-yaml.js');\nself.importScripts('https://cdn.jsdelivr.net/npm/prismjs@1.29.0/components/prism-bash.js');\n// plugins\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/diff-highlight/prism-diff-highlight.js',\n);\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/highlight-keywords/prism-highlight-keywords.js',\n);\nself.importScripts(\n 'https://cdn.jsdelivr.net/npm/prismjs@1.29.0/plugins/line-numbers/prism-line-numbers.js',\n);\n\nfunction onMessage(e: MessageEvent<string>) {\n let result;\n\n try {\n const { code, language = 'markup' } = JSON.parse(e.data) as {\n code: string;\n language: string;\n };\n\n if (/^diff-([\\w-]+)/i.test(language) && !self.Prism.languages[language]) {\n self.Prism.languages[language] = self.Prism.languages.diff;\n }\n\n result = self.Prism.highlight(`${code}\\n`, self.Prism.languages[language], language);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (error) {\n result = '';\n }\n self.postMessage(result); // 向主线程发送消息\n}\n\nself.addEventListener('message', onMessage, false);\n"],"names":["self","importScripts","addEventListener","e","result","code","language","JSON","parse","data","test","Prism","languages","diff","highlight","error","postMessage"],"mappings":"AAAAA,KAAKC,aAAa,CAAC,wDACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,0EACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,8EACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,4EACnBD,KAAKC,aAAa,CAChB,qFAEFD,KAAKC,aAAa,CAAC,0EACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,yEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,uEACnBD,KAAKC,aAAa,CAAC,8EACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,wEACnBD,KAAKC,aAAa,CAAC,wEAEnBD,KAAKC,aAAa,CAChB,8FAEFD,KAAKC,aAAa,CAChB,sGAEFD,KAAKC,aAAa,CAChB,0FAwBFD,KAAKE,gBAAgB,CAAC,UArBtB,SAAmBC,CAAuB,EACxC,IAAIC,EAEJ,GAAI,CACF,GAAM,CAAEC,KAAAA,CAAI,CAAEC,SAAAA,EAAW,QAAQ,CAAE,CAAGC,KAAKC,KAAK,CAACL,EAAEM,IAAI,EAKnD,kBAAkBC,IAAI,CAACJ,IAAa,CAACN,KAAKW,KAAK,CAACC,SAAS,CAACN,EAAS,EACrEN,CAAAA,KAAKW,KAAK,CAACC,SAAS,CAACN,EAAS,CAAGN,KAAKW,KAAK,CAACC,SAAS,CAACC,IAAI,AAAD,EAG3DT,EAASJ,KAAKW,KAAK,CAACG,SAAS,CAAC,CAAC,EAAET,EAAK;AAAE,CAAC,CAAEL,KAAKW,KAAK,CAACC,SAAS,CAACN,EAAS,CAAEA,EAE7E,CAAE,MAAOS,EAAO,CACdX,EAAS,EACX,CACAJ,KAAKgB,WAAW,CAACZ,EACnB,EAE4C,CAAA"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: 数据录入
3
+ title: 颜色选择面板
4
+ subtitle: n-color-palette
5
+ icon: 🌈
6
+ ---
7
+
8
+ # ColorPalette
9
+
10
+ > 颜色选择面板
@@ -0,0 +1,25 @@
1
+ ---
2
+ title: 最简单的使用方式
3
+ description: 可以给颜色选择面板指定一个初始颜色值 default-value,取值为合法的颜色值。
4
+ order: 1
5
+ ---
6
+
7
+ ```html
8
+ <n-color-palette default-value="#318867"></n-color-palette>
9
+ <script>
10
+ const el = container.querySelector('n-color-palette');
11
+
12
+ el.onchange = function (e) {
13
+ console.log(e.detail);
14
+ };
15
+ </script>
16
+ ```
17
+
18
+ ```jsx
19
+ <n-color-palette
20
+ default-value="#318867"
21
+ onChange={(e) => {
22
+ console.log(e.detail);
23
+ }}
24
+ />
25
+ ```
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: HEXA
3
+ description: 指定一个十六进制的颜色其组成部分是:#RRGGBB,其中RR(红色),GG(绿色)和BB(蓝色)。所有值必须介于0和FF之间。
4
+ order: 2
5
+ ---
6
+
7
+ ```html
8
+ <n-color-palette value="#3188BF67"></n-color-palette>
9
+ ```
10
+
11
+ ```jsx
12
+ <n-color-palette value="#3188BF67" />
13
+ ```
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: HSLA
3
+ description: 色相、饱和度、亮度、透明度
4
+ order: 3
5
+ ---
6
+
7
+ ```html
8
+ <n-color-palette value="hsla(252,68%,63%,1)"></n-color-palette>
9
+ ```
10
+
11
+ ```jsx
12
+ <n-color-palette value="hsla(252,68%,63%,1)" />
13
+ ```
@@ -0,0 +1,13 @@
1
+ ---
2
+ title: RGBA
3
+ description: 红色、绿色、蓝色、透明度
4
+ order: 4
5
+ ---
6
+
7
+ ```html
8
+ <n-color-palette value="rgba(76,81,29,0.73)"></n-color-palette>
9
+ ```
10
+
11
+ ```jsx
12
+ <n-color-palette value="rgba(76,81,29,0.73)" />
13
+ ```
@@ -1,2 +1,2 @@
1
- function e(e,t,r,n,o,i,l){try{var a=e[i](l),s=a.value}catch(e){r(e);return}a.done?t(s):Promise.resolve(s).then(n,o)}function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}import{use as r}from"solid-js/web";import{template as n}from"solid-js/web";import{spread as o}from"solid-js/web";import{mergeProps as i}from"solid-js/web";import"solid-js/web";import{insert as l}from"solid-js/web";import{getOwner as a}from"solid-js/web";import{effect as s}from"solid-js/web";import{delegateEvents as u}from"solid-js/web";import{createComponent as m}from"solid-js/web";import{className as p}from"solid-js/web";import{addEventListener as d}from"solid-js/web";let c=n("<style> "),f=n("<style>"),v=n("<n-input>",!0,!1),g=n('<i class="eye-dropper">'),h=n('<div><div class="picker"></div><div class="chooser"><div class="range"><input class="slider hue" min="0" max="360" type="range"><input class="slider opacity" min="0" max="1" step="0.01" type="range"></div><div class="preview"></div></div><div class="form"><n-dropdown placement="right" trigger="click"><span class="switch"></span></n-dropdown></div><div class="color">',!0,!1),b=n("<n-input-number>",!0,!1),y=n("<i>");import{For as w,Index as C,Show as x,createEffect as j,createMemo as k,createSignal as E,mergeProps as S,onCleanup as P,onMount as $,untrack as B}from"solid-js";import D from"@moneko/common/lib/colorParse";import F from"@moneko/common/lib/isFunction";import L from"@moneko/common/lib/passiveSupported";import M from"@moneko/common/lib/setClipboard";import A from"@moneko/common/lib/throttle";import{css as H,cx as O}from"@moneko/css";import{customElement as R}from"solid-element";import{style as N,switchCss as V}from"./style";import"../dropdown";import"../input";import"../input-number";import G from"../theme";function _(n){let u;let{baseStyle:R}=G,_=S({defaultValue:"#5794ff"},n),z=[{label:"RGBA",value:"rgba",handleClosed:!1},{label:"HSLA",value:"hsla",handleClosed:!1},{label:"HEXA",value:"hexa",handleClosed:!1}],U=["#f44336","#E91E63","#9C27B0","#673AB7","#3F51B5","#2196F3","#00BCD4","#009688","#4CAF50","#CDDC39","#FF9800","#795548","#607D8B"],X={class:"input",size:"small",css:".input{text-align:center;font-size:12px;}"},[K,Y]=E(D(_.value||_.defaultValue)),[q,I]=E(!1);function J(e){return e?Number((100*e).toFixed()):e}function Q(e){let t=e;return"string"==typeof e&&(t=e.replace(/[^\d]/g,"")),t/100}let T=k(()=>{var e;let t=K(),r=t[e=t.type,`to${e[0].toUpperCase()+e.slice(1)}`]();return F(_.onChange)&&r.toString()!==_.value&&_.onChange(r.toString()),r});function W(e=_.defaultValue){B(T).toString()!==e&&Y(D(e))}function Z(e){e.target&&(e.target.value=e.detail)}function ee(e){var t;(null==(t=e.target)?void 0:t.value)&&W(e.target.value)}function et(e){var t;"Enter"===e.key&&"string"==typeof(null==(t=e.target)?void 0:t.value)&&W(e.target.value)}function er(e){if(u){let{x:r,y:n,width:o,height:i}=u.getBoundingClientRect(),l=B(K),a=l.value;a[1]=Math.floor(Math.min(Math.max(0,(e.clientX-r)/o*100),100)),a[2]=Math.floor(100-Math.min(Math.max(0,(e.clientY-n)/i*100),100)),Y(t({},l,{value:a}))}}function en(e,r,n){if("number"==typeof r){let o=B(K),i=3===e||"hsva"===n,l=i?o.value:B(T);l[e]=r||0,i?Y(t({},o,{value:l})):Y(D(l.toString()))}}function eo(e){I(!0),er(e)}function ei(){I(!1)}function el(e){Y(r=>t({},r,{type:e.detail[0]}))}function ea(e){M(B(T).toString(),e.target)}function es(){return eu.apply(this,arguments)}function eu(){var t;return t=function*(){if(window.EyeDropper){let e=yield new window.EyeDropper().open();e.sRGBHex&&W(e.sRGBHex);return}},(eu=function(){var r=this,n=arguments;return new Promise(function(o,i){var l=t.apply(r,n);function a(t){e(l,o,i,a,s,"next",t)}function s(t){e(l,o,i,a,s,"throw",t)}a(void 0)})}).apply(this,arguments)}let em=k(()=>{let e=K(),t=e.value;return`.palette {--c:${e.toRgbaString()};--h:${t[0]};--s:${t[1]};--v:${t[2]};--a:${t[3]};}`});return j(()=>{A(W,8)(_.value)}),j(()=>{q()&&document.body.addEventListener("mousemove",er,{passive:L}),P(()=>{document.body.removeEventListener("mousemove",er,!1)})}),$(()=>{document.body.addEventListener("mouseup",ei,{passive:L})}),P(()=>{document.body.removeEventListener("mouseup",ei,!1)}),[(()=>{let e=c(),t=e.firstChild;return s(()=>t.data=R()),e})(),(()=>{let e=f();return e.textContent=N,e})(),(()=>{let e=c(),t=e.firstChild;return s(()=>t.data=em()),e})(),m(x,{get when(){return _.css},get children(){let e=c(),t=e.firstChild;return s(()=>t.data=H(_.css)),e}}),(()=>{let e=h(),t=e.firstChild,n=u,c=t.nextSibling,f=c.firstChild,j=f.firstChild,k=j.nextSibling,E=f.nextSibling,S=c.nextSibling,P=S.firstChild,$=P.firstChild,D=S.nextSibling;return d(t,"mousedown",eo,!0),"function"==typeof n?r(n,t):u=t,j.$$input=e=>en(0,Number(e.target.value),"hsva"),k.$$input=e=>en(3,Number(e.target.value)),d(E,"click",ea,!0),l(S,m(x,{get when(){return"hexa"===K().type},get fallback(){return m(C,{get each(){return T()},children:(e,t)=>{let r=Object.assign({},X,3===t&&{step:.01,formatter:J,parse:Q});return(()=>{let n=b();return o(n,i(r,{get value(){return e()},get max(){return B(T).max[t]},min:0,onChange:e=>{en(t,e.detail)}}),!1,!1),n._$owner=a(),n})()}})},get children(){let e=v();return o(e,i(X,{get value(){return K().toHexaString()},onChange:Z,onBlur:ee,onKeyUp:et}),!1,!1),e._$owner=a(),e}}),P),d(P,"change",el),P.css=V,P.items=z,P._$owner=a(),l($,()=>K().type),l(D,m(x,{get when(){return window.EyeDropper},get fallback(){return(()=>{let e=y();return d(e,"click",W.bind(null,"rgba(168,16,16,0.15)"),!0),e.style.setProperty("--c","rgba(168,16,16,0.15)"),e})()},get children(){let e=g();return d(e,"click",es,!0),e.style.setProperty("--c","transparent"),e}}),null),l(D,m(w,{each:U,children:e=>(()=>{let t=y();return d(t,"click",W.bind(null,e),!0),null!=e?t.style.setProperty("--c",e):t.style.removeProperty("--c"),t})()}),null),s(()=>p(e,O("palette",_.class))),s(()=>j.value=K().value[0]),s(()=>k.value=K().value[3]),s(()=>P.value=K().type),e})()]}export const defaultColorPaletteProps={class:void 0,style:void 0,css:void 0,value:void 0,defaultValue:void 0,onChange:void 0};R("n-color-palette",defaultColorPaletteProps,(e,t)=>{let r=t.element;return m(_,S({onChange(e){r.dispatchEvent(new CustomEvent("change",{detail:e}))}},e))});export default _;u(["click","input","mousedown"]);
1
+ function e(e,t,r,n,o,i,l){try{var a=e[i](l),s=a.value}catch(e){r(e);return}a.done?t(s):Promise.resolve(s).then(n,o)}function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}import{use as r}from"solid-js/web";import{template as n}from"solid-js/web";import{spread as o}from"solid-js/web";import{mergeProps as i}from"solid-js/web";import"solid-js/web";import{insert as l}from"solid-js/web";import{getOwner as a}from"solid-js/web";import{effect as s}from"solid-js/web";import{delegateEvents as u}from"solid-js/web";import{createComponent as m}from"solid-js/web";import{className as p}from"solid-js/web";import{addEventListener as c}from"solid-js/web";let d=n("<style> "),f=n("<style>"),v=n("<n-input>",!0,!1),g=n('<i class="eye-dropper">'),h=n('<div><div class="picker"></div><div class="chooser"><div class="range"><input class="slider hue" min="0" max="360" type="range"><input class="slider opacity" min="0" max="1" step="0.01" type="range"></div><div class="preview"></div></div><div class="form"><n-dropdown placement="right" trigger="click"><span class="switch"></span></n-dropdown></div><div class="color">',!0,!1),b=n("<n-input-number>",!0,!1),y=n("<i>");import{createEffect as w,createMemo as C,createSignal as x,For as j,Index as k,mergeProps as E,onCleanup as S,onMount as P,Show as $,untrack as B}from"solid-js";import D from"@moneko/common/lib/colorParse";import F from"@moneko/common/lib/isFunction";import L from"@moneko/common/lib/passiveSupported";import M from"@moneko/common/lib/setClipboard";import A from"@moneko/common/lib/throttle";import{css as H,cx as O}from"@moneko/css";import{customElement as R}from"solid-element";import N from"../theme";import{style as V,switchCss as G}from"./style";import"../dropdown";import"../input";import"../input-number";function _(n){let u;let{baseStyle:R}=N,_=E({defaultValue:"#5794ff"},n),z=[{label:"RGBA",value:"rgba",handleClosed:!1},{label:"HSLA",value:"hsla",handleClosed:!1},{label:"HEXA",value:"hexa",handleClosed:!1}],U=["#f44336","#E91E63","#9C27B0","#673AB7","#3F51B5","#2196F3","#00BCD4","#009688","#4CAF50","#CDDC39","#FF9800","#795548","#607D8B"],X={class:"input",size:"small",css:".input{text-align:center;font-size:12px;}"},[K,Y]=x(D(_.value||_.defaultValue)),[q,I]=x(!1);function J(e){return e?Number((100*e).toFixed()):e}function Q(e){let t=e;return"string"==typeof e&&(t=e.replace(/[^\d]/g,"")),t/100}let T=C(()=>{var e;let t=K(),r=t[e=t.type,`to${e[0].toUpperCase()+e.slice(1)}`]();return F(_.onChange)&&r.toString()!==_.value&&_.onChange(r.toString()),r});function W(e=_.defaultValue){B(T).toString()!==e&&Y(D(e))}function Z(e){e.target&&(e.target.value=e.detail)}function ee(e){e.target.value&&W(e.target.value)}function et(e){"Enter"===e.key&&"string"==typeof e.target.value&&W(e.target.value)}function er(e){if(u){let{x:r,y:n,width:o,height:i}=u.getBoundingClientRect(),l=B(K),a=l.value;a[1]=Math.floor(Math.min(Math.max(0,(e.clientX-r)/o*100),100)),a[2]=Math.floor(100-Math.min(Math.max(0,(e.clientY-n)/i*100),100)),Y(t({},l,{value:a}))}}function en(e,r,n){if("number"==typeof r){let o=B(K),i=3===e||"hsva"===n,l=i?o.value:B(T);l[e]=r||0,i?Y(t({},o,{value:l})):Y(D(l.toString()))}}function eo(e){I(!0),er(e)}function ei(){I(!1)}function el(e){Y(r=>t({},r,{type:e.detail[0]}))}function ea(e){M(B(T).toString(),e.target)}function es(){return eu.apply(this,arguments)}function eu(){var t;return t=function*(){if(window.EyeDropper){let e=yield new window.EyeDropper().open();e.sRGBHex&&W(e.sRGBHex);return}},(eu=function(){var r=this,n=arguments;return new Promise(function(o,i){var l=t.apply(r,n);function a(t){e(l,o,i,a,s,"next",t)}function s(t){e(l,o,i,a,s,"throw",t)}a(void 0)})}).apply(this,arguments)}let em=C(()=>{let e=K(),t=e.value;return`.palette {--c:${e.toRgbaString()};--h:${t[0]};--s:${t[1]};--v:${t[2]};--a:${t[3]};}`});return w(()=>{A(W,8)(_.value)}),w(()=>{q()&&document.body.addEventListener("mousemove",er,{passive:L}),S(()=>{document.body.removeEventListener("mousemove",er,!1)})}),P(()=>{document.body.addEventListener("mouseup",ei,{passive:L})}),S(()=>{document.body.removeEventListener("mouseup",ei,!1)}),[(()=>{let e=d(),t=e.firstChild;return s(()=>t.data=R()),e})(),(()=>{let e=f();return e.textContent=V,e})(),(()=>{let e=d(),t=e.firstChild;return s(()=>t.data=em()),e})(),m($,{get when(){return _.css},get children(){let e=d(),t=e.firstChild;return s(()=>t.data=H(_.css)),e}}),(()=>{let e=h(),t=e.firstChild,n=u,d=t.nextSibling,f=d.firstChild,w=f.firstChild,C=w.nextSibling,x=f.nextSibling,E=d.nextSibling,S=E.firstChild,P=S.firstChild,D=E.nextSibling;return c(t,"mousedown",eo,!0),"function"==typeof n?r(n,t):u=t,w.$$input=e=>{en(0,Number(e.target.value),"hsva")},C.$$input=e=>{en(3,Number(e.target.value))},c(x,"click",ea,!0),l(E,m($,{get when(){return"hexa"===K().type},get fallback(){return m(k,{get each(){return T()},children:(e,t)=>{let r=Object.assign({},X,3===t&&{step:.01,formatter:J,parse:Q});return(()=>{let n=b();return o(n,i(r,{get value(){return e()},get max(){return B(T).max[t]},min:0,onChange:e=>{en(t,e.detail)}}),!1,!1),n._$owner=a(),n})()}})},get children(){let e=v();return o(e,i(X,{get value(){return K().toHexaString()},onChange:Z,onBlur:ee,onKeyUp:et}),!1,!1),e._$owner=a(),e}}),S),c(S,"change",el),S.css=G,S.items=z,S._$owner=a(),l(P,()=>K().type),l(D,m($,{get when(){return window.EyeDropper},get fallback(){return(()=>{let e=y();return c(e,"click",W.bind(null,"rgba(168,16,16,0.15)"),!0),e.style.setProperty("--c","rgba(168,16,16,0.15)"),e})()},get children(){let e=g();return c(e,"click",es,!0),e.style.setProperty("--c","transparent"),e}}),null),l(D,m(j,{each:U,children:e=>(()=>{let t=y();return c(t,"click",W.bind(null,e),!0),null!=e?t.style.setProperty("--c",e):t.style.removeProperty("--c"),t})()}),null),s(()=>p(e,O("palette",_.class))),s(()=>w.value=K().value[0]),s(()=>C.value=K().value[3]),s(()=>S.value=K().type),e})()]}export const defaultColorPaletteProps={class:void 0,style:void 0,css:void 0,value:void 0,defaultValue:void 0,onChange:void 0};R("n-color-palette",defaultColorPaletteProps,(e,t)=>{let r=t.element;return m(_,E({onChange(e){r.dispatchEvent(new CustomEvent("change",{detail:e}))}},e))});export default _;u(["click","input","mousedown"]);
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/color-palette/index.tsx"],"sourcesContent":["import {\n For,\n Index,\n Show,\n createEffect,\n createMemo,\n createSignal,\n mergeProps,\n onCleanup,\n onMount,\n untrack,\n} from 'solid-js';\nimport {\n type ColorParse,\n type ColorType,\n type HSVA,\n colorParse,\n isFunction,\n passiveSupported,\n setClipboard,\n throttle,\n} from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\nimport { style, switchCss } from './style';\nimport '../dropdown';\nimport '../input';\nimport '../input-number';\nimport theme from '../theme';\nimport type { CustomElement, InputNumberProps } from '..';\n\nexport interface ColorPaletteProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** 颜色值 */\n value?: string;\n /** 默认值\n * @default '#5794ff'\n */\n defaultValue?: string;\n /** 变更时触发的方法 */\n onChange?: (color: string) => void;\n}\nexport type ColorPaletteElement = CustomElement<ColorPaletteProps>;\n\nfunction ColorPalette(_: ColorPaletteProps) {\n const { baseStyle } = theme;\n const props = mergeProps({ defaultValue: '#5794ff' }, _);\n let picker: HTMLDivElement | undefined;\n const types = [\n { label: 'RGBA', value: 'rgba', handleClosed: false },\n { label: 'HSLA', value: 'hsla', handleClosed: false },\n { label: 'HEXA', value: 'hexa', handleClosed: false },\n ];\n const material = [\n '#f44336',\n '#E91E63',\n '#9C27B0',\n '#673AB7',\n '#3F51B5',\n '#2196F3',\n '#00BCD4',\n '#009688',\n '#4CAF50',\n '#CDDC39',\n '#FF9800',\n '#795548',\n '#607D8B',\n ];\n const inputProps: InputNumberProps = {\n class: 'input',\n size: 'small',\n css: '.input{text-align:center;font-size:12px;}',\n };\n const [hsva, setHsva] = createSignal<ColorParse<HSVA>>(\n // eslint-disable-next-line solid/reactivity\n colorParse(props.value || props.defaultValue),\n );\n const [drag, setDrag] = createSignal(false);\n\n type HsvaToColorVoid = 'toHexa' | 'toRgba' | 'toHsla' | 'toCmyk' | 'toHsva';\n\n function formatterOpacity(v?: number | string) {\n return v ? Number(((v as number) * 100).toFixed()) : v;\n }\n function parseOpacity(v?: string | number) {\n let _val = v;\n\n if (typeof v === 'string') {\n _val = v.replace(/[^\\d]/g, '');\n }\n return (_val as number) / 100;\n }\n function capFirst(str: string) {\n return `to${str[0].toUpperCase() + str.slice(1)}` as HsvaToColorVoid;\n }\n const color = createMemo(() => {\n const s = hsva();\n const c = s[capFirst(s.type)]();\n\n if (isFunction(props.onChange) && c.toString() !== props.value) {\n props.onChange(c.toString());\n }\n return c;\n });\n\n function setColor(c = props.defaultValue) {\n if (untrack(color).toString() !== c) {\n setHsva(colorParse(c as string));\n }\n }\n function handleHexa(e: CustomEvent) {\n if (e.target) {\n (e.target as HTMLInputElement).value = e.detail;\n }\n }\n function handleHexaBlur(e: FocusEvent & { target: { value: string } }) {\n if (e.target?.value) {\n setColor(e.target.value);\n }\n }\n function handleHexaEnter(e: KeyboardEvent & { target: { value: string } }) {\n if (e.key === 'Enter' && typeof e.target?.value === 'string') {\n setColor(e.target.value);\n }\n }\n function changeColor(ev: MouseEvent) {\n if (picker) {\n const { x, y, width, height } = picker.getBoundingClientRect();\n const prev = untrack(hsva);\n const next = prev.value;\n\n next[1] = Math.floor(Math.min(Math.max(0, ((ev.clientX - x) / width) * 100), 100));\n next[2] = Math.floor(100 - Math.min(Math.max(0, ((ev.clientY - y) / height) * 100), 100));\n\n setHsva({ ...prev, value: next });\n }\n }\n\n function handleChange(i: number, v?: number, t?: ColorType) {\n if (typeof v === 'number') {\n const prev = untrack(hsva);\n const changeHsv = i === 3 || t === 'hsva';\n const next = changeHsv ? prev.value : (untrack(color) as HSVA);\n\n next[i] = v || 0;\n if (changeHsv) {\n setHsva({\n ...prev,\n value: next,\n });\n } else {\n setHsva(colorParse(next.toString()));\n }\n }\n }\n function mouseDown(e: MouseEvent) {\n setDrag(true);\n changeColor(e);\n }\n function mouseUp() {\n setDrag(false);\n }\n function handleSwitch(e: CustomEvent) {\n setHsva((prev) => ({\n ...prev,\n type: e.detail[0],\n }));\n }\n\n function copy(e: MouseEvent) {\n setClipboard(untrack(color).toString(), e.target as HTMLElement);\n }\n async function eyeDropper() {\n if (window.EyeDropper) {\n const res = await new window.EyeDropper().open();\n\n if (res.sRGBHex) {\n setColor(res.sRGBHex);\n }\n return;\n }\n }\n const colorVar = createMemo(() => {\n const h = hsva(),\n value = h.value;\n\n return `.palette {--c:${h.toRgbaString()};--h:${value[0]};--s:${value[1]};--v:${value[2]};--a:${\n value[3]\n };}`;\n });\n\n createEffect(() => {\n throttle(setColor, 8)(props.value);\n });\n\n createEffect(() => {\n if (drag()) {\n document.body.addEventListener('mousemove', changeColor, {\n passive: passiveSupported,\n });\n }\n onCleanup(() => {\n document.body.removeEventListener('mousemove', changeColor, false);\n });\n });\n onMount(() => {\n document.body.addEventListener('mouseup', mouseUp, {\n passive: passiveSupported,\n });\n });\n onCleanup(() => {\n document.body.removeEventListener('mouseup', mouseUp, false);\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={style} />\n <style textContent={colorVar()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div class={cx('palette', props.class)}>\n <div ref={picker} class=\"picker\" onMouseDown={mouseDown} />\n <div class=\"chooser\">\n <div class=\"range\">\n <input\n class=\"slider hue\"\n min=\"0\"\n max=\"360\"\n type=\"range\"\n value={hsva().value[0]}\n onInput={(e) => handleChange(0, Number(e.target.value), 'hsva')}\n />\n <input\n class=\"slider opacity\"\n min=\"0\"\n max=\"1\"\n step=\"0.01\"\n type=\"range\"\n value={hsva().value[3]}\n onInput={(e) => handleChange(3, Number(e.target.value))}\n />\n </div>\n <div class=\"preview\" onClick={copy} />\n </div>\n <div class=\"form\">\n <Show\n when={hsva().type === 'hexa'}\n fallback={\n <>\n <Index each={color()}>\n {(n, i) => {\n const inp = Object.assign(\n {},\n inputProps,\n i === 3 && {\n step: 0.01,\n formatter: formatterOpacity,\n parse: parseOpacity,\n },\n );\n\n return (\n <n-input-number\n {...inp}\n value={n() as number}\n max={\n (\n untrack(color) as HSVA & {\n max: [360, 100, 100, 1];\n }\n ).max[i]\n }\n min={0}\n onChange={(e) => {\n handleChange(i, e.detail);\n }}\n />\n );\n }}\n </Index>\n </>\n }\n >\n <n-input\n {...inputProps}\n value={hsva().toHexaString()}\n onChange={handleHexa}\n onBlur={handleHexaBlur}\n onKeyUp={handleHexaEnter}\n />\n </Show>\n <n-dropdown\n css={switchCss}\n value={hsva().type}\n items={types}\n placement=\"right\"\n trigger=\"click\"\n onChange={handleSwitch}\n >\n <span class=\"switch\">{hsva().type}</span>\n </n-dropdown>\n </div>\n <div class=\"color\">\n <Show\n when={window.EyeDropper}\n fallback={\n <i\n style={{ '--c': 'rgba(168,16,16,0.15)' }}\n onClick={setColor.bind(null, 'rgba(168,16,16,0.15)')}\n />\n }\n >\n <i class=\"eye-dropper\" style={{ '--c': 'transparent' }} onClick={eyeDropper} />\n </Show>\n <For each={material}>\n {(c) => <i style={{ '--c': c }} onClick={setColor.bind(null, c)} />}\n </For>\n </div>\n </div>\n </>\n );\n}\n\nexport const defaultColorPaletteProps = {\n class: void 0,\n style: void 0,\n css: void 0,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n};\n\ncustomElement<ColorPaletteProps>('n-color-palette', defaultColorPaletteProps, (_, opts) => {\n const el = opts.element;\n const props = mergeProps(\n {\n onChange(val?: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n },\n _,\n );\n\n return <ColorPalette {...props} />;\n});\n\nexport default ColorPalette;\n"],"names":["For","Index","Show","createEffect","createMemo","createSignal","mergeProps","onCleanup","onMount","untrack","colorParse","isFunction","passiveSupported","setClipboard","throttle","css","cx","customElement","style","switchCss","theme","ColorPalette","_","picker","baseStyle","props","defaultValue","types","label","value","handleClosed","material","inputProps","class","size","hsva","setHsva","drag","setDrag","formatterOpacity","v","Number","toFixed","parseOpacity","_val","replace","color","str","s","c","type","toUpperCase","slice","onChange","toString","setColor","handleHexa","e","target","detail","handleHexaBlur","handleHexaEnter","key","changeColor","ev","x","y","width","height","getBoundingClientRect","prev","next","Math","floor","min","max","clientX","clientY","handleChange","i","t","changeHsv","mouseDown","mouseUp","handleSwitch","copy","eyeDropper","window","EyeDropper","res","open","sRGBHex","colorVar","h","toRgbaString","document","body","addEventListener","passive","removeEventListener","n","inp","Object","assign","step","formatter","parse","toHexaString","bind","defaultColorPaletteProps","opts","el","element","val","dispatchEvent","CustomEvent"],"mappings":"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"}
1
+ {"version":3,"sources":["../../components/color-palette/index.tsx"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n For,\n Index,\n mergeProps,\n onCleanup,\n onMount,\n Show,\n untrack,\n} from 'solid-js';\nimport {\n type ColorParse,\n colorParse,\n type ColorType,\n type HSVA,\n isFunction,\n passiveSupported,\n setClipboard,\n throttle,\n} from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement, InputNumberProps } from '..';\nimport theme from '../theme';\n\nimport { style, switchCss } from './style';\n\nimport '../dropdown';\nimport '../input';\nimport '../input-number';\n\nexport interface ColorPaletteProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** 颜色值 */\n value?: string;\n /** 默认值\n * @default '#5794ff'\n */\n defaultValue?: string;\n /** 变更时触发的方法 */\n onChange?: (color: string) => void;\n}\nexport type ColorPaletteElement = CustomElement<ColorPaletteProps>;\n\nfunction ColorPalette(_: ColorPaletteProps) {\n const { baseStyle } = theme;\n const props = mergeProps({ defaultValue: '#5794ff' }, _);\n let picker: HTMLDivElement | undefined;\n const types = [\n { label: 'RGBA', value: 'rgba', handleClosed: false },\n { label: 'HSLA', value: 'hsla', handleClosed: false },\n { label: 'HEXA', value: 'hexa', handleClosed: false },\n ];\n const material = [\n '#f44336',\n '#E91E63',\n '#9C27B0',\n '#673AB7',\n '#3F51B5',\n '#2196F3',\n '#00BCD4',\n '#009688',\n '#4CAF50',\n '#CDDC39',\n '#FF9800',\n '#795548',\n '#607D8B',\n ];\n const inputProps: InputNumberProps = {\n class: 'input',\n size: 'small',\n css: '.input{text-align:center;font-size:12px;}',\n };\n const [hsva, setHsva] = createSignal<ColorParse<HSVA>>(\n // eslint-disable-next-line solid/reactivity\n colorParse(props.value || props.defaultValue),\n );\n const [drag, setDrag] = createSignal(false);\n\n type HsvaToColorVoid = 'toHexa' | 'toRgba' | 'toHsla' | 'toCmyk' | 'toHsva';\n\n function formatterOpacity(v?: number | string) {\n return v ? Number(((v as number) * 100).toFixed()) : v;\n }\n function parseOpacity(v?: string | number) {\n let _val = v;\n\n if (typeof v === 'string') {\n _val = v.replace(/[^\\d]/g, '');\n }\n return (_val as number) / 100;\n }\n function capFirst(str: string) {\n return `to${str[0].toUpperCase() + str.slice(1)}` as HsvaToColorVoid;\n }\n const color = createMemo(() => {\n const s = hsva();\n const c = s[capFirst(s.type)]();\n\n if (isFunction(props.onChange) && c.toString() !== props.value) {\n props.onChange(c.toString());\n }\n return c;\n });\n\n function setColor(c = props.defaultValue) {\n if (untrack(color).toString() !== c) {\n setHsva(colorParse(c));\n }\n }\n function handleHexa(e: CustomEvent) {\n if (e.target) {\n (e.target as HTMLInputElement).value = e.detail;\n }\n }\n function handleHexaBlur(e: FocusEvent & { target: { value: string } }) {\n if (e.target.value) {\n setColor(e.target.value);\n }\n }\n function handleHexaEnter(e: KeyboardEvent & { target: { value: string } }) {\n if (e.key === 'Enter' && typeof e.target.value === 'string') {\n setColor(e.target.value);\n }\n }\n function changeColor(ev: MouseEvent) {\n if (picker) {\n const { x, y, width, height } = picker.getBoundingClientRect();\n const prev = untrack(hsva);\n const next = prev.value;\n\n next[1] = Math.floor(Math.min(Math.max(0, ((ev.clientX - x) / width) * 100), 100));\n next[2] = Math.floor(100 - Math.min(Math.max(0, ((ev.clientY - y) / height) * 100), 100));\n\n setHsva({ ...prev, value: next });\n }\n }\n\n function handleChange(i: number, v?: number, t?: ColorType) {\n if (typeof v === 'number') {\n const prev = untrack(hsva);\n const changeHsv = i === 3 || t === 'hsva';\n const next = changeHsv ? prev.value : (untrack(color) as HSVA);\n\n next[i] = v || 0;\n if (changeHsv) {\n setHsva({\n ...prev,\n value: next,\n });\n } else {\n setHsva(colorParse(next.toString()));\n }\n }\n }\n function mouseDown(e: MouseEvent) {\n setDrag(true);\n changeColor(e);\n }\n function mouseUp() {\n setDrag(false);\n }\n function handleSwitch(e: CustomEvent) {\n setHsva((prev) => ({\n ...prev,\n type: e.detail[0],\n }));\n }\n\n function copy(e: MouseEvent) {\n setClipboard(untrack(color).toString(), e.target as HTMLElement);\n }\n async function eyeDropper() {\n if (window.EyeDropper) {\n const res = await new window.EyeDropper().open();\n\n if (res.sRGBHex) {\n setColor(res.sRGBHex);\n }\n return;\n }\n }\n const colorVar = createMemo(() => {\n const h = hsva(),\n value = h.value;\n\n return `.palette {--c:${h.toRgbaString()};--h:${value[0]};--s:${value[1]};--v:${value[2]};--a:${\n value[3]\n };}`;\n });\n\n createEffect(() => {\n throttle(setColor, 8)(props.value);\n });\n\n createEffect(() => {\n if (drag()) {\n document.body.addEventListener('mousemove', changeColor, {\n passive: passiveSupported,\n });\n }\n onCleanup(() => {\n document.body.removeEventListener('mousemove', changeColor, false);\n });\n });\n onMount(() => {\n document.body.addEventListener('mouseup', mouseUp, {\n passive: passiveSupported,\n });\n });\n onCleanup(() => {\n document.body.removeEventListener('mouseup', mouseUp, false);\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={style} />\n <style textContent={colorVar()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div class={cx('palette', props.class)}>\n <div ref={picker} class=\"picker\" onMouseDown={mouseDown} />\n <div class=\"chooser\">\n <div class=\"range\">\n <input\n class=\"slider hue\"\n min=\"0\"\n max=\"360\"\n type=\"range\"\n value={hsva().value[0]}\n onInput={(e) => {\n handleChange(0, Number(e.target.value), 'hsva');\n }}\n />\n <input\n class=\"slider opacity\"\n min=\"0\"\n max=\"1\"\n step=\"0.01\"\n type=\"range\"\n value={hsva().value[3]}\n onInput={(e) => {\n handleChange(3, Number(e.target.value));\n }}\n />\n </div>\n <div class=\"preview\" onClick={copy} />\n </div>\n <div class=\"form\">\n <Show\n when={hsva().type === 'hexa'}\n fallback={\n <>\n <Index each={color()}>\n {(n, i) => {\n const inp = Object.assign(\n {},\n inputProps,\n i === 3 && {\n step: 0.01,\n formatter: formatterOpacity,\n parse: parseOpacity,\n },\n );\n\n return (\n <n-input-number\n {...inp}\n value={n() as number}\n max={\n (\n untrack(color) as HSVA & {\n max: [360, 100, 100, 1];\n }\n ).max[i]\n }\n min={0}\n onChange={(e) => {\n handleChange(i, e.detail);\n }}\n />\n );\n }}\n </Index>\n </>\n }\n >\n <n-input\n {...inputProps}\n value={hsva().toHexaString()}\n onChange={handleHexa}\n onBlur={handleHexaBlur}\n onKeyUp={handleHexaEnter}\n />\n </Show>\n <n-dropdown\n css={switchCss}\n value={hsva().type}\n items={types}\n placement=\"right\"\n trigger=\"click\"\n onChange={handleSwitch}\n >\n <span class=\"switch\">{hsva().type}</span>\n </n-dropdown>\n </div>\n <div class=\"color\">\n <Show\n when={window.EyeDropper}\n fallback={\n <i\n style={{ '--c': 'rgba(168,16,16,0.15)' }}\n onClick={setColor.bind(null, 'rgba(168,16,16,0.15)')}\n />\n }\n >\n <i class=\"eye-dropper\" style={{ '--c': 'transparent' }} onClick={eyeDropper} />\n </Show>\n <For each={material}>\n {(c) => <i style={{ '--c': c }} onClick={setColor.bind(null, c)} />}\n </For>\n </div>\n </div>\n </>\n );\n}\n\nexport const defaultColorPaletteProps = {\n class: void 0,\n style: void 0,\n css: void 0,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n};\n\ncustomElement<ColorPaletteProps>('n-color-palette', defaultColorPaletteProps, (_, opts) => {\n const el = opts.element;\n const props = mergeProps(\n {\n onChange(val?: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n },\n _,\n );\n\n return <ColorPalette {...props} />;\n});\n\nexport default ColorPalette;\n"],"names":["createEffect","createMemo","createSignal","For","Index","mergeProps","onCleanup","onMount","Show","untrack","colorParse","isFunction","passiveSupported","setClipboard","throttle","css","cx","customElement","theme","style","switchCss","ColorPalette","_","picker","baseStyle","props","defaultValue","types","label","value","handleClosed","material","inputProps","class","size","hsva","setHsva","drag","setDrag","formatterOpacity","v","Number","toFixed","parseOpacity","_val","replace","color","str","s","c","type","toUpperCase","slice","onChange","toString","setColor","handleHexa","e","target","detail","handleHexaBlur","handleHexaEnter","key","changeColor","ev","x","y","width","height","getBoundingClientRect","prev","next","Math","floor","min","max","clientX","clientY","handleChange","i","t","changeHsv","mouseDown","mouseUp","handleSwitch","copy","eyeDropper","window","EyeDropper","res","open","sRGBHex","colorVar","h","toRgbaString","document","body","addEventListener","passive","removeEventListener","n","inp","Object","assign","step","formatter","parse","toHexaString","bind","defaultColorPaletteProps","opts","el","element","val","dispatchEvent","CustomEvent"],"mappings":"4xCAAA,QACEA,gBAAAA,CAAY,CACZC,cAAAA,CAAU,CACVC,gBAAAA,CAAY,CACZC,OAAAA,CAAG,CACHC,SAAAA,CAAK,CACLC,cAAAA,CAAU,CACVC,aAAAA,CAAS,CACTC,WAAAA,CAAO,CACPC,QAAAA,CAAI,CACJC,WAAAA,CAAO,KACF,UAAW,AAClB,QAEEC,MAOK,+BAAiB,AATxB,QAKEC,MAIK,+BAAiB,AATxB,QAMEC,MAGK,qCAAiB,AATxB,QAOEC,MAEK,iCAAiB,AATxB,QAQEC,MACK,6BAAiB,AACxB,QAASC,OAAAA,CAAG,CAAEC,MAAAA,CAAE,KAAQ,aAAc,AACtC,QAASC,iBAAAA,CAAa,KAAQ,eAAgB,AAG9C,QAAOC,MAAW,UAAW,AAE7B,QAASC,SAAAA,CAAK,CAAEC,aAAAA,CAAS,KAAQ,SAAU,AAE3C,OAAO,aAAc,AACrB,OAAO,UAAW,AAClB,OAAO,iBAAkB,CAkBzB,SAASC,EAAaC,CAAoB,MAGpCC,EAFJ,GAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGN,EAChBO,EAAQpB,EAAW,CAAEqB,aAAc,SAAU,EAAGJ,GAEhDK,EAAQ,CACZ,CAAEC,MAAO,OAAQC,MAAO,OAAQC,aAAc,CAAA,CAAM,EACpD,CAAEF,MAAO,OAAQC,MAAO,OAAQC,aAAc,CAAA,CAAM,EACpD,CAAEF,MAAO,OAAQC,MAAO,OAAQC,aAAc,CAAA,CAAM,EACrD,CACKC,EAAW,CACf,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACD,CACKC,EAA+B,CACnCC,MAAO,QACPC,KAAM,QACNnB,IAAK,2CACP,EACM,CAACoB,EAAMC,EAAQ,CAAGlC,EAEtBQ,EAAWe,EAAMI,KAAK,EAAIJ,EAAMC,YAAY,GAExC,CAACW,EAAMC,EAAQ,CAAGpC,EAAa,CAAA,GAIrC,SAASqC,EAAiBC,CAAmB,EAC3C,OAAOA,EAAIC,OAAO,AAAC,CAAA,AAAgB,IAAfD,CAAiB,EAAGE,OAAO,IAAMF,CACvD,CACA,SAASG,EAAaH,CAAmB,EACvC,IAAII,EAAOJ,EAKX,MAHiB,UAAb,OAAOA,GACTI,CAAAA,EAAOJ,EAAEK,OAAO,CAAC,SAAU,GAAE,EAExB,AAACD,EAAkB,GAC5B,CAIA,IAAME,EAAQ7C,EAAW,SAHP8C,EAIhB,IAAMC,EAAIb,IACJc,EAAID,CAAC,CALKD,EAKKC,EAAEE,IAAI,CAJpB,CAAC,EAAE,EAAEH,CAAG,CAAC,EAAE,CAACI,WAAW,GAAKJ,EAAIK,KAAK,CAAC,GAAG,CAAC,CAIpB,GAK7B,OAHIzC,EAAWc,EAAM4B,QAAQ,GAAKJ,EAAEK,QAAQ,KAAO7B,EAAMI,KAAK,EAC5DJ,EAAM4B,QAAQ,CAACJ,EAAEK,QAAQ,IAEpBL,CACT,GAEA,SAASM,EAASN,EAAIxB,EAAMC,YAAY,EAClCjB,EAAQqC,GAAOQ,QAAQ,KAAOL,GAChCb,EAAQ1B,EAAWuC,GAEvB,CACA,SAASO,EAAWC,CAAc,EAC5BA,EAAEC,MAAM,EACV,CAAA,AAACD,EAAEC,MAAM,CAAsB7B,KAAK,CAAG4B,EAAEE,MAAM,AAAD,CAElD,CACA,SAASC,GAAeH,CAA6C,EAC/DA,EAAEC,MAAM,CAAC7B,KAAK,EAChB0B,EAASE,EAAEC,MAAM,CAAC7B,KAAK,CAE3B,CACA,SAASgC,GAAgBJ,CAAgD,EACzD,UAAVA,EAAEK,GAAG,EAAgB,AAA0B,UAA1B,OAAOL,EAAEC,MAAM,CAAC7B,KAAK,EAC5C0B,EAASE,EAAEC,MAAM,CAAC7B,KAAK,CAE3B,CACA,SAASkC,GAAYC,CAAc,EACjC,GAAIzC,EAAQ,CACV,GAAM,CAAE0C,EAAAA,CAAC,CAAEC,EAAAA,CAAC,CAAEC,MAAAA,CAAK,CAAEC,OAAAA,CAAM,CAAE,CAAG7C,EAAO8C,qBAAqB,GACtDC,EAAO7D,EAAQ0B,GACfoC,EAAOD,EAAKzC,KAAK,AAEvB0C,CAAAA,CAAI,CAAC,EAAE,CAAGC,KAAKC,KAAK,CAACD,KAAKE,GAAG,CAACF,KAAKG,GAAG,CAAC,EAAG,AAAEX,CAAAA,EAAGY,OAAO,CAAGX,CAAAA,EAAKE,EAAS,KAAM,MAC7EI,CAAI,CAAC,EAAE,CAAGC,KAAKC,KAAK,CAAC,IAAMD,KAAKE,GAAG,CAACF,KAAKG,GAAG,CAAC,EAAG,AAAEX,CAAAA,EAAGa,OAAO,CAAGX,CAAAA,EAAKE,EAAU,KAAM,MAEpFhC,EAAQ,KAAKkC,GAAMzC,MAAO0C,IAC5B,CACF,CAEA,SAASO,GAAaC,CAAS,CAAEvC,CAAU,CAAEwC,CAAa,EACxD,GAAI,AAAa,UAAb,OAAOxC,EAAgB,CACzB,IAAM8B,EAAO7D,EAAQ0B,GACf8C,EAAYF,AAAM,IAANA,GAAWC,AAAM,SAANA,EACvBT,EAAOU,EAAYX,EAAKzC,KAAK,CAAIpB,EAAQqC,EAE/CyB,CAAAA,CAAI,CAACQ,EAAE,CAAGvC,GAAK,EACXyC,EACF7C,EAAQ,KACHkC,GACHzC,MAAO0C,KAGTnC,EAAQ1B,EAAW6D,EAAKjB,QAAQ,IAEpC,CACF,CACA,SAAS4B,GAAUzB,CAAa,EAC9BnB,EAAQ,CAAA,GACRyB,GAAYN,EACd,CACA,SAAS0B,KACP7C,EAAQ,CAAA,EACV,CACA,SAAS8C,GAAa3B,CAAc,EAClCrB,EAAQ,AAACkC,GAAU,KACdA,GACHpB,KAAMO,EAAEE,MAAM,CAAC,EAAE,GAErB,CAEA,SAAS0B,GAAK5B,CAAa,EACzB5C,EAAaJ,EAAQqC,GAAOQ,QAAQ,GAAIG,EAAEC,MAAM,CAClD,UACe4B,YAAAA,kCAAAA,oBAAf,YACE,GAAIC,OAAOC,UAAU,CAAE,CACrB,IAAMC,EAAM,MAAM,IAAIF,OAAOC,UAAU,GAAGE,IAAI,EAE1CD,CAAAA,EAAIE,OAAO,EACbpC,EAASkC,EAAIE,OAAO,EAEtB,MACF,CACF,GATeL,sMAUf,IAAMM,GAAW3F,EAAW,KAC1B,IAAM4F,EAAI1D,IACRN,EAAQgE,EAAEhE,KAAK,CAEjB,MAAO,CAAC,cAAc,EAAEgE,EAAEC,YAAY,GAAG,KAAK,EAAEjE,CAAK,CAAC,EAAE,CAAC,KAAK,EAAEA,CAAK,CAAC,EAAE,CAAC,KAAK,EAAEA,CAAK,CAAC,EAAE,CAAC,KAAK,EAC5FA,CAAK,CAAC,EAAE,CACT,EAAE,CAAC,AACN,GAyBA,OAvBA7B,EAAa,KACXc,EAASyC,EAAU,GAAG9B,EAAMI,KAAK,CACnC,GAEA7B,EAAa,KACPqC,KACF0D,SAASC,IAAI,CAACC,gBAAgB,CAAC,YAAalC,GAAa,CACvDmC,QAAStF,CACX,GAEFN,EAAU,KACRyF,SAASC,IAAI,CAACG,mBAAmB,CAAC,YAAapC,GAAa,CAAA,EAC9D,EACF,GACAxD,EAAQ,KACNwF,SAASC,IAAI,CAACC,gBAAgB,CAAC,UAAWd,GAAS,CACjDe,QAAStF,CACX,EACF,GACAN,EAAU,KACRyF,SAASC,IAAI,CAACG,mBAAmB,CAAC,UAAWhB,GAAS,CAAA,EACxD,uDAIwB3D,gDACAL,2DACAyE,cACnBpF,qBAAWiB,EAAMV,GAAG,8DACCA,EAAIU,EAAMV,GAAG,yCAGvBQ,qKAAoC2D,mCAApC3D,cASK,AAACkC,IACRqB,GAAa,EAAGrC,OAAOgB,EAAEC,MAAM,CAAC7B,KAAK,EAAG,OAC1C,YASS,AAAC4B,IACRqB,GAAa,EAAGrC,OAAOgB,EAAEC,MAAM,CAAC7B,KAAK,EACvC,cAG0BwD,aAG7B7E,oBACO2B,AAAgB,SAAhBA,IAAOe,IAAI,0BAGZ9C,qBAAY0C,cACV,CAACsD,EAAGrB,KACH,IAAMsB,EAAMC,OAAOC,MAAM,CACvB,CAAC,EACDvE,EACA+C,AAAM,IAANA,GAAW,CACTyB,KAAM,IACNC,UAAWlE,EACXmE,MAAO/D,CACT,GAGF,mCAEQ0D,sBACGD,sBAEL,AACE3F,EAAQqC,GAGR6B,GAAG,CAACI,EAAE,MAEL,WACK,AAACtB,IACTqB,GAAaC,EAAGtB,EAAEE,MAAM,CAC1B,8BAGN,2CAMA3B,sBACGG,IAAOwE,YAAY,aAChBnD,SACFI,WACCC,+CASDuB,UALLhE,UAEEO,wBAKeQ,IAAOe,IAAI,QAIlC1C,qBACO+E,OAAOC,UAAU,0DAIVjC,EAASqD,IAAI,CAAC,KAAM,iIAIgCtB,iEAElEnF,QAAU4B,WACR,AAACkB,sCAAuCM,EAASqD,IAAI,CAAC,KAAM3D,aAAlCA,4BAAAA,yDAnGrBjC,EAAG,UAAWS,EAAMQ,KAAK,kBAStBE,IAAON,KAAK,CAAC,EAAE,gBAWfM,IAAON,KAAK,CAAC,EAAE,gBAyDjBM,IAAOe,IAAI,QA4B9B,CAEA,OAAO,MAAM2D,yBAA2B,CACtC5E,MAAO,KAAK,EACZd,MAAO,KAAK,EACZJ,IAAK,KAAK,EACVc,MAAO,KAAK,EACZH,aAAc,KAAK,EACnB2B,SAAU,KAAK,CACjB,CAAE,CAEFpC,EAAiC,kBAAmB4F,yBAA0B,CAACvF,EAAGwF,KAChF,IAAMC,EAAKD,EAAKE,OAAO,CAcvB,SAAQ3F,EAbMhB,EACZ,CACEgD,SAAS4D,CAAY,EACnBF,EAAGG,aAAa,CACd,IAAIC,YAAY,SAAU,CACxBxD,OAAQsD,CACV,GAEJ,CACF,EACA3F,GAIJ,EAEA,gBAAeD,CAAa"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: 数据录入
3
+ title: 颜色选择器
4
+ subtitle: n-color-picker
5
+ icon: 🍭
6
+ ---
7
+
8
+ # ColorPicker
9
+
10
+ > 颜色选择器
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 直接使用
3
+ order: 1
4
+ ---
5
+
6
+ ```html
7
+ <n-color-picker default-value="#5998ff"></n-color-picker>
8
+ ```
9
+
10
+ ```jsx
11
+ <n-color-picker default-value="pink" />
12
+ ```
@@ -0,0 +1,20 @@
1
+ ---
2
+ title: 默认值
3
+ description: 通过设置 `defaultValue` 为颜色选择器提供默认值。
4
+ order: 3
5
+ ---
6
+
7
+ ```html
8
+ <n-color-picker default-value="blue"></n-color-picker>
9
+ <script>
10
+ const el = container.querySelector('n-color-picker');
11
+
12
+ el.onchange = function (e) {
13
+ console.log(e.detail);
14
+ };
15
+ </script>
16
+ ```
17
+
18
+ ```jsx
19
+ <n-color-picker default-value="blue" />
20
+ ```
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: 不同尺寸
3
+ description: 颜色选择器有大、中、小三种尺寸。通过设置 `size` 为 `large`、`small` 分别把按钮设为大、小尺寸。若不设置 `size`,则尺寸为中 'normal'。
4
+ order: 2
5
+ ---
6
+
7
+ ```html
8
+ <n-color-picker value="#fedaaa" size="small"></n-color-picker>
9
+ <n-color-picker value="red" size="normal"></n-color-picker>
10
+ <n-color-picker value="green" size="large"></n-color-picker>
11
+ ```
12
+
13
+ ```jsx
14
+ <n-color-picker value="#fedaaa" size="small" />
15
+ <n-color-picker value="red" size="normal" />
16
+ <n-color-picker value="green" size="large" />
17
+ ```
@@ -1,2 +1,2 @@
1
- function e(){return(e=Object.assign||function(e){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}import{template as o}from"solid-js/web";import{mergeProps as r}from"solid-js/web";import{getOwner as t}from"solid-js/web";import{effect as l}from"solid-js/web";import{createComponent as s}from"solid-js/web";import{className as a}from"solid-js/web";import{addEventListener as i}from"solid-js/web";let n=o("<span>"),p=o("<n-color-palette>",!0,!1);import{createEffect as u,createMemo as c,createSignal as d,mergeProps as m,onMount as f,splitProps as g,untrack as v}from"solid-js";import{cx as h}from"@moneko/css";import{customElement as C}from"solid-element";import{style as w}from"./style";import"../color-palette";import j,{defaultProps as b}from"../popover";function k(e){let[o,m]=g(e,["css","value","defaultValue","onChange","popupClass","popupCss","size"]),[C,b]=d(o.defaultValue);function k(e){void 0===o.value&&b(e.detail),null==o.onChange||o.onChange.call(o,e.detail)}f(()=>{void 0===o.value&&o.defaultValue&&b(o.defaultValue)}),u(()=>{void 0!==o.value&&o.value!==v(C)&&b(o.value)});let V=c(()=>`.color-picker {padding: 10px;inline-size: 216px;}${o.popupCss||""}`),y=c(()=>`${w+(o.css||"")}.trigger {--c: ${C()};}`);return s(j,r(m,{arrow:!0,trigger:"click",get content(){return(()=>{let e=p();return i(e,"change",k),e._$owner=t(),l(()=>e.value=C()),e})()},get popupClass(){return h("color-picker",o.popupClass)},get popupCss(){return V()},get css(){return y()},get children(){let e=n();return l(()=>a(e,h("trigger",o.size))),e}}))}C("n-color-picker",e({},b,{value:void 0,defaultValue:void 0,onChange:void 0,size:void 0}),(e,o)=>{let r=o.element;return s(k,m({onChange(e){r.dispatchEvent(new CustomEvent("change",{detail:e}))},children:r.children},e))});export default k;
1
+ function e(){return(e=Object.assign||function(e){for(var o=1;o<arguments.length;o++){var r=arguments[o];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e}).apply(this,arguments)}import{template as o}from"solid-js/web";import{mergeProps as r}from"solid-js/web";import{getOwner as t}from"solid-js/web";import{effect as l}from"solid-js/web";import{createComponent as s}from"solid-js/web";import{className as a}from"solid-js/web";import{addEventListener as i}from"solid-js/web";let n=o("<span>"),p=o("<n-color-palette>",!0,!1);import{createEffect as u,createMemo as c,createSignal as d,mergeProps as m,onMount as f,splitProps as g,untrack as v}from"solid-js";import{cx as h}from"@moneko/css";import{customElement as C}from"solid-element";import w,{defaultProps as j}from"../popover";import{style as b}from"./style";import"../color-palette";function k(e){let[o,m]=g(e,["css","value","defaultValue","onChange","popupClass","popupCss","size"]),[C,j]=d(o.defaultValue);function k(e){void 0===o.value&&j(e.detail),null==o.onChange||o.onChange.call(o,e.detail)}f(()=>{void 0===o.value&&o.defaultValue&&j(o.defaultValue)}),u(()=>{void 0!==o.value&&o.value!==v(C)&&j(o.value)});let V=c(()=>`.color-picker {padding: 10px;inline-size: 216px;}${o.popupCss||""}`),y=c(()=>`${b+(o.css||"")}.trigger {--c: ${C()};}`);return s(w,r(m,{arrow:!0,trigger:"click",get content(){return(()=>{let e=p();return i(e,"change",k),e._$owner=t(),l(()=>e.value=C()),e})()},get popupClass(){return h("color-picker",o.popupClass)},get popupCss(){return V()},get css(){return y()},get children(){let e=n();return l(()=>a(e,h("trigger",o.size))),e}}))}C("n-color-picker",e({},j,{value:void 0,defaultValue:void 0,onChange:void 0,size:void 0}),(e,o)=>{let r=o.element;return s(k,m({onChange(e){r.dispatchEvent(new CustomEvent("change",{detail:e}))},children:r.children},e))});export default k;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/color-picker/index.tsx"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n mergeProps,\n onMount,\n splitProps,\n untrack,\n} from 'solid-js';\nimport { cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\nimport { style } from './style';\nimport '../color-palette';\nimport Popover, { defaultProps } from '../popover';\nimport type { BasicConfig, ColorPaletteProps, CustomElement, PopoverProps } from '..';\n\n/** 颜色选择器\n * @since 2.0.0\n */\nexport interface ColorPickerProps\n extends ColorPaletteProps,\n Omit<PopoverProps, 'children' | 'content'> {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** 关闭后是否销毁 */\n destroyInactive?: boolean;\n /** 尺寸\n * @default 'normal'\n */\n size?: BasicConfig['size'];\n /** 默认值 */\n defaultValue?: string;\n}\nexport type ColorPickerElement = CustomElement<ColorPickerProps>;\n\nfunction ColorPicker(props: ColorPickerProps) {\n const [local, others] = splitProps(props, [\n 'css',\n 'value',\n 'defaultValue',\n 'onChange',\n 'popupClass',\n 'popupCss',\n 'size',\n ]);\n const [color, setColor] = createSignal<string | undefined>(local.defaultValue);\n\n function handleChange(e: CustomEvent<string>) {\n if (local.value === void 0) {\n setColor(e.detail);\n }\n local.onChange?.(e.detail);\n }\n\n onMount(() => {\n if (local.value === void 0 && local.defaultValue) {\n setColor(local.defaultValue);\n }\n });\n createEffect(() => {\n if (local.value !== void 0 && local.value !== untrack(color)) {\n setColor(local.value);\n }\n });\n const popupCss = createMemo(\n () => `.color-picker {padding: 10px;inline-size: 216px;}${local.popupCss || ''}`,\n );\n const css = createMemo(() => `${style + (local.css || '')}.trigger {--c: ${color()};}`);\n\n return (\n <Popover\n {...others}\n arrow={true}\n trigger=\"click\"\n content={<n-color-palette value={color()} onChange={handleChange} />}\n popupClass={cx('color-picker', local.popupClass)}\n popupCss={popupCss()}\n css={css()}\n >\n <span class={cx('trigger', local.size)} />\n </Popover>\n );\n}\n\ncustomElement<ColorPickerProps>(\n 'n-color-picker',\n {\n ...defaultProps,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n size: void 0,\n },\n (_, opts) => {\n const el = opts.element;\n const props = mergeProps(\n {\n onChange(val?: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n children: el.children,\n },\n _,\n );\n\n return <ColorPicker {...props} />;\n },\n);\n\nexport default ColorPicker;\n"],"names":["createEffect","createMemo","createSignal","mergeProps","onMount","splitProps","untrack","cx","customElement","style","Popover","defaultProps","ColorPicker","props","local","others","color","setColor","defaultValue","handleChange","e","value","detail","onChange","popupCss","css","popupClass","size","_","opts","el","element","val","dispatchEvent","CustomEvent","children"],"mappings":"uiBAAA,QACEA,gBAAAA,CAAY,CACZC,cAAAA,CAAU,CACVC,gBAAAA,CAAY,CACZC,cAAAA,CAAU,CACVC,WAAAA,CAAO,CACPC,cAAAA,CAAU,CACVC,WAAAA,CAAO,KACF,UAAW,AAClB,QAASC,MAAAA,CAAE,KAAQ,aAAc,AACjC,QAASC,iBAAAA,CAAa,KAAQ,eAAgB,AAC9C,QAASC,SAAAA,CAAK,KAAQ,SAAU,AAChC,OAAO,kBAAmB,AAC1B,QAAOC,GAAWC,gBAAAA,CAAY,KAAQ,YAAa,CAwBnD,SAASC,EAAYC,CAAuB,EAC1C,GAAM,CAACC,EAAOC,EAAO,CAAGV,EAAWQ,EAAO,CACxC,MACA,QACA,eACA,WACA,aACA,WACA,OACD,EACK,CAACG,EAAOC,EAAS,CAAGf,EAAiCY,EAAMI,YAAY,EAE7E,SAASC,EAAaC,CAAsB,EACtB,KAAK,IAArBN,EAAMO,KAAK,EACbJ,EAASG,EAAEE,MAAM,QAEnBR,EAAMS,QAAQ,EAAdT,EAAMS,QAAQ,MAAdT,EAAiBM,EAAEE,MAAM,CAC3B,CAEAlB,EAAQ,KACc,KAAK,IAArBU,EAAMO,KAAK,EAAeP,EAAMI,YAAY,EAC9CD,EAASH,EAAMI,YAAY,CAE/B,GACAlB,EAAa,KACS,KAAK,IAArBc,EAAMO,KAAK,EAAeP,EAAMO,KAAK,GAAKf,EAAQU,IACpDC,EAASH,EAAMO,KAAK,CAExB,GACA,IAAMG,EAAWvB,EACf,IAAM,CAAC,iDAAiD,EAAEa,EAAMU,QAAQ,EAAI,GAAG,CAAC,EAE5EC,EAAMxB,EAAW,IAAM,CAAC,EAAEQ,EAASK,CAAAA,EAAMW,GAAG,EAAI,EAAC,EAAG,eAAe,EAAET,IAAQ,EAAE,CAAC,EAEtF,SACGN,IACKK,SACG,CAAA,0EAE6CI,+BAAnBH,oCACrBT,EAAG,eAAgBO,EAAMY,UAAU,yBACrCF,sBACLC,+CAEQlB,EAAG,UAAWO,EAAMa,IAAI,SAG3C,CAEAnB,EACE,iBACA,KACKG,GACHU,MAAO,KAAK,EACZH,aAAc,KAAK,EACnBK,SAAU,KAAK,EACfI,KAAM,KAAK,IAEb,CAACC,EAAGC,KACF,IAAMC,EAAKD,EAAKE,OAAO,CAevB,SAAQnB,EAdMT,EACZ,CACEoB,SAASS,CAAY,EACnBF,EAAGG,aAAa,CACd,IAAIC,YAAY,SAAU,CACxBZ,OAAQU,CACV,GAEJ,EACAG,SAAUL,EAAGK,QAAQ,AACvB,EACAP,GAIJ,EAGF,gBAAehB,CAAY"}
1
+ {"version":3,"sources":["../../components/color-picker/index.tsx"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n mergeProps,\n onMount,\n splitProps,\n untrack,\n} from 'solid-js';\nimport { cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { BasicConfig, ColorPaletteProps, CustomElement, PopoverProps } from '..';\nimport Popover, { defaultProps } from '../popover';\n\nimport { style } from './style';\n\nimport '../color-palette';\n\n/** 颜色选择器\n * @since 2.0.0\n */\nexport interface ColorPickerProps\n extends ColorPaletteProps,\n Omit<PopoverProps, 'children' | 'content'> {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** 关闭后是否销毁 */\n destroyInactive?: boolean;\n /** 尺寸\n * @default 'normal'\n */\n size?: BasicConfig['size'];\n /** 默认值 */\n defaultValue?: string;\n}\nexport type ColorPickerElement = CustomElement<ColorPickerProps>;\n\nfunction ColorPicker(props: ColorPickerProps) {\n const [local, others] = splitProps(props, [\n 'css',\n 'value',\n 'defaultValue',\n 'onChange',\n 'popupClass',\n 'popupCss',\n 'size',\n ]);\n const [color, setColor] = createSignal<string | undefined>(local.defaultValue);\n\n function handleChange(e: CustomEvent<string>) {\n if (local.value === void 0) {\n setColor(e.detail);\n }\n local.onChange?.(e.detail);\n }\n\n onMount(() => {\n if (local.value === void 0 && local.defaultValue) {\n setColor(local.defaultValue);\n }\n });\n createEffect(() => {\n if (local.value !== void 0 && local.value !== untrack(color)) {\n setColor(local.value);\n }\n });\n const popupCss = createMemo(\n () => `.color-picker {padding: 10px;inline-size: 216px;}${local.popupCss || ''}`,\n );\n const css = createMemo(() => `${style + (local.css || '')}.trigger {--c: ${color()};}`);\n\n return (\n <Popover\n {...others}\n arrow={true}\n trigger=\"click\"\n content={<n-color-palette value={color()} onChange={handleChange} />}\n popupClass={cx('color-picker', local.popupClass)}\n popupCss={popupCss()}\n css={css()}\n >\n <span class={cx('trigger', local.size)} />\n </Popover>\n );\n}\n\ncustomElement<ColorPickerProps>(\n 'n-color-picker',\n {\n ...defaultProps,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n size: void 0,\n },\n (_, opts) => {\n const el = opts.element;\n const props = mergeProps(\n {\n onChange(val?: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n children: el.children,\n },\n _,\n );\n\n return <ColorPicker {...props} />;\n },\n);\n\nexport default ColorPicker;\n"],"names":["createEffect","createMemo","createSignal","mergeProps","onMount","splitProps","untrack","cx","customElement","Popover","defaultProps","style","ColorPicker","props","local","others","color","setColor","defaultValue","handleChange","e","value","detail","onChange","popupCss","css","popupClass","size","_","opts","el","element","val","dispatchEvent","CustomEvent","children"],"mappings":"uiBAAA,QACEA,gBAAAA,CAAY,CACZC,cAAAA,CAAU,CACVC,gBAAAA,CAAY,CACZC,cAAAA,CAAU,CACVC,WAAAA,CAAO,CACPC,cAAAA,CAAU,CACVC,WAAAA,CAAO,KACF,UAAW,AAClB,QAASC,MAAAA,CAAE,KAAQ,aAAc,AACjC,QAASC,iBAAAA,CAAa,KAAQ,eAAgB,AAG9C,QAAOC,GAAWC,gBAAAA,CAAY,KAAQ,YAAa,AAEnD,QAASC,SAAAA,CAAK,KAAQ,SAAU,AAEhC,OAAO,kBAAmB,CAuB1B,SAASC,EAAYC,CAAuB,EAC1C,GAAM,CAACC,EAAOC,EAAO,CAAGV,EAAWQ,EAAO,CACxC,MACA,QACA,eACA,WACA,aACA,WACA,OACD,EACK,CAACG,EAAOC,EAAS,CAAGf,EAAiCY,EAAMI,YAAY,EAE7E,SAASC,EAAaC,CAAsB,EACtB,KAAK,IAArBN,EAAMO,KAAK,EACbJ,EAASG,EAAEE,MAAM,QAEnBR,EAAMS,QAAQ,EAAdT,EAAMS,QAAQ,MAAdT,EAAiBM,EAAEE,MAAM,CAC3B,CAEAlB,EAAQ,KACc,KAAK,IAArBU,EAAMO,KAAK,EAAeP,EAAMI,YAAY,EAC9CD,EAASH,EAAMI,YAAY,CAE/B,GACAlB,EAAa,KACS,KAAK,IAArBc,EAAMO,KAAK,EAAeP,EAAMO,KAAK,GAAKf,EAAQU,IACpDC,EAASH,EAAMO,KAAK,CAExB,GACA,IAAMG,EAAWvB,EACf,IAAM,CAAC,iDAAiD,EAAEa,EAAMU,QAAQ,EAAI,GAAG,CAAC,EAE5EC,EAAMxB,EAAW,IAAM,CAAC,EAAEU,EAASG,CAAAA,EAAMW,GAAG,EAAI,EAAC,EAAG,eAAe,EAAET,IAAQ,EAAE,CAAC,EAEtF,SACGP,IACKM,SACG,CAAA,0EAE6CI,+BAAnBH,oCACrBT,EAAG,eAAgBO,EAAMY,UAAU,yBACrCF,sBACLC,+CAEQlB,EAAG,UAAWO,EAAMa,IAAI,SAG3C,CAEAnB,EACE,iBACA,KACKE,GACHW,MAAO,KAAK,EACZH,aAAc,KAAK,EACnBK,SAAU,KAAK,EACfI,KAAM,KAAK,IAEb,CAACC,EAAGC,KACF,IAAMC,EAAKD,EAAKE,OAAO,CAevB,SAAQnB,EAdMT,EACZ,CACEoB,SAASS,CAAY,EACnBF,EAAGG,aAAa,CACd,IAAIC,YAAY,SAAU,CACxBZ,OAAQU,CACV,GAEJ,EACAG,SAAUL,EAAGK,QAAQ,AACvB,EACAP,GAIJ,EAGF,gBAAehB,CAAY"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: 数据录入
3
+ title: Cron表达式
4
+ subtitle: n-cron
5
+ icon: ⌛
6
+ ---
7
+
8
+ import api from './api.md?raw';
9
+
10
+ <n-md text={api} />
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/cron/begin-interval.tsx"],"sourcesContent":["import { selectCss, selectPortalCss } from './style';\nimport type { CronData } from '.';\nimport type { BaseOption } from 'neko-ui';\n\ntype BeginIntervalProps = {\n begin: CronData['begin'];\n beginEvery: CronData['beginEvery'];\n label: [JSX.Element, JSX.Element, JSX.Element];\n beginOption: (string | number | BaseOption)[];\n beginEveryOption: (string | number | BaseOption)[];\n onChange(type: 'begin' | 'beginEvery', value: number): void;\n validate(type: 'begin' | 'beginEvery', value: number): boolean;\n disabled: boolean;\n};\n\nfunction BeginInterval(props: BeginIntervalProps) {\n function onChange(\n type: 'begin' | 'beginEvery',\n e: CustomEvent<[val: number | string, item: BaseOption]>,\n ) {\n const [value] = e.detail;\n const v = Number(value);\n\n if (props.validate(type, v)) {\n props.onChange(type, v);\n }\n }\n return (\n <>\n {props.label[0]}\n <n-select\n value={props.begin}\n onChange={onChange.bind(null, 'begin')}\n options={props.beginOption}\n disabled={props.disabled}\n css={selectCss}\n popup-css={selectPortalCss}\n dropdown-match-select-width={false}\n arrow={true}\n />\n {props.label[1]}\n <n-select\n value={props.beginEvery}\n onChange={onChange.bind(null, 'beginEvery')}\n options={props.beginEveryOption}\n disabled={props.disabled}\n css={selectCss}\n popup-css={selectPortalCss}\n dropdown-match-select-width={false}\n arrow={true}\n />\n {props.label[2]}\n </>\n );\n}\n\nexport default BeginInterval;\n"],"names":["selectCss","selectPortalCss","props","onChange","type","e","value","detail","v","Number","validate","label","bind","beginOption","disabled","begin","beginEveryOption","beginEvery"],"mappings":"qOAAA,QAASA,aAAAA,CAAS,CAAEC,mBAAAA,CAAe,KAAQ,SAAU,AAwDrD,gBAzCA,SAAuBC,CAAyB,EAC9C,SAASC,EACPC,CAA4B,CAC5BC,CAAwD,EAExD,GAAM,CAACC,EAAM,CAAGD,EAAEE,MAAM,CAClBC,EAAIC,OAAOH,GAEbJ,EAAMQ,QAAQ,CAACN,EAAMI,IACvBN,EAAMC,QAAQ,CAACC,EAAMI,EAEzB,CACA,aAEKN,EAAMS,KAAK,CAAC,EAAE,sCAGHR,EAASS,IAAI,CAAC,KAAM,gBAGzBZ,aACMC,6BACkB,CAAA,UACtB,CAAA,4BALEC,EAAMW,WAAW,GAChBX,EAAMY,QAAQ,oHAHjBZ,EAAMa,KAAK,cASnBb,EAAMS,KAAK,CAAC,EAAE,sCAGHR,EAASS,IAAI,CAAC,KAAM,qBAGzBZ,aACMC,6BACkB,CAAA,UACtB,CAAA,4BALEC,EAAMc,gBAAgB,GACrBd,EAAMY,QAAQ,uHAHjBZ,EAAMe,UAAU,cASxBf,EAAMS,KAAK,CAAC,EAAE,EAGrB"}
1
+ {"version":3,"sources":["../../components/cron/begin-interval.tsx"],"sourcesContent":["import type { BaseOption } from 'neko-ui';\n\nimport type { CronData } from '.';\nimport { selectCss, selectPortalCss } from './style';\n\ninterface BeginIntervalProps {\n begin: CronData['begin'];\n beginEvery: CronData['beginEvery'];\n label: [JSX.Element, JSX.Element, JSX.Element];\n beginOption: (string | number | BaseOption)[];\n beginEveryOption: (string | number | BaseOption)[];\n onChange(type: 'begin' | 'beginEvery', value: number): void;\n validate(type: 'begin' | 'beginEvery', value: number): boolean;\n disabled: boolean;\n}\n\nfunction BeginInterval(props: BeginIntervalProps) {\n function onChange(\n type: 'begin' | 'beginEvery',\n e: CustomEvent<[val: number | string, item: BaseOption]>,\n ) {\n const [value] = e.detail;\n const v = Number(value);\n\n if (props.validate(type, v)) {\n props.onChange(type, v);\n }\n }\n return (\n <>\n {props.label[0]}\n <n-select\n value={props.begin}\n onChange={onChange.bind(null, 'begin')}\n options={props.beginOption}\n disabled={props.disabled}\n css={selectCss}\n popup-css={selectPortalCss}\n dropdown-match-select-width={false}\n arrow={true}\n />\n {props.label[1]}\n <n-select\n value={props.beginEvery}\n onChange={onChange.bind(null, 'beginEvery')}\n options={props.beginEveryOption}\n disabled={props.disabled}\n css={selectCss}\n popup-css={selectPortalCss}\n dropdown-match-select-width={false}\n arrow={true}\n />\n {props.label[2]}\n </>\n );\n}\n\nexport default BeginInterval;\n"],"names":["selectCss","selectPortalCss","props","onChange","type","e","value","detail","v","Number","validate","label","bind","beginOption","disabled","begin","beginEveryOption","beginEvery"],"mappings":"qOAGA,QAASA,aAAAA,CAAS,CAAEC,mBAAAA,CAAe,KAAQ,SAAU,AAsDrD,gBAzCA,SAAuBC,CAAyB,EAC9C,SAASC,EACPC,CAA4B,CAC5BC,CAAwD,EAExD,GAAM,CAACC,EAAM,CAAGD,EAAEE,MAAM,CAClBC,EAAIC,OAAOH,GAEbJ,EAAMQ,QAAQ,CAACN,EAAMI,IACvBN,EAAMC,QAAQ,CAACC,EAAMI,EAEzB,CACA,aAEKN,EAAMS,KAAK,CAAC,EAAE,sCAGHR,EAASS,IAAI,CAAC,KAAM,gBAGzBZ,aACMC,6BACkB,CAAA,UACtB,CAAA,4BALEC,EAAMW,WAAW,GAChBX,EAAMY,QAAQ,oHAHjBZ,EAAMa,KAAK,cASnBb,EAAMS,KAAK,CAAC,EAAE,sCAGHR,EAASS,IAAI,CAAC,KAAM,qBAGzBZ,aACMC,6BACkB,CAAA,UACtB,CAAA,4BALEC,EAAMc,gBAAgB,GACrBd,EAAMY,QAAQ,uHAHjBZ,EAAMe,UAAU,cASxBf,EAAMS,KAAK,CAAC,EAAE,EAGrB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/cron/day.tsx"],"sourcesContent":["import BeginInterval from './begin-interval';\nimport Item, { type CronItemProps } from './item';\nimport Period from './period';\nimport Some from './some';\nimport { selectCss, selectPortalCss } from './style';\nimport type { BaseOption } from 'neko-ui';\n\nfunction Day(props: Required<Omit<CronItemProps<'day'>, 'options'>>) {\n const days: BaseOption[] = [];\n const daysBeginEvery: number[] = [];\n\n for (let x = 1; x < 32; x++) {\n days.push({\n label: x < 10 ? `0${x}` : `${x}`,\n value: x,\n });\n daysBeginEvery.push(x);\n }\n\n const options = [\n { value: '*', label: '每日' },\n { value: '?', label: '不指定' },\n {\n value: 'period',\n label: (\n <Period\n start={props.state.start}\n end={props.state.end}\n options={days}\n disabled={props.state.type !== 'period'}\n onChange={props.onChange}\n validate={(_, v) => v >= 1 && v < 31}\n label={['周期从', '到', '日']}\n />\n ),\n },\n {\n value: 'beginInterval',\n label: (\n <BeginInterval\n begin={props.state.begin}\n beginEvery={props.state.beginEvery}\n onChange={props.onChange}\n beginOption={days}\n beginEveryOption={daysBeginEvery}\n disabled={props.state.type !== 'beginInterval'}\n validate={(_, v) => v >= 1 && v <= 31}\n label={['从', '日开始, 每', '天执行一次']}\n />\n ),\n },\n {\n value: 'closeWorkDay',\n label: (\n <>\n 每月离\n <n-select\n value={props.state.closeWorkDay}\n onChange={(e) => {\n const [value] = e.detail;\n const v = Number(value);\n\n if (v >= 1 && v <= 31) {\n props.onChange('closeWorkDay', v);\n }\n }}\n options={days}\n disabled={props.state.type !== 'closeWorkDay'}\n css={selectCss}\n popup-css={selectPortalCss}\n dropdown-match-select-width={false}\n arrow={true}\n />\n 日最近的那个工作日\n </>\n ),\n },\n { value: 'last', label: '本月最后1天' },\n {\n value: 'some',\n label: (\n <Some\n label=\"具体天数(至少选择一项)\"\n value={props.state.some}\n options={days}\n type={props.state.type}\n onChange={props.onChange}\n />\n ),\n },\n ];\n\n return <Item state={props.state} options={options} onChange={props.onChange} />;\n}\n\nexport default Day;\n"],"names":["BeginInterval","Item","Period","Some","selectCss","selectPortalCss","props","days","daysBeginEvery","x","push","label","value","options","state","start","end","type","onChange","_","v","begin","beginEvery","e","detail","Number","closeWorkDay","some"],"mappings":"qNAAA,QAAOA,MAAmB,kBAAmB,AAC7C,QAAOC,MAAkC,QAAS,AAClD,QAAOC,MAAY,UAAW,AAC9B,QAAOC,MAAU,QAAS,AAC1B,QAASC,aAAAA,CAAS,CAAEC,mBAAAA,CAAe,KAAQ,SAAU,AA2FrD,gBAxFA,SAAaC,CAAsD,EACjE,IAAMC,EAAqB,EAAE,CACvBC,EAA2B,EAAE,CAEnC,IAAK,IAAIC,EAAI,EAAGA,EAAI,GAAIA,IACtBF,EAAKG,IAAI,CAAC,CACRC,MAAOF,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAG,CAAC,EAAEA,EAAE,CAAC,CAChCG,MAAOH,CACT,GACAD,EAAeE,IAAI,CAACD,GAGtB,IAAMI,EAAU,CACd,CAAED,MAAO,IAAKD,MAAO,IAAK,EAC1B,CAAEC,MAAO,IAAKD,MAAO,KAAM,EAC3B,CACEC,MAAO,SACPD,KAAK,GACFT,sBACQI,EAAMQ,KAAK,CAACC,KAAK,mBACnBT,EAAMQ,KAAK,CAACE,GAAG,UACXT,uBACCD,AAAqB,WAArBA,EAAMQ,KAAK,CAACG,IAAI,wBAChBX,EAAMY,QAAQ,WACd,CAACC,EAAGC,IAAMA,GAAK,GAAKA,EAAI,SAC3B,CAAC,MAAO,IAAK,IAAI,EAG9B,EACA,CACER,MAAO,gBACPD,KAAK,GACFX,sBACQM,EAAMQ,KAAK,CAACO,KAAK,0BACZf,EAAMQ,KAAK,CAACQ,UAAU,wBACxBhB,EAAMY,QAAQ,cACXX,mBACKC,uBACRF,AAAqB,kBAArBA,EAAMQ,KAAK,CAACG,IAAI,WAChB,CAACE,EAAGC,IAAMA,GAAK,GAAKA,GAAK,SAC5B,CAAC,IAAK,SAAU,QAAQ,EAGrC,EACA,CACER,MAAO,eACPD,KAAK,2DAKW,AAACY,IACT,GAAM,CAACX,EAAM,CAAGW,EAAEC,MAAM,CAClBJ,EAAIK,OAAOb,GAEbQ,GAAK,GAAKA,GAAK,IACjBd,EAAMY,QAAQ,CAAC,eAAgBE,EAEnC,aACSb,QAEJH,aACMC,6BACkB,CAAA,UACtB,CAAA,iCAJGC,AAAqB,iBAArBA,EAAMQ,KAAK,CAACG,IAAI,gBAVnBX,EAAMQ,KAAK,CAACY,YAAY,oBAmBvC,EACA,CAAEd,MAAO,OAAQD,MAAO,QAAS,EACjC,CACEC,MAAO,OACPD,KAAK,GACFR,2CAEQG,EAAMQ,KAAK,CAACa,IAAI,UACdpB,oBACHD,EAAMQ,KAAK,CAACG,IAAI,wBACZX,EAAMY,QAAQ,GAG9B,EACD,CAED,SAAQjB,sBAAYK,EAAMQ,KAAK,UAAWD,wBAAmBP,EAAMY,QAAQ,GAC7E"}
1
+ {"version":3,"sources":["../../components/cron/day.tsx"],"sourcesContent":["import type { BaseOption } from 'neko-ui';\n\nimport BeginInterval from './begin-interval';\nimport Item, { type CronItemProps } from './item';\nimport Period from './period';\nimport Some from './some';\nimport { selectCss, selectPortalCss } from './style';\n\nfunction Day(props: Required<Omit<CronItemProps<'day'>, 'options'>>) {\n const days: BaseOption[] = [];\n const daysBeginEvery: number[] = [];\n\n for (let x = 1; x < 32; x++) {\n days.push({\n label: x < 10 ? `0${x}` : `${x}`,\n value: x,\n });\n daysBeginEvery.push(x);\n }\n\n const options = [\n { value: '*', label: '每日' },\n { value: '?', label: '不指定' },\n {\n value: 'period',\n label: (\n <Period\n start={props.state.start}\n end={props.state.end}\n options={days}\n disabled={props.state.type !== 'period'}\n onChange={props.onChange}\n validate={(_, v) => v >= 1 && v < 31}\n label={['周期从', '到', '日']}\n />\n ),\n },\n {\n value: 'beginInterval',\n label: (\n <BeginInterval\n begin={props.state.begin}\n beginEvery={props.state.beginEvery}\n onChange={props.onChange}\n beginOption={days}\n beginEveryOption={daysBeginEvery}\n disabled={props.state.type !== 'beginInterval'}\n validate={(_, v) => v >= 1 && v <= 31}\n label={['从', '日开始, 每', '天执行一次']}\n />\n ),\n },\n {\n value: 'closeWorkDay',\n label: (\n <>\n 每月离\n <n-select\n value={props.state.closeWorkDay}\n onChange={(e) => {\n const [value] = e.detail;\n const v = Number(value);\n\n if (v >= 1 && v <= 31) {\n props.onChange('closeWorkDay', v);\n }\n }}\n options={days}\n disabled={props.state.type !== 'closeWorkDay'}\n css={selectCss}\n popup-css={selectPortalCss}\n dropdown-match-select-width={false}\n arrow={true}\n />\n 日最近的那个工作日\n </>\n ),\n },\n { value: 'last', label: '本月最后1天' },\n {\n value: 'some',\n label: (\n <Some\n label=\"具体天数(至少选择一项)\"\n value={props.state.some}\n options={days}\n type={props.state.type}\n onChange={props.onChange}\n />\n ),\n },\n ];\n\n return <Item state={props.state} options={options} onChange={props.onChange} />;\n}\n\nexport default Day;\n"],"names":["BeginInterval","Item","Period","Some","selectCss","selectPortalCss","props","days","daysBeginEvery","x","push","label","value","options","state","start","end","type","onChange","_","v","begin","beginEvery","e","detail","Number","closeWorkDay","some"],"mappings":"qNAEA,QAAOA,MAAmB,kBAAmB,AAC7C,QAAOC,MAAkC,QAAS,AAClD,QAAOC,MAAY,UAAW,AAC9B,QAAOC,MAAU,QAAS,AAC1B,QAASC,aAAAA,CAAS,CAAEC,mBAAAA,CAAe,KAAQ,SAAU,AA0FrD,gBAxFA,SAAaC,CAAsD,EACjE,IAAMC,EAAqB,EAAE,CACvBC,EAA2B,EAAE,CAEnC,IAAK,IAAIC,EAAI,EAAGA,EAAI,GAAIA,IACtBF,EAAKG,IAAI,CAAC,CACRC,MAAOF,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAG,CAAC,EAAEA,EAAE,CAAC,CAChCG,MAAOH,CACT,GACAD,EAAeE,IAAI,CAACD,GAGtB,IAAMI,EAAU,CACd,CAAED,MAAO,IAAKD,MAAO,IAAK,EAC1B,CAAEC,MAAO,IAAKD,MAAO,KAAM,EAC3B,CACEC,MAAO,SACPD,KAAK,GACFT,sBACQI,EAAMQ,KAAK,CAACC,KAAK,mBACnBT,EAAMQ,KAAK,CAACE,GAAG,UACXT,uBACCD,AAAqB,WAArBA,EAAMQ,KAAK,CAACG,IAAI,wBAChBX,EAAMY,QAAQ,WACd,CAACC,EAAGC,IAAMA,GAAK,GAAKA,EAAI,SAC3B,CAAC,MAAO,IAAK,IAAI,EAG9B,EACA,CACER,MAAO,gBACPD,KAAK,GACFX,sBACQM,EAAMQ,KAAK,CAACO,KAAK,0BACZf,EAAMQ,KAAK,CAACQ,UAAU,wBACxBhB,EAAMY,QAAQ,cACXX,mBACKC,uBACRF,AAAqB,kBAArBA,EAAMQ,KAAK,CAACG,IAAI,WAChB,CAACE,EAAGC,IAAMA,GAAK,GAAKA,GAAK,SAC5B,CAAC,IAAK,SAAU,QAAQ,EAGrC,EACA,CACER,MAAO,eACPD,KAAK,2DAKW,AAACY,IACT,GAAM,CAACX,EAAM,CAAGW,EAAEC,MAAM,CAClBJ,EAAIK,OAAOb,GAEbQ,GAAK,GAAKA,GAAK,IACjBd,EAAMY,QAAQ,CAAC,eAAgBE,EAEnC,aACSb,QAEJH,aACMC,6BACkB,CAAA,UACtB,CAAA,iCAJGC,AAAqB,iBAArBA,EAAMQ,KAAK,CAACG,IAAI,gBAVnBX,EAAMQ,KAAK,CAACY,YAAY,oBAmBvC,EACA,CAAEd,MAAO,OAAQD,MAAO,QAAS,EACjC,CACEC,MAAO,OACPD,KAAK,GACFR,2CAEQG,EAAMQ,KAAK,CAACa,IAAI,UACdpB,oBACHD,EAAMQ,KAAK,CAACG,IAAI,wBACZX,EAAMY,QAAQ,GAG9B,EACD,CAED,SAAQjB,sBAAYK,EAAMQ,KAAK,UAAWD,wBAAmBP,EAAMY,QAAQ,GAC7E"}
@@ -0,0 +1,19 @@
1
+ ---
2
+ title: 基本使用
3
+ order: 1
4
+ ---
5
+
6
+ ```html
7
+ <n-cron default-value="0-1 * 0-1 * * ? 2023/1"></n-cron>
8
+ <script>
9
+ const el = container.querySelector('n-cron');
10
+
11
+ el.onchange = function (e) {
12
+ console.log(e.detail);
13
+ };
14
+ </script>
15
+ ```
16
+
17
+ ```jsx
18
+ <n-cron default-value="0-1 * 0-1 * * ? 2023/1" />
19
+ ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 卡片式
3
+ order: 3
4
+ ---
5
+
6
+ ```html
7
+ <n-cron type="card" default-value="0-1 * 0-1 * * ? 2023/1"></n-cron>
8
+ ```
9
+
10
+ ```jsx
11
+ <n-cron type="card" default-value="0-1 * 0-1 * * ? 2023/1" />
12
+ ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 是否显示 cron 表达式
3
+ order: 2
4
+ ---
5
+
6
+ ```html
7
+ <n-cron default-value="* * 0-1 * * ? 2023/1" show-cron="false"></n-cron>
8
+ ```
9
+
10
+ ```jsx
11
+ <n-cron default-value="* * 0-1 * * ? 2023/1" show-cron={false} />
12
+ ```
package/es/cron/hour.js CHANGED
@@ -1,2 +1,2 @@
1
- import"solid-js/web";import{createComponent as e}from"solid-js/web";import t from"./begin-interval";import r from"./item";import n from"./period";import a from"./some";import{hours as o}from"../date-picker/time";export default function(i){let l=[];for(let e=0;e<24;e++)l.push(`${e+1}`);let g=[{value:"*",label:"每小时"},{value:"period",label:e(n,{get start(){return i.state.start},get end(){return i.state.end},options:o,get disabled(){return"period"!==i.state.type},get onChange(){return i.onChange},validate:(e,t)=>"start"===e?t>=0&&t<23:t>0&&t<=23,label:["周期从","到","时"]})},{value:"beginInterval",label:e(t,{get begin(){return i.state.begin},get beginEvery(){return i.state.beginEvery},get onChange(){return i.onChange},beginOption:o,beginEveryOption:l,get disabled(){return"beginInterval"!==i.state.type},validate:(e,t)=>"begin"===e?t>=0&&t<=23:t>=1&&t<=24,label:["从","时开始, 每","小时执行一次"]})},{value:"some",label:e(a,{label:"具体小时数(至少选择一项)",get value(){return i.state.some},options:o,get type(){return i.state.type},get onChange(){return i.onChange}})}];return e(r,{options:g,get onChange(){return i.onChange},get state(){return i.state}})}
1
+ import"solid-js/web";import{createComponent as e}from"solid-js/web";import{hours as t}from"../date-picker/time";import r from"./begin-interval";import n from"./item";import a from"./period";import o from"./some";export default function(i){let l=[];for(let e=0;e<24;e++)l.push(`${e+1}`);let g=[{value:"*",label:"每小时"},{value:"period",label:e(a,{get start(){return i.state.start},get end(){return i.state.end},options:t,get disabled(){return"period"!==i.state.type},get onChange(){return i.onChange},validate:(e,t)=>"start"===e?t>=0&&t<23:t>0&&t<=23,label:["周期从","到","时"]})},{value:"beginInterval",label:e(r,{get begin(){return i.state.begin},get beginEvery(){return i.state.beginEvery},get onChange(){return i.onChange},beginOption:t,beginEveryOption:l,get disabled(){return"beginInterval"!==i.state.type},validate:(e,t)=>"begin"===e?t>=0&&t<=23:t>=1&&t<=24,label:["从","时开始, 每","小时执行一次"]})},{value:"some",label:e(o,{label:"具体小时数(至少选择一项)",get value(){return i.state.some},options:t,get type(){return i.state.type},get onChange(){return i.onChange}})}];return e(n,{options:g,get onChange(){return i.onChange},get state(){return i.state}})}
2
2
  //# sourceMappingURL=hour.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/cron/hour.tsx"],"sourcesContent":["import BeginInterval from './begin-interval';\nimport Item, { type CronItemProps } from './item';\nimport Period from './period';\nimport Some from './some';\nimport { hours } from '../date-picker/time';\n\nfunction Hour(props: Required<Omit<CronItemProps<'hour'>, 'options'>>) {\n const beginEvery: string[] = [];\n\n for (let x = 0; x < 24; x++) {\n beginEvery.push(`${x + 1}`);\n }\n\n const options = [\n { value: '*', label: '每小时' },\n {\n value: 'period',\n label: (\n <Period\n start={props.state.start}\n end={props.state.end}\n options={hours}\n disabled={props.state.type !== 'period'}\n onChange={props.onChange}\n validate={(_, v) => (_ === 'start' ? v >= 0 && v < 23 : v > 0 && v <= 23)}\n label={['周期从', '到', '时']}\n />\n ),\n },\n {\n value: 'beginInterval',\n label: (\n <BeginInterval\n begin={props.state.begin}\n beginEvery={props.state.beginEvery}\n onChange={props.onChange}\n beginOption={hours}\n beginEveryOption={beginEvery}\n disabled={props.state.type !== 'beginInterval'}\n validate={(_, v) => (_ === 'begin' ? v >= 0 && v <= 23 : v >= 1 && v <= 24)}\n label={['从', '时开始, 每', '小时执行一次']}\n />\n ),\n },\n {\n value: 'some',\n label: (\n <Some\n label=\"具体小时数(至少选择一项)\"\n value={props.state.some}\n options={hours}\n type={props.state.type}\n onChange={props.onChange}\n />\n ),\n },\n ];\n\n return <Item options={options} onChange={props.onChange} state={props.state} />;\n}\n\nexport default Hour;\n"],"names":["BeginInterval","Item","Period","Some","hours","props","beginEvery","x","push","options","value","label","state","start","end","type","onChange","_","v","begin","some"],"mappings":"mEAAA,QAAOA,MAAmB,kBAAmB,AAC7C,QAAOC,MAAkC,QAAS,AAClD,QAAOC,MAAY,UAAW,AAC9B,QAAOC,MAAU,QAAS,AAC1B,QAASC,SAAAA,CAAK,KAAQ,qBAAsB,AAyD5C,gBAvDA,SAAcC,CAAuD,EACnE,IAAMC,EAAuB,EAAE,CAE/B,IAAK,IAAIC,EAAI,EAAGA,EAAI,GAAIA,IACtBD,EAAWE,IAAI,CAAC,CAAC,EAAED,EAAI,EAAE,CAAC,EAG5B,IAAME,EAAU,CACd,CAAEC,MAAO,IAAKC,MAAO,KAAM,EAC3B,CACED,MAAO,SACPC,KAAK,GACFT,sBACQG,EAAMO,KAAK,CAACC,KAAK,mBACnBR,EAAMO,KAAK,CAACE,GAAG,UACXV,uBACCC,AAAqB,WAArBA,EAAMO,KAAK,CAACG,IAAI,wBAChBV,EAAMW,QAAQ,WACd,CAACC,EAAGC,IAAOD,AAAM,UAANA,EAAgBC,GAAK,GAAKA,EAAI,GAAKA,EAAI,GAAKA,GAAK,SAC/D,CAAC,MAAO,IAAK,IAAI,EAG9B,EACA,CACER,MAAO,gBACPC,KAAK,GACFX,sBACQK,EAAMO,KAAK,CAACO,KAAK,0BACZd,EAAMO,KAAK,CAACN,UAAU,wBACxBD,EAAMW,QAAQ,cACXZ,mBACKE,uBACRD,AAAqB,kBAArBA,EAAMO,KAAK,CAACG,IAAI,WAChB,CAACE,EAAGC,IAAOD,AAAM,UAANA,EAAgBC,GAAK,GAAKA,GAAK,GAAKA,GAAK,GAAKA,GAAK,SACjE,CAAC,IAAK,SAAU,SAAS,EAGtC,EACA,CACER,MAAO,OACPC,KAAK,GACFR,4CAEQE,EAAMO,KAAK,CAACQ,IAAI,UACdhB,oBACHC,EAAMO,KAAK,CAACG,IAAI,wBACZV,EAAMW,QAAQ,GAG9B,EACD,CAED,SAAQf,WAAcQ,wBAAmBJ,EAAMW,QAAQ,qBAASX,EAAMO,KAAK,GAC7E"}
1
+ {"version":3,"sources":["../../components/cron/hour.tsx"],"sourcesContent":["import { hours } from '../date-picker/time';\n\nimport BeginInterval from './begin-interval';\nimport Item, { type CronItemProps } from './item';\nimport Period from './period';\nimport Some from './some';\n\nfunction Hour(props: Required<Omit<CronItemProps<'hour'>, 'options'>>) {\n const beginEvery: string[] = [];\n\n for (let x = 0; x < 24; x++) {\n beginEvery.push(`${x + 1}`);\n }\n\n const options = [\n { value: '*', label: '每小时' },\n {\n value: 'period',\n label: (\n <Period\n start={props.state.start}\n end={props.state.end}\n options={hours}\n disabled={props.state.type !== 'period'}\n onChange={props.onChange}\n validate={(_, v) => (_ === 'start' ? v >= 0 && v < 23 : v > 0 && v <= 23)}\n label={['周期从', '到', '时']}\n />\n ),\n },\n {\n value: 'beginInterval',\n label: (\n <BeginInterval\n begin={props.state.begin}\n beginEvery={props.state.beginEvery}\n onChange={props.onChange}\n beginOption={hours}\n beginEveryOption={beginEvery}\n disabled={props.state.type !== 'beginInterval'}\n validate={(_, v) => (_ === 'begin' ? v >= 0 && v <= 23 : v >= 1 && v <= 24)}\n label={['从', '时开始, 每', '小时执行一次']}\n />\n ),\n },\n {\n value: 'some',\n label: (\n <Some\n label=\"具体小时数(至少选择一项)\"\n value={props.state.some}\n options={hours}\n type={props.state.type}\n onChange={props.onChange}\n />\n ),\n },\n ];\n\n return <Item options={options} onChange={props.onChange} state={props.state} />;\n}\n\nexport default Hour;\n"],"names":["hours","BeginInterval","Item","Period","Some","props","beginEvery","x","push","options","value","label","state","start","end","type","onChange","_","v","begin","some"],"mappings":"mEAAA,QAASA,SAAAA,CAAK,KAAQ,qBAAsB,AAE5C,QAAOC,MAAmB,kBAAmB,AAC7C,QAAOC,MAAkC,QAAS,AAClD,QAAOC,MAAY,UAAW,AAC9B,QAAOC,MAAU,QAAS,AAyD1B,gBAvDA,SAAcC,CAAuD,EACnE,IAAMC,EAAuB,EAAE,CAE/B,IAAK,IAAIC,EAAI,EAAGA,EAAI,GAAIA,IACtBD,EAAWE,IAAI,CAAC,CAAC,EAAED,EAAI,EAAE,CAAC,EAG5B,IAAME,EAAU,CACd,CAAEC,MAAO,IAAKC,MAAO,KAAM,EAC3B,CACED,MAAO,SACPC,KAAK,GACFR,sBACQE,EAAMO,KAAK,CAACC,KAAK,mBACnBR,EAAMO,KAAK,CAACE,GAAG,UACXd,uBACCK,AAAqB,WAArBA,EAAMO,KAAK,CAACG,IAAI,wBAChBV,EAAMW,QAAQ,WACd,CAACC,EAAGC,IAAOD,AAAM,UAANA,EAAgBC,GAAK,GAAKA,EAAI,GAAKA,EAAI,GAAKA,GAAK,SAC/D,CAAC,MAAO,IAAK,IAAI,EAG9B,EACA,CACER,MAAO,gBACPC,KAAK,GACFV,sBACQI,EAAMO,KAAK,CAACO,KAAK,0BACZd,EAAMO,KAAK,CAACN,UAAU,wBACxBD,EAAMW,QAAQ,cACXhB,mBACKM,uBACRD,AAAqB,kBAArBA,EAAMO,KAAK,CAACG,IAAI,WAChB,CAACE,EAAGC,IAAOD,AAAM,UAANA,EAAgBC,GAAK,GAAKA,GAAK,GAAKA,GAAK,GAAKA,GAAK,SACjE,CAAC,IAAK,SAAU,SAAS,EAGtC,EACA,CACER,MAAO,OACPC,KAAK,GACFP,4CAEQC,EAAMO,KAAK,CAACQ,IAAI,UACdpB,oBACHK,EAAMO,KAAK,CAACG,IAAI,wBACZV,EAAMW,QAAQ,GAG9B,EACD,CAED,SAAQd,WAAcO,wBAAmBJ,EAAMW,QAAQ,qBAASX,EAAMO,KAAK,GAC7E"}
package/es/cron/index.js CHANGED
@@ -1,2 +1,2 @@
1
- function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}import{template as t}from"solid-js/web";import{insert as r}from"solid-js/web";import{getOwner as n}from"solid-js/web";import{effect as a}from"solid-js/web";import{createComponent as o}from"solid-js/web";import{addEventListener as l}from"solid-js/web";let s=t("<style> "),u=t("<n-tabs>",!0,!1),i=t("<code>");import{Show as m,batch as p,createEffect as d,createSignal as y,mergeProps as c,splitProps as v,untrack as b}from"solid-js";import{css as g}from"@moneko/css";import{customElement as h}from"solid-element";import f from"./day";import w from"./hour";import $ from"./minute";import C from"./month";import k from"./second";import N from"./week";import j from"./year";import"../button";import"../input-number";import"../radio";import"../select";import"../tabs";function E(t){let[c]=v(t,["value","defaultValue","exclude","onChange","type","showCron","css","class"]),[h,E]=y(c.defaultValue),W=new Date().getFullYear(),D={hms:{start:0,end:1,begin:0,beginEvery:1,some:[0],value:""},mwd:{start:1,end:2,begin:1,beginEvery:1,some:[1],value:""},year:{start:W,end:W+1,begin:W,beginEvery:1,some:[W],value:""}},P=[],L=[];for(let e=1;e<32;e++)P.push({label:e<10?`0${e}`:`${e}`,value:e}),L.push(e);let[x,O]=y("second"),[V,I]=y({second:e({type:"*"},D.hms),minute:e({type:"*"},D.hms),hour:e({type:"*"},D.hms),day:e({type:"*",last:1,closeWorkDay:1},D.mwd),month:e({type:"*"},D.mwd),week:e({last:1,type:"?"},D.mwd),year:e({type:""},D.year)});function F(t,r){p(()=>{!function(){let t=b(V),r="day"===x();if(r||"week"===x()){let n=r?"week":"day",a="?"===t[n].type&&"?"===t[x()].type?"*":"?";a!==t[n].type&&I(t=>e({},t,{[n]:e({},t[n],{type:a})}))}}(),I(n=>{let a=e({},n[x()],{[t]:r});return("start"===t||"end"===t)&&a.end-a.start<=1&&("end"===t?a.start=r-1:a.end=r+1),e({},n,{[x()]:a})})})}function U(e){O(e.detail[0])}function Y(e,t){if(e.value.includes("-")){e.type="period";let t=e.value.split("-");e.start=Number(t[0]),e.end=Number(t[1])}else if(e.value.includes("W"))e.type="closeWorkDay",e.closeWorkDay=Number(e.value.split("W")[0])||1;else if(e.value.includes("L"))e.type="last",e.last=Number(e.value.split("L")[0])||1;else if(e.value.includes(t?"#":"/")){e.type="beginInterval";let r=e.value.split(t?"#":"/");t?(e.begin=Number(r[1]),e.beginEvery=Number(r[0])):(e.begin=Number(r[0]),e.beginEvery=Number(r[1]))}else e.value.includes(",")||/^[0-9]+$/.test(e.value)?(e.type="some",e.some=e.value.split(",").map(Number)):e.type=e.value;return e}function _(e){return"number"!=typeof e||isNaN(e)?e:`${e}`}function q(e,t){switch(e.type){case"period":return`${_(e.start)}-${_(e.end)}`;case"beginInterval":if(t)return`${_(e.beginEvery)}#${_(e.begin)}`;return`${_(e.begin)}/${_(e.beginEvery)}`;case"closeWorkDay":return`${_(e.closeWorkDay||1)}W`;case"last":return t?`${_(e.last)}L`:"L";case"some":return e.some.join(",");default:return e.type}}d(()=>{void 0!==c.value&&b(h)!==c.value&&E(c.value)}),d(()=>{let t=h();if(t){let r=t.toUpperCase().split(" ");p(()=>{I(t=>({second:Y(e({},t.second,{value:r[0]||"?"})),minute:Y(e({},t.minute,{value:r[1]||"?"})),hour:Y(e({},t.hour,{value:r[2]||"?"})),day:Y(e({},t.day,{value:r[3]||""})),month:Y(e({},t.month,{value:r[4]||""})),week:Y(e({},t.week,{value:r[5]||""}),!0),year:Y(e({},t.year,{value:r[6]||""}))}))})}}),d(()=>{let{second:e,minute:r,hour:n,day:a,month:o,week:l,year:s}=V(),u=`${q(e)} ${q(r)} ${q(n)} ${q(a)} ${q(o)} ${q(l,!0)} ${q(s)}`;E(e=>e===u?e:(null==t.onChange||t.onChange.call(t,u),u))});let z=[{value:"second",label:"秒",content:o(k,{get state(){return V().second},onChange:F})},{value:"minute",label:"分钟",content:o($,{get state(){return V().minute},onChange:F})},{value:"hour",label:"小时",content:o(w,{get state(){return V().hour},onChange:F})},{value:"day",label:"日",content:o(f,{get state(){return V().day},onChange:F})},{value:"week",label:"周",content:o(N,{get state(){return V().week},onChange:F})},{value:"month",label:"月",content:o(C,{get state(){return V().month},onChange:F})},{value:"year",label:"年",content:o(j,{get state(){return V().year},onChange:F})}];return[o(m,{get when(){return c.css},get children(){let e=s(),t=e.firstChild;return a(()=>t.data=g(c.css)),e}}),(()=>{let e=u();return l(e,"change",U),e.items=z,e._$owner=n(),a(()=>e.type=c.type),a(()=>e.value=x()),e})(),o(m,{get when(){return c.showCron},get children(){let e=i();return e.style.setProperty("width","100%"),e.style.setProperty("display","block"),e.style.setProperty("background","var(--component-bg)"),e.style.setProperty("border-radius","var(--border-radius)"),e.style.setProperty("text-align","center"),r(e,h),e}})]}h("n-cron",{value:void 0,defaultValue:"0 0 0 * * ? *",onChange:void 0,type:"line",exclude:[],showCron:!0},(e,t)=>{let r=t.element;return o(E,c({onChange(e){r.dispatchEvent(new CustomEvent("change",{detail:e}))}},e))});export default E;
1
+ function e(){return(e=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}import{template as t}from"solid-js/web";import{insert as r}from"solid-js/web";import{getOwner as n}from"solid-js/web";import{effect as a}from"solid-js/web";import{createComponent as o}from"solid-js/web";import{addEventListener as l}from"solid-js/web";let s=t("<style> "),u=t("<n-tabs>",!0,!1),i=t("<code>");import{batch as m,createEffect as p,createSignal as d,mergeProps as y,Show as c,splitProps as v,untrack as b}from"solid-js";import{css as g}from"@moneko/css";import{customElement as h}from"solid-element";import f from"./day";import w from"./hour";import $ from"./minute";import C from"./month";import k from"./second";import N from"./week";import j from"./year";import"../button";import"../input-number";import"../radio";import"../select";import"../tabs";function E(t){let[y]=v(t,["value","defaultValue","exclude","onChange","type","showCron","css","class"]),[h,E]=d(y.defaultValue),W=new Date().getFullYear(),D={hms:{start:0,end:1,begin:0,beginEvery:1,some:[0],value:""},mwd:{start:1,end:2,begin:1,beginEvery:1,some:[1],value:""},year:{start:W,end:W+1,begin:W,beginEvery:1,some:[W],value:""}},P=[],L=[];for(let e=1;e<32;e++)P.push({label:e<10?`0${e}`:`${e}`,value:e}),L.push(e);let[x,O]=d("second"),[V,I]=d({second:e({type:"*"},D.hms),minute:e({type:"*"},D.hms),hour:e({type:"*"},D.hms),day:e({type:"*",last:1,closeWorkDay:1},D.mwd),month:e({type:"*"},D.mwd),week:e({last:1,type:"?"},D.mwd),year:e({type:""},D.year)});function F(t,r){m(()=>{!function(){let t=b(V),r="day"===x();if(r||"week"===x()){let n=r?"week":"day",a="?"===t[n].type&&"?"===t[x()].type?"*":"?";a!==t[n].type&&I(t=>e({},t,{[n]:e({},t[n],{type:a})}))}}(),I(n=>{let a=e({},n[x()],{[t]:r});return("start"===t||"end"===t)&&a.end-a.start<=1&&("end"===t?a.start=r-1:a.end=r+1),e({},n,{[x()]:a})})})}function U(e){O(e.detail[0])}function Y(e,t){if(e.value.includes("-")){e.type="period";let t=e.value.split("-");e.start=Number(t[0]),e.end=Number(t[1])}else if(e.value.includes("W"))e.type="closeWorkDay",e.closeWorkDay=Number(e.value.split("W")[0])||1;else if(e.value.includes("L"))e.type="last",e.last=Number(e.value.split("L")[0])||1;else if(e.value.includes(t?"#":"/")){e.type="beginInterval";let r=e.value.split(t?"#":"/");t?(e.begin=Number(r[1]),e.beginEvery=Number(r[0])):(e.begin=Number(r[0]),e.beginEvery=Number(r[1]))}else e.value.includes(",")||/^[0-9]+$/.test(e.value)?(e.type="some",e.some=e.value.split(",").map(Number)):e.type=e.value;return e}function _(e){return"number"!=typeof e||isNaN(e)?e:`${e}`}function q(e,t){switch(e.type){case"period":return`${_(e.start)}-${_(e.end)}`;case"beginInterval":if(t)return`${_(e.beginEvery)}#${_(e.begin)}`;return`${_(e.begin)}/${_(e.beginEvery)}`;case"closeWorkDay":return`${_(e.closeWorkDay||1)}W`;case"last":return t?`${_(e.last)}L`:"L";case"some":return e.some.join(",");default:return e.type}}p(()=>{void 0!==y.value&&b(h)!==y.value&&E(y.value)}),p(()=>{let t=h();if(t){let r=t.toUpperCase().split(" ");m(()=>{I(t=>({second:Y(e({},t.second,{value:r[0]||"?"})),minute:Y(e({},t.minute,{value:r[1]||"?"})),hour:Y(e({},t.hour,{value:r[2]||"?"})),day:Y(e({},t.day,{value:r[3]||""})),month:Y(e({},t.month,{value:r[4]||""})),week:Y(e({},t.week,{value:r[5]||""}),!0),year:Y(e({},t.year,{value:r[6]||""}))}))})}}),p(()=>{let{second:e,minute:r,hour:n,day:a,month:o,week:l,year:s}=V(),u=`${q(e)} ${q(r)} ${q(n)} ${q(a)} ${q(o)} ${q(l,!0)} ${q(s)}`;E(e=>e===u?e:(null==t.onChange||t.onChange.call(t,u),u))});let z=[{value:"second",label:"秒",content:o(k,{get state(){return V().second},onChange:F})},{value:"minute",label:"分钟",content:o($,{get state(){return V().minute},onChange:F})},{value:"hour",label:"小时",content:o(w,{get state(){return V().hour},onChange:F})},{value:"day",label:"日",content:o(f,{get state(){return V().day},onChange:F})},{value:"week",label:"周",content:o(N,{get state(){return V().week},onChange:F})},{value:"month",label:"月",content:o(C,{get state(){return V().month},onChange:F})},{value:"year",label:"年",content:o(j,{get state(){return V().year},onChange:F})}];return[o(c,{get when(){return y.css},get children(){let e=s(),t=e.firstChild;return a(()=>t.data=g(y.css)),e}}),(()=>{let e=u();return l(e,"change",U),e.items=z,e._$owner=n(),a(()=>e.type=y.type),a(()=>e.value=x()),e})(),o(c,{get when(){return y.showCron},get children(){let e=i();return e.style.setProperty("width","100%"),e.style.setProperty("display","block"),e.style.setProperty("background","var(--component-bg)"),e.style.setProperty("border-radius","var(--border-radius)"),e.style.setProperty("text-align","center"),r(e,h),e}})]}h("n-cron",{value:void 0,defaultValue:"0 0 0 * * ? *",onChange:void 0,type:"line",exclude:[],showCron:!0},(e,t)=>{let r=t.element;return o(E,y({onChange(e){r.dispatchEvent(new CustomEvent("change",{detail:e}))}},e))});export default E;
2
2
  //# sourceMappingURL=index.js.map