neko-ui 2.9.2 → 2.9.4

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 (415) hide show
  1. package/es/avatar/favicon.svg +0 -0
  2. package/es/avatar/group.js +17 -18
  3. package/es/avatar/group.js.map +1 -1
  4. package/es/avatar/index.js +1 -2
  5. package/es/avatar/index.js.map +1 -1
  6. package/es/avatar/style.js +1 -2
  7. package/es/avatar/style.js.map +1 -1
  8. package/es/back-top/index.js +1 -2
  9. package/es/back-top/index.js.map +1 -1
  10. package/es/back-top/style.js +1 -2
  11. package/es/back-top/style.js.map +1 -1
  12. package/es/basic-config/index.js +1 -2
  13. package/es/basic-config/index.js.map +1 -1
  14. package/es/button/index.js +1 -2
  15. package/es/button/index.js.map +1 -1
  16. package/es/button/style.js +1 -2
  17. package/es/button/style.js.map +1 -1
  18. package/es/capture-screen/index.js +1 -2
  19. package/es/capture-screen/index.js.map +1 -1
  20. package/es/capture-screen/style.js +1 -2
  21. package/es/capture-screen/style.js.map +1 -1
  22. package/es/carousel/index.js +1 -2
  23. package/es/carousel/index.js.map +1 -1
  24. package/es/carousel/style.js +1 -2
  25. package/es/carousel/style.js.map +1 -1
  26. package/es/checkbox/index.js +1 -2
  27. package/es/checkbox/index.js.map +1 -1
  28. package/es/checkbox/style.js +1 -2
  29. package/es/checkbox/style.js.map +1 -1
  30. package/es/code/index.d.ts +6 -2
  31. package/es/code/index.js +1 -2
  32. package/es/code/index.js.map +1 -1
  33. package/es/code/style.js +25 -26
  34. package/es/code/style.js.map +1 -1
  35. package/es/code/worker.js +1 -2
  36. package/es/code/worker.js.map +1 -1
  37. package/es/color-palette/index.js +1 -2
  38. package/es/color-palette/index.js.map +1 -1
  39. package/es/color-palette/style.js +1 -2
  40. package/es/color-palette/style.js.map +1 -1
  41. package/es/color-picker/index.js +1 -2
  42. package/es/color-picker/index.js.map +1 -1
  43. package/es/color-picker/style.js +1 -2
  44. package/es/color-picker/style.js.map +1 -1
  45. package/es/cron/begin-interval.js +1 -2
  46. package/es/cron/begin-interval.js.map +1 -1
  47. package/es/cron/day.js +1 -2
  48. package/es/cron/day.js.map +1 -1
  49. package/es/cron/hour.js +1 -2
  50. package/es/cron/hour.js.map +1 -1
  51. package/es/cron/index.js +1 -2
  52. package/es/cron/index.js.map +1 -1
  53. package/es/cron/item.js +1 -2
  54. package/es/cron/item.js.map +1 -1
  55. package/es/cron/minute.js +1 -2
  56. package/es/cron/minute.js.map +1 -1
  57. package/es/cron/month.js +1 -2
  58. package/es/cron/month.js.map +1 -1
  59. package/es/cron/period.js +1 -2
  60. package/es/cron/period.js.map +1 -1
  61. package/es/cron/second.js +1 -2
  62. package/es/cron/second.js.map +1 -1
  63. package/es/cron/some.js +1 -2
  64. package/es/cron/some.js.map +1 -1
  65. package/es/cron/style.js +1 -2
  66. package/es/cron/style.js.map +1 -1
  67. package/es/cron/week.js +1 -2
  68. package/es/cron/week.js.map +1 -1
  69. package/es/cron/year.js +1 -2
  70. package/es/cron/year.js.map +1 -1
  71. package/es/date-picker/date.js +1 -2
  72. package/es/date-picker/date.js.map +1 -1
  73. package/es/date-picker/dayjs.js +1 -2
  74. package/es/date-picker/dayjs.js.map +1 -1
  75. package/es/date-picker/index.js +1 -2
  76. package/es/date-picker/index.js.map +1 -1
  77. package/es/date-picker/month.js +1 -2
  78. package/es/date-picker/month.js.map +1 -1
  79. package/es/date-picker/panel.js +1 -2
  80. package/es/date-picker/panel.js.map +1 -1
  81. package/es/date-picker/style.js +1 -2
  82. package/es/date-picker/style.js.map +1 -1
  83. package/es/date-picker/time.js +1 -2
  84. package/es/date-picker/time.js.map +1 -1
  85. package/es/date-picker/year.js +1 -2
  86. package/es/date-picker/year.js.map +1 -1
  87. package/es/dropdown/index.js +1 -2
  88. package/es/dropdown/index.js.map +1 -1
  89. package/es/empty/index.js +1 -2
  90. package/es/empty/index.js.map +1 -1
  91. package/es/from-schema/index.js +1 -2
  92. package/es/from-schema/index.js.map +1 -1
  93. package/es/get-options/index.js +1 -2
  94. package/es/get-options/index.js.map +1 -1
  95. package/es/highlight-text/index.js +1 -2
  96. package/es/highlight-text/index.js.map +1 -1
  97. package/es/img/index.js +1 -2
  98. package/es/img/index.js.map +1 -1
  99. package/es/img/lazy.js +1 -2
  100. package/es/img/lazy.js.map +1 -1
  101. package/es/img/style.js +1 -2
  102. package/es/img/style.js.map +1 -1
  103. package/es/index.js +1 -2
  104. package/es/index.js.map +1 -1
  105. package/es/input/index.js +1 -2
  106. package/es/input/index.js.map +1 -1
  107. package/es/input/style.js +1 -2
  108. package/es/input/style.js.map +1 -1
  109. package/es/input-number/index.js +1 -2
  110. package/es/input-number/index.js.map +1 -1
  111. package/es/katex/index.js +1 -2
  112. package/es/katex/index.js.map +1 -1
  113. package/es/md/common.d.ts +4 -0
  114. package/es/md/common.js +1 -0
  115. package/es/md/common.js.map +1 -0
  116. package/es/md/index.d.ts +1 -0
  117. package/es/md/index.js +1 -2
  118. package/es/md/index.js.map +1 -1
  119. package/es/md/worker.d.ts +9 -1
  120. package/es/md/worker.js +1 -2
  121. package/es/md/worker.js.map +1 -1
  122. package/es/md-style/index.js +1 -2
  123. package/es/md-style/index.js.map +1 -1
  124. package/es/menu/index.js +1 -2
  125. package/es/menu/index.js.map +1 -1
  126. package/es/menu/style.js +1 -2
  127. package/es/menu/style.js.map +1 -1
  128. package/es/modal/hooks.js +1 -2
  129. package/es/modal/hooks.js.map +1 -1
  130. package/es/modal/index.js +1 -2
  131. package/es/modal/index.js.map +1 -1
  132. package/es/modal/store.js +1 -2
  133. package/es/modal/store.js.map +1 -1
  134. package/es/modal/style.js +1 -2
  135. package/es/modal/style.js.map +1 -1
  136. package/es/notification/index.js +1 -2
  137. package/es/notification/index.js.map +1 -1
  138. package/es/notification/notification.js +1 -2
  139. package/es/notification/notification.js.map +1 -1
  140. package/es/notification/queque.js +1 -2
  141. package/es/notification/queque.js.map +1 -1
  142. package/es/notification/styles.js +1 -2
  143. package/es/notification/styles.js.map +1 -1
  144. package/es/pagination/index.js +1 -2
  145. package/es/pagination/index.js.map +1 -1
  146. package/es/pagination/styles.js +1 -2
  147. package/es/pagination/styles.js.map +1 -1
  148. package/es/popover/index.js +1 -2
  149. package/es/popover/index.js.map +1 -1
  150. package/es/popover/style.js +1 -2
  151. package/es/popover/style.js.map +1 -1
  152. package/es/prism/index.d.ts +0 -1
  153. package/es/prism/index.js +1 -2
  154. package/es/prism/index.js.map +1 -1
  155. package/es/provider/index.js +1 -2
  156. package/es/provider/index.js.map +1 -1
  157. package/es/qrcode/index.js +1 -2
  158. package/es/qrcode/index.js.map +1 -1
  159. package/es/qrcode/qrcode.js +1 -2
  160. package/es/qrcode/qrcode.js.map +1 -1
  161. package/es/radio/index.js +1 -2
  162. package/es/radio/index.js.map +1 -1
  163. package/es/radio/style.js +1 -2
  164. package/es/radio/style.js.map +1 -1
  165. package/es/segmented/index.js +1 -12
  166. package/es/segmented/index.js.map +1 -1
  167. package/es/segmented/style.js +1 -2
  168. package/es/segmented/style.js.map +1 -1
  169. package/es/select/index.js +1 -2
  170. package/es/select/index.js.map +1 -1
  171. package/es/select/style.js +1 -2
  172. package/es/select/style.js.map +1 -1
  173. package/es/skeleton/index.js +2 -25
  174. package/es/skeleton/index.js.map +1 -1
  175. package/es/spin/index.js +1 -2
  176. package/es/spin/index.js.map +1 -1
  177. package/es/switch/index.js +1 -2
  178. package/es/switch/index.js.map +1 -1
  179. package/es/switch/style.js +1 -2
  180. package/es/switch/style.js.map +1 -1
  181. package/es/table/index.js +1 -2
  182. package/es/table/index.js.map +1 -1
  183. package/es/table/styles.js +1 -2
  184. package/es/table/styles.js.map +1 -1
  185. package/es/tabs/index.js +1 -12
  186. package/es/tabs/index.js.map +1 -1
  187. package/es/tabs/style.d.ts +2 -2
  188. package/es/tabs/style.js +32 -33
  189. package/es/tabs/style.js.map +1 -1
  190. package/es/tag/index.js +1 -2
  191. package/es/tag/index.js.map +1 -1
  192. package/es/tag/style.js +1 -2
  193. package/es/tag/style.js.map +1 -1
  194. package/es/theme/index.js +1 -2
  195. package/es/theme/index.js.map +1 -1
  196. package/es/tree/index.js +1 -2
  197. package/es/tree/index.js.map +1 -1
  198. package/es/tree/register.js +1 -2
  199. package/es/tree/register.js.map +1 -1
  200. package/es/tree/style.js +1 -2
  201. package/es/tree/style.js.map +1 -1
  202. package/es/tree/type.js +1 -2
  203. package/es/tree/type.js.map +1 -1
  204. package/es/typography/index.js +1 -2
  205. package/es/typography/index.js.map +1 -1
  206. package/lib/avatar/favicon.svg +0 -0
  207. package/lib/avatar/group.js +18 -19
  208. package/lib/avatar/group.js.map +1 -1
  209. package/lib/avatar/index.js +3 -4
  210. package/lib/avatar/index.js.map +1 -1
  211. package/lib/avatar/style.js +3 -4
  212. package/lib/avatar/style.js.map +1 -1
  213. package/lib/back-top/index.js +1 -2
  214. package/lib/back-top/index.js.map +1 -1
  215. package/lib/back-top/style.js +1 -2
  216. package/lib/back-top/style.js.map +1 -1
  217. package/lib/basic-config/index.js +1 -2
  218. package/lib/basic-config/index.js.map +1 -1
  219. package/lib/button/index.js +1 -2
  220. package/lib/button/index.js.map +1 -1
  221. package/lib/button/style.js +1 -2
  222. package/lib/button/style.js.map +1 -1
  223. package/lib/capture-screen/index.js +1 -2
  224. package/lib/capture-screen/index.js.map +1 -1
  225. package/lib/capture-screen/style.js +1 -2
  226. package/lib/capture-screen/style.js.map +1 -1
  227. package/lib/carousel/index.js +1 -2
  228. package/lib/carousel/index.js.map +1 -1
  229. package/lib/carousel/style.js +1 -2
  230. package/lib/carousel/style.js.map +1 -1
  231. package/lib/checkbox/index.js +1 -2
  232. package/lib/checkbox/index.js.map +1 -1
  233. package/lib/checkbox/style.js +1 -2
  234. package/lib/checkbox/style.js.map +1 -1
  235. package/lib/code/index.d.ts +6 -2
  236. package/lib/code/index.js +1 -2
  237. package/lib/code/index.js.map +1 -1
  238. package/lib/code/style.js +26 -27
  239. package/lib/code/style.js.map +1 -1
  240. package/lib/code/worker.js +2 -3
  241. package/lib/code/worker.js.map +1 -1
  242. package/lib/color-palette/index.js +1 -2
  243. package/lib/color-palette/index.js.map +1 -1
  244. package/lib/color-palette/style.js +3 -4
  245. package/lib/color-palette/style.js.map +1 -1
  246. package/lib/color-picker/index.js +1 -2
  247. package/lib/color-picker/index.js.map +1 -1
  248. package/lib/color-picker/style.js +1 -2
  249. package/lib/color-picker/style.js.map +1 -1
  250. package/lib/cron/begin-interval.js +1 -2
  251. package/lib/cron/begin-interval.js.map +1 -1
  252. package/lib/cron/day.js +1 -2
  253. package/lib/cron/day.js.map +1 -1
  254. package/lib/cron/hour.js +1 -2
  255. package/lib/cron/hour.js.map +1 -1
  256. package/lib/cron/index.js +1 -2
  257. package/lib/cron/index.js.map +1 -1
  258. package/lib/cron/item.js +1 -2
  259. package/lib/cron/item.js.map +1 -1
  260. package/lib/cron/minute.js +1 -2
  261. package/lib/cron/minute.js.map +1 -1
  262. package/lib/cron/month.js +1 -2
  263. package/lib/cron/month.js.map +1 -1
  264. package/lib/cron/period.js +1 -2
  265. package/lib/cron/period.js.map +1 -1
  266. package/lib/cron/second.js +1 -2
  267. package/lib/cron/second.js.map +1 -1
  268. package/lib/cron/some.js +1 -2
  269. package/lib/cron/some.js.map +1 -1
  270. package/lib/cron/style.js +4 -5
  271. package/lib/cron/style.js.map +1 -1
  272. package/lib/cron/week.js +1 -2
  273. package/lib/cron/week.js.map +1 -1
  274. package/lib/cron/year.js +1 -2
  275. package/lib/cron/year.js.map +1 -1
  276. package/lib/date-picker/date.js +1 -2
  277. package/lib/date-picker/date.js.map +1 -1
  278. package/lib/date-picker/dayjs.js +1 -2
  279. package/lib/date-picker/dayjs.js.map +1 -1
  280. package/lib/date-picker/index.js +1 -2
  281. package/lib/date-picker/index.js.map +1 -1
  282. package/lib/date-picker/month.js +1 -2
  283. package/lib/date-picker/month.js.map +1 -1
  284. package/lib/date-picker/panel.js +1 -2
  285. package/lib/date-picker/panel.js.map +1 -1
  286. package/lib/date-picker/style.js +1 -2
  287. package/lib/date-picker/style.js.map +1 -1
  288. package/lib/date-picker/time.js +1 -2
  289. package/lib/date-picker/time.js.map +1 -1
  290. package/lib/date-picker/year.js +1 -2
  291. package/lib/date-picker/year.js.map +1 -1
  292. package/lib/dropdown/index.js +1 -2
  293. package/lib/dropdown/index.js.map +1 -1
  294. package/lib/empty/index.js +1 -2
  295. package/lib/empty/index.js.map +1 -1
  296. package/lib/from-schema/index.js +1 -2
  297. package/lib/from-schema/index.js.map +1 -1
  298. package/lib/get-options/index.js +1 -2
  299. package/lib/get-options/index.js.map +1 -1
  300. package/lib/highlight-text/index.js +2 -3
  301. package/lib/highlight-text/index.js.map +1 -1
  302. package/lib/img/index.js +1 -2
  303. package/lib/img/index.js.map +1 -1
  304. package/lib/img/lazy.js +1 -2
  305. package/lib/img/lazy.js.map +1 -1
  306. package/lib/img/style.js +3 -4
  307. package/lib/img/style.js.map +1 -1
  308. package/lib/index.js +1 -2
  309. package/lib/index.js.map +1 -1
  310. package/lib/input/index.js +1 -2
  311. package/lib/input/index.js.map +1 -1
  312. package/lib/input/style.js +1 -2
  313. package/lib/input/style.js.map +1 -1
  314. package/lib/input-number/index.js +2 -3
  315. package/lib/input-number/index.js.map +1 -1
  316. package/lib/katex/index.js +1 -2
  317. package/lib/katex/index.js.map +1 -1
  318. package/lib/md/common.d.ts +4 -0
  319. package/lib/md/common.js +1 -0
  320. package/lib/md/common.js.map +1 -0
  321. package/lib/md/index.d.ts +1 -0
  322. package/lib/md/index.js +1 -2
  323. package/lib/md/index.js.map +1 -1
  324. package/lib/md/worker.d.ts +9 -1
  325. package/lib/md/worker.js +1 -2
  326. package/lib/md/worker.js.map +1 -1
  327. package/lib/md-style/index.js +2 -3
  328. package/lib/md-style/index.js.map +1 -1
  329. package/lib/menu/index.js +1 -2
  330. package/lib/menu/index.js.map +1 -1
  331. package/lib/menu/style.js +1 -2
  332. package/lib/menu/style.js.map +1 -1
  333. package/lib/modal/hooks.js +1 -2
  334. package/lib/modal/hooks.js.map +1 -1
  335. package/lib/modal/index.js +1 -2
  336. package/lib/modal/index.js.map +1 -1
  337. package/lib/modal/store.js +1 -2
  338. package/lib/modal/store.js.map +1 -1
  339. package/lib/modal/style.js +1 -2
  340. package/lib/modal/style.js.map +1 -1
  341. package/lib/notification/index.js +1 -2
  342. package/lib/notification/index.js.map +1 -1
  343. package/lib/notification/notification.js +1 -2
  344. package/lib/notification/notification.js.map +1 -1
  345. package/lib/notification/queque.js +1 -2
  346. package/lib/notification/queque.js.map +1 -1
  347. package/lib/notification/styles.js +1 -2
  348. package/lib/notification/styles.js.map +1 -1
  349. package/lib/pagination/index.js +1 -2
  350. package/lib/pagination/index.js.map +1 -1
  351. package/lib/pagination/styles.js +1 -2
  352. package/lib/pagination/styles.js.map +1 -1
  353. package/lib/popover/index.js +1 -2
  354. package/lib/popover/index.js.map +1 -1
  355. package/lib/popover/style.js +3 -4
  356. package/lib/popover/style.js.map +1 -1
  357. package/lib/prism/index.d.ts +0 -1
  358. package/lib/prism/index.js +1 -2
  359. package/lib/prism/index.js.map +1 -1
  360. package/lib/provider/index.js +1 -2
  361. package/lib/provider/index.js.map +1 -1
  362. package/lib/qrcode/index.js +1 -2
  363. package/lib/qrcode/index.js.map +1 -1
  364. package/lib/qrcode/qrcode.js +1 -2
  365. package/lib/qrcode/qrcode.js.map +1 -1
  366. package/lib/radio/index.js +1 -2
  367. package/lib/radio/index.js.map +1 -1
  368. package/lib/radio/style.js +1 -2
  369. package/lib/radio/style.js.map +1 -1
  370. package/lib/segmented/index.js +1 -12
  371. package/lib/segmented/index.js.map +1 -1
  372. package/lib/segmented/style.js +1 -2
  373. package/lib/segmented/style.js.map +1 -1
  374. package/lib/select/index.js +1 -2
  375. package/lib/select/index.js.map +1 -1
  376. package/lib/select/style.js +1 -2
  377. package/lib/select/style.js.map +1 -1
  378. package/lib/skeleton/index.js +2 -25
  379. package/lib/skeleton/index.js.map +1 -1
  380. package/lib/spin/index.js +2 -3
  381. package/lib/spin/index.js.map +1 -1
  382. package/lib/switch/index.js +1 -2
  383. package/lib/switch/index.js.map +1 -1
  384. package/lib/switch/style.js +1 -2
  385. package/lib/switch/style.js.map +1 -1
  386. package/lib/table/index.js +1 -2
  387. package/lib/table/index.js.map +1 -1
  388. package/lib/table/styles.js +1 -2
  389. package/lib/table/styles.js.map +1 -1
  390. package/lib/tabs/index.js +1 -12
  391. package/lib/tabs/index.js.map +1 -1
  392. package/lib/tabs/style.d.ts +2 -2
  393. package/lib/tabs/style.js +32 -33
  394. package/lib/tabs/style.js.map +1 -1
  395. package/lib/tag/index.js +3 -4
  396. package/lib/tag/index.js.map +1 -1
  397. package/lib/tag/style.js +1 -2
  398. package/lib/tag/style.js.map +1 -1
  399. package/lib/theme/index.js +1 -2
  400. package/lib/theme/index.js.map +1 -1
  401. package/lib/tree/index.js +1 -2
  402. package/lib/tree/index.js.map +1 -1
  403. package/lib/tree/register.js +1 -2
  404. package/lib/tree/register.js.map +1 -1
  405. package/lib/tree/style.js +1 -2
  406. package/lib/tree/style.js.map +1 -1
  407. package/lib/tree/type.js +1 -2
  408. package/lib/tree/type.js.map +1 -1
  409. package/lib/typography/index.js +7 -8
  410. package/lib/typography/index.js.map +1 -1
  411. package/package.json +8 -8
  412. package/umd/index.js +4187 -1
  413. package/umd/js/074a85150a9f6a97.js +1 -0
  414. package/es/cron/api.md +0 -27
  415. package/lib/cron/api.md +0 -27
@@ -1,2 +1 @@
1
- function r(){return(r=Object.assign||function(r){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n])}return r}).apply(this,arguments)}import{FieldName as t}from"../basic-config";export default function e(n,a){return n?n.map((n,i)=>{let{options:o,children:s,label:c,value:f}=Object.assign({},t,a);if("object"==typeof n){let t=(void 0===n[c]?n[f]:n[c])||i,p=(void 0===n[f]?t:n[f])||i,u=r({},n,{[c]:t,[f]:p});return Array.isArray(n[s])&&Object.assign(u,{[s]:e(n[s],a)}),Array.isArray(n[o])&&Object.assign(u,{[o]:e(n[o],a)}),u}return{[c]:n,[f]:n}}):[]}
2
- //# sourceMappingURL=index.js.map
1
+ function r(){return(r=Object.assign||function(r){for(var t=1;t<arguments.length;t++){var e=arguments[t];for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(r[n]=e[n])}return r}).apply(this,arguments)}import{FieldName as t}from"../basic-config";export default function e(n,a){return n?n.map((n,i)=>{let{options:o,children:s,label:c,value:f}=Object.assign({},t,a);if("object"==typeof n){let t=(void 0===n[c]?n[f]:n[c])||i,p=(void 0===n[f]?t:n[f])||i,u=r({},n,{[c]:t,[f]:p});return Array.isArray(n[s])&&Object.assign(u,{[s]:e(n[s],a)}),Array.isArray(n[o])&&Object.assign(u,{[o]:e(n[o],a)}),u}return{[c]:n,[f]:n}}):[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/get-options/index.ts"],"sourcesContent":["import { type BaseOption, type BasicConfig, FieldName } from '../basic-config';\n\nfunction getOptions<T extends BaseOption = BaseOption>(\n list?: (T | string | number)[],\n fieldNames?: BasicConfig['fieldName'],\n): (T & Record<string, unknown>)[] {\n if (!list) return [];\n return list.map((item, i) => {\n const { options, children, label, value } = Object.assign({}, FieldName, fieldNames);\n\n if (typeof item === 'object') {\n const _label = (typeof item[label] === 'undefined' ? item[value] : item[label]) || i;\n const _value = (typeof item[value] === 'undefined' ? _label : item[value]) || i;\n const _item = {\n ...item,\n [label]: _label,\n [value]: _value,\n };\n\n if (Array.isArray(item[children])) {\n Object.assign(_item, {\n [children]: getOptions(item[children], fieldNames),\n });\n }\n if (Array.isArray(item[options])) {\n Object.assign(_item, {\n [options]: getOptions(item[options], fieldNames),\n });\n }\n return _item;\n }\n return {\n [label]: item,\n [value]: item,\n } as T;\n });\n}\n\nexport default getOptions;\n"],"names":["FieldName","getOptions","list","fieldNames","map","item","i","options","children","label","value","Object","assign","_label","_value","_item","Array","isArray"],"mappings":"+MAAA,OAA4CA,aAAAA,CAAS,KAAQ,iBAAkB,AAsC/E,gBApCA,SAASC,EACPC,CAA8B,CAC9BC,CAAqC,SAErC,AAAKD,EACEA,EAAKE,GAAG,CAAC,CAACC,EAAMC,KACrB,GAAM,CAAEC,QAAAA,CAAO,CAAEC,SAAAA,CAAQ,CAAEC,MAAAA,CAAK,CAAEC,MAAAA,CAAK,CAAE,CAAGC,OAAOC,MAAM,CAAC,CAAC,EAAGZ,EAAWG,GAEzE,GAAI,AAAgB,UAAhB,OAAOE,EAAmB,CAC5B,IAAMQ,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBR,CAAI,CAACI,EAAM,CAAmBJ,CAAI,CAACK,EAAM,CAAGL,CAAI,CAACI,EAAM,AAAD,GAAMH,EAC7EQ,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBT,CAAI,CAACK,EAAM,CAAmBG,EAASR,CAAI,CAACK,EAAM,AAAD,GAAMJ,EACxES,EAAQ,KACTV,GACH,CAACI,EAAM,CAAEI,EACT,CAACH,EAAM,CAAEI,IAaX,OAVIE,MAAMC,OAAO,CAACZ,CAAI,CAACG,EAAS,GAC9BG,OAAOC,MAAM,CAACG,EAAO,CACnB,CAACP,EAAS,CAAEP,EAAWI,CAAI,CAACG,EAAS,CAAEL,EACzC,GAEEa,MAAMC,OAAO,CAACZ,CAAI,CAACE,EAAQ,GAC7BI,OAAOC,MAAM,CAACG,EAAO,CACnB,CAACR,EAAQ,CAAEN,EAAWI,CAAI,CAACE,EAAQ,CAAEJ,EACvC,GAEKY,CACT,CACA,MAAO,CACL,CAACN,EAAM,CAAEJ,EACT,CAACK,EAAM,CAAEL,CACX,CACF,GA7BkB,EAAE,AA8BtB"}
1
+ {"version":3,"sources":["components/get-options/index.ts"],"sourcesContent":["import { type BaseOption, type BasicConfig, FieldName } from '../basic-config';\n\nfunction getOptions<T extends BaseOption = BaseOption>(\n list?: (T | string | number)[],\n fieldNames?: BasicConfig['fieldName'],\n): (T & Record<string, unknown>)[] {\n if (!list) return [];\n return list.map((item, i) => {\n const { options, children, label, value } = Object.assign({}, FieldName, fieldNames);\n\n if (typeof item === 'object') {\n const _label = (typeof item[label] === 'undefined' ? item[value] : item[label]) || i;\n const _value = (typeof item[value] === 'undefined' ? _label : item[value]) || i;\n const _item = {\n ...item,\n [label]: _label,\n [value]: _value,\n };\n\n if (Array.isArray(item[children])) {\n Object.assign(_item, {\n [children]: getOptions(item[children], fieldNames),\n });\n }\n if (Array.isArray(item[options])) {\n Object.assign(_item, {\n [options]: getOptions(item[options], fieldNames),\n });\n }\n return _item;\n }\n return {\n [label]: item,\n [value]: item,\n } as T;\n });\n}\n\nexport default getOptions;\n"],"names":["FieldName","getOptions","list","fieldNames","map","item","i","options","children","label","value","Object","assign","_label","_value","_item","Array","isArray"],"mappings":"+MAAA,OAA4CA,aAAAA,CAAS,KAAQ,iBAAkB,AAsC/E,gBApCA,SAASC,EACPC,CAA8B,CAC9BC,CAAqC,SAErC,AAAKD,EACEA,EAAKE,GAAG,CAAC,CAACC,EAAMC,KACrB,GAAM,CAAEC,QAAAA,CAAO,CAAEC,SAAAA,CAAQ,CAAEC,MAAAA,CAAK,CAAEC,MAAAA,CAAK,CAAE,CAAGC,OAAOC,MAAM,CAAC,CAAC,EAAGZ,EAAWG,GAEzE,GAAI,AAAgB,UAAhB,OAAOE,EAAmB,CAC5B,IAAMQ,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBR,CAAI,CAACI,EAAM,CAAmBJ,CAAI,CAACK,EAAM,CAAGL,CAAI,CAACI,EAAM,AAAD,GAAMH,EAC7EQ,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBT,CAAI,CAACK,EAAM,CAAmBG,EAASR,CAAI,CAACK,EAAM,AAAD,GAAMJ,EACxES,EAAQ,KACTV,GACH,CAACI,EAAM,CAAEI,EACT,CAACH,EAAM,CAAEI,IAaX,OAVIE,MAAMC,OAAO,CAACZ,CAAI,CAACG,EAAS,GAC9BG,OAAOC,MAAM,CAACG,EAAO,CACnB,CAACP,EAAS,CAAEP,EAAWI,CAAI,CAACG,EAAS,CAAEL,EACzC,GAEEa,MAAMC,OAAO,CAACZ,CAAI,CAACE,EAAQ,GAC7BI,OAAOC,MAAM,CAACG,EAAO,CACnB,CAACR,EAAQ,CAAEN,EAAWI,CAAI,CAACE,EAAQ,CAAEJ,EACvC,GAEKY,CACT,CACA,MAAO,CACL,CAACN,EAAM,CAAEJ,EACT,CAACK,EAAM,CAAEL,CACX,CACF,GA7BkB,EAAE,AA8BtB"}
@@ -9,5 +9,4 @@ import{template as t}from"solid-js/web";import{setAttribute as e}from"solid-js/w
9
9
  .hit {
10
10
  color: var(--primary-color, #5794ff);
11
11
  }
12
- `;function y(t){let{baseStyle:x}=b,[w,v]=f(),y=u(()=>{var r,o;return null!=(o=null==(r=w())?void 0:r.map(t=>t.hit?(()=>{let r=n();return l(r,()=>t.text),i(()=>e(r,"data-text",t.text)),r})():t.text))?o:t.text});return m(()=>{if("string"==typeof t.text&&t.highlight){let e=t.text;if(Array.isArray(t.highlight))for(let r=0,l=t.highlight.length;r<l;r++){let l=t.highlight[r],i="string"==typeof l,o=i?l:l.highlight,s=i?t.flag:l.flag;o.length&&(e=e.replace(new RegExp(o,s),`%c:${o}:c%`))}else t.highlight.length&&(e=e.replace(new RegExp(t.highlight,t.flag),`%c:${t.highlight}:c%`));v(function(t){let e=/%c:(.+?):c%/i,r=t,l=e.exec(r);if(l){let t=[];for(;null!==l;l=e.exec(r)){let e=r.substring(0,l.index);e.trim().length&&t.push({text:e}),t.push({hit:!0,text:l[1]}),r=r.substring(l[0].length+l.index),e=null}return r.trim().length&&t.push({text:r}),t}return null}(e))}else v(null)}),[(()=>{let t=h(),e=t.firstChild;return i(()=>e.data=x()),t})(),(()=>{let t=a();return t.textContent=j,t})(),o(c,{get when(){return t.css},get children(){return p(t.css)}}),(()=>{let e=g();return l(e,y,null),l(e,(()=>{let e=r(()=>!!t.extra);return()=>e()&&(()=>{let e=n();return l(e,()=>t.extra),e})()})(),null),i(()=>s(e,d("text",t.class))),e})()]}x("n-highlight-text",{class:void 0,css:void 0,text:void 0,highlight:void 0,flag:void 0,extra:void 0},(t,e)=>{let r=e.element;return m(()=>{w(r,["css","text","highlight","extra"])}),[(()=>{let t=a();return t.textContent=v,t})(),o(y,t)]});export default y;
13
- //# sourceMappingURL=index.js.map
12
+ `;function y(t){let{baseStyle:x}=b,[w,v]=f(),y=u(()=>{var r,o;return null!=(o=null==(r=w())?void 0:r.map(t=>t.hit?(()=>{let r=n();return l(r,()=>t.text),i(()=>e(r,"data-text",t.text)),r})():t.text))?o:t.text});return m(()=>{if("string"==typeof t.text&&t.highlight){let e=t.text;if(Array.isArray(t.highlight))for(let r=0,l=t.highlight.length;r<l;r++){let l=t.highlight[r],i="string"==typeof l,o=i?l:l.highlight,s=i?t.flag:l.flag;o.length&&(e=e.replace(new RegExp(o,s),`%c:${o}:c%`))}else t.highlight.length&&(e=e.replace(new RegExp(t.highlight,t.flag),`%c:${t.highlight}:c%`));v(function(t){let e=/%c:(.+?):c%/i,r=t,l=e.exec(r);if(l){let t=[];for(;null!==l;l=e.exec(r)){let e=r.substring(0,l.index);e.trim().length&&t.push({text:e}),t.push({hit:!0,text:l[1]}),r=r.substring(l[0].length+l.index),e=null}return r.trim().length&&t.push({text:r}),t}return null}(e))}else v(null)}),[(()=>{let t=h(),e=t.firstChild;return i(()=>e.data=x()),t})(),(()=>{let t=a();return t.textContent=j,t})(),o(c,{get when(){return t.css},get children(){return p(t.css)}}),(()=>{let e=g();return l(e,y,null),l(e,(()=>{let e=r(()=>!!t.extra);return()=>e()&&(()=>{let e=n();return l(e,()=>t.extra),e})()})(),null),i(()=>s(e,d("text",t.class))),e})()]}x("n-highlight-text",{class:void 0,css:void 0,text:void 0,highlight:void 0,flag:void 0,extra:void 0},(t,e)=>{let r=e.element;return m(()=>{w(r,["css","text","highlight","extra"])}),[(()=>{let t=a();return t.textContent=v,t})(),o(y,t)]});export default y;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/highlight-text/index.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, Show } from 'solid-js';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport theme, { inline } from '../theme';\n\nconst style = css`\n .text {\n word-break: break-word;\n word-wrap: break-word;\n white-space: break-spaces;\n cursor: auto;\n }\n\n .hit {\n color: var(--primary-color, #5794ff);\n }\n`;\n\nexport type HighlightTextJson =\n | {\n highlight?: boolean;\n text: string;\n }[]\n | null;\nexport interface HighlightTextProps {\n /** 自定义样式表 */\n css?: string;\n /** 自定义类名 */\n class?: string;\n /** 内容 */\n text?: string;\n /** 需要高亮的内容 */\n highlight?: string | (HighlightRule | string)[];\n /** RegExp flag */\n flag?: HighlightRule['flag'];\n /** 额外需要高亮的内容 */\n extra?: string;\n}\n\ninterface HighlightRule {\n /** 需要高亮的内容 */\n highlight: string;\n /** RegExp flag */\n flag?: 'g' | 'i' | 'm' | 'u' | 'y';\n}\n\nexport interface Highlight {\n /** 命中高亮 */\n hit?: boolean;\n /** 内容 */\n text: string;\n}\n\nfunction HighlightText(props: HighlightTextProps) {\n const { baseStyle } = theme;\n const [texts, setTexts] = createSignal<Highlight[] | null>();\n const hitNode = createMemo(() => {\n return (\n texts()?.map((item) => {\n return item.hit ? (\n <span class=\"hit\" data-text={item.text}>\n {item.text}\n </span>\n ) : (\n item.text\n );\n }) ?? props.text\n );\n });\n\n /**\n * 字符串转换成高亮字符的Json格式\n * @param {string} text 字符串\n * @returns {HighlightTextJson} 高亮字符的Json\n */\n function strToHighlight(text: string): Highlight[] | null {\n /**\n * 高亮字符串语法\n * @example\n * ```\n * const str = '%c:高亮文字:c%';\n * ```\n */\n const RegExp_HighLight = /%c:(.+?):c%/i;\n let str = text,\n strArr = RegExp_HighLight.exec(str);\n\n if (strArr) {\n const textArr: Highlight[] = [];\n\n for (; strArr !== null; strArr = RegExp_HighLight.exec(str)) {\n // 普通部分\n let normalText: string | null = str.substring(0, strArr.index);\n\n if (normalText.trim().length) {\n textArr.push({\n text: normalText,\n });\n }\n\n // 高亮部分\n textArr.push({\n hit: true,\n text: strArr[1],\n });\n str = str.substring(strArr[0].length + strArr.index);\n normalText = null;\n }\n if (str.trim().length) {\n textArr.push({\n text: str,\n });\n }\n return textArr;\n }\n return null;\n }\n\n createEffect(() => {\n if (typeof props.text === 'string' && props.highlight) {\n let str = props.text;\n\n if (Array.isArray(props.highlight)) {\n for (let i = 0, len = props.highlight.length; i < len; i++) {\n const item = props.highlight[i];\n const isOne = typeof item === 'string';\n const hitStr = isOne ? item : item.highlight;\n const iFlag = isOne ? props.flag : item.flag;\n\n if (hitStr.length) {\n str = str.replace(new RegExp(hitStr, iFlag), `%c:${hitStr}:c%`);\n }\n }\n } else if (props.highlight.length) {\n str = str.replace(new RegExp(props.highlight, props.flag), `%c:${props.highlight}:c%`);\n }\n setTexts(strToHighlight(str));\n } else {\n setTexts(null);\n }\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={style} />\n <Show when={props.css}>{css(props.css)}</Show>\n <div class={cx('text', props.class)}>\n {hitNode()}\n {props.extra && <span class=\"hit\">{props.extra}</span>}\n </div>\n </>\n );\n}\n\nexport type HighlightTextElement = CustomElement<HighlightTextProps>;\ncustomElement<HighlightTextProps>(\n 'n-highlight-text',\n {\n class: void 0,\n css: void 0,\n text: void 0,\n highlight: void 0,\n flag: void 0,\n extra: void 0,\n },\n (props, opt) => {\n const el = opt.element;\n\n createEffect(() => {\n clearAttribute(el, ['css', 'text', 'highlight', 'extra']);\n });\n return (\n <>\n <style textContent={inline} />\n <HighlightText {...props} />\n </>\n );\n },\n);\nexport default HighlightText;\n"],"names":["createEffect","createMemo","createSignal","Show","css","cx","customElement","clearAttribute","theme","inline","style","HighlightText","props","baseStyle","texts","setTexts","hitNode","map","item","hit","text","highlight","str","Array","isArray","i","len","length","isOne","hitStr","iFlag","flag","replace","RegExp","strToHighlight","RegExp_HighLight","strArr","exec","textArr","normalText","substring","index","trim","push","extra","class","opt","el","element"],"mappings":"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"}
1
+ {"version":3,"sources":["components/highlight-text/index.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, Show } from 'solid-js';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport theme, { inline } from '../theme';\n\nconst style = css`\n .text {\n word-break: break-word;\n word-wrap: break-word;\n white-space: break-spaces;\n cursor: auto;\n }\n\n .hit {\n color: var(--primary-color, #5794ff);\n }\n`;\n\nexport type HighlightTextJson =\n | {\n highlight?: boolean;\n text: string;\n }[]\n | null;\nexport interface HighlightTextProps {\n /** 自定义样式表 */\n css?: string;\n /** 自定义类名 */\n class?: string;\n /** 内容 */\n text?: string;\n /** 需要高亮的内容 */\n highlight?: string | (HighlightRule | string)[];\n /** RegExp flag */\n flag?: HighlightRule['flag'];\n /** 额外需要高亮的内容 */\n extra?: string;\n}\n\ninterface HighlightRule {\n /** 需要高亮的内容 */\n highlight: string;\n /** RegExp flag */\n flag?: 'g' | 'i' | 'm' | 'u' | 'y';\n}\n\nexport interface Highlight {\n /** 命中高亮 */\n hit?: boolean;\n /** 内容 */\n text: string;\n}\n\nfunction HighlightText(props: HighlightTextProps) {\n const { baseStyle } = theme;\n const [texts, setTexts] = createSignal<Highlight[] | null>();\n const hitNode = createMemo(() => {\n return (\n texts()?.map((item) => {\n return item.hit ? (\n <span class=\"hit\" data-text={item.text}>\n {item.text}\n </span>\n ) : (\n item.text\n );\n }) ?? props.text\n );\n });\n\n /**\n * 字符串转换成高亮字符的Json格式\n * @param {string} text 字符串\n * @returns {HighlightTextJson} 高亮字符的Json\n */\n function strToHighlight(text: string): Highlight[] | null {\n /**\n * 高亮字符串语法\n * @example\n * ```\n * const str = '%c:高亮文字:c%';\n * ```\n */\n const RegExp_HighLight = /%c:(.+?):c%/i;\n let str = text,\n strArr = RegExp_HighLight.exec(str);\n\n if (strArr) {\n const textArr: Highlight[] = [];\n\n for (; strArr !== null; strArr = RegExp_HighLight.exec(str)) {\n // 普通部分\n let normalText: string | null = str.substring(0, strArr.index);\n\n if (normalText.trim().length) {\n textArr.push({\n text: normalText,\n });\n }\n\n // 高亮部分\n textArr.push({\n hit: true,\n text: strArr[1],\n });\n str = str.substring(strArr[0].length + strArr.index);\n normalText = null;\n }\n if (str.trim().length) {\n textArr.push({\n text: str,\n });\n }\n return textArr;\n }\n return null;\n }\n\n createEffect(() => {\n if (typeof props.text === 'string' && props.highlight) {\n let str = props.text;\n\n if (Array.isArray(props.highlight)) {\n for (let i = 0, len = props.highlight.length; i < len; i++) {\n const item = props.highlight[i];\n const isOne = typeof item === 'string';\n const hitStr = isOne ? item : item.highlight;\n const iFlag = isOne ? props.flag : item.flag;\n\n if (hitStr.length) {\n str = str.replace(new RegExp(hitStr, iFlag), `%c:${hitStr}:c%`);\n }\n }\n } else if (props.highlight.length) {\n str = str.replace(new RegExp(props.highlight, props.flag), `%c:${props.highlight}:c%`);\n }\n setTexts(strToHighlight(str));\n } else {\n setTexts(null);\n }\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={style} />\n <Show when={props.css}>{css(props.css)}</Show>\n <div class={cx('text', props.class)}>\n {hitNode()}\n {props.extra && <span class=\"hit\">{props.extra}</span>}\n </div>\n </>\n );\n}\n\nexport type HighlightTextElement = CustomElement<HighlightTextProps>;\ncustomElement<HighlightTextProps>(\n 'n-highlight-text',\n {\n class: void 0,\n css: void 0,\n text: void 0,\n highlight: void 0,\n flag: void 0,\n extra: void 0,\n },\n (props, opt) => {\n const el = opt.element;\n\n createEffect(() => {\n clearAttribute(el, ['css', 'text', 'highlight', 'extra']);\n });\n return (\n <>\n <style textContent={inline} />\n <HighlightText {...props} />\n </>\n );\n },\n);\nexport default HighlightText;\n"],"names":["createEffect","createMemo","createSignal","Show","css","cx","customElement","clearAttribute","theme","inline","style","HighlightText","props","baseStyle","texts","setTexts","hitNode","map","item","hit","text","highlight","str","Array","isArray","i","len","length","isOne","hitStr","iFlag","flag","replace","RegExp","strToHighlight","RegExp_HighLight","strArr","exec","textArr","normalText","substring","index","trim","push","extra","class","opt","el","element"],"mappings":"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"}
package/es/img/index.js CHANGED
@@ -1,2 +1 @@
1
- import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{setAttribute as n}from"solid-js/web";import"solid-js/web";import{effect as o}from"solid-js/web";import{delegateEvents as l}from"solid-js/web";import{createComponent as s}from"solid-js/web";import{addEventListener as i}from"solid-js/web";let r=t("<style> "),a=t("<style>"),d=t('<div class="portal"><span class="close"></span><img class="img">');import{createEffect as m,createSignal as c,mergeProps as u,onCleanup as p,Show as v,untrack as f}from"solid-js";import{Portal as g}from"solid-js/web";import{customElement as b}from"solid-element";import{inline as C}from"../theme";import h from"./lazy";import{imgCss as w,style as $}from"./style";function E(t){let l;let b=u({maskClosable:!0,escClosable:!0,lazy:!0,disabled:!1},t),[C,E]=c(null),[y,k]=c({width:0,height:0,left:0,top:0});function _(e){b.disabled||(E(e),null==b.onOpenChange||b.onOpenChange.call(b,e))}function j(e){e.preventDefault()}function L(e){j(e),"keydown"===e.type?b.escClosable&&"Escape"===e.key&&_(!1):_(!1)}function x(){!1===C()&&_(null)}function z(e){j(e),b.maskClosable&&e.target===l&&_(!1)}return m(()=>{void 0!==b.open&&b.open!==f(C)&&E(b.open)}),m(()=>{!0===C()&&(document.documentElement.addEventListener("mousewheel",j,{passive:!1}),b.escClosable&&document.documentElement.addEventListener("keydown",L,!1)),p(()=>{document.documentElement.removeEventListener("mousewheel",j,!1),document.documentElement.removeEventListener("keydown",L,!1)})}),[s(h,{get src(){return b.src},get alt(){return b.alt},get lazy(){return b.lazy},get classList(){return{none:!!C()}},onClick:function(e){b.disabled||(e.stopPropagation(),j(e),e.target&&k(e.target.getBoundingClientRect()),_(!0))}}),s(v,{get when(){return null!==C()},get children(){return s(g,{useShadow:!0,get children(){return[(()=>{let e=r(),t=e.firstChild;return o(()=>t.data=function(){let{width:e,height:t,top:n,left:o}=y();return`.portal {--img: url(${b.src});inline-size: ${e}px;block-size: ${t}px;inset-block-start: ${n}px;inset-inline-start: ${o}px;}`}()),e})(),(()=>{let e=a();return e.textContent=w,e})(),(()=>{let e=a();return e.textContent=$,e})(),(()=>{let t=d(),s=l,r=t.firstChild,a=r.nextSibling;return i(t,"click",z,!0),i(t,"animationend",x),"function"==typeof s?e(s,t):l=t,i(r,"click",L,!0),o(e=>{let o=!!C(),l=!C(),s=b.srcFull||b.src,i=b.alt;return o!==e._v$&&t.classList.toggle("open",e._v$=o),l!==e._v$2&&t.classList.toggle("closeing",e._v$2=l),s!==e._v$3&&n(a,"src",e._v$3=s),i!==e._v$4&&n(a,"alt",e._v$4=i),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),t})()]}})}})]}b("n-img",{src:void 0,srcFull:void 0,alt:void 0,open:null,maskClosable:void 0,escClosable:void 0,onOpenChange:void 0,onLoad:void 0,lazy:void 0,disabled:void 0},(e,t)=>{let n=u({onOpenChange(e){t.element.dispatchEvent(new CustomEvent("openchange",{detail:e}))},onLoad(){t.element.dispatchEvent(new CustomEvent("load"))}},e);return[(()=>{let e=a();return e.textContent=C,e})(),s(E,n)]});export default E;l(["click"]);
2
- //# sourceMappingURL=index.js.map
1
+ import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{setAttribute as n}from"solid-js/web";import"solid-js/web";import{effect as o}from"solid-js/web";import{delegateEvents as l}from"solid-js/web";import{createComponent as s}from"solid-js/web";import{addEventListener as i}from"solid-js/web";let r=t("<style> "),a=t("<style>"),d=t('<div class="portal"><span class="close"></span><img class="img">');import{createEffect as m,createSignal as c,mergeProps as u,onCleanup as p,Show as v,untrack as f}from"solid-js";import{Portal as g}from"solid-js/web";import{customElement as b}from"solid-element";import{inline as C}from"../theme";import h from"./lazy";import{imgCss as w,style as $}from"./style";function E(t){let l;let b=u({maskClosable:!0,escClosable:!0,lazy:!0,disabled:!1},t),[C,E]=c(null),[y,k]=c({width:0,height:0,left:0,top:0});function _(e){b.disabled||(E(e),null==b.onOpenChange||b.onOpenChange.call(b,e))}function j(e){e.preventDefault()}function L(e){j(e),"keydown"===e.type?b.escClosable&&"Escape"===e.key&&_(!1):_(!1)}function x(){!1===C()&&_(null)}function z(e){j(e),b.maskClosable&&e.target===l&&_(!1)}return m(()=>{void 0!==b.open&&b.open!==f(C)&&E(b.open)}),m(()=>{!0===C()&&(document.documentElement.addEventListener("mousewheel",j,{passive:!1}),b.escClosable&&document.documentElement.addEventListener("keydown",L,!1)),p(()=>{document.documentElement.removeEventListener("mousewheel",j,!1),document.documentElement.removeEventListener("keydown",L,!1)})}),[s(h,{get src(){return b.src},get alt(){return b.alt},get lazy(){return b.lazy},get classList(){return{none:!!C()}},onClick:function(e){b.disabled||(e.stopPropagation(),j(e),e.target&&k(e.target.getBoundingClientRect()),_(!0))}}),s(v,{get when(){return null!==C()},get children(){return s(g,{useShadow:!0,get children(){return[(()=>{let e=r(),t=e.firstChild;return o(()=>t.data=function(){let{width:e,height:t,top:n,left:o}=y();return`.portal {--img: url(${b.src});inline-size: ${e}px;block-size: ${t}px;inset-block-start: ${n}px;inset-inline-start: ${o}px;}`}()),e})(),(()=>{let e=a();return e.textContent=w,e})(),(()=>{let e=a();return e.textContent=$,e})(),(()=>{let t=d(),s=l,r=t.firstChild,a=r.nextSibling;return i(t,"click",z,!0),i(t,"animationend",x),"function"==typeof s?e(s,t):l=t,i(r,"click",L,!0),o(e=>{let o=!!C(),l=!C(),s=b.srcFull||b.src,i=b.alt;return o!==e._v$&&t.classList.toggle("open",e._v$=o),l!==e._v$2&&t.classList.toggle("closeing",e._v$2=l),s!==e._v$3&&n(a,"src",e._v$3=s),i!==e._v$4&&n(a,"alt",e._v$4=i),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),t})()]}})}})]}b("n-img",{src:void 0,srcFull:void 0,alt:void 0,open:null,maskClosable:void 0,escClosable:void 0,onOpenChange:void 0,onLoad:void 0,lazy:void 0,disabled:void 0},(e,t)=>{let n=u({onOpenChange(e){t.element.dispatchEvent(new CustomEvent("openchange",{detail:e}))},onLoad(){t.element.dispatchEvent(new CustomEvent("load"))}},e);return[(()=>{let e=a();return e.textContent=C,e})(),s(E,n)]});export default E;l(["click"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/img/index.tsx"],"sourcesContent":["import {\n createEffect,\n createSignal,\n type JSX,\n mergeProps,\n onCleanup,\n Show,\n untrack,\n} from 'solid-js';\nimport { Portal } from 'solid-js/web';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { inline } from '../theme';\n\nimport ImgLazy from './lazy';\nimport { imgCss, style } from './style';\n\nexport interface ImgProps extends JSX.HTMLAttributes<HTMLImageElement> {\n /** 图片地址 */\n src?: string;\n /** 查看大图的地址, 默认使用 `src`\n * @since 2.1.2\n */\n srcFull?: string;\n /** 图片 alt */\n alt?: string;\n /** 大图查看 */\n open?: boolean | null;\n /** 开启关闭大图的回调函数 */\n onOpenChange?: (open: boolean | null) => void;\n /** 图片加载完成 */\n onLoad?(e: Event): void;\n /** 点击遮罩关闭\n * @since 2.0.8\n * @default true\n */\n maskClosable?: boolean;\n /** 通过 `esc` 按键关闭\n * @default true\n */\n escClosable?: boolean;\n /**\n * 懒加载\n * @since 2.8.1\n * @default true\n */\n lazy?: boolean;\n /** 禁止点开大图\n * @since 2.8.3\n * @default false\n */\n disabled?: boolean;\n}\nexport type ImgElement = CustomElement<ImgProps, 'onOpenChange'>;\n\nfunction Img(_: ImgProps) {\n let portal: HTMLDivElement | undefined;\n const props = mergeProps(\n {\n maskClosable: true,\n escClosable: true,\n lazy: true,\n disabled: false,\n },\n _,\n );\n const [open, setOpen] = createSignal<boolean | null>(null);\n const [posi, setPosi] = createSignal({\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n });\n\n function getCss() {\n const { width, height, top, left } = posi();\n\n return `.portal {--img: url(${props.src});inline-size: ${width}px;block-size: ${height}px;inset-block-start: ${top}px;inset-inline-start: ${left}px;}`;\n }\n function openChange(visi: boolean | null) {\n if (!props.disabled) {\n setOpen(visi);\n props.onOpenChange?.(visi);\n }\n }\n function preventDefault(e: Event) {\n e.preventDefault();\n }\n function close(e: KeyboardEvent | Event) {\n preventDefault(e);\n if (e.type === 'keydown') {\n if (props.escClosable && (e as KeyboardEvent).key === 'Escape') {\n openChange(false);\n }\n } else {\n openChange(false);\n }\n }\n function handleDestroy() {\n if (open() === false) {\n openChange(null);\n }\n }\n function handleOpen(e: MouseEvent) {\n if (!props.disabled) {\n e.stopPropagation();\n preventDefault(e);\n if (e.target) {\n setPosi((e.target as HTMLImageElement).getBoundingClientRect());\n }\n openChange(true);\n }\n }\n function portalClick(e: Event) {\n preventDefault(e);\n if (props.maskClosable && e.target === portal) {\n openChange(false);\n }\n }\n\n createEffect(() => {\n if (props.open !== void 0 && props.open !== untrack(open)) {\n setOpen(props.open);\n }\n });\n createEffect(() => {\n if (open() === true) {\n document.documentElement.addEventListener('mousewheel', preventDefault, {\n passive: false,\n });\n\n if (props.escClosable) {\n document.documentElement.addEventListener('keydown', close, false);\n }\n }\n\n onCleanup(() => {\n document.documentElement.removeEventListener('mousewheel', preventDefault, false);\n document.documentElement.removeEventListener('keydown', close, false);\n });\n });\n\n return (\n <>\n <ImgLazy\n src={props.src}\n alt={props.alt}\n lazy={props.lazy}\n classList={{\n none: !!open(),\n }}\n onClick={handleOpen}\n />\n <Show when={open() !== null}>\n <Portal useShadow={true}>\n <style textContent={getCss()} />\n <style textContent={imgCss} />\n <style textContent={style} />\n <div\n ref={portal}\n class=\"portal\"\n classList={{\n open: !!open(),\n closeing: !open(),\n }}\n onAnimationEnd={handleDestroy}\n onClick={portalClick}\n >\n <span class=\"close\" onClick={close} />\n <img class=\"img\" src={props.srcFull || props.src} alt={props.alt} />\n </div>\n </Portal>\n </Show>\n </>\n );\n}\n\ncustomElement<ImgProps>(\n 'n-img',\n {\n src: void 0,\n srcFull: void 0,\n alt: void 0,\n open: null as boolean | null,\n maskClosable: void 0,\n escClosable: void 0,\n onOpenChange: void 0,\n onLoad: void 0,\n lazy: void 0,\n disabled: void 0,\n },\n (_, opt) => {\n const props = mergeProps(\n {\n onOpenChange(open: boolean | null) {\n opt.element.dispatchEvent(\n new CustomEvent('openchange', {\n detail: open,\n }),\n );\n },\n onLoad() {\n opt.element.dispatchEvent(new CustomEvent('load'));\n },\n },\n _,\n );\n\n return (\n <>\n <style textContent={inline} />\n <Img {...props} />\n </>\n );\n },\n);\nexport default Img;\n"],"names":["createEffect","createSignal","mergeProps","onCleanup","Show","untrack","Portal","customElement","inline","ImgLazy","imgCss","style","Img","_","portal","props","maskClosable","escClosable","lazy","disabled","open","setOpen","posi","setPosi","width","height","left","top","openChange","visi","onOpenChange","preventDefault","e","close","type","key","handleDestroy","portalClick","target","document","documentElement","addEventListener","passive","removeEventListener","src","alt","none","stopPropagation","getBoundingClientRect","getCss","srcFull","onLoad","opt","element","dispatchEvent","CustomEvent","detail"],"mappings":"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"}
1
+ {"version":3,"sources":["components/img/index.tsx"],"sourcesContent":["import {\n createEffect,\n createSignal,\n type JSX,\n mergeProps,\n onCleanup,\n Show,\n untrack,\n} from 'solid-js';\nimport { Portal } from 'solid-js/web';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { inline } from '../theme';\n\nimport ImgLazy from './lazy';\nimport { imgCss, style } from './style';\n\nexport interface ImgProps extends JSX.HTMLAttributes<HTMLImageElement> {\n /** 图片地址 */\n src?: string;\n /** 查看大图的地址, 默认使用 `src`\n * @since 2.1.2\n */\n srcFull?: string;\n /** 图片 alt */\n alt?: string;\n /** 大图查看 */\n open?: boolean | null;\n /** 开启关闭大图的回调函数 */\n onOpenChange?: (open: boolean | null) => void;\n /** 图片加载完成 */\n onLoad?(e: Event): void;\n /** 点击遮罩关闭\n * @since 2.0.8\n * @default true\n */\n maskClosable?: boolean;\n /** 通过 `esc` 按键关闭\n * @default true\n */\n escClosable?: boolean;\n /**\n * 懒加载\n * @since 2.8.1\n * @default true\n */\n lazy?: boolean;\n /** 禁止点开大图\n * @since 2.8.3\n * @default false\n */\n disabled?: boolean;\n}\nexport type ImgElement = CustomElement<ImgProps, 'onOpenChange'>;\n\nfunction Img(_: ImgProps) {\n let portal: HTMLDivElement | undefined;\n const props = mergeProps(\n {\n maskClosable: true,\n escClosable: true,\n lazy: true,\n disabled: false,\n },\n _,\n );\n const [open, setOpen] = createSignal<boolean | null>(null);\n const [posi, setPosi] = createSignal({\n width: 0,\n height: 0,\n left: 0,\n top: 0,\n });\n\n function getCss() {\n const { width, height, top, left } = posi();\n\n return `.portal {--img: url(${props.src});inline-size: ${width}px;block-size: ${height}px;inset-block-start: ${top}px;inset-inline-start: ${left}px;}`;\n }\n function openChange(visi: boolean | null) {\n if (!props.disabled) {\n setOpen(visi);\n props.onOpenChange?.(visi);\n }\n }\n function preventDefault(e: Event) {\n e.preventDefault();\n }\n function close(e: KeyboardEvent | Event) {\n preventDefault(e);\n if (e.type === 'keydown') {\n if (props.escClosable && (e as KeyboardEvent).key === 'Escape') {\n openChange(false);\n }\n } else {\n openChange(false);\n }\n }\n function handleDestroy() {\n if (open() === false) {\n openChange(null);\n }\n }\n function handleOpen(e: MouseEvent) {\n if (!props.disabled) {\n e.stopPropagation();\n preventDefault(e);\n if (e.target) {\n setPosi((e.target as HTMLImageElement).getBoundingClientRect());\n }\n openChange(true);\n }\n }\n function portalClick(e: Event) {\n preventDefault(e);\n if (props.maskClosable && e.target === portal) {\n openChange(false);\n }\n }\n\n createEffect(() => {\n if (props.open !== void 0 && props.open !== untrack(open)) {\n setOpen(props.open);\n }\n });\n createEffect(() => {\n if (open() === true) {\n document.documentElement.addEventListener('mousewheel', preventDefault, {\n passive: false,\n });\n\n if (props.escClosable) {\n document.documentElement.addEventListener('keydown', close, false);\n }\n }\n\n onCleanup(() => {\n document.documentElement.removeEventListener('mousewheel', preventDefault, false);\n document.documentElement.removeEventListener('keydown', close, false);\n });\n });\n\n return (\n <>\n <ImgLazy\n src={props.src}\n alt={props.alt}\n lazy={props.lazy}\n classList={{\n none: !!open(),\n }}\n onClick={handleOpen}\n />\n <Show when={open() !== null}>\n <Portal useShadow={true}>\n <style textContent={getCss()} />\n <style textContent={imgCss} />\n <style textContent={style} />\n <div\n ref={portal}\n class=\"portal\"\n classList={{\n open: !!open(),\n closeing: !open(),\n }}\n onAnimationEnd={handleDestroy}\n onClick={portalClick}\n >\n <span class=\"close\" onClick={close} />\n <img class=\"img\" src={props.srcFull || props.src} alt={props.alt} />\n </div>\n </Portal>\n </Show>\n </>\n );\n}\n\ncustomElement<ImgProps>(\n 'n-img',\n {\n src: void 0,\n srcFull: void 0,\n alt: void 0,\n open: null as boolean | null,\n maskClosable: void 0,\n escClosable: void 0,\n onOpenChange: void 0,\n onLoad: void 0,\n lazy: void 0,\n disabled: void 0,\n },\n (_, opt) => {\n const props = mergeProps(\n {\n onOpenChange(open: boolean | null) {\n opt.element.dispatchEvent(\n new CustomEvent('openchange', {\n detail: open,\n }),\n );\n },\n onLoad() {\n opt.element.dispatchEvent(new CustomEvent('load'));\n },\n },\n _,\n );\n\n return (\n <>\n <style textContent={inline} />\n <Img {...props} />\n </>\n );\n },\n);\nexport default Img;\n"],"names":["createEffect","createSignal","mergeProps","onCleanup","Show","untrack","Portal","customElement","inline","ImgLazy","imgCss","style","Img","_","portal","props","maskClosable","escClosable","lazy","disabled","open","setOpen","posi","setPosi","width","height","left","top","openChange","visi","onOpenChange","preventDefault","e","close","type","key","handleDestroy","portalClick","target","document","documentElement","addEventListener","passive","removeEventListener","src","alt","none","stopPropagation","getBoundingClientRect","getCss","srcFull","onLoad","opt","element","dispatchEvent","CustomEvent","detail"],"mappings":"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"}
package/es/img/lazy.js CHANGED
@@ -1,2 +1 @@
1
- import{use as r}from"solid-js/web";import{template as e}from"solid-js/web";import{spread as t}from"solid-js/web";import{mergeProps as o}from"solid-js/web";import"solid-js/web";import{createComponent as s}from"solid-js/web";let n=e("<style>"),i=e("<img>");import{createSignal as l,onCleanup as a,onMount as m,splitProps as c}from"solid-js";import p from"../spin";import{imgCss as u}from"./style";export default function(e){let d,f;let[g,b]=c(e,["src","lazy","onLoad","onError","classList","class","part","ref"]),[j,w]=l(!1),[L,y]=l(!1),[v,E]=l(!0);function I(r){r&&(f&&r.unobserve(f),r.disconnect())}function x(r){null==g.onError||g.onError.call(g,r),w(!0),E(!1)}function z(r){null==g.onLoad||g.onLoad.call(g,r),E(!1)}return m(()=>{g.lazy?(d=new IntersectionObserver(r=>{y(r[0].isIntersecting),r[0].isIntersecting&&I(d)}),f&&d.observe(f)):y(!0)}),a(()=>{I(d)}),[(()=>{let r=n();return r.textContent=u,r})(),s(p,{get spin(){return v()},get children(){let e=i(),s=f;return"function"==typeof s?r(s,e):f=e,t(e,o(b,{get class(){return g.class},get classList(){return{img:!0,error:j()}},get part(){return g.part||"img"},get src(){return L()?g.src:void 0},onError:x,onLoad:z}),!1,!1),e}})]}
2
- //# sourceMappingURL=lazy.js.map
1
+ import{use as r}from"solid-js/web";import{template as e}from"solid-js/web";import{spread as t}from"solid-js/web";import{mergeProps as o}from"solid-js/web";import"solid-js/web";import{createComponent as s}from"solid-js/web";let n=e("<style>"),i=e("<img>");import{createSignal as l,onCleanup as a,onMount as m,splitProps as c}from"solid-js";import p from"../spin";import{imgCss as u}from"./style";export default function(e){let d,f;let[g,b]=c(e,["src","lazy","onLoad","onError","classList","class","part","ref"]),[j,w]=l(!1),[L,y]=l(!1),[v,E]=l(!0);function I(r){r&&(f&&r.unobserve(f),r.disconnect())}function x(r){null==g.onError||g.onError.call(g,r),w(!0),E(!1)}function z(r){null==g.onLoad||g.onLoad.call(g,r),E(!1)}return m(()=>{g.lazy?(d=new IntersectionObserver(r=>{y(r[0].isIntersecting),r[0].isIntersecting&&I(d)}),f&&d.observe(f)):y(!0)}),a(()=>{I(d)}),[(()=>{let r=n();return r.textContent=u,r})(),s(p,{get spin(){return v()},get children(){let e=i(),s=f;return"function"==typeof s?r(s,e):f=e,t(e,o(b,{get class(){return g.class},get classList(){return{img:!0,error:j()}},get part(){return g.part||"img"},get src(){return L()?g.src:void 0},onError:x,onLoad:z}),!1,!1),e}})]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/img/lazy.tsx"],"sourcesContent":["import { createSignal, type JSX, onCleanup, onMount, splitProps } from 'solid-js';\n\nimport Spin from '../spin';\n\nimport { imgCss } from './style';\n\ninterface ImgLazyProps extends JSX.HTMLAttributes<HTMLImageElement> {\n src?: string;\n alt?: string;\n lazy?: boolean;\n onLoad?(e: Event): void;\n onError?(e: Event): void;\n}\n\nfunction ImgLazy(_: ImgLazyProps) {\n let observer: IntersectionObserver | undefined;\n let imgRef: HTMLImageElement | undefined;\n const [other, props] = splitProps(_, [\n 'src',\n 'lazy',\n 'onLoad',\n 'onError',\n 'classList',\n 'class',\n 'part',\n 'ref',\n ]);\n const [isError, setIsError] = createSignal(false);\n const [isIntersecting, setIsIntersecting] = createSignal(false);\n const [loading, setLoading] = createSignal(true);\n\n function cleanObserver(obs?: IntersectionObserver) {\n if (obs) {\n if (imgRef) {\n obs.unobserve(imgRef);\n }\n obs.disconnect();\n }\n }\n\n function handleError(e: Event) {\n other.onError?.(e);\n setIsError(true);\n setLoading(false);\n }\n function handleLoad(e: Event) {\n other.onLoad?.(e);\n setLoading(false);\n }\n\n onMount(() => {\n if (other.lazy) {\n observer = new IntersectionObserver((entries) => {\n setIsIntersecting(entries[0].isIntersecting);\n if (entries[0].isIntersecting) {\n cleanObserver(observer);\n }\n });\n if (imgRef) {\n observer.observe(imgRef);\n }\n } else {\n setIsIntersecting(true);\n }\n });\n onCleanup(() => {\n cleanObserver(observer);\n });\n\n return (\n <>\n <style textContent={imgCss} />\n <Spin spin={loading()}>\n <img\n ref={imgRef}\n {...props}\n class={other.class}\n classList={{\n img: true,\n error: isError(),\n }}\n part={other.part || 'img'}\n src={isIntersecting() ? other.src : void 0}\n onError={handleError}\n onLoad={handleLoad}\n />\n </Spin>\n </>\n );\n}\n\nexport default ImgLazy;\n"],"names":["createSignal","onCleanup","onMount","splitProps","Spin","imgCss","_","observer","imgRef","other","props","isError","setIsError","isIntersecting","setIsIntersecting","loading","setLoading","cleanObserver","obs","unobserve","disconnect","handleError","e","onError","handleLoad","onLoad","lazy","IntersectionObserver","entries","observe","class","img","error","part","src"],"mappings":"8PAAA,QAASA,gBAAAA,CAAY,CAAYC,aAAAA,CAAS,CAAEC,WAAAA,CAAO,CAAEC,cAAAA,CAAU,KAAQ,UAAW,AAElF,QAAOC,MAAU,SAAU,AAE3B,QAASC,UAAAA,CAAM,KAAQ,SAAU,AAuFjC,gBA7EA,SAAiBC,CAAe,MAC1BC,EACAC,EACJ,GAAM,CAACC,EAAOC,EAAM,CAAGP,EAAWG,EAAG,CACnC,MACA,OACA,SACA,UACA,YACA,QACA,OACA,MACD,EACK,CAACK,EAASC,EAAW,CAAGZ,EAAa,CAAA,GACrC,CAACa,EAAgBC,EAAkB,CAAGd,EAAa,CAAA,GACnD,CAACe,EAASC,EAAW,CAAGhB,EAAa,CAAA,GAE3C,SAASiB,EAAcC,CAA0B,EAC3CA,IACEV,GACFU,EAAIC,SAAS,CAACX,GAEhBU,EAAIE,UAAU,GAElB,CAEA,SAASC,EAAYC,CAAQ,QAC3Bb,EAAMc,OAAO,EAAbd,EAAMc,OAAO,MAAbd,EAAgBa,GAChBV,EAAW,CAAA,GACXI,EAAW,CAAA,EACb,CACA,SAASQ,EAAWF,CAAQ,QAC1Bb,EAAMgB,MAAM,EAAZhB,EAAMgB,MAAM,MAAZhB,EAAea,GACfN,EAAW,CAAA,EACb,CAqBA,OAnBAd,EAAQ,KACFO,EAAMiB,IAAI,EACZnB,EAAW,IAAIoB,qBAAqB,AAACC,IACnCd,EAAkBc,CAAO,CAAC,EAAE,CAACf,cAAc,EACvCe,CAAO,CAAC,EAAE,CAACf,cAAc,EAC3BI,EAAcV,EAElB,GACIC,GACFD,EAASsB,OAAO,CAACrB,IAGnBM,EAAkB,CAAA,EAEtB,GACAb,EAAU,KACRgB,EAAcV,EAChB,yCAIwBF,UACnBD,qBAAWW,gCAEHP,oCAAAA,UACDE,sBACGD,EAAMqB,KAAK,wBACP,CACTC,IAAK,CAAA,EACLC,MAAOrB,GACT,qBACMF,EAAMwB,IAAI,EAAI,wBACfpB,IAAmBJ,EAAMyB,GAAG,CAAG,KAAK,WAChCb,SACDG,gBAKlB"}
1
+ {"version":3,"sources":["components/img/lazy.tsx"],"sourcesContent":["import { createSignal, type JSX, onCleanup, onMount, splitProps } from 'solid-js';\n\nimport Spin from '../spin';\n\nimport { imgCss } from './style';\n\ninterface ImgLazyProps extends JSX.HTMLAttributes<HTMLImageElement> {\n src?: string;\n alt?: string;\n lazy?: boolean;\n onLoad?(e: Event): void;\n onError?(e: Event): void;\n}\n\nfunction ImgLazy(_: ImgLazyProps) {\n let observer: IntersectionObserver | undefined;\n let imgRef: HTMLImageElement | undefined;\n const [other, props] = splitProps(_, [\n 'src',\n 'lazy',\n 'onLoad',\n 'onError',\n 'classList',\n 'class',\n 'part',\n 'ref',\n ]);\n const [isError, setIsError] = createSignal(false);\n const [isIntersecting, setIsIntersecting] = createSignal(false);\n const [loading, setLoading] = createSignal(true);\n\n function cleanObserver(obs?: IntersectionObserver) {\n if (obs) {\n if (imgRef) {\n obs.unobserve(imgRef);\n }\n obs.disconnect();\n }\n }\n\n function handleError(e: Event) {\n other.onError?.(e);\n setIsError(true);\n setLoading(false);\n }\n function handleLoad(e: Event) {\n other.onLoad?.(e);\n setLoading(false);\n }\n\n onMount(() => {\n if (other.lazy) {\n observer = new IntersectionObserver((entries) => {\n setIsIntersecting(entries[0].isIntersecting);\n if (entries[0].isIntersecting) {\n cleanObserver(observer);\n }\n });\n if (imgRef) {\n observer.observe(imgRef);\n }\n } else {\n setIsIntersecting(true);\n }\n });\n onCleanup(() => {\n cleanObserver(observer);\n });\n\n return (\n <>\n <style textContent={imgCss} />\n <Spin spin={loading()}>\n <img\n ref={imgRef}\n {...props}\n class={other.class}\n classList={{\n img: true,\n error: isError(),\n }}\n part={other.part || 'img'}\n src={isIntersecting() ? other.src : void 0}\n onError={handleError}\n onLoad={handleLoad}\n />\n </Spin>\n </>\n );\n}\n\nexport default ImgLazy;\n"],"names":["createSignal","onCleanup","onMount","splitProps","Spin","imgCss","_","observer","imgRef","other","props","isError","setIsError","isIntersecting","setIsIntersecting","loading","setLoading","cleanObserver","obs","unobserve","disconnect","handleError","e","onError","handleLoad","onLoad","lazy","IntersectionObserver","entries","observe","class","img","error","part","src"],"mappings":"8PAAA,QAASA,gBAAAA,CAAY,CAAYC,aAAAA,CAAS,CAAEC,WAAAA,CAAO,CAAEC,cAAAA,CAAU,KAAQ,UAAW,AAElF,QAAOC,MAAU,SAAU,AAE3B,QAASC,UAAAA,CAAM,KAAQ,SAAU,AAuFjC,gBA7EA,SAAiBC,CAAe,MAC1BC,EACAC,EACJ,GAAM,CAACC,EAAOC,EAAM,CAAGP,EAAWG,EAAG,CACnC,MACA,OACA,SACA,UACA,YACA,QACA,OACA,MACD,EACK,CAACK,EAASC,EAAW,CAAGZ,EAAa,CAAA,GACrC,CAACa,EAAgBC,EAAkB,CAAGd,EAAa,CAAA,GACnD,CAACe,EAASC,EAAW,CAAGhB,EAAa,CAAA,GAE3C,SAASiB,EAAcC,CAA0B,EAC3CA,IACEV,GACFU,EAAIC,SAAS,CAACX,GAEhBU,EAAIE,UAAU,GAElB,CAEA,SAASC,EAAYC,CAAQ,QAC3Bb,EAAMc,OAAO,EAAbd,EAAMc,OAAO,MAAbd,EAAgBa,GAChBV,EAAW,CAAA,GACXI,EAAW,CAAA,EACb,CACA,SAASQ,EAAWF,CAAQ,QAC1Bb,EAAMgB,MAAM,EAAZhB,EAAMgB,MAAM,MAAZhB,EAAea,GACfN,EAAW,CAAA,EACb,CAqBA,OAnBAd,EAAQ,KACFO,EAAMiB,IAAI,EACZnB,EAAW,IAAIoB,qBAAqB,AAACC,IACnCd,EAAkBc,CAAO,CAAC,EAAE,CAACf,cAAc,EACvCe,CAAO,CAAC,EAAE,CAACf,cAAc,EAC3BI,EAAcV,EAElB,GACIC,GACFD,EAASsB,OAAO,CAACrB,IAGnBM,EAAkB,CAAA,EAEtB,GACAb,EAAU,KACRgB,EAAcV,EAChB,yCAIwBF,UACnBD,qBAAWW,gCAEHP,oCAAAA,UACDE,sBACGD,EAAMqB,KAAK,wBACP,CACTC,IAAK,CAAA,EACLC,MAAOrB,GACT,qBACMF,EAAMwB,IAAI,EAAI,wBACfpB,IAAmBJ,EAAMyB,GAAG,CAAG,KAAK,WAChCb,SACDG,gBAKlB"}
package/es/img/style.js CHANGED
@@ -132,5 +132,4 @@ import{css as e}from"@moneko/css";export const imgCss=e`
132
132
  pointer-events: none;
133
133
  }
134
134
  }
135
- `;
136
- //# sourceMappingURL=style.js.map
135
+ `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/img/style.ts"],"sourcesContent":["import { css } from '@moneko/css';\n\nexport const imgCss = css`\n .img {\n max-inline-size: 100%;\n max-block-size: 100%;\n object-fit: contain;\n transition: opacity 0.3s;\n }\n\n .none {\n pointer-events: none;\n opacity: 0.25;\n }\n\n .error {\n display: inline-block;\n transform: scale(1);\n min-block-size: 75px;\n\n &::before {\n position: absolute;\n color: transparent;\n background: #f5f5f5\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23e6e6e6' d='M304.128 456.192c48.64 0 88.064-39.424 88.064-88.064s-39.424-88.064-88.064-88.064-88.064 39.424-88.064 88.064 39.424 88.064 88.064 88.064zm0-116.224c15.36 0 28.16 12.288 28.16 28.16s-12.288 28.16-28.16 28.16-28.16-12.288-28.16-28.16 12.288-28.16 28.16-28.16z'/%3E%3Cpath fill='%23e6e6e6' d='M887.296 159.744H136.704C96.768 159.744 64 192 64 232.448v559.104c0 39.936 32.256 72.704 72.704 72.704h198.144L500.224 688.64l-36.352-222.72 162.304-130.56-61.44 143.872 92.672 214.016-105.472 171.008h335.36C927.232 864.256 960 832 960 791.552V232.448c0-39.936-32.256-72.704-72.704-72.704zm-138.752 71.68v.512H857.6c16.384 0 30.208 13.312 30.208 30.208v399.872L673.28 408.064l75.264-176.64zM304.64 792.064H165.888c-16.384 0-30.208-13.312-30.208-30.208v-9.728l138.752-164.352 104.96 124.416-74.752 79.872zm81.92-355.84l37.376 228.864-.512.512-142.848-169.984c-3.072-3.584-9.216-3.584-12.288 0L135.68 652.8V262.144c0-16.384 13.312-30.208 30.208-30.208h474.624L386.56 436.224zm501.248 325.632c0 16.896-13.312 30.208-29.696 30.208H680.96l57.344-93.184-87.552-202.24 7.168-7.68 229.888 272.896z'/%3E%3C/svg%3E\")\n no-repeat center / 50% 50%;\n content: '';\n inset-inline-start: 0;\n inset-block-start: 0;\n inline-size: 100%;\n block-size: 100%;\n }\n\n &::after {\n position: absolute;\n overflow: hidden;\n font-size: 12px;\n text-align: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: white;\n background-color: rgb(0 0 0 / 50%);\n content: attr(alt);\n inset-inline-start: 0;\n inset-block-end: 0;\n inline-size: 100%;\n line-height: 2;\n }\n }\n`;\nexport const style = css`\n .close {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n z-index: 1;\n color: #fff;\n transition: transform var(--transition-duration);\n cursor: pointer;\n transform: scale(0);\n\n &::before {\n padding: 0 16px;\n font-size: 24px;\n content: '⛌';\n line-height: 46px;\n }\n }\n\n .portal {\n position: fixed;\n z-index: 99999;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &::before {\n position: absolute;\n z-index: -1;\n background: var(--img) center/cover no-repeat;\n content: '';\n inline-size: 100%;\n block-size: 100%;\n pointer-events: none;\n opacity: 0.5;\n }\n\n &::after {\n position: absolute;\n z-index: -1;\n content: '';\n inline-size: 100%;\n block-size: 100%;\n pointer-events: none;\n backdrop-filter: blur(50px);\n }\n\n &:hover {\n .close {\n transform: scale(1);\n }\n }\n }\n\n .open {\n animation: photo-in var(--transition-duration) forwards;\n }\n\n .closeing {\n animation: photo-out var(--transition-duration) forwards;\n }\n\n @keyframes photo-in {\n 0% {\n pointer-events: none;\n }\n\n 100% {\n inline-size: 100vi;\n block-size: 100vb;\n inset-block-start: 0;\n inset-inline-start: 0;\n }\n }\n\n @keyframes photo-out {\n from {\n inline-size: 100vi;\n block-size: 100vb;\n inset-block-start: 0;\n inset-inline-start: 0;\n }\n\n to {\n pointer-events: none;\n }\n }\n`;\n"],"names":["css","imgCss","style"],"mappings":"AAAA,OAASA,OAAAA,CAAG,KAAQ,aAAc,AAElC,QAAO,MAAMC,OAASD,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+C1B,CAAC,AAAC,AACF,QAAO,MAAME,MAAQF,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFzB,CAAC,AAAC"}
1
+ {"version":3,"sources":["components/img/style.ts"],"sourcesContent":["import { css } from '@moneko/css';\n\nexport const imgCss = css`\n .img {\n max-inline-size: 100%;\n max-block-size: 100%;\n object-fit: contain;\n transition: opacity 0.3s;\n }\n\n .none {\n pointer-events: none;\n opacity: 0.25;\n }\n\n .error {\n display: inline-block;\n transform: scale(1);\n min-block-size: 75px;\n\n &::before {\n position: absolute;\n color: transparent;\n background: #f5f5f5\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath fill='%23e6e6e6' d='M304.128 456.192c48.64 0 88.064-39.424 88.064-88.064s-39.424-88.064-88.064-88.064-88.064 39.424-88.064 88.064 39.424 88.064 88.064 88.064zm0-116.224c15.36 0 28.16 12.288 28.16 28.16s-12.288 28.16-28.16 28.16-28.16-12.288-28.16-28.16 12.288-28.16 28.16-28.16z'/%3E%3Cpath fill='%23e6e6e6' d='M887.296 159.744H136.704C96.768 159.744 64 192 64 232.448v559.104c0 39.936 32.256 72.704 72.704 72.704h198.144L500.224 688.64l-36.352-222.72 162.304-130.56-61.44 143.872 92.672 214.016-105.472 171.008h335.36C927.232 864.256 960 832 960 791.552V232.448c0-39.936-32.256-72.704-72.704-72.704zm-138.752 71.68v.512H857.6c16.384 0 30.208 13.312 30.208 30.208v399.872L673.28 408.064l75.264-176.64zM304.64 792.064H165.888c-16.384 0-30.208-13.312-30.208-30.208v-9.728l138.752-164.352 104.96 124.416-74.752 79.872zm81.92-355.84l37.376 228.864-.512.512-142.848-169.984c-3.072-3.584-9.216-3.584-12.288 0L135.68 652.8V262.144c0-16.384 13.312-30.208 30.208-30.208h474.624L386.56 436.224zm501.248 325.632c0 16.896-13.312 30.208-29.696 30.208H680.96l57.344-93.184-87.552-202.24 7.168-7.68 229.888 272.896z'/%3E%3C/svg%3E\")\n no-repeat center / 50% 50%;\n content: '';\n inset-inline-start: 0;\n inset-block-start: 0;\n inline-size: 100%;\n block-size: 100%;\n }\n\n &::after {\n position: absolute;\n overflow: hidden;\n font-size: 12px;\n text-align: center;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: white;\n background-color: rgb(0 0 0 / 50%);\n content: attr(alt);\n inset-inline-start: 0;\n inset-block-end: 0;\n inline-size: 100%;\n line-height: 2;\n }\n }\n`;\nexport const style = css`\n .close {\n position: absolute;\n inset-block-start: 0;\n inset-inline-end: 0;\n z-index: 1;\n color: #fff;\n transition: transform var(--transition-duration);\n cursor: pointer;\n transform: scale(0);\n\n &::before {\n padding: 0 16px;\n font-size: 24px;\n content: '⛌';\n line-height: 46px;\n }\n }\n\n .portal {\n position: fixed;\n z-index: 99999;\n display: flex;\n justify-content: center;\n align-items: center;\n\n &::before {\n position: absolute;\n z-index: -1;\n background: var(--img) center/cover no-repeat;\n content: '';\n inline-size: 100%;\n block-size: 100%;\n pointer-events: none;\n opacity: 0.5;\n }\n\n &::after {\n position: absolute;\n z-index: -1;\n content: '';\n inline-size: 100%;\n block-size: 100%;\n pointer-events: none;\n backdrop-filter: blur(50px);\n }\n\n &:hover {\n .close {\n transform: scale(1);\n }\n }\n }\n\n .open {\n animation: photo-in var(--transition-duration) forwards;\n }\n\n .closeing {\n animation: photo-out var(--transition-duration) forwards;\n }\n\n @keyframes photo-in {\n 0% {\n pointer-events: none;\n }\n\n 100% {\n inline-size: 100vi;\n block-size: 100vb;\n inset-block-start: 0;\n inset-inline-start: 0;\n }\n }\n\n @keyframes photo-out {\n from {\n inline-size: 100vi;\n block-size: 100vb;\n inset-block-start: 0;\n inset-inline-start: 0;\n }\n\n to {\n pointer-events: none;\n }\n }\n`;\n"],"names":["css","imgCss","style"],"mappings":"AAAA,OAASA,OAAAA,CAAG,KAAQ,aAAc,AAElC,QAAO,MAAMC,OAASD,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+C1B,CAAC,AAAC,AACF,QAAO,MAAME,MAAQF,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFzB,CAAC,AAAC"}
package/es/index.js CHANGED
@@ -1,2 +1 @@
1
- export{default as Avatar}from"./avatar";export{default as AvatarGroup}from"./avatar/group";export{default as BackTop}from"./back-top";export{FieldName,Size,Status}from"./basic-config";export{default as Button}from"./button";export{default as CaptureScreen}from"./capture-screen";export{default as Carousel}from"./carousel";export{default as Checkbox}from"./checkbox";export{default as Code}from"./code";export{default as ColorPalette}from"./color-palette";export{default as ColorPicker}from"./color-picker";export{default as Cron}from"./cron";export{default as DatePicker}from"./date-picker";export{default as dayjs}from"./date-picker/dayjs";export{default as Dropdown}from"./dropdown";export{default as Empty}from"./empty";export{default as fromSchema}from"./from-schema";export{default as getOptions}from"./get-options";export{default as HighlightText}from"./highlight-text";export{default as Img}from"./img";export{default as Input}from"./input";export{default as InputNumber}from"./input-number";export{default as Md}from"./md";export{default as mdStyle}from"./md-style";export{default as Menu}from"./menu";export{default as Modal,OpenState}from"./modal";export{default as notification}from"./notification";export{default as Pagination}from"./pagination";export{default as Popover}from"./popover";export{default as Prism}from"./prism";export{default as Provider}from"./provider";export{default as QrCode}from"./qrcode";export{default as Radio}from"./radio";export{default as Segmented}from"./segmented";export{default as Select}from"./select";export{default as Skeleton}from"./skeleton";export{default as Spin}from"./spin";export{default as Switch}from"./switch";export{default as Table}from"./table";export{default as Tabs}from"./tabs";export{default as Tag}from"./tag";export{generateColor,default as theme,toneColor}from"./theme";export{default as Tree}from"./tree";export{default as Typography}from"./typography";export{customElement,getCurrentElement,hot,noShadowDOM,withSolid}from"solid-element";
2
- //# sourceMappingURL=index.js.map
1
+ export{default as Avatar}from"./avatar";export{default as AvatarGroup}from"./avatar/group";export{default as BackTop}from"./back-top";export{FieldName,Size,Status}from"./basic-config";export{default as Button}from"./button";export{default as CaptureScreen}from"./capture-screen";export{default as Carousel}from"./carousel";export{default as Checkbox}from"./checkbox";export{default as Code}from"./code";export{default as ColorPalette}from"./color-palette";export{default as ColorPicker}from"./color-picker";export{default as Cron}from"./cron";export{default as DatePicker}from"./date-picker";export{default as dayjs}from"./date-picker/dayjs";export{default as Dropdown}from"./dropdown";export{default as Empty}from"./empty";export{default as fromSchema}from"./from-schema";export{default as getOptions}from"./get-options";export{default as HighlightText}from"./highlight-text";export{default as Img}from"./img";export{default as Input}from"./input";export{default as InputNumber}from"./input-number";export{default as Md}from"./md";export{default as mdStyle}from"./md-style";export{default as Menu}from"./menu";export{default as Modal,OpenState}from"./modal";export{default as notification}from"./notification";export{default as Pagination}from"./pagination";export{default as Popover}from"./popover";export{default as Prism}from"./prism";export{default as Provider}from"./provider";export{default as QrCode}from"./qrcode";export{default as Radio}from"./radio";export{default as Segmented}from"./segmented";export{default as Select}from"./select";export{default as Skeleton}from"./skeleton";export{default as Spin}from"./spin";export{default as Switch}from"./switch";export{default as Table}from"./table";export{default as Tabs}from"./tabs";export{default as Tag}from"./tag";export{generateColor,default as theme,toneColor}from"./theme";export{default as Tree}from"./tree";export{default as Typography}from"./typography";export{customElement,getCurrentElement,hot,noShadowDOM,withSolid}from"solid-element";
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../components/index.ts"],"sourcesContent":["'use client';\n\nexport { default as Avatar, type AvatarElement, type AvatarProps } from './avatar';\nexport {\n default as AvatarGroup,\n type AvatarGroupElement,\n type AvatarGroupProps,\n} from './avatar/group';\nexport { default as BackTop, type BackTopElement, type BackTopProps } from './back-top';\nexport { type BaseOption, type BasicConfig, FieldName, Size, Status } from './basic-config';\nexport { default as Button, type ButtonElement, type ButtonProps } from './button';\nexport {\n default as CaptureScreen,\n type CaptureScreenElement,\n type CaptureScreenProps,\n} from './capture-screen';\nexport { default as Carousel, type CarouselElement, type CarouselProps } from './carousel';\nexport {\n default as Checkbox,\n type CheckboxBoolElement,\n type CheckboxBoolProps,\n type CheckboxGroupElement,\n type CheckboxGroupProps,\n} from './checkbox';\nexport { default as Code, type CodeElement, type CodeProps, type Language } from './code';\nexport {\n default as ColorPalette,\n type ColorPaletteElement,\n type ColorPaletteProps,\n} from './color-palette';\nexport {\n default as ColorPicker,\n type ColorPickerElement,\n type ColorPickerProps,\n} from './color-picker';\nexport { default as Cron, type CronElement, type CronProps } from './cron';\nexport { default as DatePicker, type DatePickerElement, type DatePickerProps } from './date-picker';\nexport { default as dayjs } from './date-picker/dayjs';\nexport {\n default as Dropdown,\n type DropdownElement,\n type DropdownMultipleElement,\n type DropdownMultipleProps,\n type DropdownProps,\n} from './dropdown';\nexport { default as Empty, type EmptyElement, type EmptyProps } from './empty';\nexport { default as fromSchema } from './from-schema';\nexport { default as getOptions } from './get-options';\nexport {\n default as HighlightText,\n type HighlightTextElement,\n type HighlightTextProps,\n} from './highlight-text';\nexport { default as Img, type ImgElement, type ImgProps } from './img';\nexport { default as Input, type InputElement, type InputProps } from './input';\nexport {\n default as InputNumber,\n type InputNumberElement,\n type InputNumberProps,\n} from './input-number';\nexport { default as Md, type MdElement, type MdProps } from './md';\nexport { default as mdStyle } from './md-style';\nexport {\n default as Menu,\n type MenuElement,\n type MenuMultipleElement,\n type MenuMultipleProps,\n type MenuOption,\n type MenuProps,\n} from './menu';\nexport {\n default as Modal,\n type ModalElement,\n type ModalProps,\n OpenState,\n type OpenStateKey,\n} from './modal';\nexport {\n default as notification,\n type NotificationProps,\n type NotificationType,\n} from './notification';\nexport { default as Pagination, type PaginationElement, type PaginationProps } from './pagination';\nexport { default as Popover, type PopoverElement, type PopoverProps } from './popover';\nexport { default as Prism } from './prism';\nexport { default as Provider, type ProviderElement, type ProviderProps } from './provider';\nexport { type IntRange, default as QrCode, type QrCodeElement, type QrCodeProps } from './qrcode';\nexport { default as Radio, type RadioElement, type RadioOption, type RadioProps } from './radio';\nexport { default as Segmented, type SegmentedElement, type SegmentedProps } from './segmented';\nexport {\n default as Select,\n type SelectElement,\n type SelectMultipleElement,\n type SelectMultipleProps,\n type SelectProps,\n} from './select';\nexport { default as Skeleton, type SkeletonElement, type SkeletonProps } from './skeleton';\nexport { default as Spin, type SpinElement, type SpinProps } from './spin';\nexport { default as Switch, type SwitchElement, type SwitchProps } from './switch';\nexport { default as Table, type TableElement, type TableProps } from './table';\nexport { type TabOption, default as Tabs, type TabsElement, type TabsProps } from './tabs';\nexport { default as Tag, type TagElement, type TagProps } from './tag';\nexport {\n type ColorScheme,\n generateColor,\n default as theme,\n type ThemeOption,\n toneColor,\n} from './theme';\nexport {\n default as Tree,\n type TreeData,\n type TreeElement,\n type TreeMultipleElement,\n type TreeMultipleProps,\n type TreeMultipleSchemaElement,\n type TreeMultipleSchemaProps,\n type TreeMultipleStringElement,\n type TreeMultipleStringProps,\n type TreeProps,\n type TreeSchemaElement,\n type TreeSchemaProps,\n type TreeStringElement,\n type TreeStringProps,\n} from './tree';\nexport { default as Typography, type TypographyElement, type TypographyProps } from './typography';\nexport type { CustomElement } from 'custom-element-type';\nexport { customElement, getCurrentElement, hot, noShadowDOM, withSolid } from 'solid-element';\nimport type { ICustomElement, Transform } from 'custom-element-type';\n\nimport type {\n AvatarElement,\n AvatarGroupElement,\n BackTopElement,\n ButtonElement,\n CaptureScreenElement,\n CarouselElement,\n CheckboxBoolElement,\n CheckboxGroupElement,\n CodeElement,\n ColorPaletteElement,\n ColorPickerElement,\n CronElement,\n DatePickerElement,\n DropdownElement,\n DropdownMultipleElement,\n EmptyElement,\n HighlightTextElement,\n ImgElement,\n InputElement,\n InputNumberElement,\n MdElement,\n MenuElement,\n MenuMultipleElement,\n ModalElement,\n PaginationElement,\n PopoverElement,\n ProviderElement,\n QrCodeElement,\n RadioElement,\n SegmentedElement,\n SelectElement,\n SelectMultipleElement,\n SkeletonElement,\n SpinElement,\n SwitchElement,\n TableElement,\n TabsElement,\n TagElement,\n TreeElement,\n TreeMultipleElement,\n TreeMultipleSchemaElement,\n TreeMultipleStringElement,\n TreeSchemaElement,\n TreeStringElement,\n TypographyElement,\n} from '.';\n\n/** 组件列表\n * @author monako97\n * @ignore optional\n */\ninterface CustomElementTags {\n /** 头像 */\n 'n-avatar': AvatarElement;\n /** 头像组 */\n 'n-avatar-group': AvatarGroupElement;\n /** 返回顶部 */\n 'n-back-top': BackTopElement;\n /** 按钮 */\n 'n-button': ButtonElement;\n /** 捕获屏幕 */\n 'n-capture-screen': CaptureScreenElement;\n /** 走马灯、轮播 */\n 'n-carousel': CarouselElement;\n /** 复选框 */\n 'n-checkbox': CheckboxBoolElement | CheckboxGroupElement;\n /** 代码框 */\n 'n-code': CodeElement;\n /** 取色器 */\n 'n-color-palette': ColorPaletteElement;\n /** 取色器(弹出类型) */\n 'n-color-picker': ColorPickerElement;\n /** 下拉面板 */\n 'n-dropdown': DropdownElement | DropdownMultipleElement;\n /** 空面板 */\n 'n-empty': EmptyElement;\n /** 匹配高亮文字 */\n 'n-highlight-text': HighlightTextElement;\n /** 图片查看器 */\n 'n-img': ImgElement;\n /** 输入框 */\n 'n-input': InputElement;\n /** 数字输入框 */\n 'n-input-number': InputNumberElement;\n /** Markdown渲染 */\n 'n-md': MdElement;\n /** 弹出气泡面板 */\n 'n-popover': PopoverElement;\n /** 单选项 */\n 'n-radio': RadioElement;\n /** 分段控制器 */\n 'n-segmented': SegmentedElement;\n /** 下拉选择框 */\n 'n-select': SelectElement | SelectMultipleElement;\n /** 骨架屏 */\n 'n-skeleton': SkeletonElement;\n /** 加载中 */\n 'n-spin': SpinElement;\n /** 开关 */\n 'n-switch': SwitchElement;\n /** 树形渲染 */\n 'n-tree':\n | TreeElement\n | TreeStringElement\n | TreeSchemaElement\n | TreeMultipleElement\n | TreeMultipleStringElement\n | TreeMultipleSchemaElement;\n /** 文字排版 */\n 'n-typography': TypographyElement;\n /** 标签页 */\n 'n-tabs': TabsElement;\n /** 标签 */\n 'n-tag': TagElement;\n /** 导航菜单 */\n 'n-menu': MenuElement | MenuMultipleElement;\n /** Cron表达式编辑器 */\n 'n-cron': CronElement;\n /** 日期选择器\n * @since 2.1.0\n */\n 'n-data-picker': DatePickerElement;\n /** 数据表格\n * @since 2.2.0\n */\n 'n-table': TableElement;\n /** 分页器\n * @since 2.2.0\n */\n 'n-pagination': PaginationElement;\n /** 响应内部变化\n * @since 2.3.0\n */\n 'n-provider': ProviderElement;\n /** 模态框\n * @since 2.6.0\n */\n 'n-modal': ModalElement;\n /**\n * 二维码\n * @since 2.9.0\n */\n 'n-qrcode': QrCodeElement;\n}\ntype IntrinsicNekoElement = Transform<CustomElementTags>;\n\ndeclare module 'solid-js' {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n export interface IntrinsicElements extends HTMLElementTags, IntrinsicNekoElement {}\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface HTMLElementTagNameMap extends IntrinsicNekoElement {}\n}\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n export interface IntrinsicElements extends IntrinsicNekoElement {}\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface HTMLElementTagNameMap extends IntrinsicNekoElement {}\n}\n\nexport interface ComponentOptions<T> {\n element: T & ICustomElement;\n}\n"],"names":["default","Avatar","AvatarGroup","BackTop","FieldName","Size","Status","Button","CaptureScreen","Carousel","Checkbox","Code","ColorPalette","ColorPicker","Cron","DatePicker","dayjs","Dropdown","Empty","fromSchema","getOptions","HighlightText","Img","Input","InputNumber","Md","mdStyle","Menu","Modal","OpenState","notification","Pagination","Popover","Prism","Provider","QrCode","Radio","Segmented","Select","Skeleton","Spin","Switch","Table","Tabs","Tag","generateColor","theme","toneColor","Tree","Typography","customElement","getCurrentElement","hot","noShadowDOM","withSolid"],"mappings":"AAEA,OAASA,WAAWC,MAAM,KAA8C,UAAW,AACnF,QACED,WAAWE,WAAW,KAGjB,gBAAiB,AACxB,QAASF,WAAWG,OAAO,KAAgD,YAAa,AACxF,QAA4CC,SAAS,CAAEC,IAAI,CAAEC,MAAM,KAAQ,gBAAiB,AAC5F,QAASN,WAAWO,MAAM,KAA8C,UAAW,AACnF,QACEP,WAAWQ,aAAa,KAGnB,kBAAmB,AAC1B,QAASR,WAAWS,QAAQ,KAAkD,YAAa,AAC3F,QACET,WAAWU,QAAQ,KAKd,YAAa,AACpB,QAASV,WAAWW,IAAI,KAAyD,QAAS,AAC1F,QACEX,WAAWY,YAAY,KAGlB,iBAAkB,AACzB,QACEZ,WAAWa,WAAW,KAGjB,gBAAiB,AACxB,QAASb,WAAWc,IAAI,KAA0C,QAAS,AAC3E,QAASd,WAAWe,UAAU,KAAsD,eAAgB,AACpG,QAASf,WAAWgB,KAAK,KAAQ,qBAAsB,AACvD,QACEhB,WAAWiB,QAAQ,KAKd,YAAa,AACpB,QAASjB,WAAWkB,KAAK,KAA4C,SAAU,AAC/E,QAASlB,WAAWmB,UAAU,KAAQ,eAAgB,AACtD,QAASnB,WAAWoB,UAAU,KAAQ,eAAgB,AACtD,QACEpB,WAAWqB,aAAa,KAGnB,kBAAmB,AAC1B,QAASrB,WAAWsB,GAAG,KAAwC,OAAQ,AACvE,QAAStB,WAAWuB,KAAK,KAA4C,SAAU,AAC/E,QACEvB,WAAWwB,WAAW,KAGjB,gBAAiB,AACxB,QAASxB,WAAWyB,EAAE,KAAsC,MAAO,AACnE,QAASzB,WAAW0B,OAAO,KAAQ,YAAa,AAChD,QACE1B,WAAW2B,IAAI,KAMV,QAAS,AAChB,QACE3B,WAAW4B,KAAK,CAGhBC,SAAS,KAEJ,SAAU,AACjB,QACE7B,WAAW8B,YAAY,KAGlB,gBAAiB,AACxB,QAAS9B,WAAW+B,UAAU,KAAsD,cAAe,AACnG,QAAS/B,WAAWgC,OAAO,KAAgD,WAAY,AACvF,QAAShC,WAAWiC,KAAK,KAAQ,SAAU,AAC3C,QAASjC,WAAWkC,QAAQ,KAAkD,YAAa,AAC3F,QAAwBlC,WAAWmC,MAAM,KAA8C,UAAW,AAClG,QAASnC,WAAWoC,KAAK,KAA8D,SAAU,AACjG,QAASpC,WAAWqC,SAAS,KAAoD,aAAc,AAC/F,QACErC,WAAWsC,MAAM,KAKZ,UAAW,AAClB,QAAStC,WAAWuC,QAAQ,KAAkD,YAAa,AAC3F,QAASvC,WAAWwC,IAAI,KAA0C,QAAS,AAC3E,QAASxC,WAAWyC,MAAM,KAA8C,UAAW,AACnF,QAASzC,WAAW0C,KAAK,KAA4C,SAAU,AAC/E,QAAyB1C,WAAW2C,IAAI,KAA0C,QAAS,AAC3F,QAAS3C,WAAW4C,GAAG,KAAwC,OAAQ,AACvE,QAEEC,aAAa,CACb7C,WAAW8C,KAAK,CAEhBC,SAAS,KACJ,SAAU,AACjB,QACE/C,WAAWgD,IAAI,KAcV,QAAS,AAChB,QAAShD,WAAWiD,UAAU,KAAsD,cAAe,AAEnG,QAASC,aAAa,CAAEC,iBAAiB,CAAEC,GAAG,CAAEC,WAAW,CAAEC,SAAS,KAAQ,eAAgB"}
1
+ {"version":3,"sources":["components/index.ts"],"sourcesContent":["'use client';\n\nexport { default as Avatar, type AvatarElement, type AvatarProps } from './avatar';\nexport {\n default as AvatarGroup,\n type AvatarGroupElement,\n type AvatarGroupProps,\n} from './avatar/group';\nexport { default as BackTop, type BackTopElement, type BackTopProps } from './back-top';\nexport { type BaseOption, type BasicConfig, FieldName, Size, Status } from './basic-config';\nexport { default as Button, type ButtonElement, type ButtonProps } from './button';\nexport {\n default as CaptureScreen,\n type CaptureScreenElement,\n type CaptureScreenProps,\n} from './capture-screen';\nexport { default as Carousel, type CarouselElement, type CarouselProps } from './carousel';\nexport {\n default as Checkbox,\n type CheckboxBoolElement,\n type CheckboxBoolProps,\n type CheckboxGroupElement,\n type CheckboxGroupProps,\n} from './checkbox';\nexport { default as Code, type CodeElement, type CodeProps, type Language } from './code';\nexport {\n default as ColorPalette,\n type ColorPaletteElement,\n type ColorPaletteProps,\n} from './color-palette';\nexport {\n default as ColorPicker,\n type ColorPickerElement,\n type ColorPickerProps,\n} from './color-picker';\nexport { default as Cron, type CronElement, type CronProps } from './cron';\nexport { default as DatePicker, type DatePickerElement, type DatePickerProps } from './date-picker';\nexport { default as dayjs } from './date-picker/dayjs';\nexport {\n default as Dropdown,\n type DropdownElement,\n type DropdownMultipleElement,\n type DropdownMultipleProps,\n type DropdownProps,\n} from './dropdown';\nexport { default as Empty, type EmptyElement, type EmptyProps } from './empty';\nexport { default as fromSchema } from './from-schema';\nexport { default as getOptions } from './get-options';\nexport {\n default as HighlightText,\n type HighlightTextElement,\n type HighlightTextProps,\n} from './highlight-text';\nexport { default as Img, type ImgElement, type ImgProps } from './img';\nexport { default as Input, type InputElement, type InputProps } from './input';\nexport {\n default as InputNumber,\n type InputNumberElement,\n type InputNumberProps,\n} from './input-number';\nexport { default as Md, type MdElement, type MdProps } from './md';\nexport { default as mdStyle } from './md-style';\nexport {\n default as Menu,\n type MenuElement,\n type MenuMultipleElement,\n type MenuMultipleProps,\n type MenuOption,\n type MenuProps,\n} from './menu';\nexport {\n default as Modal,\n type ModalElement,\n type ModalProps,\n OpenState,\n type OpenStateKey,\n} from './modal';\nexport {\n default as notification,\n type NotificationProps,\n type NotificationType,\n} from './notification';\nexport { default as Pagination, type PaginationElement, type PaginationProps } from './pagination';\nexport { default as Popover, type PopoverElement, type PopoverProps } from './popover';\nexport { default as Prism } from './prism';\nexport { default as Provider, type ProviderElement, type ProviderProps } from './provider';\nexport { type IntRange, default as QrCode, type QrCodeElement, type QrCodeProps } from './qrcode';\nexport { default as Radio, type RadioElement, type RadioOption, type RadioProps } from './radio';\nexport { default as Segmented, type SegmentedElement, type SegmentedProps } from './segmented';\nexport {\n default as Select,\n type SelectElement,\n type SelectMultipleElement,\n type SelectMultipleProps,\n type SelectProps,\n} from './select';\nexport { default as Skeleton, type SkeletonElement, type SkeletonProps } from './skeleton';\nexport { default as Spin, type SpinElement, type SpinProps } from './spin';\nexport { default as Switch, type SwitchElement, type SwitchProps } from './switch';\nexport { default as Table, type TableElement, type TableProps } from './table';\nexport { type TabOption, default as Tabs, type TabsElement, type TabsProps } from './tabs';\nexport { default as Tag, type TagElement, type TagProps } from './tag';\nexport {\n type ColorScheme,\n generateColor,\n default as theme,\n type ThemeOption,\n toneColor,\n} from './theme';\nexport {\n default as Tree,\n type TreeData,\n type TreeElement,\n type TreeMultipleElement,\n type TreeMultipleProps,\n type TreeMultipleSchemaElement,\n type TreeMultipleSchemaProps,\n type TreeMultipleStringElement,\n type TreeMultipleStringProps,\n type TreeProps,\n type TreeSchemaElement,\n type TreeSchemaProps,\n type TreeStringElement,\n type TreeStringProps,\n} from './tree';\nexport { default as Typography, type TypographyElement, type TypographyProps } from './typography';\nexport type { CustomElement } from 'custom-element-type';\nexport { customElement, getCurrentElement, hot, noShadowDOM, withSolid } from 'solid-element';\nimport type { ICustomElement, Transform } from 'custom-element-type';\n\nimport type {\n AvatarElement,\n AvatarGroupElement,\n BackTopElement,\n ButtonElement,\n CaptureScreenElement,\n CarouselElement,\n CheckboxBoolElement,\n CheckboxGroupElement,\n CodeElement,\n ColorPaletteElement,\n ColorPickerElement,\n CronElement,\n DatePickerElement,\n DropdownElement,\n DropdownMultipleElement,\n EmptyElement,\n HighlightTextElement,\n ImgElement,\n InputElement,\n InputNumberElement,\n MdElement,\n MenuElement,\n MenuMultipleElement,\n ModalElement,\n PaginationElement,\n PopoverElement,\n ProviderElement,\n QrCodeElement,\n RadioElement,\n SegmentedElement,\n SelectElement,\n SelectMultipleElement,\n SkeletonElement,\n SpinElement,\n SwitchElement,\n TableElement,\n TabsElement,\n TagElement,\n TreeElement,\n TreeMultipleElement,\n TreeMultipleSchemaElement,\n TreeMultipleStringElement,\n TreeSchemaElement,\n TreeStringElement,\n TypographyElement,\n} from '.';\n\n/** 组件列表\n * @author monako97\n * @ignore optional\n */\ninterface CustomElementTags {\n /** 头像 */\n 'n-avatar': AvatarElement;\n /** 头像组 */\n 'n-avatar-group': AvatarGroupElement;\n /** 返回顶部 */\n 'n-back-top': BackTopElement;\n /** 按钮 */\n 'n-button': ButtonElement;\n /** 捕获屏幕 */\n 'n-capture-screen': CaptureScreenElement;\n /** 走马灯、轮播 */\n 'n-carousel': CarouselElement;\n /** 复选框 */\n 'n-checkbox': CheckboxBoolElement | CheckboxGroupElement;\n /** 代码框 */\n 'n-code': CodeElement;\n /** 取色器 */\n 'n-color-palette': ColorPaletteElement;\n /** 取色器(弹出类型) */\n 'n-color-picker': ColorPickerElement;\n /** 下拉面板 */\n 'n-dropdown': DropdownElement | DropdownMultipleElement;\n /** 空面板 */\n 'n-empty': EmptyElement;\n /** 匹配高亮文字 */\n 'n-highlight-text': HighlightTextElement;\n /** 图片查看器 */\n 'n-img': ImgElement;\n /** 输入框 */\n 'n-input': InputElement;\n /** 数字输入框 */\n 'n-input-number': InputNumberElement;\n /** Markdown渲染 */\n 'n-md': MdElement;\n /** 弹出气泡面板 */\n 'n-popover': PopoverElement;\n /** 单选项 */\n 'n-radio': RadioElement;\n /** 分段控制器 */\n 'n-segmented': SegmentedElement;\n /** 下拉选择框 */\n 'n-select': SelectElement | SelectMultipleElement;\n /** 骨架屏 */\n 'n-skeleton': SkeletonElement;\n /** 加载中 */\n 'n-spin': SpinElement;\n /** 开关 */\n 'n-switch': SwitchElement;\n /** 树形渲染 */\n 'n-tree':\n | TreeElement\n | TreeStringElement\n | TreeSchemaElement\n | TreeMultipleElement\n | TreeMultipleStringElement\n | TreeMultipleSchemaElement;\n /** 文字排版 */\n 'n-typography': TypographyElement;\n /** 标签页 */\n 'n-tabs': TabsElement;\n /** 标签 */\n 'n-tag': TagElement;\n /** 导航菜单 */\n 'n-menu': MenuElement | MenuMultipleElement;\n /** Cron表达式编辑器 */\n 'n-cron': CronElement;\n /** 日期选择器\n * @since 2.1.0\n */\n 'n-data-picker': DatePickerElement;\n /** 数据表格\n * @since 2.2.0\n */\n 'n-table': TableElement;\n /** 分页器\n * @since 2.2.0\n */\n 'n-pagination': PaginationElement;\n /** 响应内部变化\n * @since 2.3.0\n */\n 'n-provider': ProviderElement;\n /** 模态框\n * @since 2.6.0\n */\n 'n-modal': ModalElement;\n /**\n * 二维码\n * @since 2.9.0\n */\n 'n-qrcode': QrCodeElement;\n}\ntype IntrinsicNekoElement = Transform<CustomElementTags>;\n\ndeclare module 'solid-js' {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n export interface IntrinsicElements extends HTMLElementTags, IntrinsicNekoElement {}\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface HTMLElementTagNameMap extends IntrinsicNekoElement {}\n}\ndeclare global {\n // eslint-disable-next-line @typescript-eslint/no-namespace\n export namespace JSX {\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n export interface IntrinsicElements extends IntrinsicNekoElement {}\n }\n // eslint-disable-next-line @typescript-eslint/no-empty-object-type\n interface HTMLElementTagNameMap extends IntrinsicNekoElement {}\n}\n\nexport interface ComponentOptions<T> {\n element: T & ICustomElement;\n}\n"],"names":["default","Avatar","AvatarGroup","BackTop","FieldName","Size","Status","Button","CaptureScreen","Carousel","Checkbox","Code","ColorPalette","ColorPicker","Cron","DatePicker","dayjs","Dropdown","Empty","fromSchema","getOptions","HighlightText","Img","Input","InputNumber","Md","mdStyle","Menu","Modal","OpenState","notification","Pagination","Popover","Prism","Provider","QrCode","Radio","Segmented","Select","Skeleton","Spin","Switch","Table","Tabs","Tag","generateColor","theme","toneColor","Tree","Typography","customElement","getCurrentElement","hot","noShadowDOM","withSolid"],"mappings":"AAEA,OAASA,WAAWC,MAAM,KAA8C,UAAW,AACnF,QACED,WAAWE,WAAW,KAGjB,gBAAiB,AACxB,QAASF,WAAWG,OAAO,KAAgD,YAAa,AACxF,QAA4CC,SAAS,CAAEC,IAAI,CAAEC,MAAM,KAAQ,gBAAiB,AAC5F,QAASN,WAAWO,MAAM,KAA8C,UAAW,AACnF,QACEP,WAAWQ,aAAa,KAGnB,kBAAmB,AAC1B,QAASR,WAAWS,QAAQ,KAAkD,YAAa,AAC3F,QACET,WAAWU,QAAQ,KAKd,YAAa,AACpB,QAASV,WAAWW,IAAI,KAAyD,QAAS,AAC1F,QACEX,WAAWY,YAAY,KAGlB,iBAAkB,AACzB,QACEZ,WAAWa,WAAW,KAGjB,gBAAiB,AACxB,QAASb,WAAWc,IAAI,KAA0C,QAAS,AAC3E,QAASd,WAAWe,UAAU,KAAsD,eAAgB,AACpG,QAASf,WAAWgB,KAAK,KAAQ,qBAAsB,AACvD,QACEhB,WAAWiB,QAAQ,KAKd,YAAa,AACpB,QAASjB,WAAWkB,KAAK,KAA4C,SAAU,AAC/E,QAASlB,WAAWmB,UAAU,KAAQ,eAAgB,AACtD,QAASnB,WAAWoB,UAAU,KAAQ,eAAgB,AACtD,QACEpB,WAAWqB,aAAa,KAGnB,kBAAmB,AAC1B,QAASrB,WAAWsB,GAAG,KAAwC,OAAQ,AACvE,QAAStB,WAAWuB,KAAK,KAA4C,SAAU,AAC/E,QACEvB,WAAWwB,WAAW,KAGjB,gBAAiB,AACxB,QAASxB,WAAWyB,EAAE,KAAsC,MAAO,AACnE,QAASzB,WAAW0B,OAAO,KAAQ,YAAa,AAChD,QACE1B,WAAW2B,IAAI,KAMV,QAAS,AAChB,QACE3B,WAAW4B,KAAK,CAGhBC,SAAS,KAEJ,SAAU,AACjB,QACE7B,WAAW8B,YAAY,KAGlB,gBAAiB,AACxB,QAAS9B,WAAW+B,UAAU,KAAsD,cAAe,AACnG,QAAS/B,WAAWgC,OAAO,KAAgD,WAAY,AACvF,QAAShC,WAAWiC,KAAK,KAAQ,SAAU,AAC3C,QAASjC,WAAWkC,QAAQ,KAAkD,YAAa,AAC3F,QAAwBlC,WAAWmC,MAAM,KAA8C,UAAW,AAClG,QAASnC,WAAWoC,KAAK,KAA8D,SAAU,AACjG,QAASpC,WAAWqC,SAAS,KAAoD,aAAc,AAC/F,QACErC,WAAWsC,MAAM,KAKZ,UAAW,AAClB,QAAStC,WAAWuC,QAAQ,KAAkD,YAAa,AAC3F,QAASvC,WAAWwC,IAAI,KAA0C,QAAS,AAC3E,QAASxC,WAAWyC,MAAM,KAA8C,UAAW,AACnF,QAASzC,WAAW0C,KAAK,KAA4C,SAAU,AAC/E,QAAyB1C,WAAW2C,IAAI,KAA0C,QAAS,AAC3F,QAAS3C,WAAW4C,GAAG,KAAwC,OAAQ,AACvE,QAEEC,aAAa,CACb7C,WAAW8C,KAAK,CAEhBC,SAAS,KACJ,SAAU,AACjB,QACE/C,WAAWgD,IAAI,KAcV,QAAS,AAChB,QAAShD,WAAWiD,UAAU,KAAsD,cAAe,AAEnG,QAASC,aAAa,CAAEC,iBAAiB,CAAEC,GAAG,CAAEC,WAAW,CAAEC,SAAS,KAAQ,eAAgB"}
package/es/input/index.js CHANGED
@@ -1,2 +1 @@
1
- import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{setAttribute as o}from"solid-js/web";import{memo as l}from"solid-js/web";import{insert as r}from"solid-js/web";import{effect as n}from"solid-js/web";import{delegateEvents as s}from"solid-js/web";import{createComponent as i}from"solid-js/web";import{className as a}from"solid-js/web";import{addEventListener as u}from"solid-js/web";let d=t("<style> "),c=t("<style>"),p=t('<span class="prefix">'),f=t('<label class="label">'),m=t('<span class="caps-lock">'),v=t('<span class="suffix">'),h=t('<fieldset><input class="input" part="input">');import{createEffect as w,createMemo as b,createSignal as g,mergeProps as y,Show as $}from"solid-js";import _ from"@moneko/common/lib/isFunction";import{css as x,cx as C}from"@moneko/css";import{customElement as k}from"solid-element";import{clearAttribute as I}from"../basic-config";import j,{inline as L}from"../theme";import{style as D}from"./style";function K(t){let s;let{baseStyle:y}=j,[k,I]=g(),[L,K]=g(!1);function z(e){var o;null==t.onChange||t.onChange.call(t,function(e){if(t.parser)return _(t.parser)?t.parser(e):t.parser;if("number"===t.type&&"string"==typeof e){let t=e.replace(/[^\d]/g,"");return t.length?parseFloat(t):void 0}return e}(null==(o=e.target)?void 0:o.value))}function E(e){null==t.onMouseDown||t.onMouseDown.call(t,e)}function M(e){t.capsLockIcon&&K(e.getModifierState("CapsLock")),null==t.onKeyDown||t.onKeyDown.call(t,e)}function B(e){null==t.onBlur||t.onBlur.call(t,e)}function F(e){null==t.onKeyUp||t.onKeyUp.call(t,e)}let P=b(()=>t.formatter?_(t.formatter)?t.formatter(t.value):t.formatter:t.value);return w(()=>{t.label&&I(`.label {--x: ${(null==s?void 0:s.offsetLeft)||0}px;opacity:1;}`)}),[(()=>{let e=d(),t=e.firstChild;return n(()=>t.data=y()),e})(),(()=>{let e=c();return e.textContent=D,e})(),(()=>{let e=d(),t=e.firstChild;return n(()=>t.data=k()),e})(),i($,{get when(){return t.css},get children(){let e=d(),o=e.firstChild;return n(()=>o.data=x(t.css)),e}}),(()=>{let d=h(),c=d.firstChild,w=s;return r(d,i($,{get when(){return t.prefixIcon},get children(){let e=p();return r(e,()=>t.prefixIcon),e}}),c),u(c,"blur",B),u(c,"keyup",F,!0),u(c,"keydown",M,!0),u(c,"mousedown",E,!0),u(c,"change",z),"function"==typeof w?e(w,c):s=c,r(d,i($,{get when(){return t.label},get children(){let e=f();return r(e,()=>t.label),e}}),null),r(d,i($,{get when(){return l(()=>!!t.capsLockIcon)()&&L()},get children(){let e=m();return r(e,()=>t.capsLockIcon),e}}),null),r(d,i($,{get when(){return t.suffixIcon},get children(){let e=v();return r(e,()=>t.suffixIcon),e}}),null),n(e=>{let l=C("fieldset",t.size,t.status,t.class),r=t.disabled,n=t.type,s=t.autoComplete,i=t.accept,u=t.placeholder;return l!==e._v$&&a(d,e._v$=l),r!==e._v$2&&(d.disabled=e._v$2=r),n!==e._v$3&&o(c,"type",e._v$3=n),s!==e._v$4&&o(c,"autocomplete",e._v$4=s),i!==e._v$5&&o(c,"accept",e._v$5=i),u!==e._v$6&&o(c,"placeholder",e._v$6=u),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0}),n(()=>c.value=P()),d})()]}export const defaultInportProps={class:void 0,css:void 0,suffixIcon:void 0,prefixIcon:void 0,capsLockIcon:void 0,size:void 0,disabled:void 0,status:void 0,type:void 0,label:void 0,value:void 0,defaultValue:void 0,formatter:void 0,parser:void 0,onChange:void 0,onMouseDown:void 0,onKeyDown:void 0,accept:void 0,autoComplete:void 0,placeholder:"请输入"};k("n-input",defaultInportProps,(e,t)=>{let o=t.element,l=y({css:o.css,size:o.size||"normal",value:o.value||o.defaultValue||"",type:o.type||"text",onChange(e){o.dispatchEvent(new CustomEvent("change",{detail:e}))}},e);return w(()=>{I(o,["css"])}),[(()=>{let e=c();return e.textContent=L,e})(),i(K,l)]});export default K;s(["keydown","keyup","mousedown"]);
2
- //# sourceMappingURL=index.js.map
1
+ import{use as e}from"solid-js/web";import{template as t}from"solid-js/web";import{setAttribute as o}from"solid-js/web";import{memo as l}from"solid-js/web";import{insert as r}from"solid-js/web";import{effect as n}from"solid-js/web";import{delegateEvents as s}from"solid-js/web";import{createComponent as i}from"solid-js/web";import{className as a}from"solid-js/web";import{addEventListener as u}from"solid-js/web";let d=t("<style> "),c=t("<style>"),p=t('<span class="prefix">'),f=t('<label class="label">'),m=t('<span class="caps-lock">'),v=t('<span class="suffix">'),h=t('<fieldset><input class="input" part="input">');import{createEffect as w,createMemo as b,createSignal as g,mergeProps as y,Show as $}from"solid-js";import _ from"@moneko/common/lib/isFunction";import{css as x,cx as C}from"@moneko/css";import{customElement as k}from"solid-element";import{clearAttribute as I}from"../basic-config";import j,{inline as L}from"../theme";import{style as D}from"./style";function K(t){let s;let{baseStyle:y}=j,[k,I]=g(),[L,K]=g(!1);function z(e){var o;null==t.onChange||t.onChange.call(t,function(e){if(t.parser)return _(t.parser)?t.parser(e):t.parser;if("number"===t.type&&"string"==typeof e){let t=e.replace(/[^\d]/g,"");return t.length?parseFloat(t):void 0}return e}(null==(o=e.target)?void 0:o.value))}function E(e){null==t.onMouseDown||t.onMouseDown.call(t,e)}function M(e){t.capsLockIcon&&K(e.getModifierState("CapsLock")),null==t.onKeyDown||t.onKeyDown.call(t,e)}function B(e){null==t.onBlur||t.onBlur.call(t,e)}function F(e){null==t.onKeyUp||t.onKeyUp.call(t,e)}let P=b(()=>t.formatter?_(t.formatter)?t.formatter(t.value):t.formatter:t.value);return w(()=>{t.label&&I(`.label {--x: ${(null==s?void 0:s.offsetLeft)||0}px;opacity:1;}`)}),[(()=>{let e=d(),t=e.firstChild;return n(()=>t.data=y()),e})(),(()=>{let e=c();return e.textContent=D,e})(),(()=>{let e=d(),t=e.firstChild;return n(()=>t.data=k()),e})(),i($,{get when(){return t.css},get children(){let e=d(),o=e.firstChild;return n(()=>o.data=x(t.css)),e}}),(()=>{let d=h(),c=d.firstChild,w=s;return r(d,i($,{get when(){return t.prefixIcon},get children(){let e=p();return r(e,()=>t.prefixIcon),e}}),c),u(c,"blur",B),u(c,"keyup",F,!0),u(c,"keydown",M,!0),u(c,"mousedown",E,!0),u(c,"change",z),"function"==typeof w?e(w,c):s=c,r(d,i($,{get when(){return t.label},get children(){let e=f();return r(e,()=>t.label),e}}),null),r(d,i($,{get when(){return l(()=>!!t.capsLockIcon)()&&L()},get children(){let e=m();return r(e,()=>t.capsLockIcon),e}}),null),r(d,i($,{get when(){return t.suffixIcon},get children(){let e=v();return r(e,()=>t.suffixIcon),e}}),null),n(e=>{let l=C("fieldset",t.size,t.status,t.class),r=t.disabled,n=t.type,s=t.autoComplete,i=t.accept,u=t.placeholder;return l!==e._v$&&a(d,e._v$=l),r!==e._v$2&&(d.disabled=e._v$2=r),n!==e._v$3&&o(c,"type",e._v$3=n),s!==e._v$4&&o(c,"autocomplete",e._v$4=s),i!==e._v$5&&o(c,"accept",e._v$5=i),u!==e._v$6&&o(c,"placeholder",e._v$6=u),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0}),n(()=>c.value=P()),d})()]}export const defaultInportProps={class:void 0,css:void 0,suffixIcon:void 0,prefixIcon:void 0,capsLockIcon:void 0,size:void 0,disabled:void 0,status:void 0,type:void 0,label:void 0,value:void 0,defaultValue:void 0,formatter:void 0,parser:void 0,onChange:void 0,onMouseDown:void 0,onKeyDown:void 0,accept:void 0,autoComplete:void 0,placeholder:"请输入"};k("n-input",defaultInportProps,(e,t)=>{let o=t.element,l=y({css:o.css,size:o.size||"normal",value:o.value||o.defaultValue||"",type:o.type||"text",onChange(e){o.dispatchEvent(new CustomEvent("change",{detail:e}))}},e);return w(()=>{I(o,["css"])}),[(()=>{let e=c();return e.textContent=L,e})(),i(K,l)]});export default K;s(["keydown","keyup","mousedown"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/input/index.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, mergeProps, Show } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { BasicConfig, CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport theme, { inline } from '../theme';\n\nimport { style } from './style';\n\nexport interface InputProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** 前缀 */\n prefixIcon?: JSX.Element;\n /** 后缀 */\n suffixIcon?: JSX.Element;\n /** 大写锁定图标, 可以结合密码输入框使用\n * @since 2.5.2\n */\n capsLockIcon?: JSX.Element;\n /** 禁用 */\n disabled?: boolean;\n /** 自动完成 */\n autoComplete?: string;\n /** 占位文本 */\n placeholder?: string;\n /** 组件尺寸\n * @default 'normal'\n */\n size?: BasicConfig['size'];\n /** 描述 */\n label?: JSX.Element;\n /** 状态 */\n status?: 'error' | 'warning' | 'success';\n /** 类型\n * @default 'text'\n */\n type?: 'email' | 'hidden' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';\n /** HTML attribute: accept */\n accept?: string;\n /** 值 */\n value?: string | number;\n /** 默认值 */\n defaultValue?: string | number;\n /** 值变更时触发的函数 */\n onChange?: (value: InputProps['value']) => void;\n onKeyDown?(e: KeyboardEvent): void;\n onMouseDown?(e: MouseEvent): void;\n onFocus?(e: FocusEvent): void;\n onBlur?(e: FocusEvent): void;\n onKeyUp?(e: KeyboardEvent): void;\n /** 指定输入框展示值的格式 */\n formatter?: (value?: InputProps['value']) => InputProps['value'];\n /** 搭配 formatter 使用, 将转换后的值转回原来的值 */\n parser?: (value?: InputProps['value']) => InputProps['value'];\n}\n\nfunction Input(props: InputProps) {\n const { baseStyle } = theme;\n let inputRef: HTMLInputElement | undefined;\n const [x, setX] = createSignal<string>();\n const [capsLock, setCapsLock] = createSignal(false);\n\n function parserValue(val: InputProps['value']) {\n if (props.parser) {\n return isFunction(props.parser) ? props.parser(val) : props.parser;\n } else if (props.type === 'number' && typeof val === 'string') {\n const num = val.replace(/[^\\d]/g, '');\n\n return num.length ? parseFloat(num) : void 0;\n }\n return val;\n }\n\n function handleInput(e: Event & { target?: HTMLInputElement }) {\n props.onChange?.(parserValue(e.target?.value));\n }\n function handleMouseDown(e: MouseEvent) {\n props.onMouseDown?.(e);\n }\n function handleKeyDown(e: KeyboardEvent) {\n if (props.capsLockIcon) {\n setCapsLock(e.getModifierState('CapsLock'));\n }\n props.onKeyDown?.(e);\n }\n function handleBlur(e: FocusEvent) {\n props.onBlur?.(e);\n }\n function handleKeyUp(e: KeyboardEvent) {\n props.onKeyUp?.(e);\n }\n\n const value = createMemo(() => {\n if (props.formatter) {\n return isFunction(props.formatter) ? props.formatter(props.value) : props.formatter;\n }\n return props.value;\n });\n\n createEffect(() => {\n if (props.label) {\n setX(`.label {--x: ${inputRef?.offsetLeft || 0}px;opacity:1;}`);\n }\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={style} />\n <style textContent={x()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <fieldset\n class={cx('fieldset', props.size, props.status, props.class)}\n disabled={props.disabled}\n >\n <Show when={props.prefixIcon}>\n <span class=\"prefix\">{props.prefixIcon}</span>\n </Show>\n <input\n ref={inputRef}\n class=\"input\"\n part=\"input\"\n onChange={handleInput}\n type={props.type}\n value={value()}\n autocomplete={props.autoComplete}\n accept={props.accept}\n placeholder={props.placeholder}\n onMouseDown={handleMouseDown}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n onBlur={handleBlur}\n />\n <Show when={props.label}>\n <label class=\"label\">{props.label}</label>\n </Show>\n <Show when={props.capsLockIcon && capsLock()}>\n <span class=\"caps-lock\">{props.capsLockIcon}</span>\n </Show>\n <Show when={props.suffixIcon}>\n <span class=\"suffix\">{props.suffixIcon}</span>\n </Show>\n </fieldset>\n </>\n );\n}\n\nexport type InputElement = CustomElement<InputProps>;\n\nexport const defaultInportProps = {\n class: void 0,\n css: void 0,\n suffixIcon: void 0,\n prefixIcon: void 0,\n capsLockIcon: void 0,\n size: void 0,\n disabled: void 0,\n status: void 0,\n type: void 0,\n label: void 0,\n value: void 0,\n defaultValue: void 0,\n formatter: void 0,\n parser: void 0,\n onChange: void 0,\n onMouseDown: void 0,\n onKeyDown: void 0,\n accept: void 0,\n autoComplete: void 0,\n placeholder: '请输入',\n};\n\ncustomElement<InputProps>('n-input', defaultInportProps, (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n css: el.css,\n size: el.size || 'normal',\n value: el.value || el.defaultValue || '',\n type: el.type || 'text',\n onChange(val?: number | string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['css']);\n });\n return (\n <>\n <style textContent={inline} />\n <Input {...props} />\n </>\n );\n});\n\nexport default Input;\n"],"names":["createEffect","createMemo","createSignal","mergeProps","Show","isFunction","css","cx","customElement","clearAttribute","theme","inline","style","Input","props","inputRef","baseStyle","x","setX","capsLock","setCapsLock","handleInput","e","onChange","parserValue","val","parser","type","num","replace","length","parseFloat","target","value","handleMouseDown","onMouseDown","handleKeyDown","capsLockIcon","getModifierState","onKeyDown","handleBlur","onBlur","handleKeyUp","onKeyUp","formatter","label","offsetLeft","prefixIcon","suffixIcon","size","status","class","disabled","autoComplete","accept","placeholder","defaultInportProps","defaultValue","_","opt","el","element","dispatchEvent","CustomEvent","detail"],"mappings":"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"}
1
+ {"version":3,"sources":["components/input/index.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, mergeProps, Show } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { BasicConfig, CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport theme, { inline } from '../theme';\n\nimport { style } from './style';\n\nexport interface InputProps {\n /** 自定义类名 */\n class?: string;\n /** 自定义样式表 */\n css?: string;\n /** 前缀 */\n prefixIcon?: JSX.Element;\n /** 后缀 */\n suffixIcon?: JSX.Element;\n /** 大写锁定图标, 可以结合密码输入框使用\n * @since 2.5.2\n */\n capsLockIcon?: JSX.Element;\n /** 禁用 */\n disabled?: boolean;\n /** 自动完成 */\n autoComplete?: string;\n /** 占位文本 */\n placeholder?: string;\n /** 组件尺寸\n * @default 'normal'\n */\n size?: BasicConfig['size'];\n /** 描述 */\n label?: JSX.Element;\n /** 状态 */\n status?: 'error' | 'warning' | 'success';\n /** 类型\n * @default 'text'\n */\n type?: 'email' | 'hidden' | 'number' | 'password' | 'search' | 'tel' | 'text' | 'url';\n /** HTML attribute: accept */\n accept?: string;\n /** 值 */\n value?: string | number;\n /** 默认值 */\n defaultValue?: string | number;\n /** 值变更时触发的函数 */\n onChange?: (value: InputProps['value']) => void;\n onKeyDown?(e: KeyboardEvent): void;\n onMouseDown?(e: MouseEvent): void;\n onFocus?(e: FocusEvent): void;\n onBlur?(e: FocusEvent): void;\n onKeyUp?(e: KeyboardEvent): void;\n /** 指定输入框展示值的格式 */\n formatter?: (value?: InputProps['value']) => InputProps['value'];\n /** 搭配 formatter 使用, 将转换后的值转回原来的值 */\n parser?: (value?: InputProps['value']) => InputProps['value'];\n}\n\nfunction Input(props: InputProps) {\n const { baseStyle } = theme;\n let inputRef: HTMLInputElement | undefined;\n const [x, setX] = createSignal<string>();\n const [capsLock, setCapsLock] = createSignal(false);\n\n function parserValue(val: InputProps['value']) {\n if (props.parser) {\n return isFunction(props.parser) ? props.parser(val) : props.parser;\n } else if (props.type === 'number' && typeof val === 'string') {\n const num = val.replace(/[^\\d]/g, '');\n\n return num.length ? parseFloat(num) : void 0;\n }\n return val;\n }\n\n function handleInput(e: Event & { target?: HTMLInputElement }) {\n props.onChange?.(parserValue(e.target?.value));\n }\n function handleMouseDown(e: MouseEvent) {\n props.onMouseDown?.(e);\n }\n function handleKeyDown(e: KeyboardEvent) {\n if (props.capsLockIcon) {\n setCapsLock(e.getModifierState('CapsLock'));\n }\n props.onKeyDown?.(e);\n }\n function handleBlur(e: FocusEvent) {\n props.onBlur?.(e);\n }\n function handleKeyUp(e: KeyboardEvent) {\n props.onKeyUp?.(e);\n }\n\n const value = createMemo(() => {\n if (props.formatter) {\n return isFunction(props.formatter) ? props.formatter(props.value) : props.formatter;\n }\n return props.value;\n });\n\n createEffect(() => {\n if (props.label) {\n setX(`.label {--x: ${inputRef?.offsetLeft || 0}px;opacity:1;}`);\n }\n });\n\n return (\n <>\n <style textContent={baseStyle()} />\n <style textContent={style} />\n <style textContent={x()} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <fieldset\n class={cx('fieldset', props.size, props.status, props.class)}\n disabled={props.disabled}\n >\n <Show when={props.prefixIcon}>\n <span class=\"prefix\">{props.prefixIcon}</span>\n </Show>\n <input\n ref={inputRef}\n class=\"input\"\n part=\"input\"\n onChange={handleInput}\n type={props.type}\n value={value()}\n autocomplete={props.autoComplete}\n accept={props.accept}\n placeholder={props.placeholder}\n onMouseDown={handleMouseDown}\n onKeyDown={handleKeyDown}\n onKeyUp={handleKeyUp}\n onBlur={handleBlur}\n />\n <Show when={props.label}>\n <label class=\"label\">{props.label}</label>\n </Show>\n <Show when={props.capsLockIcon && capsLock()}>\n <span class=\"caps-lock\">{props.capsLockIcon}</span>\n </Show>\n <Show when={props.suffixIcon}>\n <span class=\"suffix\">{props.suffixIcon}</span>\n </Show>\n </fieldset>\n </>\n );\n}\n\nexport type InputElement = CustomElement<InputProps>;\n\nexport const defaultInportProps = {\n class: void 0,\n css: void 0,\n suffixIcon: void 0,\n prefixIcon: void 0,\n capsLockIcon: void 0,\n size: void 0,\n disabled: void 0,\n status: void 0,\n type: void 0,\n label: void 0,\n value: void 0,\n defaultValue: void 0,\n formatter: void 0,\n parser: void 0,\n onChange: void 0,\n onMouseDown: void 0,\n onKeyDown: void 0,\n accept: void 0,\n autoComplete: void 0,\n placeholder: '请输入',\n};\n\ncustomElement<InputProps>('n-input', defaultInportProps, (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n css: el.css,\n size: el.size || 'normal',\n value: el.value || el.defaultValue || '',\n type: el.type || 'text',\n onChange(val?: number | string) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['css']);\n });\n return (\n <>\n <style textContent={inline} />\n <Input {...props} />\n </>\n );\n});\n\nexport default Input;\n"],"names":["createEffect","createMemo","createSignal","mergeProps","Show","isFunction","css","cx","customElement","clearAttribute","theme","inline","style","Input","props","inputRef","baseStyle","x","setX","capsLock","setCapsLock","handleInput","e","onChange","parserValue","val","parser","type","num","replace","length","parseFloat","target","value","handleMouseDown","onMouseDown","handleKeyDown","capsLockIcon","getModifierState","onKeyDown","handleBlur","onBlur","handleKeyUp","onKeyUp","formatter","label","offsetLeft","prefixIcon","suffixIcon","size","status","class","disabled","autoComplete","accept","placeholder","defaultInportProps","defaultValue","_","opt","el","element","dispatchEvent","CustomEvent","detail"],"mappings":"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"}
package/es/input/style.js CHANGED
@@ -176,5 +176,4 @@ import{css as r}from"@moneko/css";export const style=r`
176
176
  .caps-lock {
177
177
  margin-inline-start: 4px;
178
178
  }
179
- `;
180
- //# sourceMappingURL=style.js.map
179
+ `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/input/style.ts"],"sourcesContent":["import { css } from '@moneko/css';\n\nexport const style = css`\n .label {\n --x: 0;\n\n position: absolute;\n overflow: hidden;\n border-radius: var(--border-radius);\n padding: 0 4px;\n text-overflow: ellipsis;\n color: var(--text-secondary);\n opacity: 0;\n transition:\n transform var(--transition-duration),\n opacity var(--transition-duration),\n color var(--transition-duration),\n background-color var(--transition-duration);\n line-height: 1.45;\n pointer-events: none;\n transform-origin: left;\n max-inline-size: 100%;\n word-break: keep-all;\n }\n\n .normal {\n padding: 4px 10px;\n font-size: var(--font-size);\n line-height: 1.5;\n\n .label {\n transform: translate3d(calc(var(--x, 0) - 10px), 0, 1px);\n }\n }\n\n .large {\n padding: 6px 16px;\n font-size: var(--font-size-lg);\n line-height: 1.5;\n\n .label {\n transform: translate3d(calc(var(--x, 0) - 16px), 0, 1px);\n }\n }\n\n .small {\n padding: 2px;\n font-size: var(--font-size-sm);\n line-height: 20px;\n\n .label {\n transform: translate3d(calc(var(--x, 0) - 2px), 0, 1px);\n }\n }\n\n .input {\n overflow: hidden;\n border: none;\n font-size: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: inherit;\n inline-size: inherit;\n background: none;\n outline: none;\n appearance: none;\n flex: 1;\n\n &::placeholder {\n opacity: 0;\n transition:\n color var(--transition-duration),\n opacity var(--transition-duration);\n }\n\n &:focus::placeholder {\n opacity: 1;\n }\n\n &:not(:placeholder-shown) + .label,\n &:focus + .label {\n background: var(--component-bg);\n transform: translate3d(0, calc(-50% - 0.43em), 1px) scale(0.8);\n }\n\n &:focus + .label {\n color: var(--primary-color);\n }\n\n &:not(:placeholder-shown, :focus) + .label {\n color: var(--text-color);\n }\n }\n\n .fieldset {\n position: relative;\n display: flex;\n margin: 0;\n border: 1px solid var(--border-color);\n border-radius: var(--border-radius);\n color: var(--text-color);\n background-color: var(--component-bg);\n transition: all var(--transition-duration);\n inline-size: 100%;\n background-image: none;\n box-sizing: border-box;\n accent-color: var(--primary-color, #5794ff);\n\n &:hover {\n border-color: var(--primary-hover, #80b3ff);\n border-inline-end-width: 1px;\n }\n\n &:focus-within {\n border-color: var(--primary-hover, #80b3ff);\n border-inline-end-width: 1px;\n outline: 0;\n box-shadow: 0 0 0 2px var(--primary-outline);\n }\n\n &:invalid,\n &.error {\n --border-color: var(--error-border);\n --primary-hover: var(--error-hover);\n --primary-outline: var(--error-outline);\n --primary-color: var(--error-color);\n\n .label {\n --text-color: var(--error-color);\n }\n }\n\n &.success {\n --border-color: var(--success-border);\n --primary-hover: var(--success-hover);\n --primary-outline: var(--success-outline);\n --primary-color: var(--success-color);\n\n .label {\n --text-color: var(--success-color);\n }\n }\n\n &.warning {\n --border-color: var(--warning-border);\n --primary-hover: var(--warning-hover);\n --primary-outline: var(--warning-outline);\n --primary-color: var(--warning-color);\n\n .label {\n --text-color: var(--warning-color);\n }\n }\n\n &:disabled {\n --text-color: var(--disable-color);\n --border-color: var(--disable-border);\n --primary-hover: var(--disable-border);\n\n background-color: var(--disable-bg);\n cursor: not-allowed;\n\n .input {\n pointer-events: none;\n\n &:not(:placeholder-shown) + .label {\n background: var(--disable-border);\n }\n }\n }\n }\n\n .prefix {\n margin-inline-end: 4px;\n }\n\n .suffix,\n .caps-lock {\n margin-inline-start: 4px;\n }\n`;\n"],"names":["css","style"],"mappings":"AAAA,OAASA,OAAAA,CAAG,KAAQ,aAAc,AAElC,QAAO,MAAMC,MAAQD,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkLzB,CAAC,AAAC"}
1
+ {"version":3,"sources":["components/input/style.ts"],"sourcesContent":["import { css } from '@moneko/css';\n\nexport const style = css`\n .label {\n --x: 0;\n\n position: absolute;\n overflow: hidden;\n border-radius: var(--border-radius);\n padding: 0 4px;\n text-overflow: ellipsis;\n color: var(--text-secondary);\n opacity: 0;\n transition:\n transform var(--transition-duration),\n opacity var(--transition-duration),\n color var(--transition-duration),\n background-color var(--transition-duration);\n line-height: 1.45;\n pointer-events: none;\n transform-origin: left;\n max-inline-size: 100%;\n word-break: keep-all;\n }\n\n .normal {\n padding: 4px 10px;\n font-size: var(--font-size);\n line-height: 1.5;\n\n .label {\n transform: translate3d(calc(var(--x, 0) - 10px), 0, 1px);\n }\n }\n\n .large {\n padding: 6px 16px;\n font-size: var(--font-size-lg);\n line-height: 1.5;\n\n .label {\n transform: translate3d(calc(var(--x, 0) - 16px), 0, 1px);\n }\n }\n\n .small {\n padding: 2px;\n font-size: var(--font-size-sm);\n line-height: 20px;\n\n .label {\n transform: translate3d(calc(var(--x, 0) - 2px), 0, 1px);\n }\n }\n\n .input {\n overflow: hidden;\n border: none;\n font-size: inherit;\n text-overflow: ellipsis;\n white-space: nowrap;\n color: inherit;\n inline-size: inherit;\n background: none;\n outline: none;\n appearance: none;\n flex: 1;\n\n &::placeholder {\n opacity: 0;\n transition:\n color var(--transition-duration),\n opacity var(--transition-duration);\n }\n\n &:focus::placeholder {\n opacity: 1;\n }\n\n &:not(:placeholder-shown) + .label,\n &:focus + .label {\n background: var(--component-bg);\n transform: translate3d(0, calc(-50% - 0.43em), 1px) scale(0.8);\n }\n\n &:focus + .label {\n color: var(--primary-color);\n }\n\n &:not(:placeholder-shown, :focus) + .label {\n color: var(--text-color);\n }\n }\n\n .fieldset {\n position: relative;\n display: flex;\n margin: 0;\n border: 1px solid var(--border-color);\n border-radius: var(--border-radius);\n color: var(--text-color);\n background-color: var(--component-bg);\n transition: all var(--transition-duration);\n inline-size: 100%;\n background-image: none;\n box-sizing: border-box;\n accent-color: var(--primary-color, #5794ff);\n\n &:hover {\n border-color: var(--primary-hover, #80b3ff);\n border-inline-end-width: 1px;\n }\n\n &:focus-within {\n border-color: var(--primary-hover, #80b3ff);\n border-inline-end-width: 1px;\n outline: 0;\n box-shadow: 0 0 0 2px var(--primary-outline);\n }\n\n &:invalid,\n &.error {\n --border-color: var(--error-border);\n --primary-hover: var(--error-hover);\n --primary-outline: var(--error-outline);\n --primary-color: var(--error-color);\n\n .label {\n --text-color: var(--error-color);\n }\n }\n\n &.success {\n --border-color: var(--success-border);\n --primary-hover: var(--success-hover);\n --primary-outline: var(--success-outline);\n --primary-color: var(--success-color);\n\n .label {\n --text-color: var(--success-color);\n }\n }\n\n &.warning {\n --border-color: var(--warning-border);\n --primary-hover: var(--warning-hover);\n --primary-outline: var(--warning-outline);\n --primary-color: var(--warning-color);\n\n .label {\n --text-color: var(--warning-color);\n }\n }\n\n &:disabled {\n --text-color: var(--disable-color);\n --border-color: var(--disable-border);\n --primary-hover: var(--disable-border);\n\n background-color: var(--disable-bg);\n cursor: not-allowed;\n\n .input {\n pointer-events: none;\n\n &:not(:placeholder-shown) + .label {\n background: var(--disable-border);\n }\n }\n }\n }\n\n .prefix {\n margin-inline-end: 4px;\n }\n\n .suffix,\n .caps-lock {\n margin-inline-start: 4px;\n }\n`;\n"],"names":["css","style"],"mappings":"AAAA,OAASA,OAAAA,CAAG,KAAQ,aAAc,AAElC,QAAO,MAAMC,MAAQD,CAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkLzB,CAAC,AAAC"}
@@ -8,5 +8,4 @@ function e(){return(e=Object.assign||function(e){for(var o=1;o<arguments.length;
8
8
  .number[type='number']::-webkit-outer-spin-button {
9
9
  appearance: none;
10
10
  }
11
- `;function g(e){let[o,r]=i(!1);function p(){r(!1)}let c=s({size:"normal",value:"",defaultValue:0,type:"text",onKeyDown:function(e){switch(e.key){case"ArrowUp":v({movementX:0,movementY:-1});break;case"ArrowDown":v({movementX:0,movementY:1})}},onMouseDown:function(e){e.stopPropagation(),r(!0)},step:1,precision:2,max:Number.MAX_SAFE_INTEGER,min:Number.MIN_SAFE_INTEGER},e);function d(o){let t="string"==typeof o?parseFloat(o):o;isNaN(t)&&(t=""),void 0!==t&&(t<c.min&&(t=c.min),t>c.max&&(t=c.max)),null==e.onChange||e.onChange.call(e,t)}function v(e){let{movementX:o,movementY:t}=e,n=c.value;d(Number(Number(("number"!=typeof n||isNaN(n)?Number(n)||0:n)+(o-t)*c.step).toFixed(c.precision)))}return m(()=>{o()&&(document.body.addEventListener("mousemove",v,{passive:u}),document.body.addEventListener("mouseup",p,{passive:u})),a(()=>{document.body.removeEventListener("mousemove",v,!1),document.body.removeEventListener("mouseup",p,u)})}),n(b,t(c,{get class(){return l("number",e.class)},onChange:d,get css(){return y+(e.css||"")}}))}c("n-input-number",e({},v,{defaultValue:void 0,max:void 0,min:void 0,onChange:void 0,step:void 0,precision:void 0}),(e,o)=>{let t=o.element,i=s({onChange(e){t.value=e,t.dispatchEvent(new CustomEvent("change",{detail:e}))}},e);return m(()=>{d(t,["css"])}),[(()=>{let e=r();return e.textContent=f,e})(),n(g,i)]});export default g;
12
- //# sourceMappingURL=index.js.map
11
+ `;function g(e){let[o,r]=i(!1);function p(){r(!1)}let c=s({size:"normal",value:"",defaultValue:0,type:"text",onKeyDown:function(e){switch(e.key){case"ArrowUp":v({movementX:0,movementY:-1});break;case"ArrowDown":v({movementX:0,movementY:1})}},onMouseDown:function(e){e.stopPropagation(),r(!0)},step:1,precision:2,max:Number.MAX_SAFE_INTEGER,min:Number.MIN_SAFE_INTEGER},e);function d(o){let t="string"==typeof o?parseFloat(o):o;isNaN(t)&&(t=""),void 0!==t&&(t<c.min&&(t=c.min),t>c.max&&(t=c.max)),null==e.onChange||e.onChange.call(e,t)}function v(e){let{movementX:o,movementY:t}=e,n=c.value;d(Number(Number(("number"!=typeof n||isNaN(n)?Number(n)||0:n)+(o-t)*c.step).toFixed(c.precision)))}return m(()=>{o()&&(document.body.addEventListener("mousemove",v,{passive:u}),document.body.addEventListener("mouseup",p,{passive:u})),a(()=>{document.body.removeEventListener("mousemove",v,!1),document.body.removeEventListener("mouseup",p,u)})}),n(b,t(c,{get class(){return l("number",e.class)},onChange:d,get css(){return y+(e.css||"")}}))}c("n-input-number",e({},v,{defaultValue:void 0,max:void 0,min:void 0,onChange:void 0,step:void 0,precision:void 0}),(e,o)=>{let t=o.element,i=s({onChange(e){t.value=e,t.dispatchEvent(new CustomEvent("change",{detail:e}))}},e);return m(()=>{d(t,["css"])}),[(()=>{let e=r();return e.textContent=f,e})(),n(g,i)]});export default g;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/input-number/index.tsx"],"sourcesContent":["import { createEffect, createSignal, mergeProps, onCleanup } from 'solid-js';\nimport { passiveSupported } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement, InputProps } from '..';\nimport { clearAttribute } from '../basic-config';\nimport Input, { defaultInportProps } from '../input';\nimport { inline } from '../theme';\n\nconst style = css`\n /** 隐藏原生加减控件 */\n .number[type='number'] {\n appearance: textfield;\n }\n\n .number[type='number']::-webkit-inner-spin-button,\n .number[type='number']::-webkit-outer-spin-button {\n appearance: none;\n }\n`;\n\n/** API\n * @since 2.0.0\n */\nexport interface InputNumberProps extends Omit<InputProps, 'value' | 'defaultValue' | 'onChange'> {\n /** 值 */\n value?: number;\n /** 默认值\n * @default 0\n */\n defaultValue?: number;\n /** 最小值\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** 最大值\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** 值变更时触发的函数 */\n onChange?: (value?: number) => void;\n /** 每次改变步数,可以为小数\n * @default 1\n */\n step?: number;\n /** 数值精度\n * @default 2\n */\n precision?: number;\n}\nexport type InputNumberElement = CustomElement<InputNumberProps>;\n\nfunction InputNumber(props: InputNumberProps) {\n const [move, setMove] = createSignal(false);\n\n function onMouseDown(e: MouseEvent) {\n e.stopPropagation();\n setMove(true);\n }\n function onKeyDown(e: KeyboardEvent) {\n switch (e.key) {\n case 'ArrowUp':\n mouseMove({ movementX: 0, movementY: -1 });\n break;\n case 'ArrowDown':\n mouseMove({ movementX: 0, movementY: 1 });\n break;\n default:\n break;\n }\n }\n function mouseUp() {\n setMove(false);\n }\n const _ = mergeProps(\n {\n size: 'normal',\n value: '',\n defaultValue: 0,\n type: 'text',\n onKeyDown: onKeyDown,\n onMouseDown: onMouseDown,\n step: 1,\n precision: 2,\n max: Number.MAX_SAFE_INTEGER,\n min: Number.MIN_SAFE_INTEGER,\n },\n props,\n );\n\n function change(val?: string | number) {\n let _val = typeof val === 'string' ? parseFloat(val) : val;\n\n if (isNaN(_val!)) {\n _val = '' as unknown as number;\n }\n if (typeof _val !== 'undefined') {\n if (_val < _.min) _val = _.min;\n if (_val > _.max) _val = _.max;\n }\n props.onChange?.(_val);\n }\n\n function mouseMove(e: { movementX: number; movementY: number }) {\n const { movementX, movementY } = e;\n const _val = _.value;\n const val = typeof _val === 'number' && !isNaN(_val) ? _val : Number(_val) || 0;\n\n change(Number(Number(val + (movementX - movementY) * _.step).toFixed(_.precision)));\n }\n\n createEffect(() => {\n if (move()) {\n document.body.addEventListener('mousemove', mouseMove, {\n passive: passiveSupported,\n });\n document.body.addEventListener('mouseup', mouseUp, {\n passive: passiveSupported,\n });\n }\n onCleanup(() => {\n document.body.removeEventListener('mousemove', mouseMove, false);\n document.body.removeEventListener('mouseup', mouseUp, passiveSupported);\n });\n });\n\n return (\n <Input\n {...(_ as InputProps)}\n class={cx('number', props.class)}\n onChange={change}\n css={style + (props.css || '')}\n />\n );\n}\n\ncustomElement<InputNumberProps>(\n 'n-input-number',\n {\n ...defaultInportProps,\n defaultValue: void 0,\n max: void 0,\n min: void 0,\n onChange: void 0,\n step: void 0,\n precision: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n onChange(val?: number | string) {\n el.value = val;\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['css']);\n });\n return (\n <>\n <style textContent={inline} />\n <InputNumber {...props} />\n </>\n );\n },\n);\n\nexport default InputNumber;\n"],"names":["createEffect","createSignal","mergeProps","onCleanup","passiveSupported","css","cx","customElement","clearAttribute","Input","defaultInportProps","inline","style","InputNumber","props","move","setMove","mouseUp","_","size","value","defaultValue","type","onKeyDown","e","key","mouseMove","movementX","movementY","onMouseDown","stopPropagation","step","precision","max","Number","MAX_SAFE_INTEGER","min","MIN_SAFE_INTEGER","change","val","_val","parseFloat","isNaN","onChange","toFixed","document","body","addEventListener","passive","removeEventListener","class","opt","el","element","dispatchEvent","CustomEvent","detail"],"mappings":"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"}
1
+ {"version":3,"sources":["components/input-number/index.tsx"],"sourcesContent":["import { createEffect, createSignal, mergeProps, onCleanup } from 'solid-js';\nimport { passiveSupported } from '@moneko/common';\nimport { css, cx } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement, InputProps } from '..';\nimport { clearAttribute } from '../basic-config';\nimport Input, { defaultInportProps } from '../input';\nimport { inline } from '../theme';\n\nconst style = css`\n /** 隐藏原生加减控件 */\n .number[type='number'] {\n appearance: textfield;\n }\n\n .number[type='number']::-webkit-inner-spin-button,\n .number[type='number']::-webkit-outer-spin-button {\n appearance: none;\n }\n`;\n\n/** API\n * @since 2.0.0\n */\nexport interface InputNumberProps extends Omit<InputProps, 'value' | 'defaultValue' | 'onChange'> {\n /** 值 */\n value?: number;\n /** 默认值\n * @default 0\n */\n defaultValue?: number;\n /** 最小值\n * @default Number.MIN_SAFE_INTEGER\n */\n min?: number;\n /** 最大值\n * @default Number.MAX_SAFE_INTEGER\n */\n max?: number;\n /** 值变更时触发的函数 */\n onChange?: (value?: number) => void;\n /** 每次改变步数,可以为小数\n * @default 1\n */\n step?: number;\n /** 数值精度\n * @default 2\n */\n precision?: number;\n}\nexport type InputNumberElement = CustomElement<InputNumberProps>;\n\nfunction InputNumber(props: InputNumberProps) {\n const [move, setMove] = createSignal(false);\n\n function onMouseDown(e: MouseEvent) {\n e.stopPropagation();\n setMove(true);\n }\n function onKeyDown(e: KeyboardEvent) {\n switch (e.key) {\n case 'ArrowUp':\n mouseMove({ movementX: 0, movementY: -1 });\n break;\n case 'ArrowDown':\n mouseMove({ movementX: 0, movementY: 1 });\n break;\n default:\n break;\n }\n }\n function mouseUp() {\n setMove(false);\n }\n const _ = mergeProps(\n {\n size: 'normal',\n value: '',\n defaultValue: 0,\n type: 'text',\n onKeyDown: onKeyDown,\n onMouseDown: onMouseDown,\n step: 1,\n precision: 2,\n max: Number.MAX_SAFE_INTEGER,\n min: Number.MIN_SAFE_INTEGER,\n },\n props,\n );\n\n function change(val?: string | number) {\n let _val = typeof val === 'string' ? parseFloat(val) : val;\n\n if (isNaN(_val!)) {\n _val = '' as unknown as number;\n }\n if (typeof _val !== 'undefined') {\n if (_val < _.min) _val = _.min;\n if (_val > _.max) _val = _.max;\n }\n props.onChange?.(_val);\n }\n\n function mouseMove(e: { movementX: number; movementY: number }) {\n const { movementX, movementY } = e;\n const _val = _.value;\n const val = typeof _val === 'number' && !isNaN(_val) ? _val : Number(_val) || 0;\n\n change(Number(Number(val + (movementX - movementY) * _.step).toFixed(_.precision)));\n }\n\n createEffect(() => {\n if (move()) {\n document.body.addEventListener('mousemove', mouseMove, {\n passive: passiveSupported,\n });\n document.body.addEventListener('mouseup', mouseUp, {\n passive: passiveSupported,\n });\n }\n onCleanup(() => {\n document.body.removeEventListener('mousemove', mouseMove, false);\n document.body.removeEventListener('mouseup', mouseUp, passiveSupported);\n });\n });\n\n return (\n <Input\n {...(_ as InputProps)}\n class={cx('number', props.class)}\n onChange={change}\n css={style + (props.css || '')}\n />\n );\n}\n\ncustomElement<InputNumberProps>(\n 'n-input-number',\n {\n ...defaultInportProps,\n defaultValue: void 0,\n max: void 0,\n min: void 0,\n onChange: void 0,\n step: void 0,\n precision: void 0,\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n onChange(val?: number | string) {\n el.value = val;\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: val,\n }),\n );\n },\n },\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['css']);\n });\n return (\n <>\n <style textContent={inline} />\n <InputNumber {...props} />\n </>\n );\n },\n);\n\nexport default InputNumber;\n"],"names":["createEffect","createSignal","mergeProps","onCleanup","passiveSupported","css","cx","customElement","clearAttribute","Input","defaultInportProps","inline","style","InputNumber","props","move","setMove","mouseUp","_","size","value","defaultValue","type","onKeyDown","e","key","mouseMove","movementX","movementY","onMouseDown","stopPropagation","step","precision","max","Number","MAX_SAFE_INTEGER","min","MIN_SAFE_INTEGER","change","val","_val","parseFloat","isNaN","onChange","toFixed","document","body","addEventListener","passive","removeEventListener","class","opt","el","element","dispatchEvent","CustomEvent","detail"],"mappings":"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"}
package/es/katex/index.js CHANGED
@@ -1,2 +1 @@
1
- export{};
2
- //# sourceMappingURL=index.js.map
1
+ export{};
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/katex/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":[],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare function katexBlock(code: string): string;
2
+ export declare function katexInline(code: string): string;
3
+ export declare function image(lazyPicture?: boolean, pictureViewer?: boolean): (src: string, title: string, alt: string) => string;
4
+ export declare function code(langToolbar?: string[] | null): (sourcecode: string, lang: string) => string;
@@ -0,0 +1 @@
1
+ export function katexBlock(e){return`<n-katex display-mode="true">${e}</n-katex>`}export function katexInline(e){return`<n-katex>${e}</n-katex>`}export function image(e,n){return function(t,o,r){return`<n-img lazy="${e}" disabled="${!n}" role="img" src="${t}" alt="${r}" ${o?`title="${o}"`:""}></n-img>`}}export function code(e){return function(n,t){return"treeview"===t?`<n-tree data="${n}" />`:`<n-code class="n-code" toolbar="${e&&!!e.length}" language="${t}">${/<[^>]+>/.test(n)?encodeURIComponent(n):n}</n-code>`}}
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/md/common.ts"],"sourcesContent":["export function katexBlock(code: string) {\n return `<n-katex display-mode=\"true\">${code}</n-katex>`;\n}\nexport function katexInline(code: string) {\n return `<n-katex>${code}</n-katex>`;\n}\nexport function image(lazyPicture?: boolean, pictureViewer?: boolean) {\n return function (src: string, title: string, alt: string) {\n return `<n-img lazy=\"${lazyPicture}\" disabled=\"${!pictureViewer}\" role=\"img\" src=\"${src}\" alt=\"${alt}\" ${title ? `title=\"${title}\"` : ''}></n-img>`;\n };\n}\nexport function code(langToolbar?: string[] | null) {\n return function (sourcecode: string, lang: string) {\n if (lang === 'treeview') {\n return `<n-tree data=\"${sourcecode}\" />`;\n }\n const needEndod = /<[^>]+>/;\n\n return `<n-code class=\"n-code\" toolbar=\"${langToolbar && !!langToolbar.length}\" language=\"${lang}\">${needEndod.test(sourcecode) ? encodeURIComponent(sourcecode) : sourcecode}</n-code>`;\n };\n}\n"],"names":["katexBlock","code","katexInline","image","lazyPicture","pictureViewer","src","title","alt","langToolbar","sourcecode","lang","length","needEndod","test","encodeURIComponent"],"mappings":"AAAA,OAAO,SAASA,WAAWC,CAAY,EACrC,MAAO,CAAC,6BAA6B,EAAEA,EAAK,UAAU,CAAC,AACzD,CACA,OAAO,SAASC,YAAYD,CAAY,EACtC,MAAO,CAAC,SAAS,EAAEA,EAAK,UAAU,CAAC,AACrC,CACA,OAAO,SAASE,MAAMC,CAAqB,CAAEC,CAAuB,EAClE,OAAO,SAAUC,CAAW,CAAEC,CAAa,CAAEC,CAAW,EACtD,MAAO,CAAC,aAAa,EAAEJ,EAAY,YAAY,EAAE,CAACC,EAAc,kBAAkB,EAAEC,EAAI,OAAO,EAAEE,EAAI,EAAE,EAAED,EAAQ,CAAC,OAAO,EAAEA,EAAM,CAAC,CAAC,CAAG,GAAG,SAAS,CAAC,AACrJ,CACF,CACA,OAAO,SAASN,KAAKQ,CAA6B,EAChD,OAAO,SAAUC,CAAkB,CAAEC,CAAY,QAC/C,AAAIA,AAAS,aAATA,EACK,CAAC,cAAc,EAAED,EAAW,IAAI,CAAC,CAInC,CAAC,gCAAgC,EAAED,GAAe,CAAC,CAACA,EAAYG,MAAM,CAAC,YAAY,EAAED,EAAK,EAAE,EAAEE,AAFnF,UAE6FC,IAAI,CAACJ,GAAcK,mBAAmBL,GAAcA,EAAW,SAAS,CAAC,AAC1L,CACF"}
package/es/md/index.d.ts CHANGED
@@ -34,6 +34,7 @@ export interface MdProps {
34
34
  children?: JSX.Element;
35
35
  /**
36
36
  * 使用 web worker
37
+ * @default true
37
38
  */
38
39
  webWorker?: boolean;
39
40
  }
package/es/md/index.js CHANGED
@@ -1,2 +1 @@
1
- function e(e,t,r,o,n,i,l){try{var a=e[i](l),s=a.value}catch(e){r(e);return}a.done?t(s):Promise.resolve(s).then(o,n)}function t(){return(t=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}import{use as r}from"solid-js/web";import{template as o}from"solid-js/web";import"solid-js/web";import{insert as n}from"solid-js/web";import{effect as i}from"solid-js/web";import{createComponent as l}from"solid-js/web";import{className as a}from"solid-js/web";let s=o("<style> "),c=o("<style>"),d=o('<article class="n-md-box" part="box"><div class="n-md-body" part="body">'),u=o('<article part="box">');import{createEffect as m,For as f,Match as h,mergeProps as p,onCleanup as v,Show as g,Switch as b}from"solid-js";import w from"@moneko/common/lib/frameCallback";import{css as x,cx as y}from"@moneko/css";import{customElement as k}from"solid-element";import{clearAttribute as C}from"../basic-config";import j from"../md-style";import E,{block as P}from"../theme";import"../code";import"../img";function $(o){let k,C;let{baseStyle:P}=E,$=p({webWorker:!1,pictureViewer:!0,lazyPicture:!0,text:"",tools:["copy"],getAnchorContainer:()=>window},o);function L(){return new Worker("https://cdn.jsdelivr.net/npm/neko-ui@latest/es/md/worker.js")}let O=$.webWorker?L():void 0;function z(e){C&&(C.innerHTML=e.data)}function A(){var r;return r=function*(e){let{text:r,pictureViewer:o,lazyPicture:n,langToolbar:i}=e,l=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(r=i[o])>=0||(n[r]=e[r]);return n}(e,["text","pictureViewer","lazyPicture","langToolbar"]),a=(yield import("marked-completed")).default;k||((k=new a.Renderer).katexBlock=e=>`<n-katex display-mode="true">${e}</n-katex>`,k.katexInline=e=>`<n-katex>${e}</n-katex>`),k.image=(e,t,r)=>`<n-img lazy="${n}" disabled="${!o}" role="img" src="${e}" alt="${r}" ${t?`title="${t}"`:""}></n-img>`;let s=!!(null==i?void 0:i.length);k.code=function(e,t){return"treeview"===t?`<n-tree data="${e}" />`:`<n-code class="n-code" toolbar="${s}" language="${t}">${e}</n-code>`},z({data:a(r,t({renderer:k,langToolbar:i,headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0},l))})},(A=function(){var t=this,o=arguments;return new Promise(function(n,i){var l=r.apply(t,o);function a(t){e(l,n,i,a,s,"next",t)}function s(t){e(l,n,i,a,s,"throw",t)}a(void 0)})}).apply(this,arguments)}m(()=>{$.webWorker&&(O||(O=L()),O.addEventListener("message",z))}),m(()=>{O?O.postMessage(JSON.stringify({text:$.text,langToolbar:$.tools,pictureViewer:$.pictureViewer,lazyPicture:$.lazyPicture})):w(()=>(function(e){return A.apply(this,arguments)})({text:$.text,langToolbar:$.tools,pictureViewer:$.pictureViewer,lazyPicture:$.lazyPicture}))}),v(()=>{O&&(O.removeEventListener("message",z),O.terminate())});let T=[],V=[],W=[];function I(e){e.preventDefault(),e.stopPropagation();let t=e.target;if(t.hash){var r;null==C||null==(r=C.querySelector(decodeURIComponent(t.hash)))||r.scrollIntoView({behavior:"smooth",block:"nearest"}),T.forEach(e=>{e.classList.remove("active")}),t.classList.add("active")}else window.open(t.href)}function S(e){e.forEach(e=>{let t;let r=e.target.getAttribute("id"),o=e.target.querySelectorAll("a");if(T.forEach(e=>{e.hash===`#${r}`?t=e:e.hash||o.forEach(r=>{r.href===e.href&&(t=e)})}),t){let r=W.indexOf(t);if(W.forEach(e=>{e.classList.remove("active")}),e.isIntersecting?W.push(t):-1!==r&&W.splice(r,1),W[0]){var n;W[0].classList.add("active"),null==(n=W[0].offsetParent)||n.scrollTo({top:W[0].offsetTop})}}})}return m(()=>{let e;C&&$.text.startsWith("[TOC]")&&(T=[...C.querySelectorAll(".n-md-toc a[href]")],V=[...C.querySelectorAll("h1, h2, h3, h4, h5, h6")],e=new IntersectionObserver(S,{rootMargin:"-50px 0px",threshold:.5}),V.forEach(t=>{e.observe(t)}),T.forEach(e=>{e.addEventListener("click",I)})),v(()=>{e&&(V.forEach(t=>{e.unobserve(t)}),e.disconnect()),T.forEach(e=>{e.removeEventListener("click",I)})})}),[(()=>{let e=s(),t=e.firstChild;return i(()=>t.data=P()),e})(),(()=>{let e=c();return e.textContent=j,e})(),l(g,{get when(){return $.css},get children(){let e=s(),t=e.firstChild;return i(()=>t.data=x($.css)),e}}),l(b,{get children(){return[l(h,{get when(){return($.children||[]).length>0},get children(){let e=d();return n(e.firstChild,l(f,{get each(){return $.children},children:e=>e})),e}}),l(h,{get when(){return $.text},get children(){let e=u(),t=C;return"function"==typeof t?r(t,e):C=e,i(()=>a(e,y("n-md-box",$.class))),e}})]}})]}k("n-md",{class:void 0,pictureViewer:void 0,lazyPicture:void 0,text:void 0,tools:void 0,getAnchorContainer:void 0,css:void 0,children:void 0,notRender:void 0,webWorker:void 0},(e,t)=>{let r=t.element,o=p({text:!e.notRender&&r.textContent||r.text,css:r.css,tools:r.tools,getAnchorContainer:r.getAnchorContainer},e);return m(()=>{C(r,["css","text"]),r.replaceChildren()}),[(()=>{let e=c();return e.textContent=P,e})(),l($,o)]});export default $;
2
- //# sourceMappingURL=index.js.map
1
+ function e(e,t,r,o,n,i,l){try{var s=e[i](l),a=s.value}catch(e){r(e);return}s.done?t(a):Promise.resolve(a).then(o,n)}function t(t){return function(){var r=this,o=arguments;return new Promise(function(n,i){var l=t.apply(r,o);function s(t){e(l,n,i,s,a,"next",t)}function a(t){e(l,n,i,s,a,"throw",t)}s(void 0)})}}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(e[o]=r[o])}return e}).apply(this,arguments)}import{use as o}from"solid-js/web";import{template as n}from"solid-js/web";import"solid-js/web";import{insert as i}from"solid-js/web";import{effect as l}from"solid-js/web";import{createComponent as s}from"solid-js/web";import{className as a}from"solid-js/web";let c=n("<style> "),d=n("<style>"),f=n('<article class="n-md-box" part="box"><div class="n-md-body" part="body">'),u=n('<article part="box">');import{createEffect as m,createResource as h,For as p,Match as v,mergeProps as b,onCleanup as w,Show as g,Switch as y}from"solid-js";import x from"@moneko/common/lib/frameCallback";import{css as k,cx as C}from"@moneko/css";import{customElement as P}from"solid-element";import{clearAttribute as E}from"../basic-config";import j from"../md-style";import L,{block as A}from"../theme";import{code as O,image as T,katexBlock as V,katexInline as z}from"./common";import{create as W,dispose as I}from"./worker";import"../code";import"../img";function q(e){let n,P;let{baseStyle:E}=L,A=b({webWorker:!1,pictureViewer:!0,lazyPicture:!0,text:"",tools:["copy"],getAnchorContainer:()=>window},e);function q(e){return R.apply(this,arguments)}function R(){return(R=t(function*(e){return e?new Worker((yield W())):Promise.resolve(void 0)})).apply(this,arguments)}let[S,{mutate:M}]=h(!1,q);function B(e){P&&(P.innerHTML=e.data)}function D(){return(D=t(function*(e){let{text:t,lazyPicture:o,pictureViewer:i,langToolbar:l}=e,s=function(e,t){if(null==e)return{};var r,o,n={},i=Object.keys(e);for(o=0;o<i.length;o++)t.indexOf(r=i[o])>=0||(n[r]=e[r]);return n}(e,["text","lazyPicture","pictureViewer","langToolbar"]),a=(yield import("marked-completed")).default;n||((n=new a.Renderer).katexBlock=V,n.katexInline=z),n.image=T(o,i),n.code=O(l),B({data:a(t,r({renderer:n,langToolbar:l,headerPrefix:"# ",breaks:!0,pedantic:!1,smartLists:!0,smartypants:!0,xhtml:!0},s))})})).apply(this,arguments)}m(()=>{q(A.webWorker).then(e=>{e&&e.addEventListener("message",B),M(e)})}),m(()=>{if(A.webWorker){let e=S();e&&e.postMessage({text:A.text,langToolbar:A.tools,pictureViewer:A.pictureViewer,lazyPicture:A.lazyPicture})}else x(()=>(function(e){return D.apply(this,arguments)})({text:A.text,langToolbar:A.tools,pictureViewer:A.pictureViewer,lazyPicture:A.lazyPicture}))}),w(()=>{if(A.webWorker){let e=S();e&&(e.removeEventListener("message",B),e.terminate()),I()}});let H=[],N=[],U=[];function $(e){e.preventDefault(),e.stopPropagation();let t=e.target;if(t.hash){var r;null==P||null==(r=P.querySelector(decodeURIComponent(t.hash)))||r.scrollIntoView({behavior:"smooth",block:"nearest"}),H.forEach(e=>{e.classList.remove("active")}),t.classList.add("active")}else window.open(t.href)}function F(e){e.forEach(e=>{let t;let r=e.target.getAttribute("id"),o=e.target.querySelectorAll("a");if(H.forEach(e=>{e.hash===`#${r}`?t=e:e.hash||o.forEach(r=>{r.href===e.href&&(t=e)})}),t){let r=U.indexOf(t);if(U.forEach(e=>{e.classList.remove("active")}),e.isIntersecting?U.push(t):-1!==r&&U.splice(r,1),U[0]){var n;U[0].classList.add("active"),null==(n=U[0].offsetParent)||n.scrollTo({top:U[0].offsetTop})}}})}return m(()=>{let e;P&&A.text.startsWith("[TOC]")&&(H=[...P.querySelectorAll(".n-md-toc a[href]")],N=[...P.querySelectorAll("h1, h2, h3, h4, h5, h6")],e=new IntersectionObserver(F,{rootMargin:"-50px 0px",threshold:.5}),N.forEach(t=>{e.observe(t)}),H.forEach(e=>{e.addEventListener("click",$)})),w(()=>{e&&(N.forEach(t=>{e.unobserve(t)}),e.disconnect()),H.forEach(e=>{e.removeEventListener("click",$)})})}),[(()=>{let e=c(),t=e.firstChild;return l(()=>t.data=E()),e})(),(()=>{let e=d();return e.textContent=j,e})(),s(g,{get when(){return A.css},get children(){let e=c(),t=e.firstChild;return l(()=>t.data=k(A.css)),e}}),s(y,{get children(){return[s(v,{get when(){return(A.children||[]).length>0},get children(){let e=f();return i(e.firstChild,s(p,{get each(){return A.children},children:e=>e})),e}}),s(v,{get when(){return A.text},get children(){let e=u(),t=P;return"function"==typeof t?o(t,e):P=e,l(()=>a(e,C("n-md-box",A.class))),e}})]}})]}P("n-md",{class:void 0,pictureViewer:void 0,lazyPicture:void 0,text:void 0,tools:void 0,getAnchorContainer:void 0,css:void 0,children:void 0,notRender:void 0,webWorker:!0},(e,t)=>{let r=t.element,o=b({text:!e.notRender&&r.textContent||r.text,css:r.css,tools:r.tools,getAnchorContainer:r.getAnchorContainer},e);return m(()=>{E(r,["css","text"]),r.replaceChildren()}),[(()=>{let e=d();return e.textContent=A,e})(),s(q,o)]});export default q;