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
@@ -0,0 +1,29 @@
1
+ ---
2
+ title: 禁用某个选项
3
+ description: 通过设置 `options` 中的 `disabled` 来禁用某个选项
4
+ order: 3
5
+ ---
6
+
7
+ ```html
8
+ <n-segmented default-value="1"></n-segmented>
9
+ <script>
10
+ const el = container.querySelector('n-segmented');
11
+
12
+ el.options = [
13
+ { value: 1, label: '选项1' },
14
+ { value: 2, label: '选项2', disabled: true },
15
+ { value: 3, label: '选项3' },
16
+ ];
17
+ </script>
18
+ ```
19
+
20
+ ```jsx
21
+ <n-segmented
22
+ default-value={1}
23
+ options={[
24
+ { value: 1, label: '选项1' },
25
+ { value: 2, label: '选项2', disabled: true },
26
+ { value: 3, label: '选项3' },
27
+ ]}
28
+ />
29
+ ```
@@ -0,0 +1,18 @@
1
+ ---
2
+ title: 不可用
3
+ description: 禁用全部选项选项
4
+ order: 4
5
+ ---
6
+
7
+ ```html
8
+ <n-segmented default-value="Vue" disabled="true"></n-segmented>
9
+ <script>
10
+ const el = container.querySelector('n-segmented');
11
+
12
+ el.options = ['React', 'Vue', 'SolidJS', 'Flutter'];
13
+ </script>
14
+ ```
15
+
16
+ ```jsx
17
+ <n-segmented default-value="Vue" disabled options={['React', 'Vue', 'SolidJS', 'Flutter']} />
18
+ ```
@@ -0,0 +1,28 @@
1
+ ---
2
+ title: 图标
3
+ description: 为每个选项搭配上图标
4
+ order: 5
5
+ ---
6
+
7
+ ```html
8
+ <n-segmented default-value="3"></n-segmented>
9
+ <script>
10
+ const el = container.querySelector('n-segmented');
11
+ const icon = document.createElement('span');
12
+
13
+ icon.textContent = 'Ⓒ';
14
+ icon.style.color = 'red';
15
+ el.options = ['HTML', { value: 3, label: 'CSS', icon: icon }, 'JavaScript'];
16
+ </script>
17
+ ```
18
+
19
+ ```jsx
20
+ <n-segmented
21
+ default-value={3}
22
+ options={[
23
+ 'HTML',
24
+ { value: 3, label: 'CSS', icon: <span style={{ color: 'red' }}>Ⓒ</span> },
25
+ 'JavaScript',
26
+ ]}
27
+ />
28
+ ```
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: 单独配置
3
+ description: 单独配置标题和值
4
+ order: 2
5
+ ---
6
+
7
+ ```html
8
+ <n-segmented default-value="3"></n-segmented>
9
+ <script>
10
+ const el = container.querySelector('n-segmented');
11
+
12
+ el.options = ['HTML', 'CSS', { value: 3, label: 'TypeScript' }, 'Dart', 'Swift', 'Rust'];
13
+ </script>
14
+ ```
15
+
16
+ ```jsx
17
+ <n-segmented
18
+ default-value={3}
19
+ options={['HTML', 'CSS', { value: 3, label: 'TypeScript' }, 'Dart', 'Swift', 'Rust']}
20
+ />
21
+ ```
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return h}});const e=require("solid-js/web"),t=require("solid-js"),n=u(require("@moneko/common/lib/isFunction")),r=require("@moneko/css"),l=require("solid-element"),a=require("./style"),s=require("../basic-config"),i=u(require("../get-options")),o=u(require("../theme"));function u(e){return e&&e.__esModule?e:{default:e}}require("../typography");const d=(0,e.template)("<style> "),c=(0,e.template)("<style>"),f=(0,e.template)("<div>"),m=(0,e.template)('<input class="segmented" type="radio">'),p=(0,e.template)('<span class="icon">'),g=(0,e.template)('<n-typography type="secondary">',!0,!1),b=(0,e.template)("<label>");function v(l){let u;let{baseStyle:v,isDark:h}=o.default,[y,C]=(0,t.createSignal)(l.defaultValue),[x,w]=(0,t.createSignal)(""),q=(0,t.createMemo)(()=>h()?(0,r.css)`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return h}});const e=require("solid-js/web"),t=require("solid-js"),n=u(require("@moneko/common/lib/isFunction")),r=require("@moneko/css"),l=require("solid-element"),a=require("../basic-config"),s=u(require("../get-options")),i=u(require("../theme")),o=require("./style");function u(e){return e&&e.__esModule?e:{default:e}}require("../typography");const d=(0,e.template)("<style> "),c=(0,e.template)("<style>"),f=(0,e.template)("<div>"),m=(0,e.template)('<input class="segmented" type="radio">'),p=(0,e.template)('<span class="icon">'),g=(0,e.template)('<n-typography type="secondary">',!0,!1),b=(0,e.template)("<label>");function v(l){let u;let{baseStyle:v,isDark:h}=i.default,[y,C]=(0,t.createSignal)(l.defaultValue),[x,w]=(0,t.createSignal)(""),q=(0,t.createMemo)(()=>h()?(0,r.css)`
2
2
  :host {
3
3
  --segmented-bg: #000;
4
4
  --segmented-current-bg: #1f1f1f;
@@ -8,5 +8,5 @@
8
8
  --segmented-bg: var(--primary-details-bg);
9
9
  --segmented-current-bg: #fff;
10
10
  }
11
- `),E=(0,t.createMemo)(()=>Object.assign({},s.FieldName,l.fieldNames));function k(e){if(!l.disabled&&!e.disabled){let t=e[E().value];(0,n.default)(l.onChange)&&l.onChange(t),void 0===l.value&&C(t)}}let N=(0,t.createMemo)(()=>(0,i.default)(l.options,E()));return(0,t.createEffect)(()=>{C(void 0!==l.value&&l.value||l.defaultValue)}),(0,t.createEffect)(()=>{let e=N().find(e=>e[E().value]===y()),t=setTimeout(()=>{clearTimeout(t);let n=e?.ref;n?w(`.box {--w: ${n.offsetWidth}px;--h: ${n.offsetHeight}px;--left: ${n.offsetLeft}px;}`):w("")},0)}),[(()=>{let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=v()),t})(),(()=>{let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=q()),t})(),(()=>{let e=c();return e.textContent=a.style,e})(),(()=>{let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=x()),t})(),(0,e.createComponent)(t.Show,{get when(){return l.css},get children(){let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=(0,r.css)(l.css)),t}}),(()=>{let n=f(),a=u;return"function"==typeof a?(0,e.use)(a,n):u=n,(0,e.insert)(n,(0,e.createComponent)(t.For,{get each(){return N()},children:(n,a)=>{let s=l.disabled||n.disabled,i=()=>k(n),o=E();return[(()=>{let t=m();return(0,e.addEventListener)(t,"change",i),t.disabled=s,(0,e.effect)(()=>(0,e.setAttribute)(t,"name",l.name)),(0,e.effect)(()=>t.value=n[o.value]),(0,e.effect)(()=>t.checked=n[o.value]===y()),t})(),(()=>{let l=b(),u=N()[a()].ref;return"function"==typeof u?(0,e.use)(u,l):N()[a()].ref=l,(0,e.addEventListener)(l,"click",i,!0),l.$$keyup=({key:e})=>{"Enter"===e&&k(n)},(0,e.setAttribute)(l,"tabindex",s?-1:0),(0,e.setAttribute)(l,"aria-disabled",s),(0,e.insert)(l,(0,e.createComponent)(t.Show,{get when(){return n[o.icon]},get children(){let t=p();return(0,e.insert)(t,()=>n[o.icon]),t}}),null),(0,e.insert)(l,()=>n[o.label],null),(0,e.insert)(l,(0,e.createComponent)(t.Show,{get when(){return n[o.suffix]},get children(){let t=g();return t._$owner=(0,e.getOwner)(),(0,e.insert)(t,()=>n[o.suffix]),t}}),null),(0,e.effect)(()=>(0,e.className)(l,(0,r.cx)("label",n.class))),l})()]}})),(0,e.effect)(()=>(0,e.className)(n,(0,r.cx)("box",l.class))),n})()]}(0,l.customElement)("n-segmented",{class:void 0,css:void 0,name:void 0,disabled:void 0,value:void 0,defaultValue:void 0,options:[],onChange:void 0,fieldNames:void 0},(n,r)=>{let l=r.element,a=(0,t.mergeProps)({css:l.css,name:l.name,disabled:l.disabled,value:l.value,defaultValue:l.defaultValue,options:l.options,fieldNames:l.fieldNames,onChange(e){l.dispatchEvent(new CustomEvent("change",{detail:e}))}},n);return(0,t.createEffect)(()=>{l.removeAttribute("options"),l.removeAttribute("field-names"),l.removeAttribute("css")}),(0,e.createComponent)(v,a)});const h=v;(0,e.delegateEvents)(["click","keyup"]);
11
+ `),E=(0,t.createMemo)(()=>Object.assign({},a.FieldName,l.fieldNames));function k(e){if(!l.disabled&&!e.disabled){let t=e[E().value];(0,n.default)(l.onChange)&&l.onChange(t),void 0===l.value&&C(t)}}let N=(0,t.createMemo)(()=>(0,s.default)(l.options,E()));return(0,t.createEffect)(()=>{C(void 0!==l.value&&l.value||l.defaultValue)}),(0,t.createEffect)(()=>{let e=N().find(e=>e[E().value]===y()),t=setTimeout(()=>{clearTimeout(t);let n=e?.ref;n?w(`.box {--w: ${n.offsetWidth}px;--h: ${n.offsetHeight}px;--left: ${n.offsetLeft}px;}`):w("")},0)}),[(()=>{let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=v()),t})(),(()=>{let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=q()),t})(),(()=>{let e=c();return e.textContent=o.style,e})(),(()=>{let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=x()),t})(),(0,e.createComponent)(t.Show,{get when(){return l.css},get children(){let t=d(),n=t.firstChild;return(0,e.effect)(()=>n.data=(0,r.css)(l.css)),t}}),(()=>{let n=f(),a=u;return"function"==typeof a?(0,e.use)(a,n):u=n,(0,e.insert)(n,(0,e.createComponent)(t.For,{get each(){return N()},children:(n,a)=>{let s=l.disabled||n.disabled,i=()=>{k(n)},o=E();return[(()=>{let t=m();return(0,e.addEventListener)(t,"change",i),t.disabled=s,(0,e.effect)(()=>(0,e.setAttribute)(t,"name",l.name)),(0,e.effect)(()=>t.value=n[o.value]),(0,e.effect)(()=>t.checked=n[o.value]===y()),t})(),(()=>{let l=b(),u=N()[a()].ref;return"function"==typeof u?(0,e.use)(u,l):N()[a()].ref=l,(0,e.addEventListener)(l,"click",i,!0),l.$$keyup=({key:e})=>{"Enter"===e&&k(n)},(0,e.setAttribute)(l,"tabindex",s?-1:0),(0,e.setAttribute)(l,"aria-disabled",s),(0,e.insert)(l,(0,e.createComponent)(t.Show,{get when(){return n[o.icon]},get children(){let t=p();return(0,e.insert)(t,()=>n[o.icon]),t}}),null),(0,e.insert)(l,()=>n[o.label],null),(0,e.insert)(l,(0,e.createComponent)(t.Show,{get when(){return n[o.suffix]},get children(){let t=g();return t._$owner=(0,e.getOwner)(),(0,e.insert)(t,()=>n[o.suffix]),t}}),null),(0,e.effect)(()=>(0,e.className)(l,(0,r.cx)("label",n.class))),l})()]}})),(0,e.effect)(()=>(0,e.className)(n,(0,r.cx)("box",l.class))),n})()]}(0,l.customElement)("n-segmented",{class:void 0,css:void 0,name:void 0,disabled:void 0,value:void 0,defaultValue:void 0,options:[],onChange:void 0,fieldNames:void 0},(n,r)=>{let l=r.element,a=(0,t.mergeProps)({css:l.css,name:l.name,disabled:l.disabled,value:l.value,defaultValue:l.defaultValue,options:l.options,fieldNames:l.fieldNames,onChange(e){l.dispatchEvent(new CustomEvent("change",{detail:e}))}},n);return(0,t.createEffect)(()=>{l.removeAttribute("options"),l.removeAttribute("field-names"),l.removeAttribute("css")}),(0,e.createComponent)(v,a)});const h=v;(0,e.delegateEvents)(["click","keyup"]);
12
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/segmented/index.tsx"],"sourcesContent":["import { For, Show, createEffect, createMemo, createSignal, mergeProps } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\nimport { style } from './style';\nimport { FieldName } from '../basic-config';\nimport getOptions from '../get-options';\nimport theme from '../theme';\nimport '../typography';\nimport type { BaseOption, BasicConfig, CustomElement } from '..';\n\nexport interface SegmentedProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** input[type=\"radio\"] 的 name 属性 */\n name?: string;\n /** 只读 */\n disabled?: boolean;\n /** 值 */\n value?: string | number;\n /** 默认值 */\n defaultValue?: string | number;\n /** 选项数据 */\n options?: (BaseOption | string | number)[];\n /** 自定义节点 'label'、'value'、'options' 的字段 */\n fieldNames?: BasicConfig['fieldName'];\n /** 值修改时的回调方法 */\n onChange?(val: string | number): void;\n}\n\nfunction Segmented(props: SegmentedProps) {\n const { baseStyle, isDark } = theme;\n const [value, setValue] = createSignal(props.defaultValue);\n const [offsetStyle, setOffsetStyle] = createSignal('');\n let box: HTMLDivElement | undefined;\n const cssVar = createMemo(() => {\n if (isDark()) {\n return css`\n :host {\n --segmented-bg: #000;\n --segmented-current-bg: #1f1f1f;\n }\n `;\n }\n\n return css`\n :host {\n --segmented-bg: var(--primary-details-bg);\n --segmented-current-bg: #fff;\n }\n `;\n });\n const fieldNames = createMemo(() => Object.assign({}, FieldName, props.fieldNames));\n\n function onChange(item: BaseOption) {\n if (!props.disabled && !item.disabled) {\n const next = item[fieldNames().value];\n\n if (isFunction(props.onChange)) {\n props.onChange(next);\n }\n if (props.value === void 0) {\n setValue(next);\n }\n }\n }\n function onKeyUp(key: string, item: BaseOption) {\n if (key === 'Enter') {\n onChange(item);\n }\n }\n const options = createMemo(() => {\n return getOptions(props.options, fieldNames());\n });\n\n createEffect(() => {\n setValue((props.value !== void 0 && props.value) || props.defaultValue);\n });\n\n createEffect(() => {\n const val = options().find((o) => o[fieldNames().value] === value());\n const timer = setTimeout(() => {\n clearTimeout(timer);\n const el = val?.ref;\n\n if (el) {\n setOffsetStyle(\n `.box {--w: ${el.offsetWidth}px;--h: ${el.offsetHeight}px;--left: ${el.offsetLeft}px;}`,\n );\n } else {\n setOffsetStyle('');\n }\n }, 0);\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={cssVar()} />\n <style textContent={style} />\n <style textContent={offsetStyle()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div ref={box} class={cx('box', props.class)}>\n <For each={options()}>\n {(item, i) => {\n const readOnly = props.disabled || item.disabled;\n const handleChange = () => onChange(item);\n const fieldName = fieldNames();\n\n return (\n <>\n <input\n class=\"segmented\"\n type=\"radio\"\n name={props.name}\n value={item[fieldName.value]}\n disabled={readOnly}\n checked={item[fieldName.value] === value()}\n onChange={handleChange}\n />\n <label\n class={cx('label', item.class)}\n tabindex={readOnly ? -1 : 0}\n onKeyUp={({ key }) => onKeyUp(key, item)}\n onClick={handleChange}\n aria-disabled={readOnly}\n ref={options()[i()].ref}\n >\n <Show when={item[fieldName.icon]}>\n <span class=\"icon\">{item[fieldName.icon]}</span>\n </Show>\n {item[fieldName.label]}\n <Show when={item[fieldName.suffix]}>\n <n-typography type=\"secondary\">{item[fieldName.suffix]}</n-typography>\n </Show>\n </label>\n </>\n );\n }}\n </For>\n </div>\n </>\n );\n}\n\nexport type SegmentedElement = CustomElement<SegmentedProps>;\n\ncustomElement<SegmentedProps>(\n 'n-segmented',\n {\n class: void 0,\n css: void 0,\n name: void 0,\n disabled: void 0,\n value: void 0,\n defaultValue: void 0,\n options: [],\n onChange: void 0,\n fieldNames: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n css: el.css,\n name: el.name,\n disabled: el.disabled,\n value: el.value,\n defaultValue: el.defaultValue,\n options: el.options,\n fieldNames: el.fieldNames,\n onChange(next: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: next,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n el.removeAttribute('options');\n el.removeAttribute('field-names');\n el.removeAttribute('css');\n });\n return <Segmented {...props} />;\n },\n);\nexport default Segmented;\n"],"names":["Segmented","props","box","baseStyle","isDark","theme","value","setValue","createSignal","defaultValue","offsetStyle","setOffsetStyle","cssVar","createMemo","css","fieldNames","Object","assign","FieldName","onChange","item","disabled","next","isFunction","options","getOptions","createEffect","val","find","o","timer","setTimeout","clearTimeout","el","ref","offsetWidth","offsetHeight","offsetLeft","style","Show","For","i","readOnly","handleChange","fieldName","name","key","icon","label","suffix","cx","class","customElement","_","opt","element","mergeProps","dispatchEvent","CustomEvent","detail","removeAttribute"],"mappings":"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"}
1
+ {"version":3,"sources":["../../components/segmented/index.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, For, mergeProps, Show } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { BaseOption, BasicConfig, CustomElement } from '..';\nimport { FieldName } from '../basic-config';\nimport getOptions from '../get-options';\nimport theme from '../theme';\n\nimport { style } from './style';\n\nimport '../typography';\n\nexport interface SegmentedProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** input[type=\"radio\"] 的 name 属性 */\n name?: string;\n /** 只读 */\n disabled?: boolean;\n /** 值 */\n value?: string | number;\n /** 默认值 */\n defaultValue?: string | number;\n /** 选项数据 */\n options?: (BaseOption | string | number)[];\n /** 自定义节点 'label'、'value'、'options' 的字段 */\n fieldNames?: BasicConfig['fieldName'];\n /** 值修改时的回调方法 */\n onChange?(val: string | number): void;\n}\n\nfunction Segmented(props: SegmentedProps) {\n const { baseStyle, isDark } = theme;\n const [value, setValue] = createSignal(props.defaultValue);\n const [offsetStyle, setOffsetStyle] = createSignal('');\n let box: HTMLDivElement | undefined;\n const cssVar = createMemo(() => {\n if (isDark()) {\n return css`\n :host {\n --segmented-bg: #000;\n --segmented-current-bg: #1f1f1f;\n }\n `;\n }\n\n return css`\n :host {\n --segmented-bg: var(--primary-details-bg);\n --segmented-current-bg: #fff;\n }\n `;\n });\n const fieldNames = createMemo(() => Object.assign({}, FieldName, props.fieldNames));\n\n function onChange(item: BaseOption) {\n if (!props.disabled && !item.disabled) {\n const next = item[fieldNames().value];\n\n if (isFunction(props.onChange)) {\n props.onChange(next);\n }\n if (props.value === void 0) {\n setValue(next);\n }\n }\n }\n function onKeyUp(key: string, item: BaseOption) {\n if (key === 'Enter') {\n onChange(item);\n }\n }\n const options = createMemo(() => {\n return getOptions(props.options, fieldNames());\n });\n\n createEffect(() => {\n setValue((props.value !== void 0 && props.value) || props.defaultValue);\n });\n\n createEffect(() => {\n const val = options().find((o) => o[fieldNames().value] === value());\n const timer = setTimeout(() => {\n clearTimeout(timer);\n const el = val?.ref;\n\n if (el) {\n setOffsetStyle(\n `.box {--w: ${el.offsetWidth}px;--h: ${el.offsetHeight}px;--left: ${el.offsetLeft}px;}`,\n );\n } else {\n setOffsetStyle('');\n }\n }, 0);\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={cssVar()} />\n <style textContent={style} />\n <style textContent={offsetStyle()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div ref={box} class={cx('box', props.class)}>\n <For each={options()}>\n {(item, i) => {\n const readOnly = props.disabled || item.disabled;\n const handleChange = () => {\n onChange(item);\n };\n const fieldName = fieldNames();\n\n return (\n <>\n <input\n class=\"segmented\"\n type=\"radio\"\n name={props.name}\n value={item[fieldName.value]}\n disabled={readOnly}\n checked={item[fieldName.value] === value()}\n onChange={handleChange}\n />\n <label\n class={cx('label', item.class)}\n tabindex={readOnly ? -1 : 0}\n onKeyUp={({ key }) => {\n onKeyUp(key, item);\n }}\n onClick={handleChange}\n aria-disabled={readOnly}\n ref={options()[i()].ref}\n >\n <Show when={item[fieldName.icon]}>\n <span class=\"icon\">{item[fieldName.icon]}</span>\n </Show>\n {item[fieldName.label]}\n <Show when={item[fieldName.suffix]}>\n <n-typography type=\"secondary\">{item[fieldName.suffix]}</n-typography>\n </Show>\n </label>\n </>\n );\n }}\n </For>\n </div>\n </>\n );\n}\n\nexport type SegmentedElement = CustomElement<SegmentedProps>;\n\ncustomElement<SegmentedProps>(\n 'n-segmented',\n {\n class: void 0,\n css: void 0,\n name: void 0,\n disabled: void 0,\n value: void 0,\n defaultValue: void 0,\n options: [],\n onChange: void 0,\n fieldNames: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n css: el.css,\n name: el.name,\n disabled: el.disabled,\n value: el.value,\n defaultValue: el.defaultValue,\n options: el.options,\n fieldNames: el.fieldNames,\n onChange(next: string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: next,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n el.removeAttribute('options');\n el.removeAttribute('field-names');\n el.removeAttribute('css');\n });\n return <Segmented {...props} />;\n },\n);\nexport default Segmented;\n"],"names":["Segmented","props","box","baseStyle","isDark","theme","value","setValue","createSignal","defaultValue","offsetStyle","setOffsetStyle","cssVar","createMemo","css","fieldNames","Object","assign","FieldName","onChange","item","disabled","next","isFunction","options","getOptions","createEffect","val","find","o","timer","setTimeout","clearTimeout","el","ref","offsetWidth","offsetHeight","offsetLeft","style","Show","For","i","readOnly","handleChange","fieldName","name","key","icon","label","suffix","cx","class","customElement","_","opt","element","mergeProps","dispatchEvent","CustomEvent","detail","removeAttribute"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ ---
2
+ type: 数据录入
3
+ title: 下拉选择
4
+ subtitle: n-select
5
+ icon: ▼
6
+ ---
7
+
8
+ # Select 下拉选择
9
+
10
+ > 下拉选择
@@ -0,0 +1,44 @@
1
+ ---
2
+ title: 最简单的用法
3
+ description: 通过 `default-value` 属性设置默认值
4
+ order: 1
5
+ ---
6
+
7
+ ```html
8
+ <n-select default-value="C" label="最简单的配置" placeholder="请选择"></n-select>
9
+ <div>或者</div>
10
+ <n-select default-value="2"></n-select>
11
+ <script>
12
+ const els = container.querySelectorAll('n-select');
13
+
14
+ els[0].options = ['A', 'B', 'C', 'D'];
15
+ els[1].options = [
16
+ {
17
+ label: '分组1',
18
+ options: [
19
+ { value: 1, label: '选项 1' },
20
+ { value: 2, label: '选项 2' },
21
+ ],
22
+ },
23
+ { label: '分组2', options: [{ value: 4, label: '选项 4' }] },
24
+ ];
25
+ </script>
26
+ ```
27
+
28
+ ```jsx
29
+ <n-select default-value="C" label="最简单的配置" options={['A', 'B', 'C', 'D']} />
30
+ <div>或者</div>
31
+ <n-select
32
+ default-value={2}
33
+ options={[
34
+ {
35
+ label: '分组1',
36
+ options: [
37
+ { value: 1, label: '选项 1' },
38
+ { value: 2, label: '选项 2' },
39
+ ],
40
+ },
41
+ { label: '分组2', options: [{ value: 4, label: '选项 4' }] },
42
+ ]}
43
+ />
44
+ ```
@@ -0,0 +1,21 @@
1
+ ---
2
+ title: 禁用部分选项
3
+ description: 设置 `options` 中的 `disabled` 属性禁用部分选项
4
+ order: 2
5
+ ---
6
+
7
+ ```html
8
+ <n-select placeholder="请选择"></n-select>
9
+ <script>
10
+ const el = container.querySelector('n-select');
11
+
12
+ el.options = ['默认', { value: '2', label: '附加', disabled: true }, '去除'];
13
+ </script>
14
+ ```
15
+
16
+ ```jsx
17
+ <n-select
18
+ placeholder="请选择"
19
+ options={['默认', { value: '2', label: '附加', disabled: true }, '去除']}
20
+ />
21
+ ```
@@ -0,0 +1,24 @@
1
+ ---
2
+ title: 不可用状态
3
+ description: 设置 `disabled` 属性禁用操作
4
+ order: 3
5
+ ---
6
+
7
+ ```html
8
+ <n-select default-value="B" disabled="true"></n-select>
9
+ <hr />
10
+ <n-select multiple="true" disabled="true"></n-select>
11
+ <script>
12
+ const el = container.querySelectorAll('n-select');
13
+
14
+ el[0].options = ['A', 'B', 'D'];
15
+ el[1].options = ['A', 'B', 'D'];
16
+ el[1].value = ['A', 'D'];
17
+ </script>
18
+ ```
19
+
20
+ ```jsx
21
+ <n-select default-value="B" disabled options={['A', 'B', 'D']} />
22
+ <hr />
23
+ <n-select value={['A', 'D']} multiple disabled options={['A', 'B', 'D']} />
24
+ ```
@@ -0,0 +1,40 @@
1
+ ---
2
+ title: 自定义字段名
3
+ description: 自定义节点 'label'、'value'、'options' 的字段
4
+ order: 5
5
+ ---
6
+
7
+ ```html
8
+ <n-select default-value="3" placeholder="请选择"></n-select>
9
+ <script>
10
+ const el = container.querySelector('n-select');
11
+
12
+ el.fieldNames = {
13
+ label: 'name',
14
+ value: 'code',
15
+ };
16
+ el.options = [
17
+ { code: '1', name: 'option-1' },
18
+ { code: '2', name: 'option-2' },
19
+ { code: '3', name: 'option-3' },
20
+ { code: '4', name: 'option-4' },
21
+ ];
22
+ </script>
23
+ ```
24
+
25
+ ```jsx
26
+ <n-select
27
+ default-value="3"
28
+ placeholder="请选择"
29
+ field-names={{
30
+ label: 'name',
31
+ value: 'code',
32
+ }}
33
+ options={[
34
+ { code: '1', name: 'option-1' },
35
+ { code: '2', name: 'option-2' },
36
+ { code: '3', name: 'option-3' },
37
+ { code: '4', name: 'option-4' },
38
+ ]}
39
+ />
40
+ ```
@@ -0,0 +1,84 @@
1
+ ---
2
+ title: 给选项添加后缀
3
+ description: 可以使用 `suffix` 给选项添加一个描述
4
+ order: 8
5
+ ---
6
+
7
+ ```html
8
+ <n-select default-value="3" placeholder="请选择"></n-select>
9
+ <script>
10
+ const el = container.querySelector('n-select');
11
+ el.options = [
12
+ {
13
+ label: '人员',
14
+ suffix: () => {
15
+ // 可以是一个函数, 返回 dom
16
+ const add = document.createElement('n-popover');
17
+
18
+ add.textContent = '?';
19
+ add.style.cursor = 'pointer';
20
+ add.content = '这里是人员列表';
21
+ add.arrow = true;
22
+ add.onmousedown = function (e) {
23
+ e.stopPropagation();
24
+ e.preventDefault();
25
+ };
26
+ return add;
27
+ },
28
+ children: [
29
+ // 也可以是string
30
+ { value: 1, label: '张三', suffix: 'zhangsan' },
31
+ { value: 2, label: '李四', suffix: 'lishi' },
32
+ { value: 3, label: '王五', suffix: 'wangwu' },
33
+ ],
34
+ },
35
+ {
36
+ label: '其他',
37
+ options: [
38
+ // 也可以是string
39
+ { value: '11', label: '张三', suffix: 'zhangsan' },
40
+ { value: '22', label: '李四', suffix: 'lishi' },
41
+ { value: '33', label: '王五', suffix: 'wangwu' },
42
+ ],
43
+ },
44
+ ];
45
+ </script>
46
+ ```
47
+
48
+ ```jsx
49
+ <n-select
50
+ default-value="3"
51
+ placeholder="请选择"
52
+ options={[
53
+ {
54
+ label: '人员',
55
+ suffix: () => (
56
+ <n-popover
57
+ arrow={true}
58
+ onMouseDown={(e) => {
59
+ e.stopPropagation();
60
+ e.preventDefault();
61
+ }}
62
+ content={<strong style={{ padding: '16px' }}>这里是人员列表</strong>}
63
+ >
64
+ ?
65
+ </n-popover>
66
+ ),
67
+ children: [
68
+ { value: '1', label: '张三', suffix: 'zhangsan' },
69
+ { value: '2', label: '李四', suffix: 'lishi' },
70
+ { value: '3', label: '王五', suffix: 'wangwu' },
71
+ ],
72
+ },
73
+ {
74
+ label: '其他',
75
+ options: [
76
+ // 也可以是string
77
+ { value: '11', label: '张三', suffix: 'zhangsan' },
78
+ { value: '22', label: '李四', suffix: 'lishi' },
79
+ { value: '33', label: '王五', suffix: 'wangwu' },
80
+ ],
81
+ },
82
+ ]}
83
+ />
84
+ ```
@@ -0,0 +1,61 @@
1
+ ---
2
+ title: 多选模式
3
+ description: 设置 `multiple` 属性支持多选
4
+ order: 4
5
+ ---
6
+
7
+ ```html
8
+ <n-select multiple="true" placeholder="请选择"></n-select>
9
+ <script>
10
+ const el = container.querySelector('n-select');
11
+
12
+ el.defaultValue = ['3', '6', '2'];
13
+ el.options = [
14
+ {
15
+ label: '普通',
16
+ options: [
17
+ { value: '1', label: '张三' },
18
+ { value: '2', label: '李四' },
19
+ { value: '3', label: '王五' },
20
+ ],
21
+ },
22
+ {
23
+ label: '华山派',
24
+ options: [
25
+ { value: '4', label: '赵六' },
26
+ { value: '7', label: '王五3' },
27
+ { value: '8', label: '赵六4', type: 'warning' },
28
+ { value: '5', label: '张三1', disabled: true },
29
+ { value: '6', label: '李四2', type: 'error' },
30
+ ],
31
+ },
32
+ ];
33
+ </script>
34
+ ```
35
+
36
+ ```jsx
37
+ <n-select
38
+ multiple
39
+ default-value={['2', '3']}
40
+ options={[
41
+ {
42
+ label: '普通',
43
+ options: [
44
+ { value: '1', label: '张三' },
45
+ { value: '2', label: '李四' },
46
+ { value: '3', label: '王五' },
47
+ ],
48
+ },
49
+ {
50
+ label: '华山派',
51
+ options: [
52
+ { value: '4', label: '赵六' },
53
+ { value: '7', label: '王五3' },
54
+ { value: '8', label: '赵六4', type: 'warning' },
55
+ { value: '5', label: '张三1', disabled: true },
56
+ { value: '6', label: '李四2', type: 'error' },
57
+ ],
58
+ },
59
+ ]}
60
+ />
61
+ ```
@@ -0,0 +1,12 @@
1
+ ---
2
+ title: 无数据
3
+ order: 5
4
+ ---
5
+
6
+ ```html
7
+ <n-select></n-select>
8
+ ```
9
+
10
+ ```jsx
11
+ <n-select />
12
+ ```
@@ -0,0 +1,74 @@
1
+ ---
2
+ title: 前缀
3
+ description: 通过 `default-value` 属性设置默认值
4
+ order: 1
5
+ ---
6
+
7
+ ```html
8
+ <div style="display:flex;gap:10px;flex-direction:column;">
9
+ <n-select default-value="C" suffix-icon="😅" prefix-icon="🌞" label="后缀,前缀"></n-select>
10
+ <n-select suffix-icon="🌞" label="带后缀,无前缀"></n-select>
11
+ <n-select multiple="true" prefix-icon="🌞" label="后缀,前缀"></n-select>
12
+ <n-select prefix-icon="🌞" label="带前缀,无后缀"></n-select>
13
+ <n-select multiple="true" label="带后缀,无前缀" suffix-icon="🌞"></n-select>
14
+ <n-select multiple="true" prefix-icon="🌞" label="带前缀,无后缀"></n-select>
15
+ <n-select></n-select>
16
+ </div>
17
+ <script>
18
+ const els = container.querySelectorAll('n-select');
19
+ els[2].suffixIcon = function () {
20
+ const a = document.createElement('div');
21
+
22
+ a.innerHTML = `<n-popover arrow="true" content="这是一个提示">🔔</n-popover>`;
23
+ return a.firstElementChild;
24
+ };
25
+ for (var i = els.length - 1; i >= 0; i--) {
26
+ els[i].options = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
27
+ els[i].placeholder = '请选择';
28
+ }
29
+ </script>
30
+ ```
31
+
32
+ ```jsx
33
+ const opts = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
34
+
35
+ render(
36
+ <div
37
+ style={{
38
+ display: 'flex',
39
+ gap: '10px',
40
+ 'flex-direction': 'column',
41
+ }}
42
+ >
43
+ <n-select
44
+ default-value="C"
45
+ suffix-icon="😅"
46
+ prefix-icon={
47
+ <n-popover arrow content="这是一个提示">
48
+ 😅
49
+ </n-popover>
50
+ }
51
+ label="后缀,前缀"
52
+ options={opts}
53
+ placeholder="请选择"
54
+ />
55
+ <n-select suffix-icon="🌞" label="带后缀,无前缀" options={opts} placeholder="请选择" />
56
+ <n-select
57
+ multiple
58
+ label="后缀,前缀"
59
+ suffix-icon={
60
+ <n-popover arrow content="这是一个提示">
61
+ 🔔
62
+ </n-popover>
63
+ }
64
+ prefix-icon="🌞"
65
+ options={opts}
66
+ placeholder="请选择"
67
+ />
68
+ <n-select prefix-icon="🌞" label="带前缀,无后缀" options={opts} placeholder="请选择" />
69
+ <n-select multiple label="带后缀,无前缀" suffix-icon="🌞" options={opts} placeholder="请选择" />
70
+ <n-select multiple prefix-icon="🌞" label="带前缀,无后缀" options={opts} placeholder="请选择" />
71
+ <n-select placeholder="请选择" />
72
+ </div>
73
+ );
74
+ ```
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return m}});const e=require("solid-js/web"),t=require("solid-js"),n=c(require("@moneko/common/lib/isFunction")),r=require("solid-element"),a=require("./style"),o=require("../basic-config"),l=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(void 0);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=a?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(r,o,l):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}(require("../dropdown")),i=c(require("../get-options"));function c(e){return e&&e.__esModule?e:{default:e}}function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}require("../tag");const u=(0,e.template)('<span class="prefix">'),d=(0,e.template)('<label class="label">'),p=(0,e.template)('<span class="suffix">'),f=(0,e.template)('<div class="select"><div class="tags">'),v=(0,e.template)('<span class="value">'),g=(0,e.template)('<span class="placeholder">'),h=(0,e.template)('<n-tag class="tag">',!0,!1);function b(r){let c,s;let[b,m]=(0,t.splitProps)(r,["css","value","onChange","open","onOpenChange","label","prefixIcon","suffixIcon","placeholder","trigger","options"]),[_,w]=(0,t.createSignal)(null),[y,$]=(0,t.createSignal)([]),[k,C]=(0,t.createSignal)(""),[E,O]=(0,t.createSignal)([]),[x,A]=(0,t.createSignal)({}),j=(0,t.createMemo)(()=>Object.assign({},o.FieldName,m.fieldNames));function S(e){m.disabled||((0,n.default)(b.onOpenChange)&&b.onOpenChange(e),void 0===b.open&&w(e))}function M(e){e.target?.parentElement===c?.parentNode?.parentNode?.activeElement&&S(!(0,t.untrack)(_))}function P(e,t){void 0===b.value&&$(e?Array.isArray(e)?e:[e]:[]),(0,n.default)(b.onChange)&&b.onChange(e,t)}function I({key:e}){switch(e){case"ArrowDown":case"ArrowUp":break;case"Backspace":if(m.multiple){let e=[...(0,t.untrack)(y)];e.splice(-1,1),P(e,(0,t.untrack)(x)[(0,t.untrack)(y).length-1])}else P(void 0,(0,t.untrack)(x)[(0,t.untrack)(y)[0]]);break;case"Enter":S(!(0,t.untrack)(_));break;case"Escape":S(!1)}}function q(e){e.stopPropagation(),e.preventDefault()}function L(e,n){q(n),P((0,t.untrack)(y).filter(t=>t!==e),(0,t.untrack)(x)[e])}function D(e){q(e),S(!0)}function N(e){q(e),(0,t.untrack)(_)&&S(!1)}(0,t.createEffect)(()=>{(0,t.batch)(()=>{let e=j(),t=(0,i.default)(b.options,e);O(t),A(function e(t,n){let r={};for(let a=0,o=t.length;a<o;a++){let o=t[a],l=o[n.options];r[o[n.value]]=o,Array.isArray(l)&&Object.assign(r,e(l,n));let i=o[n.children];r[o[n.value]]=o,Array.isArray(i)&&Object.assign(r,e(i,n))}return r}(t,e))})}),(0,t.createEffect)(()=>{(0,t.batch)(()=>{b.open!==(0,t.untrack)(_)&&void 0!==b.open&&w(b.open),void 0!==b.value&&null!==b.value?$(Array.isArray(b.value)?b.value:[b.value]):$([])})}),(0,t.onMount)(()=>{if(void 0===b.value){let e=m.defaultValue;$(e?Array.isArray(e)?e:[e]:[])}}),(0,t.createEffect)(()=>{b.label&&C(`.label {--x: ${s?.offsetLeft||0}px; }`)});let W=(0,t.createMemo)(()=>(0,n.default)(b.prefixIcon)?b.prefixIcon():b.prefixIcon),F=(0,t.createMemo)(()=>(0,n.default)(b.label)?b.label():b.label),B=(0,t.createMemo)(()=>(0,n.default)(b.suffixIcon)?b.suffixIcon():b.suffixIcon);return(0,e.createComponent)(l.default,(0,e.mergeProps)({placement:"left",get css(){return a.style+k()+(b.css||"")},trigger:"none",get items(){return E()},get value(){return y()},onChange:P,get open(){return _()},onOpenChange:S},m,{get children(){let n=f(),r=c,a=n.firstChild,o=s;return(0,e.addEventListener)(n,"blur",N),(0,e.addEventListener)(n,"focus",D),(0,e.addEventListener)(n,"keydown",I,!0),"function"==typeof r?(0,e.use)(r,n):c=n,(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return W()},get children(){let t=u();return(0,e.insert)(t,W),t}}),a),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return F()},get children(){let t=d();return(0,e.insert)(t,F),t}}),a),(0,e.addEventListener)(a,"mousedown",M,!0),"function"==typeof o?(0,e.use)(o,a):s=a,(0,e.insert)(a,(0,e.createComponent)(t.Show,{get when(){return m.multiple},get fallback(){return(0,e.createComponent)(t.Show,{get when(){return y().length},get fallback(){return(0,e.createComponent)(t.Show,{get when(){return b.placeholder},get children(){let t=g();return(0,e.insert)(t,()=>b.placeholder),t}})},get children(){let t=v();return(0,e.insert)(t,()=>x()[y()[0]]?.[j().label]||y()[0]),(0,e.effect)(()=>t.classList.toggle("opacity",!!_())),t}})},get children(){return(0,e.createComponent)(t.For,{get each(){return y()},get fallback(){return(0,e.createComponent)(t.Show,{get when(){return b.placeholder},get children(){let t=g();return(0,e.insert)(t,()=>b.placeholder),t}})},children:t=>(()=>{let n=h();return(0,e.addEventListener)(n,"close",L.bind(null,t)),n._$owner=(0,e.getOwner)(),(0,e.insert)(n,()=>x()[t]?.[j().label]||t),(0,e.effect)(e=>{let r=!!_(),a=x()[t]?.type||"primary",o=x()[t]?.color,l=x()[t]?.icon,i=!m.disabled&&!x()[t]?.disabled,c=m.disabled||x()[t]?.disabled;return r!==e._v$3&&n.classList.toggle("opacity",e._v$3=r),a!==e._v$4&&(n.type=e._v$4=a),o!==e._v$5&&(n.color=e._v$5=o),l!==e._v$6&&(n.icon=e._v$6=l),i!==e._v$7&&(n.closeIcon=e._v$7=i),c!==e._v$8&&(n.disabled=e._v$8=c),e},{_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0,_v$8:void 0}),n})()})}})),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return B()},get children(){let t=p();return(0,e.insert)(t,B),t}}),null),(0,e.effect)(t=>{let r=m.disabled?-1:0,a=m.disabled;return r!==t._v$&&(0,e.setAttribute)(n,"tabindex",t._v$=r),a!==t._v$2&&(0,e.setAttribute)(n,"aria-disabled",t._v$2=a),t},{_v$:void 0,_v$2:void 0}),n}}))}(0,r.customElement)("n-select",{...l.defaultProps,options:[],label:void 0,placeholder:"请选择",dropdownMatchSelectWidth:!0,prefixIcon:void 0,suffixIcon:void 0},(n,r)=>{let a=r.element,o=(0,t.mergeProps)({onChange(e,t){a.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){a.dispatchEvent(new CustomEvent("openchange",{detail:e}))}},n);return(0,t.createEffect)(()=>{a.removeAttribute("options"),a.removeAttribute("field-names"),a.removeAttribute("css")}),(0,e.createComponent)(b,o)});const m=b;(0,e.delegateEvents)(["keydown","mousedown"]);
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return m}});const e=require("solid-js/web"),t=require("solid-js"),n=c(require("@moneko/common/lib/isFunction")),r=require("solid-element"),a=require("../basic-config"),o=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(void 0);if(n&&n.has(e))return n.get(e);var r={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var o in e)if("default"!==o&&Object.prototype.hasOwnProperty.call(e,o)){var l=a?Object.getOwnPropertyDescriptor(e,o):null;l&&(l.get||l.set)?Object.defineProperty(r,o,l):r[o]=e[o]}return r.default=e,n&&n.set(e,r),r}(require("../dropdown")),l=c(require("../get-options")),i=require("./style");function c(e){return e&&e.__esModule?e:{default:e}}function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}require("../tag");const u=(0,e.template)('<span class="prefix">'),d=(0,e.template)('<label class="label">'),p=(0,e.template)('<span class="suffix">'),f=(0,e.template)('<div class="select"><div class="tags">'),v=(0,e.template)('<span class="value">'),g=(0,e.template)('<span class="placeholder">'),h=(0,e.template)('<n-tag class="tag">',!0,!1);function b(r){let c,s;let[b,m]=(0,t.splitProps)(r,["css","value","onChange","open","onOpenChange","label","prefixIcon","suffixIcon","placeholder","trigger","options"]),[_,w]=(0,t.createSignal)(null),[y,$]=(0,t.createSignal)([]),[k,C]=(0,t.createSignal)(""),[E,O]=(0,t.createSignal)([]),[x,A]=(0,t.createSignal)({}),j=(0,t.createMemo)(()=>Object.assign({},a.FieldName,m.fieldNames));function S(e){m.disabled||((0,n.default)(b.onOpenChange)&&b.onOpenChange(e),void 0===b.open&&w(e))}function M(e){e.target?.parentElement===c?.parentNode?.parentNode?.activeElement&&S(!(0,t.untrack)(_))}function P(e,t){void 0===b.value&&$(e?Array.isArray(e)?e:[e]:[]),(0,n.default)(b.onChange)&&b.onChange(e,t)}function I({key:e}){switch(e){case"ArrowDown":case"ArrowUp":break;case"Backspace":if(m.multiple){let e=[...(0,t.untrack)(y)];e.splice(-1,1),P(e,(0,t.untrack)(x)[(0,t.untrack)(y).length-1])}else P(void 0,(0,t.untrack)(x)[(0,t.untrack)(y)[0]]);break;case"Enter":S(!(0,t.untrack)(_));break;case"Escape":S(!1)}}function q(e){e.stopPropagation(),e.preventDefault()}function L(e,n){q(n),P((0,t.untrack)(y).filter(t=>t!==e),(0,t.untrack)(x)[e])}function D(e){q(e),S(!0)}function N(e){q(e),(0,t.untrack)(_)&&S(!1)}(0,t.createEffect)(()=>{(0,t.batch)(()=>{let e=j(),t=(0,l.default)(b.options,e);O(t),A(function e(t,n){let r={};for(let a=0,o=t.length;a<o;a++){let o=t[a],l=o[n.options];r[o[n.value]]=o,Array.isArray(l)&&Object.assign(r,e(l,n));let i=o[n.children];r[o[n.value]]=o,Array.isArray(i)&&Object.assign(r,e(i,n))}return r}(t,e))})}),(0,t.createEffect)(()=>{(0,t.batch)(()=>{b.open!==(0,t.untrack)(_)&&void 0!==b.open&&w(b.open),void 0!==b.value&&null!==b.value?$(Array.isArray(b.value)?b.value:[b.value]):$([])})}),(0,t.onMount)(()=>{if(void 0===b.value){let e=m.defaultValue;$(e?Array.isArray(e)?e:[e]:[])}}),(0,t.createEffect)(()=>{b.label&&C(`.label {--x: ${s?.offsetLeft||0}px; }`)});let W=(0,t.createMemo)(()=>(0,n.default)(b.prefixIcon)?b.prefixIcon():b.prefixIcon),F=(0,t.createMemo)(()=>(0,n.default)(b.label)?b.label():b.label),B=(0,t.createMemo)(()=>(0,n.default)(b.suffixIcon)?b.suffixIcon():b.suffixIcon);return(0,e.createComponent)(o.default,(0,e.mergeProps)({placement:"left",get css(){return i.style+k()+(b.css||"")},trigger:"none",get items(){return E()},get value(){return y()},onChange:P,get open(){return _()},onOpenChange:S},m,{get children(){let n=f(),r=c,a=n.firstChild,o=s;return(0,e.addEventListener)(n,"blur",N),(0,e.addEventListener)(n,"focus",D),(0,e.addEventListener)(n,"keydown",I,!0),"function"==typeof r?(0,e.use)(r,n):c=n,(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return W()},get children(){let t=u();return(0,e.insert)(t,W),t}}),a),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return F()},get children(){let t=d();return(0,e.insert)(t,F),t}}),a),(0,e.addEventListener)(a,"mousedown",M,!0),"function"==typeof o?(0,e.use)(o,a):s=a,(0,e.insert)(a,(0,e.createComponent)(t.Show,{get when(){return m.multiple},get fallback(){return(0,e.createComponent)(t.Show,{get when(){return y().length},get fallback(){return(0,e.createComponent)(t.Show,{get when(){return b.placeholder},get children(){let t=g();return(0,e.insert)(t,()=>b.placeholder),t}})},get children(){let t=v();return(0,e.insert)(t,()=>x()[y()[0]]?.[j().label]||y()[0]),(0,e.effect)(()=>t.classList.toggle("opacity",!!_())),t}})},get children(){return(0,e.createComponent)(t.For,{get each(){return y()},get fallback(){return(0,e.createComponent)(t.Show,{get when(){return b.placeholder},get children(){let t=g();return(0,e.insert)(t,()=>b.placeholder),t}})},children:t=>(()=>{let n=h();return(0,e.addEventListener)(n,"close",L.bind(null,t)),n._$owner=(0,e.getOwner)(),(0,e.insert)(n,()=>x()[t]?.[j().label]||t),(0,e.effect)(e=>{let r=!!_(),a=x()[t]?.type||"primary",o=x()[t]?.color,l=x()[t]?.icon,i=!m.disabled&&!x()[t]?.disabled,c=m.disabled||x()[t]?.disabled;return r!==e._v$3&&n.classList.toggle("opacity",e._v$3=r),a!==e._v$4&&(n.type=e._v$4=a),o!==e._v$5&&(n.color=e._v$5=o),l!==e._v$6&&(n.icon=e._v$6=l),i!==e._v$7&&(n.closeIcon=e._v$7=i),c!==e._v$8&&(n.disabled=e._v$8=c),e},{_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0,_v$8:void 0}),n})()})}})),(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return B()},get children(){let t=p();return(0,e.insert)(t,B),t}}),null),(0,e.effect)(t=>{let r=m.disabled?-1:0,a=m.disabled;return r!==t._v$&&(0,e.setAttribute)(n,"tabindex",t._v$=r),a!==t._v$2&&(0,e.setAttribute)(n,"aria-disabled",t._v$2=a),t},{_v$:void 0,_v$2:void 0}),n}}))}(0,r.customElement)("n-select",{...o.defaultProps,options:[],label:void 0,placeholder:"请选择",dropdownMatchSelectWidth:!0,prefixIcon:void 0,suffixIcon:void 0},(n,r)=>{let a=r.element,o=(0,t.mergeProps)({onChange(e,t){a.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){a.dispatchEvent(new CustomEvent("openchange",{detail:e}))}},n);return(0,t.createEffect)(()=>{a.removeAttribute("options"),a.removeAttribute("field-names"),a.removeAttribute("css")}),(0,e.createComponent)(b,o)});const m=b;(0,e.delegateEvents)(["keydown","mousedown"]);
2
2
  //# sourceMappingURL=index.js.map