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/date-picker/panel.tsx"],"sourcesContent":["import { For, Match, Show, Switch, createEffect, createMemo, createSignal } from 'solid-js';\nimport DatePanel from './date';\nimport dayjs from './dayjs';\nimport MonthPanel from './month';\nimport TimePicker from './time';\nimport YearPanel from './year';\nimport type { DatePickerProps } from '.';\n\ntype PanelProps = {\n current: dayjs.Dayjs;\n type?: DatePickerProps['type'];\n onChange(val: dayjs.Dayjs): void;\n open: boolean | null;\n openChange(val: boolean | null): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n showTime?: boolean;\n showToday?: boolean;\n showHeader?: boolean;\n};\n\nfunction preventDefault(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nfunction Panel(props: PanelProps) {\n let datePicker: HTMLDivElement | undefined;\n const [offset, setOffset] = createSignal(0);\n const [type, setType] = createSignal<DatePickerProps['type']>('date');\n\n const weekdays = dayjs.weekdaysMin();\n const isDate = createMemo(() => type() === 'date');\n const startYear = createMemo(\n () => parseInt(`${props.current.get('years') / 10 + offset()}`) * 10,\n );\n\n function handleMouseDown(e: MouseEvent) {\n if (props.open) {\n preventDefault(e);\n }\n }\n function setPrevYear() {\n if (type() === 'year') {\n setOffset((prev) => prev - 1);\n } else {\n props.onChange(props.current.subtract(1, 'year'));\n }\n }\n function setNextYear() {\n if (type() === 'year') {\n setOffset((prev) => prev + 1);\n } else {\n props.onChange(props.current.subtract(-1, 'year'));\n }\n }\n function setPrevMonth() {\n props.onChange(props.current.subtract(1, 'month'));\n }\n function setNextMonth() {\n props.onChange(props.current.subtract(-1, 'month'));\n }\n function handleChange(next: dayjs.Dayjs) {\n props.onChange(next);\n if (type() === props.type) {\n props.openChange(false);\n } else {\n setType(props.type);\n }\n }\n createEffect(() => {\n if (type() !== 'year') {\n setOffset((prev) => {\n if (prev) return 0;\n return prev;\n });\n }\n });\n\n createEffect(() => {\n if (props.type) {\n setType(props.type);\n }\n });\n return (\n <div class=\"date-time-picker\">\n <div ref={datePicker} class=\"date-picker\" onMouseDown={handleMouseDown}>\n <Show when={props.showHeader}>\n <section class=\"date-picker-header\">\n <span\n class=\"date-prev\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <n-button\n class=\"prev-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevYear}\n >\n 《\n </n-button>\n <Show when={isDate()}>\n <n-button\n class=\"prev-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevMonth}\n >\n 〈\n </n-button>\n </Show>\n </span>\n <span class=\"date-value\">\n <n-button ghost={true} flat={true} onClick={() => setType('year')}>\n <strong>\n <Show when={type() === 'year'} fallback={`${props.current.get('years')}年`}>\n {`${startYear()}-${startYear() + 9}年`}\n </Show>\n </strong>\n </n-button>\n <Show when={isDate()}>\n <n-button ghost={true} flat={true} onClick={() => setType('month')}>\n <strong>{`${props.current.get('months') + 1}月`}</strong>\n </n-button>\n </Show>\n </span>\n <span\n class=\"date-next\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <Show when={isDate()}>\n <n-button\n class=\"next-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextMonth}\n >\n 〉\n </n-button>\n </Show>\n <n-button\n class=\"next-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextYear}\n >\n 》\n </n-button>\n </span>\n </section>\n </Show>\n <Show when={isDate()}>\n <section class=\"date-picker-weeks\">\n <For each={weekdays}>{(e) => <span>{e}</span>}</For>\n </section>\n </Show>\n <section class=\"date-picker-items\">\n <Switch>\n <Match when={isDate()}>\n <DatePanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'month'}>\n <MonthPanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'year'}>\n <YearPanel current={props.current} onChange={handleChange} start={startYear()} />\n </Match>\n </Switch>\n </section>\n <Show when={isDate() && props.showToday}>\n <section class=\"date-picker-footer\">\n <n-button\n type=\"primary\"\n block={true}\n link={true}\n onClick={() => props.onChange(dayjs())}\n >\n 今日\n </n-button>\n </section>\n </Show>\n </div>\n <Show when={isDate() && props.showTime}>\n <TimePicker\n current={props.current}\n onChange={props.onChange}\n showHour={props.showHour}\n showMinute={props.showMinute}\n showSecond={props.showSecond}\n datePicker={datePicker}\n />\n </Show>\n </div>\n );\n}\n\nexport default Panel;\n"],"names":["props","datePicker","offset","setOffset","createSignal","type","setType","weekdays","dayjs","weekdaysMin","isDate","createMemo","startYear","parseInt","current","get","handleMouseDown","e","open","stopPropagation","preventDefault","setPrevYear","prev","onChange","subtract","setNextYear","setPrevMonth","setNextMonth","handleChange","next","openChange","createEffect","Show","showHeader","For","Switch","Match","DatePanel","MonthPanel","YearPanel","showToday","showTime","TimePicker","showHour","showMinute","showSecond"],"mappings":"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"}
1
+ {"version":3,"sources":["../../components/date-picker/panel.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, For, Match, Show, Switch } from 'solid-js';\n\nimport type { DatePickerProps } from '.';\nimport DatePanel from './date';\nimport dayjs from './dayjs';\nimport MonthPanel from './month';\nimport TimePicker from './time';\nimport YearPanel from './year';\n\ninterface PanelProps {\n current: dayjs.Dayjs;\n type?: DatePickerProps['type'];\n onChange(val: dayjs.Dayjs): void;\n open: boolean | null;\n openChange(val: boolean | null): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n showTime?: boolean;\n showToday?: boolean;\n showHeader?: boolean;\n}\n\nfunction preventDefault(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nfunction Panel(props: PanelProps) {\n let datePicker: HTMLDivElement | undefined;\n const [offset, setOffset] = createSignal(0);\n const [type, setType] = createSignal<DatePickerProps['type']>('date');\n\n const weekdays = dayjs.weekdaysMin();\n const isDate = createMemo(() => type() === 'date');\n const startYear = createMemo(\n () => parseInt(`${props.current.get('years') / 10 + offset()}`) * 10,\n );\n\n function handleMouseDown(e: MouseEvent) {\n if (props.open) {\n preventDefault(e);\n }\n }\n function setPrevYear() {\n if (type() === 'year') {\n setOffset((prev) => prev - 1);\n } else {\n props.onChange(props.current.subtract(1, 'year'));\n }\n }\n function setNextYear() {\n if (type() === 'year') {\n setOffset((prev) => prev + 1);\n } else {\n props.onChange(props.current.subtract(-1, 'year'));\n }\n }\n function setPrevMonth() {\n props.onChange(props.current.subtract(1, 'month'));\n }\n function setNextMonth() {\n props.onChange(props.current.subtract(-1, 'month'));\n }\n function handleChange(next: dayjs.Dayjs) {\n props.onChange(next);\n if (type() === props.type) {\n props.openChange(false);\n } else {\n setType(props.type);\n }\n }\n createEffect(() => {\n if (type() !== 'year') {\n setOffset((prev) => {\n if (prev) return 0;\n return prev;\n });\n }\n });\n\n createEffect(() => {\n if (props.type) {\n setType(props.type);\n }\n });\n return (\n <div class=\"date-time-picker\">\n <div ref={datePicker} class=\"date-picker\" onMouseDown={handleMouseDown}>\n <Show when={props.showHeader}>\n <section class=\"date-picker-header\">\n <span\n class=\"date-prev\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <n-button\n class=\"prev-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevYear}\n >\n 《\n </n-button>\n <Show when={isDate()}>\n <n-button\n class=\"prev-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevMonth}\n >\n 〈\n </n-button>\n </Show>\n </span>\n <span class=\"date-value\">\n <n-button ghost={true} flat={true} onClick={() => setType('year')}>\n <strong>\n <Show when={type() === 'year'} fallback={`${props.current.get('years')}年`}>\n {`${startYear()}-${startYear() + 9}年`}\n </Show>\n </strong>\n </n-button>\n <Show when={isDate()}>\n <n-button ghost={true} flat={true} onClick={() => setType('month')}>\n <strong>{`${props.current.get('months') + 1}月`}</strong>\n </n-button>\n </Show>\n </span>\n <span\n class=\"date-next\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <Show when={isDate()}>\n <n-button\n class=\"next-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextMonth}\n >\n 〉\n </n-button>\n </Show>\n <n-button\n class=\"next-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextYear}\n >\n 》\n </n-button>\n </span>\n </section>\n </Show>\n <Show when={isDate()}>\n <section class=\"date-picker-weeks\">\n <For each={weekdays}>{(e) => <span>{e}</span>}</For>\n </section>\n </Show>\n <section class=\"date-picker-items\">\n <Switch>\n <Match when={isDate()}>\n <DatePanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'month'}>\n <MonthPanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'year'}>\n <YearPanel current={props.current} onChange={handleChange} start={startYear()} />\n </Match>\n </Switch>\n </section>\n <Show when={isDate() && props.showToday}>\n <section class=\"date-picker-footer\">\n <n-button\n type=\"primary\"\n block={true}\n link={true}\n onClick={() => {\n props.onChange(dayjs());\n }}\n >\n 今日\n </n-button>\n </section>\n </Show>\n </div>\n <Show when={isDate() && props.showTime}>\n <TimePicker\n current={props.current}\n onChange={props.onChange}\n showHour={props.showHour}\n showMinute={props.showMinute}\n showSecond={props.showSecond}\n datePicker={datePicker}\n />\n </Show>\n </div>\n );\n}\n\nexport default Panel;\n"],"names":["props","datePicker","offset","setOffset","createSignal","type","setType","weekdays","dayjs","weekdaysMin","isDate","createMemo","startYear","parseInt","current","get","handleMouseDown","e","open","stopPropagation","preventDefault","setPrevYear","prev","onChange","subtract","setNextYear","setPrevMonth","setNextMonth","handleChange","next","openChange","createEffect","Show","showHeader","For","Switch","Match","DatePanel","MonthPanel","YearPanel","showToday","showTime","TimePicker","showHour","showMinute","showSecond"],"mappings":"kGAgNA,+CAAA,+CAhNiF,wBAG3D,uBACJ,wBACK,wBACA,uBACD,4zBAyMtB,EApLA,SAAeA,CAAiB,MAC1BC,EACJ,GAAM,CAACC,EAAQC,EAAU,CAAGC,GAAAA,cAAY,EAAC,GACnC,CAACC,EAAMC,EAAQ,CAAGF,GAAAA,cAAY,EAA0B,QAExDG,EAAWC,SAAK,CAACC,WAAW,GAC5BC,EAASC,GAAAA,YAAU,EAAC,IAAMN,AAAW,SAAXA,KAC1BO,EAAYD,GAAAA,YAAU,EAC1B,IAAME,AAA4D,GAA5DA,SAAS,CAAC,EAAEb,EAAMc,OAAO,CAACC,GAAG,CAAC,SAAW,GAAKb,IAAS,CAAC,GAGhE,SAASc,EAAgBC,CAAa,EAChCjB,EAAMkB,IAAI,GAhBhBD,AAiBmBA,EAjBjBE,eAAe,GACjBF,AAgBmBA,EAhBjBG,cAAc,GAkBhB,CACA,SAASC,IACHhB,AAAW,SAAXA,IACFF,EAAU,AAACmB,GAASA,EAAO,GAE3BtB,EAAMuB,QAAQ,CAACvB,EAAMc,OAAO,CAACU,QAAQ,CAAC,EAAG,QAE7C,CACA,SAASC,IACHpB,AAAW,SAAXA,IACFF,EAAU,AAACmB,GAASA,EAAO,GAE3BtB,EAAMuB,QAAQ,CAACvB,EAAMc,OAAO,CAACU,QAAQ,CAAC,GAAI,QAE9C,CACA,SAASE,IACP1B,EAAMuB,QAAQ,CAACvB,EAAMc,OAAO,CAACU,QAAQ,CAAC,EAAG,SAC3C,CACA,SAASG,IACP3B,EAAMuB,QAAQ,CAACvB,EAAMc,OAAO,CAACU,QAAQ,CAAC,GAAI,SAC5C,CACA,SAASI,EAAaC,CAAiB,EACrC7B,EAAMuB,QAAQ,CAACM,GACXxB,MAAWL,EAAMK,IAAI,CACvBL,EAAM8B,UAAU,CAAC,CAAA,GAEjBxB,EAAQN,EAAMK,IAAI,CAEtB,CAeA,MAdA0B,GAAAA,cAAY,EAAC,KACI,SAAX1B,KACFF,EAAU,AAACmB,GACT,AAAIA,EAAa,EACVA,EAGb,GAEAS,GAAAA,cAAY,EAAC,KACP/B,EAAMK,IAAI,EACZC,EAAQN,EAAMK,IAAI,CAEtB,oCAGcJ,4DAA6Ce,0CAA7Cf,yCACP+B,MAAI,oBAAOhC,EAAMiC,UAAU,6KAaXZ,eAFD,CAAA,SACF,CAAA,kEAKPW,MAAI,oBAAOtB,qEAMCgB,eAFD,CAAA,SACF,CAAA,kDAQkC,IAAMpB,EAAQ,gBAAzC,CAAA,SAAY,CAAA,kEAExB0B,MAAI,mBAAO3B,AAAW,SAAXA,0BAA6B,CAAC,EAAEL,EAAMc,OAAO,CAACC,GAAG,CAAC,SAAS,CAAC,CAAC,uBACtE,CAAC,EAAEH,IAAY,CAAC,EAAEA,IAAc,EAAE,CAAC,CAAC,0CAI1CoB,MAAI,oBAAOtB,8DACkC,IAAMJ,EAAQ,iBAAzC,CAAA,SAAY,CAAA,gDAClB,CAAC,EAAEN,EAAMc,OAAO,CAACC,GAAG,CAAC,UAAY,EAAE,CAAC,CAAC,kDAUjDiB,MAAI,oBAAOtB,qEAMCiB,eAFD,CAAA,SACF,CAAA,sEAWCF,eAFD,CAAA,SACF,CAAA,oDA3DM,CAACf,MAyCD,CAACA,2LA0BpBsB,MAAI,oBAAOtB,yEAEPwB,KAAG,OAAO3B,WAAW,AAACU,wCAAaA,yDAIrCkB,QAAM,8CACJC,OAAK,oBAAO1B,gDACV2B,SAAS,uBAAUrC,EAAMc,OAAO,WAAYc,6BAE9CQ,OAAK,mBAAO/B,AAAW,UAAXA,gDACViC,SAAU,uBAAUtC,EAAMc,OAAO,WAAYc,6BAE/CQ,OAAK,mBAAO/B,AAAW,SAAXA,gDACVkC,SAAS,uBAAUvC,EAAMc,OAAO,WAAYc,qBAAqBhB,oDAIvEoB,MAAI,oBAAOtB,KAAYV,EAAMwC,SAAS,2DAMxB,KACPxC,EAAMuB,QAAQ,CAACf,GAAAA,SAAK,IACtB,UAJO,CAAA,SACD,CAAA,6EAUbwB,MAAI,oBAAOtB,KAAYV,EAAMyC,QAAQ,6CACnCC,SAAU,uBACA1C,EAAMc,OAAO,wBACZd,EAAMuB,QAAQ,wBACdvB,EAAM2C,QAAQ,0BACZ3C,EAAM4C,UAAU,0BAChB5C,EAAM6C,UAAU,aAChB5C,kBAKtB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/date-picker/time.tsx"],"sourcesContent":["import { Show, createEffect, createSignal } from 'solid-js';\nimport dayjs from './dayjs';\n\ntype TimePickerProps = {\n current: dayjs.Dayjs;\n datePicker: HTMLDivElement | undefined;\n onChange(next: dayjs.Dayjs): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n};\n\nexport const hours = Array.from({ length: 24 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\nexport const minutes = Array.from({ length: 60 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\n\nfunction TimePicker(props: TimePickerProps) {\n const [hei, setHei] = createSignal('0px');\n\n createEffect(() => {\n setHei(`${props.datePicker?.offsetHeight}px`);\n });\n\n return (\n <section class=\"time-picker\" style={{ 'max-block-size': hei() }}>\n <section class=\"time-picker-header\">\n <n-button ghost={true} flat={true}>\n <strong>{props.current.format('HH:mm:ss')}</strong>\n </n-button>\n </section>\n <section class=\"time-picker-items\">\n <Show when={props.showHour}>\n <n-menu\n items={hours}\n value={props.current.get('hour')}\n onChange={(e) => {\n const next = props.current.set('hour', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showMinute}>\n <n-menu\n items={minutes}\n value={props.current.get('minute')}\n onChange={(e) => {\n const next = props.current.set('minute', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showSecond}>\n <n-menu\n items={minutes}\n value={props.current.get('second')}\n onChange={(e) => {\n const next = props.current.set('second', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n </section>\n </section>\n );\n}\n\nexport default TimePicker;\n"],"names":["hours","minutes","Array","from","length","_","i","label","value","props","hei","setHei","createSignal","createEffect","datePicker","offsetHeight","current","format","Show","showHour","e","next","set","detail","onChange","get","showMinute","showSecond"],"mappings":"+JA0EA,OAA0B,mBAA1B,GA9DaA,KAAK,mBAALA,GAIAC,OAAO,mBAAPA,+CAhBoC,8NAYpCD,EAAQE,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CACzDC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GACaL,EAAUC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CAC3DC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GAuDA,EArDA,SAAoBG,CAAsB,EACxC,GAAM,CAACC,EAAKC,EAAO,CAAGC,GAAAA,cAAY,EAAC,OAMnC,MAJAC,GAAAA,cAAY,EAAC,KACXF,EAAO,CAAC,EAAEF,EAAMK,UAAU,EAAEC,aAAa,EAAE,CAAC,CAC9C,+FAKuB,CAAA,SAAY,CAAA,gDAClBN,EAAMO,OAAO,CAACC,MAAM,CAAC,kDAI/BC,MAAI,oBAAOT,EAAMU,QAAQ,8DAIZ,AAACC,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,OAAQF,EAAEG,MAAM,CAAC,EAAE,EAElDd,EAAMe,QAAQ,CAACH,EACjB,WANOrB,sDACAS,EAAMO,OAAO,CAACS,GAAG,CAAC,yDAQ5BP,MAAI,oBAAOT,EAAMiB,UAAU,8DAId,AAACN,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOpB,sDACAQ,EAAMO,OAAO,CAACS,GAAG,CAAC,2DAQ5BP,MAAI,oBAAOT,EAAMkB,UAAU,8DAId,AAACP,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOpB,sDACAQ,EAAMO,OAAO,CAACS,GAAG,CAAC,6CAhCuBf,yCAAAA,oDA2C5D"}
1
+ {"version":3,"sources":["../../components/date-picker/time.tsx"],"sourcesContent":["import { createEffect, createSignal, Show } from 'solid-js';\n\nimport dayjs from './dayjs';\n\ninterface TimePickerProps {\n current: dayjs.Dayjs;\n datePicker: HTMLDivElement | undefined;\n onChange(next: dayjs.Dayjs): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n}\n\nexport const hours = Array.from({ length: 24 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\nexport const minutes = Array.from({ length: 60 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\n\nfunction TimePicker(props: TimePickerProps) {\n const [hei, setHei] = createSignal('0px');\n\n createEffect(() => {\n setHei(`${props.datePicker?.offsetHeight}px`);\n });\n\n return (\n <section class=\"time-picker\" style={{ 'max-block-size': hei() }}>\n <section class=\"time-picker-header\">\n <n-button ghost={true} flat={true}>\n <strong>{props.current.format('HH:mm:ss')}</strong>\n </n-button>\n </section>\n <section class=\"time-picker-items\">\n <Show when={props.showHour}>\n <n-menu\n items={hours}\n value={props.current.get('hour')}\n onChange={(e) => {\n const next = props.current.set('hour', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showMinute}>\n <n-menu\n items={minutes}\n value={props.current.get('minute')}\n onChange={(e) => {\n const next = props.current.set('minute', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showSecond}>\n <n-menu\n items={minutes}\n value={props.current.get('second')}\n onChange={(e) => {\n const next = props.current.set('second', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n </section>\n </section>\n );\n}\n\nexport default TimePicker;\n"],"names":["hours","minutes","Array","from","length","_","i","label","value","props","hei","setHei","createSignal","createEffect","datePicker","offsetHeight","current","format","Show","showHour","e","next","set","detail","onChange","get","showMinute","showSecond"],"mappings":"+JA2EA,OAA0B,mBAA1B,GA9DaA,KAAK,mBAALA,GAIAC,OAAO,mBAAPA,+CAjBoC,8NAapCD,EAAQE,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CACzDC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GACaL,EAAUC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CAC3DC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GAuDA,EArDA,SAAoBG,CAAsB,EACxC,GAAM,CAACC,EAAKC,EAAO,CAAGC,GAAAA,cAAY,EAAC,OAMnC,MAJAC,GAAAA,cAAY,EAAC,KACXF,EAAO,CAAC,EAAEF,EAAMK,UAAU,EAAEC,aAAa,EAAE,CAAC,CAC9C,+FAKuB,CAAA,SAAY,CAAA,gDAClBN,EAAMO,OAAO,CAACC,MAAM,CAAC,kDAI/BC,MAAI,oBAAOT,EAAMU,QAAQ,8DAIZ,AAACC,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,OAAQF,EAAEG,MAAM,CAAC,EAAE,EAElDd,EAAMe,QAAQ,CAACH,EACjB,WANOrB,sDACAS,EAAMO,OAAO,CAACS,GAAG,CAAC,yDAQ5BP,MAAI,oBAAOT,EAAMiB,UAAU,8DAId,AAACN,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOpB,sDACAQ,EAAMO,OAAO,CAACS,GAAG,CAAC,2DAQ5BP,MAAI,oBAAOT,EAAMkB,UAAU,8DAId,AAACP,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOpB,sDACAQ,EAAMO,OAAO,CAACS,GAAG,CAAC,6CAhCuBf,yCAAAA,oDA2C5D"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/date-picker/year.tsx"],"sourcesContent":["import { For, createMemo } from 'solid-js';\nimport dayjs from './dayjs';\n\ntype YearPanelProps = {\n current: dayjs.Dayjs;\n start: number;\n onChange(next: dayjs.Dayjs): void;\n};\nfunction YearPanel(props: YearPanelProps) {\n const years = createMemo(() => {\n const start = props.start;\n\n return [start - 1, ...Array.from({ length: 10 }, (__, i) => start + i), start + 10];\n });\n\n return (\n <For each={years()}>\n {(y, i) => {\n function onChange() {\n props.onChange(props.current.set('years', y));\n }\n return (\n <n-button\n type=\"primary\"\n flat={true}\n class=\"date-picker-month\"\n classList={{\n 'date-opacity': i() === 0 || i() === years().length - 1,\n 'date-active': props.current.get('years') === y,\n }}\n tag={props.current.get('years') === y ? 'strong' : 'button'}\n onClick={onChange}\n >\n {y}\n </n-button>\n );\n }}\n </For>\n );\n}\n\nexport default YearPanel;\n"],"names":["props","years","createMemo","start","Array","from","length","__","i","For","y","onChange","current","set","get"],"mappings":"kGAyCA,+CAAA,+CAzCgC,0FAyChC,EAjCA,SAAmBA,CAAqB,EACtC,IAAMC,EAAQC,GAAAA,YAAU,EAAC,KACvB,IAAMC,EAAQH,EAAMG,KAAK,CAEzB,MAAO,CAACA,EAAQ,KAAMC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAIC,IAAML,EAAQK,GAAIL,EAAQ,GAAG,AACrF,GAEA,4BACGM,KAAG,oBAAOR,cACR,CAACS,EAAGF,KACH,SAASG,IACPX,EAAMW,QAAQ,CAACX,EAAMY,OAAO,CAACC,GAAG,CAAC,QAASH,GAC5C,CACA,6DAUaC,aAPH,CAAA,4CASLD,2BANiBF,CAAAA,AAAQ,IAARA,KAAaA,MAAQP,IAAQK,MAAM,CAAG,CAAA,MACvCN,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,KAE3CV,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,EAAI,SAAW,wMAMzD,GAGN"}
1
+ {"version":3,"sources":["../../components/date-picker/year.tsx"],"sourcesContent":["import { createMemo, For } from 'solid-js';\n\nimport dayjs from './dayjs';\n\ninterface YearPanelProps {\n current: dayjs.Dayjs;\n start: number;\n onChange(next: dayjs.Dayjs): void;\n}\nfunction YearPanel(props: YearPanelProps) {\n const years = createMemo(() => {\n const start = props.start;\n\n return [start - 1, ...Array.from({ length: 10 }, (__, i) => start + i), start + 10];\n });\n\n return (\n <For each={years()}>\n {(y, i) => {\n function onChange() {\n props.onChange(props.current.set('years', y));\n }\n return (\n <n-button\n type=\"primary\"\n flat={true}\n class=\"date-picker-month\"\n classList={{\n 'date-opacity': i() === 0 || i() === years().length - 1,\n 'date-active': props.current.get('years') === y,\n }}\n tag={props.current.get('years') === y ? 'strong' : 'button'}\n onClick={onChange}\n >\n {y}\n </n-button>\n );\n }}\n </For>\n );\n}\n\nexport default YearPanel;\n"],"names":["props","years","createMemo","start","Array","from","length","__","i","For","y","onChange","current","set","get"],"mappings":"kGA0CA,+CAAA,+CA1CgC,0FA0ChC,EAjCA,SAAmBA,CAAqB,EACtC,IAAMC,EAAQC,GAAAA,YAAU,EAAC,KACvB,IAAMC,EAAQH,EAAMG,KAAK,CAEzB,MAAO,CAACA,EAAQ,KAAMC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAIC,IAAML,EAAQK,GAAIL,EAAQ,GAAG,AACrF,GAEA,4BACGM,KAAG,oBAAOR,cACR,CAACS,EAAGF,KACH,SAASG,IACPX,EAAMW,QAAQ,CAACX,EAAMY,OAAO,CAACC,GAAG,CAAC,QAASH,GAC5C,CACA,6DAUaC,aAPH,CAAA,4CASLD,2BANiBF,CAAAA,AAAQ,IAARA,KAAaA,MAAQP,IAAQK,MAAM,CAAG,CAAA,MACvCN,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,KAE3CV,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,EAAI,SAAW,wMAMzD,GAGN"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: 数据录入
3
+ title: 下拉菜单
4
+ subtitle: n-dropdown
5
+ icon: ⏏
6
+ ---
7
+
8
+ # Dropdown 下拉菜单
9
+
10
+ > 下拉菜单
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: 显示箭头
3
+ description: 设置 `arrow` 来添加一个箭头来显示方向
4
+ order: 5
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown arrow="true" placement="left">
9
+ <n-button>left</n-button>
10
+ </n-dropdown>
11
+ <n-dropdown arrow="true" placement="bottomLeft">
12
+ <n-button>bottomLeft</n-button>
13
+ </n-dropdown>
14
+ <n-dropdown arrow="true" placement="bottom">
15
+ <n-button>bottom</n-button>
16
+ </n-dropdown>
17
+ <n-dropdown arrow="true" placement="bottomRight">
18
+ <n-button>bottomRight</n-button>
19
+ </n-dropdown>
20
+ <n-dropdown arrow="true" placement="topLeft">
21
+ <n-button>topLeft</n-button>
22
+ </n-dropdown>
23
+ <n-dropdown arrow="true" placement="top">
24
+ <n-button>top</n-button>
25
+ </n-dropdown>
26
+ <n-dropdown arrow="true" placement="topRight">
27
+ <n-button>topRight</n-button>
28
+ </n-dropdown>
29
+ <n-dropdown arrow="true" placement="right">
30
+ <n-button>right</n-button>
31
+ </n-dropdown>
32
+ ```
33
+
34
+ ```jsx
35
+ <n-dropdown arrow placement="left">
36
+ <n-button>left</n-button>
37
+ </n-dropdown>
38
+ <n-dropdown arrow placement="bottomLeft">
39
+ <n-button>bottomLeft</n-button>
40
+ </n-dropdown>
41
+ <n-dropdown arrow placement="bottom">
42
+ <n-button>bottom</n-button>
43
+ </n-dropdown>
44
+ <n-dropdown arrow placement="bottomRight">
45
+ <n-button>bottomRight</n-button>
46
+ </n-dropdown>
47
+ <n-dropdown arrow placement="topLeft">
48
+ <n-button>topLeft</n-button>
49
+ </n-dropdown>
50
+ <n-dropdown arrow placement="top">
51
+ <n-button>top</n-button>
52
+ </n-dropdown>
53
+ <n-dropdown arrow placement="topRight">
54
+ <n-button>topRight</n-button>
55
+ </n-dropdown>
56
+ <n-dropdown arrow placement="right">
57
+ <n-button>right</n-button>
58
+ </n-dropdown>
59
+ ```
@@ -0,0 +1,17 @@
1
+ ---
2
+ title: 最简单的用法
3
+ order: 1
4
+ ---
5
+
6
+ ```html
7
+ <n-dropdown>hover</n-dropdown>
8
+ <script>
9
+ const el = container.querySelector('n-dropdown');
10
+
11
+ el.items = ['A', 'B', { value: 'C', disabled: true }, 'D'];
12
+ </script>
13
+ ```
14
+
15
+ ```jsx
16
+ <n-dropdown items={['A', 'B', { value: 'C', disabled: true }, 'D']}>hover</n-dropdown>
17
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: 点击时开启
3
+ description: 将 `trigger` 属性设置为 `click`, 则可以将触发方式改为点击
4
+ order: 3
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown trigger="click">
9
+ <n-button>点击我</n-button>
10
+ </n-dropdown>
11
+ <script>
12
+ const el = container.querySelector('n-dropdown');
13
+
14
+ el.items = [
15
+ { value: '2', label: 'group one', options: ['A', 'B'] },
16
+ {
17
+ value: '1',
18
+ label: 'group two',
19
+ options: [
20
+ { value: '3', label: 'option-3', type: 'error' },
21
+ { value: '4', label: 'option-4', disabled: true },
22
+ ],
23
+ },
24
+ ];
25
+ </script>
26
+ ```
27
+
28
+ ```jsx
29
+ <n-dropdown
30
+ items={[
31
+ { value: '2', label: 'option-2', options: ['A', 'B'] },
32
+ {
33
+ value: '1',
34
+ label: 'option-1',
35
+ options: [
36
+ { value: '3', label: 'option-3', type: 'error' },
37
+ { value: '4', label: 'option-4', disabled: true },
38
+ ],
39
+ },
40
+ ]}
41
+ trigger="click"
42
+ >
43
+ <n-button>点击我</n-button>
44
+ </n-dropdown>
45
+ ```
@@ -0,0 +1,66 @@
1
+ ---
2
+ title: 右键触发
3
+ description: 将 `trigger` 属性设置为 `contextMenu`, 则可以将触发方式改为右键
4
+ order: 7
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown class="dropdown" style="width: 100%;" trigger="contextMenu">
9
+ <div style="width: 100%;opacity: 0.4;">右键点我</div>
10
+ </n-dropdown>
11
+ <script>
12
+ const el = container.querySelector('n-dropdown');
13
+
14
+ el.css = `
15
+ .dropdown {
16
+ display: block;
17
+ width: 100%;
18
+ height: 150px;
19
+ background-color: var(--disable-bg);
20
+ border-radius: 8px;
21
+ line-height: 150px;
22
+ text-align: center;
23
+ font-size: x-large;
24
+ }
25
+ `;
26
+ el.items = [
27
+ { value: '1', label: 'option-1' },
28
+ { value: '2', label: 'option-2', disabled: true },
29
+ { value: '3', label: 'option-3', type: 'error' },
30
+ ];
31
+ </script>
32
+ ```
33
+
34
+ ```jsx
35
+ <n-dropdown
36
+ class="dropdown"
37
+ style={{ width: '100%' }}
38
+ items={[
39
+ { value: '1', label: 'option-1' },
40
+ { value: '2', label: 'option-2', disabled: true },
41
+ { value: '3', label: 'option-3', type: 'error' },
42
+ ]}
43
+ trigger="contextMenu"
44
+ css={`
45
+ .dropdown {
46
+ display: block;
47
+ width: 100%;
48
+ height: 150px;
49
+ background-color: var(--disable-bg);
50
+ border-radius: 8px;
51
+ line-height: 150px;
52
+ text-align: center;
53
+ font-size: x-large;
54
+ }
55
+ `}
56
+ >
57
+ <div
58
+ style={{
59
+ width: '100%',
60
+ opacity: 0.4,
61
+ }}
62
+ >
63
+ 右键点我
64
+ </div>
65
+ </n-dropdown>
66
+ ```
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: 自定义字段名
3
+ description: 自定义节点 'label'、'value'、'options' 的字段
4
+ order: 12
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown>
9
+ <n-button>自定义字段</n-button>
10
+ </n-dropdown>
11
+ <script>
12
+ const el = container.querySelector('n-dropdown');
13
+
14
+ el.fieldNames = {
15
+ label: 'name',
16
+ options: 'children',
17
+ };
18
+ el.items = [
19
+ {
20
+ value: '1',
21
+ name: '动物',
22
+ children: ['牛', '马'],
23
+ },
24
+ ];
25
+ </script>
26
+ ```
27
+
28
+ ```jsx
29
+ <n-dropdown
30
+ field-names={{
31
+ label: 'name',
32
+ options: 'children',
33
+ }}
34
+ items={[
35
+ {
36
+ value: '1',
37
+ name: '动物',
38
+ children: ['牛', '马'],
39
+ },
40
+ ]}
41
+ >
42
+ <n-button>自定义字段</n-button>
43
+ </n-dropdown>
44
+ ```
@@ -0,0 +1,30 @@
1
+ ---
2
+ title: 带图标的选项
3
+ description: 给每一项添加独特的图标
4
+ order: 6
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown>
9
+ <n-button>带图标的选项</n-button>
10
+ </n-dropdown>
11
+ <script>
12
+ const el = container.querySelector('n-dropdown');
13
+
14
+ el.items = [
15
+ { label: '狮子', value: '狮子', icon: '🦁' },
16
+ { label: '大青蛙', value: '大青蛙', icon: '🐸' },
17
+ ];
18
+ </script>
19
+ ```
20
+
21
+ ```jsx
22
+ <n-dropdown
23
+ items={[
24
+ { label: '狮子', value: '狮子', icon: '🦁' },
25
+ { label: '大青蛙', value: '大青蛙', icon: '🐸' },
26
+ ]}
27
+ >
28
+ <n-button>带图标的选项</n-button>
29
+ </n-dropdown>
30
+ ```
@@ -0,0 +1,45 @@
1
+ ---
2
+ title: 多选模式
3
+ description: 将 `multiple` 属性设置为 true, 进行多选操作, 当设置 `value` 时值受控
4
+ order: 9
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown selectable="true" multiple="true">
9
+ <div>可多选</div>
10
+ </n-dropdown>
11
+ <script>
12
+ const el = container.querySelector('n-dropdown');
13
+
14
+ el.items = [
15
+ { value: 'a', label: '张三' },
16
+ { value: 'b', label: '李四' },
17
+ { value: 'c', label: '王五' },
18
+ { value: 'd', label: '赵六' },
19
+ ];
20
+ el.value = ['a', 'c'];
21
+ el.onchange = function (e) {
22
+ const [key] = e.detail;
23
+ e.target.value = key;
24
+ };
25
+ </script>
26
+ ```
27
+
28
+ ```jsx
29
+ <n-dropdown
30
+ multiple
31
+ selectable
32
+ value={['2', '4']}
33
+ items={[
34
+ { value: '1', label: '张三' },
35
+ { value: '2', label: '李四' },
36
+ { value: '3', label: '王五' },
37
+ { value: '4', label: '赵六' },
38
+ ]}
39
+ onChange={(e) => {
40
+ e.target.value = e.detail[0];
41
+ }}
42
+ >
43
+ <div>可多选</div>
44
+ </n-dropdown>
45
+ ```
@@ -0,0 +1,16 @@
1
+ ---
2
+ title: 无数据
3
+ order: 11
4
+ ---
5
+
6
+ ```html
7
+ <n-dropdown>
8
+ <n-typography>hover</n-typography>
9
+ </n-dropdown>
10
+ ```
11
+
12
+ ```jsx
13
+ <n-dropdown>
14
+ <n-typography>hover</n-typography>
15
+ </n-dropdown>
16
+ ```
@@ -0,0 +1,59 @@
1
+ ---
2
+ title: 展示方向
3
+ description: 支持 6 个弹出方向, 可以通过 `placement` 来指定
4
+ order: 4
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown placement="left">
9
+ <n-button>left</n-button>
10
+ </n-dropdown>
11
+ <n-dropdown placement="bottomLeft">
12
+ <n-button>bottomLeft</n-button>
13
+ </n-dropdown>
14
+ <n-dropdown placement="bottom">
15
+ <n-button>bottom</n-button>
16
+ </n-dropdown>
17
+ <n-dropdown placement="bottomRight">
18
+ <n-button>bottomRight</n-button>
19
+ </n-dropdown>
20
+ <n-dropdown placement="topLeft">
21
+ <n-button>topLeft</n-button>
22
+ </n-dropdown>
23
+ <n-dropdown placement="top">
24
+ <n-button>top</n-button>
25
+ </n-dropdown>
26
+ <n-dropdown placement="topRight">
27
+ <n-button>topRight</n-button>
28
+ </n-dropdown>
29
+ <n-dropdown placement="right">
30
+ <n-button>right</n-button>
31
+ </n-dropdown>
32
+ ```
33
+
34
+ ```jsx
35
+ <n-dropdown placement="left">
36
+ <n-button>left</n-button>
37
+ </n-dropdown>
38
+ <n-dropdown placement="bottomLeft">
39
+ <n-button>bottomLeft</n-button>
40
+ </n-dropdown>
41
+ <n-dropdown placement="bottom">
42
+ <n-button>bottom</n-button>
43
+ </n-dropdown>
44
+ <n-dropdown placement="bottomRight">
45
+ <n-button>bottomRight</n-button>
46
+ </n-dropdown>
47
+ <n-dropdown placement="topLeft">
48
+ <n-button>topLeft</n-button>
49
+ </n-dropdown>
50
+ <n-dropdown placement="top">
51
+ <n-button>top</n-button>
52
+ </n-dropdown>
53
+ <n-dropdown placement="topRight">
54
+ <n-button>topRight</n-button>
55
+ </n-dropdown>
56
+ <n-dropdown placement="right">
57
+ <n-button>right</n-button>
58
+ </n-dropdown>
59
+ ```
@@ -0,0 +1,36 @@
1
+ ---
2
+ title: 可取消选中
3
+ description: 将 `toggle` 属性设置为 true, 则可以在选中时取消
4
+ order: 10
5
+ ---
6
+
7
+ ```html
8
+ <n-dropdown selectable="true" toggle="true">
9
+ <div>可取消选中</div>
10
+ </n-dropdown>
11
+ <script>
12
+ const el = container.querySelector('n-dropdown');
13
+
14
+ el.items = [
15
+ { value: '1', label: '张三' },
16
+ { value: '2', label: '李四' },
17
+ { value: '3', label: '王五' },
18
+ { value: '4', label: '赵六' },
19
+ ];
20
+ </script>
21
+ ```
22
+
23
+ ```jsx
24
+ <n-dropdown
25
+ toggle
26
+ selectable
27
+ items={[
28
+ { value: '1', label: '张三' },
29
+ { value: '2', label: '李四' },
30
+ { value: '3', label: '王五' },
31
+ { value: '4', label: '赵六' },
32
+ ]}
33
+ >
34
+ <div>可取消选中</div>
35
+ </n-dropdown>
36
+ ```
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{default:function(){return v},defaultProps:function(){return d}});const e=require("solid-js/web"),t=require("solid-js"),n=l(require("@moneko/common/lib/isFunction")),o=require("solid-element"),r=l(require("../empty"));require("../menu");const i=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(void 0);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(require("../popover"));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}const a=(0,e.template)("<n-menu>",!0,!1),p=(0,e.template)('<div class="container">');function s(o){let l;let[u,s]=(0,t.splitProps)(o,["popupClass","popupCss","value","defaultValue","onChange","open","onOpenChange","fieldNames","items","multiple","toggle"]),[d,v]=(0,t.createSignal)([]),[c,f]=(0,t.createSignal)(null),[g,m]=(0,t.createSignal)([]);function _(e){(0,n.default)(u.onOpenChange)&&u.onOpenChange(e),void 0===u.open&&f(e)}function h(e){let[t,o]=e.detail;(0,n.default)(u.onChange)&&u.onChange(t,o),void 0===u.value&&v(Array.isArray(t)?t:[t]),u.multiple||_(!1)}function C(e){m(e.detail)}return(0,t.createEffect)(()=>{void 0!==u.value&&null!==u.value?v(Array.isArray(u.value)?u.value:[u.value]):v([])}),(0,t.createEffect)(()=>{void 0!==u.open&&(0,t.untrack)(c)!==u.open&&f(u.open)}),(0,e.createComponent)(i.default,(0,e.mergeProps)({get popupClass(){return u.popupClass},get popupCss(){return u.popupCss},get open(){return c()},onOpenChange:_,get content(){return(()=>{let n=p(),o=l;return"function"==typeof o?(0,e.use)(o,n):l=n,(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return u.items?.length},get fallback(){return(0,e.createComponent)(r.default,{style:{width:"100%"}})},get children(){let t=a();return(0,e.addEventListener)(t,"openchange",C),(0,e.addEventListener)(t,"change",h),t._$owner=(0,e.getOwner)(),(0,e.effect)(e=>{let n=u.items,o=u.defaultValue,r=u.multiple,i=u.fieldNames,l=u.toggle,a=s.disabled,p=g();return n!==e._v$&&(t.items=e._v$=n),o!==e._v$2&&(t.defaultValue=e._v$2=o),r!==e._v$3&&(t.multiple=e._v$3=r),i!==e._v$4&&(t.fieldNames=e._v$4=i),l!==e._v$5&&(t.toggle=e._v$5=l),a!==e._v$6&&(t.disabled=e._v$6=a),p!==e._v$7&&(t.openKeys=e._v$7=p),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0}),(0,e.effect)(()=>t.value=d()),t}})),n})()}},s))}const d={...i.defaultProps,fieldNames:void 0,toggle:void 0,value:void 0,defaultValue:void 0,onChange:void 0,multiple:void 0,disabled:void 0,type:void 0,onOpenChange:void 0,openKeys:void 0};(0,o.customElement)("n-dropdown",{...d,items:[]},(n,o)=>{let r=o.element,i=(0,t.mergeProps)({items:r.items,onChange(e,t){r.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){r.dispatchEvent(new CustomEvent("openchange",{detail:e}))},children:[...r.childNodes.values()]},n);return(0,t.createEffect)(()=>{r.removeAttribute("items"),r.removeAttribute("field-names"),r.removeAttribute("css")}),(0,e.createComponent)(s,i)});const v=s;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{default:function(){return v},defaultProps:function(){return d}});const e=require("solid-js/web"),t=require("solid-js"),n=l(require("@moneko/common/lib/isFunction")),o=require("solid-element"),r=l(require("../empty")),i=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=u(void 0);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(require("../popover"));function l(e){return e&&e.__esModule?e:{default:e}}function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(u=function(e){return e?n:t})(e)}require("../menu");const a=(0,e.template)("<n-menu>",!0,!1),p=(0,e.template)('<div class="container">');function s(o){let l;let[u,s]=(0,t.splitProps)(o,["popupClass","popupCss","value","defaultValue","onChange","open","onOpenChange","fieldNames","items","multiple","toggle"]),[d,v]=(0,t.createSignal)([]),[c,f]=(0,t.createSignal)(null),[g,m]=(0,t.createSignal)([]);function _(e){(0,n.default)(u.onOpenChange)&&u.onOpenChange(e),void 0===u.open&&f(e)}function h(e){let[t,o]=e.detail;(0,n.default)(u.onChange)&&u.onChange(t,o),void 0===u.value&&v(Array.isArray(t)?t:[t]),u.multiple||_(!1)}function C(e){m(e.detail)}return(0,t.createEffect)(()=>{void 0!==u.value&&null!==u.value?v(Array.isArray(u.value)?u.value:[u.value]):v([])}),(0,t.createEffect)(()=>{void 0!==u.open&&(0,t.untrack)(c)!==u.open&&f(u.open)}),(0,e.createComponent)(i.default,(0,e.mergeProps)({get popupClass(){return u.popupClass},get popupCss(){return u.popupCss},get open(){return c()},onOpenChange:_,get content(){return(()=>{let n=p(),o=l;return"function"==typeof o?(0,e.use)(o,n):l=n,(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return u.items?.length},get fallback(){return(0,e.createComponent)(r.default,{style:{width:"100%"}})},get children(){let t=a();return(0,e.addEventListener)(t,"openchange",C),(0,e.addEventListener)(t,"change",h),t._$owner=(0,e.getOwner)(),(0,e.effect)(e=>{let n=u.items,o=u.defaultValue,r=u.multiple,i=u.fieldNames,l=u.toggle,a=s.disabled,p=g();return n!==e._v$&&(t.items=e._v$=n),o!==e._v$2&&(t.defaultValue=e._v$2=o),r!==e._v$3&&(t.multiple=e._v$3=r),i!==e._v$4&&(t.fieldNames=e._v$4=i),l!==e._v$5&&(t.toggle=e._v$5=l),a!==e._v$6&&(t.disabled=e._v$6=a),p!==e._v$7&&(t.openKeys=e._v$7=p),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0}),(0,e.effect)(()=>t.value=d()),t}})),n})()}},s))}const d={...i.defaultProps,fieldNames:void 0,toggle:void 0,value:void 0,defaultValue:void 0,onChange:void 0,multiple:void 0,disabled:void 0,type:void 0,onOpenChange:void 0,openKeys:void 0};(0,o.customElement)("n-dropdown",{...d,items:[]},(n,o)=>{let r=o.element,i=(0,t.mergeProps)({items:r.items,onChange(e,t){r.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){r.dispatchEvent(new CustomEvent("openchange",{detail:e}))},children:[...r.childNodes.values()]},n);return(0,t.createEffect)(()=>{r.removeAttribute("items"),r.removeAttribute("field-names"),r.removeAttribute("css")}),(0,e.createComponent)(s,i)});const v=s;
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/dropdown/index.tsx"],"sourcesContent":["import { Show, createEffect, createSignal, mergeProps, splitProps, untrack } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { customElement } from 'solid-element';\nimport Empty from '../empty';\nimport '../menu';\nimport Popover, { defaultProps as popoverProps } from '../popover';\nimport type { CustomElement, MenuMultipleProps, MenuOption, MenuProps, PopoverProps } from '..';\n\nexport interface BaseDropdownProps extends Omit<PopoverProps, 'content'> {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownProps\n extends Omit<MenuProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownMultipleProps\n extends Omit<MenuMultipleProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport type DropdownElement = CustomElement<DropdownProps>;\nexport type DropdownMultipleElement = CustomElement<DropdownMultipleProps>;\n\nfunction Dropdown(props: DropdownProps | DropdownMultipleProps) {\n const [local, other] = splitProps(props, [\n 'popupClass',\n 'popupCss',\n 'value',\n 'defaultValue',\n 'onChange',\n 'open',\n 'onOpenChange',\n 'fieldNames',\n 'items',\n 'multiple',\n 'toggle',\n ]);\n let portalRef: HTMLDivElement | undefined;\n const [value, setValue] = createSignal<(string | number)[]>([]);\n const [open, setOpen] = createSignal<boolean | null>(null);\n const [menuOpenKeys, setMenuOpenKeys] = createSignal<(string | number)[]>([]);\n\n function openChange(next: boolean | null) {\n if (isFunction(local.onOpenChange)) {\n local.onOpenChange(next);\n }\n if (local.open === void 0) {\n setOpen(next);\n }\n }\n\n function change(\n e: CustomEvent<[val: (string | number)[] | (string | number), item: MenuOption]>,\n ) {\n const [key, item] = e.detail;\n\n if (isFunction(local.onChange)) {\n local.onChange(key, item);\n }\n if (local.value === void 0) {\n setValue(Array.isArray(key) ? key : [key]);\n }\n if (!local.multiple) {\n openChange(false);\n }\n }\n function menuOpenKeysChange(e: CustomEvent<(string | number)[]>) {\n setMenuOpenKeys(e.detail);\n }\n\n createEffect(() => {\n if (local.value !== void 0 && local.value !== null) {\n setValue(Array.isArray(local.value) ? local.value : [local.value]);\n } else {\n setValue([]);\n }\n });\n createEffect(() => {\n if (local.open !== void 0 && untrack(open) !== local.open) {\n setOpen(local.open);\n }\n });\n\n return (\n <Popover\n popupClass={local.popupClass}\n popupCss={local.popupCss}\n open={open()}\n onOpenChange={openChange}\n content={\n <div ref={portalRef} class=\"container\">\n <Show when={local.items?.length} fallback={<Empty style={{ width: '100%' }} />}>\n <n-menu\n items={local.items}\n default-value={local.defaultValue}\n multiple={local.multiple as true}\n field-names={local.fieldNames}\n toggle={local.toggle}\n disabled={other.disabled}\n value={value()}\n onChange={change}\n open-keys={menuOpenKeys()}\n onOpenChange={menuOpenKeysChange}\n />\n </Show>\n </div>\n }\n {...other}\n />\n );\n}\n\nexport const defaultProps = {\n ...popoverProps,\n fieldNames: void 0,\n toggle: void 0,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n multiple: void 0,\n disabled: void 0,\n type: void 0,\n onOpenChange: void 0,\n openKeys: void 0,\n};\n\ncustomElement<DropdownProps>(\n 'n-dropdown',\n {\n ...defaultProps,\n items: [],\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n items: el.items,\n onChange(key, item) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: [key, item],\n }),\n );\n },\n onOpenChange(open: boolean | null) {\n el.dispatchEvent(\n new CustomEvent('openchange', {\n detail: open,\n }),\n );\n },\n children: [...el.childNodes.values()],\n } as DropdownProps,\n _,\n );\n\n createEffect(() => {\n el.removeAttribute('items');\n el.removeAttribute('field-names');\n el.removeAttribute('css');\n });\n return <Dropdown {...props} />;\n },\n);\nexport default Dropdown;\n"],"names":["defaultProps","Dropdown","props","portalRef","local","other","splitProps","value","setValue","createSignal","open","setOpen","menuOpenKeys","setMenuOpenKeys","openChange","next","isFunction","onOpenChange","change","e","key","item","detail","onChange","Array","isArray","multiple","menuOpenKeysChange","createEffect","untrack","Popover","popupClass","popupCss","Show","items","length","Empty","width","defaultValue","fieldNames","toggle","disabled","popoverProps","type","openKeys","customElement","_","opt","el","element","mergeProps","dispatchEvent","CustomEvent","children","childNodes","values","removeAttribute"],"mappings":"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"}
1
+ {"version":3,"sources":["../../components/dropdown/index.tsx"],"sourcesContent":["import { createEffect, createSignal, mergeProps, Show, splitProps, untrack } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement, MenuMultipleProps, MenuOption, MenuProps, PopoverProps } from '..';\nimport Empty from '../empty';\nimport Popover, { defaultProps as popoverProps } from '../popover';\n\nimport '../menu';\n\nexport interface BaseDropdownProps extends Omit<PopoverProps, 'content'> {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownProps\n extends Omit<MenuProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownMultipleProps\n extends Omit<MenuMultipleProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport type DropdownElement = CustomElement<DropdownProps>;\nexport type DropdownMultipleElement = CustomElement<DropdownMultipleProps>;\n\nfunction Dropdown(props: DropdownProps | DropdownMultipleProps) {\n const [local, other] = splitProps(props, [\n 'popupClass',\n 'popupCss',\n 'value',\n 'defaultValue',\n 'onChange',\n 'open',\n 'onOpenChange',\n 'fieldNames',\n 'items',\n 'multiple',\n 'toggle',\n ]);\n let portalRef: HTMLDivElement | undefined;\n const [value, setValue] = createSignal<(string | number)[]>([]);\n const [open, setOpen] = createSignal<boolean | null>(null);\n const [menuOpenKeys, setMenuOpenKeys] = createSignal<(string | number)[]>([]);\n\n function openChange(next: boolean | null) {\n if (isFunction(local.onOpenChange)) {\n local.onOpenChange(next);\n }\n if (local.open === void 0) {\n setOpen(next);\n }\n }\n\n function change(\n e: CustomEvent<[val: (string | number)[] | (string | number), item: MenuOption]>,\n ) {\n const [key, item] = e.detail;\n\n if (isFunction(local.onChange)) {\n local.onChange(key, item);\n }\n if (local.value === void 0) {\n setValue(Array.isArray(key) ? key : [key]);\n }\n if (!local.multiple) {\n openChange(false);\n }\n }\n function menuOpenKeysChange(e: CustomEvent<(string | number)[]>) {\n setMenuOpenKeys(e.detail);\n }\n\n createEffect(() => {\n if (local.value !== void 0 && local.value !== null) {\n setValue(Array.isArray(local.value) ? local.value : [local.value]);\n } else {\n setValue([]);\n }\n });\n createEffect(() => {\n if (local.open !== void 0 && untrack(open) !== local.open) {\n setOpen(local.open);\n }\n });\n\n return (\n <Popover\n popupClass={local.popupClass}\n popupCss={local.popupCss}\n open={open()}\n onOpenChange={openChange}\n content={\n <div ref={portalRef} class=\"container\">\n <Show when={local.items?.length} fallback={<Empty style={{ width: '100%' }} />}>\n <n-menu\n items={local.items}\n default-value={local.defaultValue}\n multiple={local.multiple as true}\n field-names={local.fieldNames}\n toggle={local.toggle}\n disabled={other.disabled}\n value={value()}\n onChange={change}\n open-keys={menuOpenKeys()}\n onOpenChange={menuOpenKeysChange}\n />\n </Show>\n </div>\n }\n {...other}\n />\n );\n}\n\nexport const defaultProps = {\n ...popoverProps,\n fieldNames: void 0,\n toggle: void 0,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n multiple: void 0,\n disabled: void 0,\n type: void 0,\n onOpenChange: void 0,\n openKeys: void 0,\n};\n\ncustomElement<DropdownProps>(\n 'n-dropdown',\n {\n ...defaultProps,\n items: [],\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n items: el.items,\n onChange(key, item) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: [key, item],\n }),\n );\n },\n onOpenChange(open: boolean | null) {\n el.dispatchEvent(\n new CustomEvent('openchange', {\n detail: open,\n }),\n );\n },\n children: [...el.childNodes.values()],\n } as DropdownProps,\n _,\n );\n\n createEffect(() => {\n el.removeAttribute('items');\n el.removeAttribute('field-names');\n el.removeAttribute('css');\n });\n return <Dropdown {...props} />;\n },\n);\nexport default Dropdown;\n"],"names":["defaultProps","Dropdown","props","portalRef","local","other","splitProps","value","setValue","createSignal","open","setOpen","menuOpenKeys","setMenuOpenKeys","openChange","next","isFunction","onOpenChange","change","e","key","item","detail","onChange","Array","isArray","multiple","menuOpenKeysChange","createEffect","untrack","Popover","popupClass","popupCss","Show","items","length","Empty","width","defaultValue","fieldNames","toggle","disabled","popoverProps","type","openKeys","customElement","_","opt","el","element","mergeProps","dispatchEvent","CustomEvent","children","childNodes","values","removeAttribute"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/empty/index.tsx"],"sourcesContent":["import { Show } from 'solid-js';\nimport { css } from '@moneko/css';\nimport { customElement } from 'solid-element';\nimport '../typography';\nimport type { CustomElement } from '..';\n\nconst style = css`\n .empty-container {\n inline-size: 100%;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 24px;\n box-sizing: border-box;\n }\n\n .empty-label {\n font-size: var(--font-size-sm);\n }\n`;\n\nexport interface EmptyProps {\n /** 自定义样式表 */\n css?: string;\n /** 自定义类名 */\n class?: string;\n /** 描述 */\n label?: JSX.Element;\n style?: Record<string, string | number>;\n}\nexport type EmptyElement = CustomElement<EmptyProps>;\n\nfunction Empty(props: EmptyProps) {\n return (\n <>\n <style textContent={style} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div class=\"empty-container\">\n <Show\n when={props.label}\n fallback={\n <n-typography class=\"empty-label\" type=\"secondary\">\n 无数据\n </n-typography>\n }\n >\n {props.label}\n </Show>\n </div>\n </>\n );\n}\n\ncustomElement<EmptyProps>(\n 'n-empty',\n {\n class: void 0,\n css: void 0,\n label: void 0,\n },\n Empty,\n);\n\nexport default Empty;\n"],"names":["style","css","Empty","props","Show","label","customElement","class"],"mappings":"kGAkEA,+CAAA,+CAlEqB,sBACD,yBACU,yBACvB,mNAGDA,EAAQC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;AAclB,CAAC,CAaD,SAASC,EAAMC,CAAiB,EAC9B,4CAEwBH,8BACnBI,MAAI,oBAAOD,EAAMF,GAAG,wEACCA,GAAAA,KAAG,EAACE,EAAMF,GAAG,mEAGhCG,MAAI,oBACGD,EAAME,KAAK,sGAOhBF,EAAME,KAAK,WAKtB,CAEAC,GAAAA,eAAa,EACX,UACA,CACEC,MAAO,KAAK,EACZN,IAAK,KAAK,EACVI,MAAO,KAAK,CACd,EACAH,SAGF,EAAeA"}
1
+ {"version":3,"sources":["../../components/empty/index.tsx"],"sourcesContent":["import { Show } from 'solid-js';\nimport { css } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\n\nimport '../typography';\n\nconst style = css`\n .empty-container {\n inline-size: 100%;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 24px;\n box-sizing: border-box;\n }\n\n .empty-label {\n font-size: var(--font-size-sm);\n }\n`;\n\nexport interface EmptyProps {\n /** 自定义样式表 */\n css?: string;\n /** 自定义类名 */\n class?: string;\n /** 描述 */\n label?: JSX.Element;\n style?: Record<string, string | number>;\n}\nexport type EmptyElement = CustomElement<EmptyProps>;\n\nfunction Empty(props: EmptyProps) {\n return (\n <>\n <style textContent={style} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div class=\"empty-container\">\n <Show\n when={props.label}\n fallback={\n <n-typography class=\"empty-label\" type=\"secondary\">\n 无数据\n </n-typography>\n }\n >\n {props.label}\n </Show>\n </div>\n </>\n );\n}\n\ncustomElement<EmptyProps>(\n 'n-empty',\n {\n class: void 0,\n css: void 0,\n label: void 0,\n },\n Empty,\n);\n\nexport default Empty;\n"],"names":["style","css","Empty","props","Show","label","customElement","class"],"mappings":"kGAoEA,+CAAA,+CApEqB,sBACD,yBACU,yBAIvB,mNAEDA,EAAQC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;AAclB,CAAC,CAaD,SAASC,EAAMC,CAAiB,EAC9B,4CAEwBH,8BACnBI,MAAI,oBAAOD,EAAMF,GAAG,wEACCA,GAAAA,KAAG,EAACE,EAAMF,GAAG,mEAGhCG,MAAI,oBACGD,EAAME,KAAK,sGAOhBF,EAAME,KAAK,WAKtB,CAEAC,GAAAA,eAAa,EACX,UACA,CACEC,MAAO,KAAK,EACZN,IAAK,KAAK,EACVI,MAAO,KAAK,CACd,EACAH,SAGF,EAAeA"}
@@ -1,2 +1,2 @@
1
- "use strict";var e,t;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return r}}),(t=e||(e={})).string="string",t.number="number",t.integer="integer",t.boolean="boolean",t.object="object",t.array="array";const r=function e(t,r){let n=[],{properties:i}=t;for(let t in i)if(Object.prototype.hasOwnProperty.call(i,t)){let{properties:o,items:s,type:a="string",...l}=i[t],p={...l,name:t,type:a,subTitle:a,key:`${r?`${r}.`:""}${t}`};"object"===a?p.children=e({properties:o},p.key):"array"===a&&(p.children=e({properties:{items:{...s,title:"items",isItems:!0}}},p.key)),n.push(p)}return n};
1
+ "use strict";var e,t;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{DataType:function(){return e},default:function(){return r}}),(t=e||(e={})).string="string",t.number="number",t.integer="integer",t.boolean="boolean",t.object="object",t.array="array";const r=function e(t,r){let n=[],{properties:i}=t;for(let t in i)if(Object.prototype.hasOwnProperty.call(i,t)){let{properties:o,items:s,type:a="string",...u}=i[t],c={...u,name:t,type:a,subTitle:a,key:`${r?`${r}.`:""}${t}`};"object"===a?c.children=e({properties:o},c.key):"array"===a&&(c.children=e({properties:{items:{...s,title:"items",isItems:!0}}},c.key)),n.push(c)}return n};
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/from-schema/index.ts"],"sourcesContent":["import { type TreeData } from '../tree';\n\nenum Type {\n string = 'string',\n number = 'number',\n integer = 'integer',\n boolean = 'boolean',\n object = 'object',\n array = 'array',\n}\ninterface BaseSchema {\n type?: keyof typeof Type;\n name?: string;\n title?: string;\n items?: never;\n [key: string]: Any;\n}\ninterface ArraySchema extends Omit<BaseSchema, 'type' | 'items'> {\n type: 'array';\n items: Schema;\n properties?: Record<string, Schema>;\n}\n\ninterface ObjectSchema extends Omit<BaseSchema, 'type'> {\n type?: Exclude<keyof typeof Type, 'array'>;\n properties?: Record<string, Schema>;\n}\n\nexport type Schema = ObjectSchema | ArraySchema;\n\nfunction fromSchema(schema: Schema, pid?: string): TreeData<string>[] {\n const treeData: TreeData<string>[] = [];\n const { properties } = schema;\n\n for (const k in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, k)) {\n const name = k as keyof typeof properties;\n const { properties: _properties, items, type = 'string', ...item } = properties[name];\n const node: TreeData<string> = {\n ...item,\n name: name,\n type,\n subTitle: type,\n key: `${pid ? `${pid}.` : ''}${name}`,\n };\n\n if (type === 'object') {\n node.children = fromSchema({ properties: _properties }, node.key);\n } else if (type === 'array') {\n node.children = fromSchema(\n {\n properties: {\n items: {\n ...(items as Schema),\n title: 'items',\n isItems: true,\n },\n },\n },\n node.key,\n );\n }\n treeData.push(node);\n }\n }\n\n return treeData;\n}\n\nexport default fromSchema;\n"],"names":["Type","fromSchema","schema","pid","treeData","properties","k","Object","prototype","hasOwnProperty","call","_properties","items","type","item","node","name","subTitle","key","children","title","isItems","push"],"mappings":"mBAEKA,uFAmEL,+CAAA,MAnEKA,EAAAA,IAAAA,yHAmEL,EAvCA,SAASC,EAAWC,CAAc,CAAEC,CAAY,EAC9C,IAAMC,EAA+B,EAAE,CACjC,CAAEC,WAAAA,CAAU,CAAE,CAAGH,EAEvB,IAAK,IAAMI,KAAKD,EACd,GAAIE,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,EAAYC,GAAI,CAEvD,GAAM,CAAED,WAAYM,CAAW,CAAEC,MAAAA,CAAK,CAAEC,KAAAA,EAAO,QAAQ,CAAE,GAAGC,EAAM,CAAGT,CAAU,CADlEC,EACwE,CAC/ES,EAAyB,CAC7B,GAAGD,CAAI,CACPE,KAJWV,EAKXO,KAAAA,EACAI,SAAUJ,EACVK,IAAK,CAAC,EAAEf,EAAM,CAAC,EAAEA,EAAI,CAAC,CAAC,CAAG,GAAG,EAPlBG,EAOyB,CAAC,AACvC,CAEIO,AAAS,CAAA,WAATA,EACFE,EAAKI,QAAQ,CAAGlB,EAAW,CAAEI,WAAYM,CAAY,EAAGI,EAAKG,GAAG,EAC9C,UAATL,GACTE,CAAAA,EAAKI,QAAQ,CAAGlB,EACd,CACEI,WAAY,CACVO,MAAO,CACL,GAAIA,CAAK,CACTQ,MAAO,QACPC,QAAS,CAAA,CACX,CACF,CACF,EACAN,EAAKG,GAAG,CACV,EAEFd,EAASkB,IAAI,CAACP,EAChB,CAGF,OAAOX,CACT"}
1
+ {"version":3,"sources":["../../components/from-schema/index.ts"],"sourcesContent":["import { type TreeData } from '../tree';\n\nexport enum DataType {\n string = 'string',\n number = 'number',\n integer = 'integer',\n boolean = 'boolean',\n object = 'object',\n array = 'array',\n}\ninterface BaseSchema {\n type?: keyof typeof DataType;\n name?: string;\n title?: string;\n items?: never;\n [key: string]: Any;\n}\ninterface ArraySchema extends Omit<BaseSchema, 'type' | 'items'> {\n type: 'array';\n items: Schema;\n properties?: Record<string, Schema>;\n}\n\ninterface ObjectSchema extends Omit<BaseSchema, 'type'> {\n type?: Exclude<keyof typeof DataType, 'array'>;\n properties?: Record<string, Schema>;\n}\n\nexport type Schema = ObjectSchema | ArraySchema;\n\nfunction fromSchema(schema: Schema, pid?: string): TreeData[] {\n const treeData: TreeData[] = [];\n const { properties } = schema;\n\n for (const k in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, k)) {\n const name = k;\n const { properties: _properties, items, type = 'string', ...item } = properties[name];\n const node: TreeData = {\n ...item,\n name: name,\n type,\n subTitle: type,\n key: `${pid ? `${pid}.` : ''}${name}`,\n };\n\n if (type === 'object') {\n node.children = fromSchema({ properties: _properties }, node.key);\n } else if (type === 'array') {\n node.children = fromSchema(\n {\n properties: {\n items: {\n ...(items as Schema),\n title: 'items',\n isItems: true,\n },\n },\n },\n node.key,\n );\n }\n treeData.push(node);\n }\n }\n\n return treeData;\n}\n\nexport default fromSchema;\n"],"names":["DataType","fromSchema","schema","pid","treeData","properties","k","Object","prototype","hasOwnProperty","call","_properties","items","type","item","node","name","subTitle","key","children","title","isItems","push"],"mappings":"mBAEYA,kLAmEZ,OAA0B,mBAA1B,MAnEYA,EAAAA,IAAAA,yHAmEZ,EAvCA,SAASC,EAAWC,CAAc,CAAEC,CAAY,EAC9C,IAAMC,EAAuB,EAAE,CACzB,CAAEC,WAAAA,CAAU,CAAE,CAAGH,EAEvB,IAAK,IAAMI,KAAKD,EACd,GAAIE,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,EAAYC,GAAI,CAEvD,GAAM,CAAED,WAAYM,CAAW,CAAEC,MAAAA,CAAK,CAAEC,KAAAA,EAAO,QAAQ,CAAE,GAAGC,EAAM,CAAGT,CAAU,CADlEC,EACwE,CAC/ES,EAAiB,CACrB,GAAGD,CAAI,CACPE,KAJWV,EAKXO,KAAAA,EACAI,SAAUJ,EACVK,IAAK,CAAC,EAAEf,EAAM,CAAC,EAAEA,EAAI,CAAC,CAAC,CAAG,GAAG,EAPlBG,EAOyB,CAAC,AACvC,CAEIO,AAAS,CAAA,WAATA,EACFE,EAAKI,QAAQ,CAAGlB,EAAW,CAAEI,WAAYM,CAAY,EAAGI,EAAKG,GAAG,EAC9C,UAATL,GACTE,CAAAA,EAAKI,QAAQ,CAAGlB,EACd,CACEI,WAAY,CACVO,MAAO,CACL,GAAIA,CAAK,CACTQ,MAAO,QACPC,QAAS,CAAA,CACX,CACF,CACF,EACAN,EAAKG,GAAG,CACV,EAEFd,EAASkB,IAAI,CAACP,EAChB,CAGF,OAAOX,CACT"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: 数据展示
3
+ title: 高亮文字
4
+ subtitle: n-highlight-text
5
+ icon: ㊕
6
+ ---
7
+
8
+ # 高亮文字
9
+
10
+ > 在文章中高亮部分文字内容