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
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return m}});const e=require("solid-js/web"),t=require("solid-js"),n=i(require("./date")),r=i(require("./dayjs")),a=i(require("./month")),o=i(require("./time")),c=i(require("./year"));function i(e){return e&&e.__esModule?e:{default:e}}const s=(0,e.template)(`<n-button class="prev-month" type="primary">〈`,!0,!1),u=(0,e.template)("<n-button><strong>",!0,!1),l=(0,e.template)(`<n-button class="next-month" type="primary">〉`,!0,!1),h=(0,e.template)(`<section class="date-picker-header"><span class="date-prev"><n-button class="prev-year" type="primary">《</n-button></span><span class="date-value"><n-button><strong></strong></n-button></span><span class="date-next"><n-button class="next-year" type="primary">》`,!0,!1),d=(0,e.template)('<section class="date-picker-weeks">'),g=(0,e.template)(`<section class="date-picker-footer"><n-button type="primary">今日`,!0,!1),p=(0,e.template)('<div class="date-time-picker"><div class="date-picker"><section class="date-picker-items">'),w=(0,e.template)("<span>"),m=function(i){let m;let[f,C]=(0,t.createSignal)(0),[y,$]=(0,t.createSignal)("date"),v=r.default.weekdaysMin(),b=(0,t.createMemo)(()=>"date"===y()),k=(0,t.createMemo)(()=>10*parseInt(`${i.current.get("years")/10+f()}`));function _(e){i.open&&(e.stopPropagation(),e.preventDefault())}function S(){"year"===y()?C(e=>e-1):i.onChange(i.current.subtract(1,"year"))}function M(){"year"===y()?C(e=>e+1):i.onChange(i.current.subtract(-1,"year"))}function O(){i.onChange(i.current.subtract(1,"month"))}function E(){i.onChange(i.current.subtract(-1,"month"))}function q(e){i.onChange(e),y()===i.type?i.openChange(!1):$(i.type)}return(0,t.createEffect)(()=>{"year"!==y()&&C(e=>e?0:e)}),(0,t.createEffect)(()=>{i.type&&$(i.type)}),(()=>{let f=p(),C=f.firstChild,x=m,L=C.firstChild;return(0,e.addEventListener)(C,"mousedown",_,!0),"function"==typeof x?(0,e.use)(x,C):m=C,(0,e.insert)(C,(0,e.createComponent)(t.Show,{get when(){return i.showHeader},get children(){let n=h(),r=n.firstChild,a=r.firstChild,o=r.nextSibling,c=o.firstChild,d=c.firstChild,g=o.nextSibling,p=g.firstChild;return(0,e.addEventListener)(a,"click",S,!0),a.circle=!0,a.flat=!0,a._$owner=(0,e.getOwner)(),(0,e.insert)(r,(0,e.createComponent)(t.Show,{get when(){return b()},get children(){let t=s();return(0,e.addEventListener)(t,"click",O,!0),t.circle=!0,t.flat=!0,t._$owner=(0,e.getOwner)(),t}}),null),c.$$click=()=>$("year"),c.ghost=!0,c.flat=!0,c._$owner=(0,e.getOwner)(),(0,e.insert)(d,(0,e.createComponent)(t.Show,{get when(){return"year"===y()},get fallback(){return`${i.current.get("years")}年`},get children(){return`${k()}-${k()+9}年`}})),(0,e.insert)(o,(0,e.createComponent)(t.Show,{get when(){return b()},get children(){let t=u(),n=t.firstChild;return t.$$click=()=>$("month"),t.ghost=!0,t.flat=!0,t._$owner=(0,e.getOwner)(),(0,e.insert)(n,()=>`${i.current.get("months")+1}月`),t}}),null),(0,e.insert)(g,(0,e.createComponent)(t.Show,{get when(){return b()},get children(){let t=l();return(0,e.addEventListener)(t,"click",E,!0),t.circle=!0,t.flat=!0,t._$owner=(0,e.getOwner)(),t}}),p),(0,e.addEventListener)(p,"click",M,!0),p.circle=!0,p.flat=!0,p._$owner=(0,e.getOwner)(),(0,e.effect)(e=>{let t=!b(),n=!b();return t!==e._v$&&r.classList.toggle("not-date",e._v$=t),n!==e._v$2&&g.classList.toggle("not-date",e._v$2=n),e},{_v$:void 0,_v$2:void 0}),n}}),L),(0,e.insert)(C,(0,e.createComponent)(t.Show,{get when(){return b()},get children(){let n=d();return(0,e.insert)(n,(0,e.createComponent)(t.For,{each:v,children:t=>(()=>{let n=w();return(0,e.insert)(n,t),n})()})),n}}),L),(0,e.insert)(L,(0,e.createComponent)(t.Switch,{get children(){return[(0,e.createComponent)(t.Match,{get when(){return b()},get children(){return(0,e.createComponent)(n.default,{get current(){return i.current},onChange:q})}}),(0,e.createComponent)(t.Match,{get when(){return"month"===y()},get children(){return(0,e.createComponent)(a.default,{get current(){return i.current},onChange:q})}}),(0,e.createComponent)(t.Match,{get when(){return"year"===y()},get children(){return(0,e.createComponent)(c.default,{get current(){return i.current},onChange:q,get start(){return k()}})}})]}})),(0,e.insert)(C,(0,e.createComponent)(t.Show,{get when(){return b()&&i.showToday},get children(){let t=g(),n=t.firstChild;return n.$$click=()=>{i.onChange((0,r.default)())},n.block=!0,n.link=!0,n._$owner=(0,e.getOwner)(),t}}),null),(0,e.insert)(f,(0,e.createComponent)(t.Show,{get when(){return b()&&i.showTime},get children(){return(0,e.createComponent)(o.default,{get current(){return i.current},get onChange(){return i.onChange},get showHour(){return i.showHour},get showMinute(){return i.showMinute},get showSecond(){return i.showSecond},datePicker:m})}}),null),f})()};(0,e.delegateEvents)(["click","mousedown"]);
2
- //# sourceMappingURL=panel.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return C}});const e=require("solid-js/web"),t=require("solid-js"),n=i(require("./date")),r=i(require("./dayjs")),o=i(require("./month")),a=i(require("./time")),c=i(require("./year"));function i(e){return e&&e.__esModule?e:{default:e}}const s=(0,e.template)(`<n-button class="prev-month" type="primary">〈`,!0,!1),u=(0,e.template)("<n-button><strong>",!0,!1),l=(0,e.template)(`<n-button class="next-month" type="primary">〉`,!0,!1),h=(0,e.template)(`<section class="date-picker-header"><span class="date-prev"><n-button class="prev-year" type="primary">《</n-button></span><span class="date-value"><n-button><strong></strong></n-button></span><span class="date-next"><n-button class="next-year" type="primary">》`,!0,!1),d=(0,e.template)('<section class="date-picker-weeks">'),g=(0,e.template)(`<section class="date-picker-footer"><n-button type="primary">今日`,!0,!1),p=(0,e.template)('<div class="date-time-picker"><div class="date-picker"><section class="date-picker-items">'),w=(0,e.template)("<span>");function m(e){e.stopPropagation(),e.preventDefault()}function f(i){let f;let[C,y]=(0,t.createSignal)(0),[$,v]=(0,t.createSignal)("date"),b=r.default.weekdaysMin(),k=(0,t.createMemo)(()=>"date"===$()),_=(0,t.createMemo)(()=>10*parseInt(`${i.current.get("years")/10+C()}`));function S(e){i.open&&m(e)}function M(){"year"===$()?y(e=>e-1):i.onChange(i.current.subtract(1,"year"))}function O(){"year"===$()?y(e=>e+1):i.onChange(i.current.subtract(-1,"year"))}function E(){i.onChange(i.current.subtract(1,"month"))}function q(){i.onChange(i.current.subtract(-1,"month"))}function x(e){i.onChange(e),$()===i.type?i.openChange(!1):v(i.type)}return(0,t.createEffect)(()=>{"year"!==$()&&y(e=>e?0:e)}),(0,t.createEffect)(()=>{i.type&&v(i.type)}),(()=>{let m=p(),C=m.firstChild,y=f,L=C.firstChild;return(0,e.addEventListener)(C,"mousedown",S,!0),"function"==typeof y?(0,e.use)(y,C):f=C,(0,e.insert)(C,(0,e.createComponent)(t.Show,{get when(){return i.showHeader},get children(){let n=h(),r=n.firstChild,o=r.firstChild,a=r.nextSibling,c=a.firstChild,d=c.firstChild,g=a.nextSibling,p=g.firstChild;return(0,e.addEventListener)(o,"click",M,!0),o.circle=!0,o.flat=!0,o._$owner=(0,e.getOwner)(),(0,e.insert)(r,(0,e.createComponent)(t.Show,{get when(){return k()},get children(){let t=s();return(0,e.addEventListener)(t,"click",E,!0),t.circle=!0,t.flat=!0,t._$owner=(0,e.getOwner)(),t}}),null),c.$$click=()=>v("year"),c.ghost=!0,c.flat=!0,c._$owner=(0,e.getOwner)(),(0,e.insert)(d,(0,e.createComponent)(t.Show,{get when(){return"year"===$()},get fallback(){return`${i.current.get("years")}年`},get children(){return`${_()}-${_()+9}年`}})),(0,e.insert)(a,(0,e.createComponent)(t.Show,{get when(){return k()},get children(){let t=u(),n=t.firstChild;return t.$$click=()=>v("month"),t.ghost=!0,t.flat=!0,t._$owner=(0,e.getOwner)(),(0,e.insert)(n,()=>`${i.current.get("months")+1}月`),t}}),null),(0,e.insert)(g,(0,e.createComponent)(t.Show,{get when(){return k()},get children(){let t=l();return(0,e.addEventListener)(t,"click",q,!0),t.circle=!0,t.flat=!0,t._$owner=(0,e.getOwner)(),t}}),p),(0,e.addEventListener)(p,"click",O,!0),p.circle=!0,p.flat=!0,p._$owner=(0,e.getOwner)(),(0,e.effect)(e=>{let t=!k(),n=!k();return t!==e._v$&&r.classList.toggle("not-date",e._v$=t),n!==e._v$2&&g.classList.toggle("not-date",e._v$2=n),e},{_v$:void 0,_v$2:void 0}),n}}),L),(0,e.insert)(C,(0,e.createComponent)(t.Show,{get when(){return k()},get children(){let n=d();return(0,e.insert)(n,(0,e.createComponent)(t.For,{each:b,children:t=>(()=>{let n=w();return(0,e.insert)(n,t),n})()})),n}}),L),(0,e.insert)(L,(0,e.createComponent)(t.Switch,{get children(){return[(0,e.createComponent)(t.Match,{get when(){return k()},get children(){return(0,e.createComponent)(n.default,{get current(){return i.current},onChange:x})}}),(0,e.createComponent)(t.Match,{get when(){return"month"===$()},get children(){return(0,e.createComponent)(o.default,{get current(){return i.current},onChange:x})}}),(0,e.createComponent)(t.Match,{get when(){return"year"===$()},get children(){return(0,e.createComponent)(c.default,{get current(){return i.current},onChange:x,get start(){return _()}})}})]}})),(0,e.insert)(C,(0,e.createComponent)(t.Show,{get when(){return k()&&i.showToday},get children(){let t=g(),n=t.firstChild;return n.$$click=()=>{i.onChange((0,r.default)())},n.block=!0,n.link=!0,n._$owner=(0,e.getOwner)(),t}}),null),(0,e.insert)(m,(0,e.createComponent)(t.Show,{get when(){return k()&&i.showTime},get children(){return(0,e.createComponent)(a.default,{get current(){return i.current},get onChange(){return i.onChange},get showHour(){return i.showHour},get showMinute(){return i.showMinute},get showSecond(){return i.showSecond},datePicker:f})}}),null),m})()}const C=f;(0,e.delegateEvents)(["click","mousedown"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/date-picker/panel.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, For, Match, Show, Switch } from 'solid-js';\n\nimport type { DatePickerProps } from '.';\nimport DatePanel from './date';\nimport dayjs from './dayjs';\nimport MonthPanel from './month';\nimport TimePicker from './time';\nimport YearPanel from './year';\n\ninterface PanelProps {\n current: dayjs.Dayjs;\n type?: DatePickerProps['type'];\n onChange(val: dayjs.Dayjs): void;\n open: boolean | null;\n openChange(val: boolean | null): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n showTime?: boolean;\n showToday?: boolean;\n showHeader?: boolean;\n}\n\nfunction preventDefault(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nfunction Panel(props: PanelProps) {\n let datePicker: HTMLDivElement | undefined;\n const [offset, setOffset] = createSignal(0);\n const [type, setType] = createSignal<DatePickerProps['type']>('date');\n\n const weekdays = dayjs.weekdaysMin();\n const isDate = createMemo(() => type() === 'date');\n const startYear = createMemo(\n () => parseInt(`${props.current.get('years') / 10 + offset()}`) * 10,\n );\n\n function handleMouseDown(e: MouseEvent) {\n if (props.open) {\n preventDefault(e);\n }\n }\n function setPrevYear() {\n if (type() === 'year') {\n setOffset((prev) => prev - 1);\n } else {\n props.onChange(props.current.subtract(1, 'year'));\n }\n }\n function setNextYear() {\n if (type() === 'year') {\n setOffset((prev) => prev + 1);\n } else {\n props.onChange(props.current.subtract(-1, 'year'));\n }\n }\n function setPrevMonth() {\n props.onChange(props.current.subtract(1, 'month'));\n }\n function setNextMonth() {\n props.onChange(props.current.subtract(-1, 'month'));\n }\n function handleChange(next: dayjs.Dayjs) {\n props.onChange(next);\n if (type() === props.type) {\n props.openChange(false);\n } else {\n setType(props.type);\n }\n }\n createEffect(() => {\n if (type() !== 'year') {\n setOffset((prev) => {\n if (prev) return 0;\n return prev;\n });\n }\n });\n\n createEffect(() => {\n if (props.type) {\n setType(props.type);\n }\n });\n return (\n <div class=\"date-time-picker\">\n <div ref={datePicker} class=\"date-picker\" onMouseDown={handleMouseDown}>\n <Show when={props.showHeader}>\n <section class=\"date-picker-header\">\n <span\n class=\"date-prev\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <n-button\n class=\"prev-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevYear}\n >\n 《\n </n-button>\n <Show when={isDate()}>\n <n-button\n class=\"prev-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevMonth}\n >\n 〈\n </n-button>\n </Show>\n </span>\n <span class=\"date-value\">\n <n-button ghost={true} flat={true} onClick={() => setType('year')}>\n <strong>\n <Show when={type() === 'year'} fallback={`${props.current.get('years')}年`}>\n {`${startYear()}-${startYear() + 9}年`}\n </Show>\n </strong>\n </n-button>\n <Show when={isDate()}>\n <n-button ghost={true} flat={true} onClick={() => setType('month')}>\n <strong>{`${props.current.get('months') + 1}月`}</strong>\n </n-button>\n </Show>\n </span>\n <span\n class=\"date-next\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <Show when={isDate()}>\n <n-button\n class=\"next-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextMonth}\n >\n 〉\n </n-button>\n </Show>\n <n-button\n class=\"next-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextYear}\n >\n 》\n </n-button>\n </span>\n </section>\n </Show>\n <Show when={isDate()}>\n <section class=\"date-picker-weeks\">\n <For each={weekdays}>{(e) => <span>{e}</span>}</For>\n </section>\n </Show>\n <section class=\"date-picker-items\">\n <Switch>\n <Match when={isDate()}>\n <DatePanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'month'}>\n <MonthPanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'year'}>\n <YearPanel current={props.current} onChange={handleChange} start={startYear()} />\n </Match>\n </Switch>\n </section>\n <Show when={isDate() && props.showToday}>\n <section class=\"date-picker-footer\">\n <n-button\n type=\"primary\"\n block={true}\n link={true}\n onClick={() => {\n props.onChange(dayjs());\n }}\n >\n 今日\n </n-button>\n </section>\n </Show>\n </div>\n <Show when={isDate() && props.showTime}>\n <TimePicker\n current={props.current}\n onChange={props.onChange}\n showHour={props.showHour}\n showMinute={props.showMinute}\n showSecond={props.showSecond}\n datePicker={datePicker}\n />\n </Show>\n </div>\n );\n}\n\nexport default Panel;\n"],"names":["props","datePicker","offset","setOffset","createSignal","type","setType","weekdays","dayjs","weekdaysMin","isDate","createMemo","startYear","parseInt","current","get","handleMouseDown","e","open","stopPropagation","preventDefault","setPrevYear","prev","onChange","subtract","setNextYear","setPrevMonth","setNextMonth","handleChange","next","openChange","createEffect","Show","showHeader","For","Switch","Match","DatePanel","MonthPanel","YearPanel","showToday","showTime","TimePicker","showHour","showMinute","showSecond"],"mappings":"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"}
1
+ {"version":3,"sources":["components/date-picker/panel.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, For, Match, Show, Switch } from 'solid-js';\n\nimport type { DatePickerProps } from '.';\nimport DatePanel from './date';\nimport dayjs from './dayjs';\nimport MonthPanel from './month';\nimport TimePicker from './time';\nimport YearPanel from './year';\n\ninterface PanelProps {\n current: dayjs.Dayjs;\n type?: DatePickerProps['type'];\n onChange(val: dayjs.Dayjs): void;\n open: boolean | null;\n openChange(val: boolean | null): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n showTime?: boolean;\n showToday?: boolean;\n showHeader?: boolean;\n}\n\nfunction preventDefault(e: Event) {\n e.stopPropagation();\n e.preventDefault();\n}\n\nfunction Panel(props: PanelProps) {\n let datePicker: HTMLDivElement | undefined;\n const [offset, setOffset] = createSignal(0);\n const [type, setType] = createSignal<DatePickerProps['type']>('date');\n\n const weekdays = dayjs.weekdaysMin();\n const isDate = createMemo(() => type() === 'date');\n const startYear = createMemo(\n () => parseInt(`${props.current.get('years') / 10 + offset()}`) * 10,\n );\n\n function handleMouseDown(e: MouseEvent) {\n if (props.open) {\n preventDefault(e);\n }\n }\n function setPrevYear() {\n if (type() === 'year') {\n setOffset((prev) => prev - 1);\n } else {\n props.onChange(props.current.subtract(1, 'year'));\n }\n }\n function setNextYear() {\n if (type() === 'year') {\n setOffset((prev) => prev + 1);\n } else {\n props.onChange(props.current.subtract(-1, 'year'));\n }\n }\n function setPrevMonth() {\n props.onChange(props.current.subtract(1, 'month'));\n }\n function setNextMonth() {\n props.onChange(props.current.subtract(-1, 'month'));\n }\n function handleChange(next: dayjs.Dayjs) {\n props.onChange(next);\n if (type() === props.type) {\n props.openChange(false);\n } else {\n setType(props.type);\n }\n }\n createEffect(() => {\n if (type() !== 'year') {\n setOffset((prev) => {\n if (prev) return 0;\n return prev;\n });\n }\n });\n\n createEffect(() => {\n if (props.type) {\n setType(props.type);\n }\n });\n return (\n <div class=\"date-time-picker\">\n <div ref={datePicker} class=\"date-picker\" onMouseDown={handleMouseDown}>\n <Show when={props.showHeader}>\n <section class=\"date-picker-header\">\n <span\n class=\"date-prev\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <n-button\n class=\"prev-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevYear}\n >\n 《\n </n-button>\n <Show when={isDate()}>\n <n-button\n class=\"prev-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setPrevMonth}\n >\n 〈\n </n-button>\n </Show>\n </span>\n <span class=\"date-value\">\n <n-button ghost={true} flat={true} onClick={() => setType('year')}>\n <strong>\n <Show when={type() === 'year'} fallback={`${props.current.get('years')}年`}>\n {`${startYear()}-${startYear() + 9}年`}\n </Show>\n </strong>\n </n-button>\n <Show when={isDate()}>\n <n-button ghost={true} flat={true} onClick={() => setType('month')}>\n <strong>{`${props.current.get('months') + 1}月`}</strong>\n </n-button>\n </Show>\n </span>\n <span\n class=\"date-next\"\n classList={{\n 'not-date': !isDate(),\n }}\n >\n <Show when={isDate()}>\n <n-button\n class=\"next-month\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextMonth}\n >\n 〉\n </n-button>\n </Show>\n <n-button\n class=\"next-year\"\n type=\"primary\"\n circle={true}\n flat={true}\n onClick={setNextYear}\n >\n 》\n </n-button>\n </span>\n </section>\n </Show>\n <Show when={isDate()}>\n <section class=\"date-picker-weeks\">\n <For each={weekdays}>{(e) => <span>{e}</span>}</For>\n </section>\n </Show>\n <section class=\"date-picker-items\">\n <Switch>\n <Match when={isDate()}>\n <DatePanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'month'}>\n <MonthPanel current={props.current} onChange={handleChange} />\n </Match>\n <Match when={type() === 'year'}>\n <YearPanel current={props.current} onChange={handleChange} start={startYear()} />\n </Match>\n </Switch>\n </section>\n <Show when={isDate() && props.showToday}>\n <section class=\"date-picker-footer\">\n <n-button\n type=\"primary\"\n block={true}\n link={true}\n onClick={() => {\n props.onChange(dayjs());\n }}\n >\n 今日\n </n-button>\n </section>\n </Show>\n </div>\n <Show when={isDate() && props.showTime}>\n <TimePicker\n current={props.current}\n onChange={props.onChange}\n showHour={props.showHour}\n showMinute={props.showMinute}\n showSecond={props.showSecond}\n datePicker={datePicker}\n />\n </Show>\n </div>\n );\n}\n\nexport default Panel;\n"],"names":["preventDefault","e","stopPropagation","Panel","props","datePicker","offset","setOffset","createSignal","type","setType","weekdays","dayjs","weekdaysMin","isDate","createMemo","startYear","parseInt","current","get","handleMouseDown","open","setPrevYear","prev","onChange","subtract","setNextYear","setPrevMonth","setNextMonth","handleChange","next","openChange","createEffect","Show","showHeader","For","Switch","Match","DatePanel","MonthPanel","YearPanel","showToday","showTime","TimePicker","showHour","showMinute","showSecond"],"mappings":"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"}
@@ -171,5 +171,4 @@
171
171
  background-color: var(--btn-bg);
172
172
  }
173
173
  }
174
- `;
175
- //# sourceMappingURL=style.js.map
174
+ `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/date-picker/style.ts"],"sourcesContent":["import { css } from '@moneko/css';\n\nexport const styles = css`\n .date-time-picker {\n display: flex;\n padding: 0 10px;\n gap: 10px;\n\n n-button:not(.date-picker-month)::part(button) {\n padding: 0;\n }\n\n n-button:not(.date-active)::part(button) {\n &:not(:hover) {\n --btn-color: var(--text-color);\n }\n }\n }\n\n .time-picker {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n &-header {\n text-align: center;\n border-block-end: var(--border-base);\n }\n\n &-items {\n display: flex;\n row-gap: 4px;\n padding-block: 8px;\n flex: 1;\n overflow: hidden;\n }\n\n n-menu {\n max-block-size: 100%;\n overflow-y: auto;\n }\n }\n\n .date-picker {\n display: block;\n inline-size: 220px;\n\n &-header {\n display: flex;\n border-block-end: var(--border-base);\n }\n\n &-weeks {\n display: flex;\n padding-block-start: 8px;\n\n /* opacity: 0.65; */\n color: var(--text-secondary);\n\n span {\n flex: 1;\n text-align: center;\n box-sizing: border-box;\n pointer-events: none;\n }\n }\n\n &-items {\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n padding-block: 8px;\n }\n\n &-month {\n inline-size: calc((100% - 8px) / 3);\n text-align: center;\n }\n\n &-footer {\n border-block-start: var(--border-base);\n }\n\n .date-prev,\n .date-next,\n .date-value {\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--text-secondary);\n }\n\n .date-prev,\n .date-next,\n .prev-day,\n .next-day,\n .date-day {\n text-align: center;\n inline-size: calc(100% / 7);\n }\n\n .date-day:nth-child(7n)::part(button),\n .date-day:nth-child(7n - 6)::part(button),\n .date-opacity::part(button) {\n color: var(--text-secondary);\n }\n\n .date-opacity {\n opacity: 0.3;\n }\n\n .not-date {\n inline-size: calc((100% - 8px) / 3);\n }\n\n .date-value {\n flex: 1;\n }\n\n .date-prev {\n opacity: 0.65;\n\n &:not(.not-date) {\n .prev-year {\n transform: translateX(6px);\n display: inline-block;\n }\n }\n\n .prev-year::part(label) {\n transform: translateX(-20%);\n }\n\n .prev-month {\n transform: translateX(-7px);\n display: inline-block;\n\n &::part(label) {\n transform: translateX(-25%);\n }\n }\n }\n\n .date-next {\n opacity: 0.65;\n\n .next-year {\n transform: translateX(-10px);\n\n &::part(label) {\n transform: translateX(30%);\n }\n }\n\n .next-month::part(label) {\n transform: translateX(25%);\n }\n\n &:not(.not-date) {\n .next-year {\n display: inline-block;\n transform: translateX(-6px);\n }\n\n .next-month {\n display: inline-block;\n transform: translateX(7px);\n }\n }\n }\n\n .date-active::part(button) {\n background-color: var(--btn-bg);\n }\n }\n`;\n"],"names":["styles","css"],"mappings":"kGAEaA,8CAAAA,qBAFO,eAEPA,EAASC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6K1B,CAAC"}
1
+ {"version":3,"sources":["components/date-picker/style.ts"],"sourcesContent":["import { css } from '@moneko/css';\n\nexport const styles = css`\n .date-time-picker {\n display: flex;\n padding: 0 10px;\n gap: 10px;\n\n n-button:not(.date-picker-month)::part(button) {\n padding: 0;\n }\n\n n-button:not(.date-active)::part(button) {\n &:not(:hover) {\n --btn-color: var(--text-color);\n }\n }\n }\n\n .time-picker {\n display: flex;\n flex-direction: column;\n overflow: hidden;\n\n &-header {\n text-align: center;\n border-block-end: var(--border-base);\n }\n\n &-items {\n display: flex;\n row-gap: 4px;\n padding-block: 8px;\n flex: 1;\n overflow: hidden;\n }\n\n n-menu {\n max-block-size: 100%;\n overflow-y: auto;\n }\n }\n\n .date-picker {\n display: block;\n inline-size: 220px;\n\n &-header {\n display: flex;\n border-block-end: var(--border-base);\n }\n\n &-weeks {\n display: flex;\n padding-block-start: 8px;\n\n /* opacity: 0.65; */\n color: var(--text-secondary);\n\n span {\n flex: 1;\n text-align: center;\n box-sizing: border-box;\n pointer-events: none;\n }\n }\n\n &-items {\n display: flex;\n flex-wrap: wrap;\n row-gap: 4px;\n padding-block: 8px;\n }\n\n &-month {\n inline-size: calc((100% - 8px) / 3);\n text-align: center;\n }\n\n &-footer {\n border-block-start: var(--border-base);\n }\n\n .date-prev,\n .date-next,\n .date-value {\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--text-secondary);\n }\n\n .date-prev,\n .date-next,\n .prev-day,\n .next-day,\n .date-day {\n text-align: center;\n inline-size: calc(100% / 7);\n }\n\n .date-day:nth-child(7n)::part(button),\n .date-day:nth-child(7n - 6)::part(button),\n .date-opacity::part(button) {\n color: var(--text-secondary);\n }\n\n .date-opacity {\n opacity: 0.3;\n }\n\n .not-date {\n inline-size: calc((100% - 8px) / 3);\n }\n\n .date-value {\n flex: 1;\n }\n\n .date-prev {\n opacity: 0.65;\n\n &:not(.not-date) {\n .prev-year {\n transform: translateX(6px);\n display: inline-block;\n }\n }\n\n .prev-year::part(label) {\n transform: translateX(-20%);\n }\n\n .prev-month {\n transform: translateX(-7px);\n display: inline-block;\n\n &::part(label) {\n transform: translateX(-25%);\n }\n }\n }\n\n .date-next {\n opacity: 0.65;\n\n .next-year {\n transform: translateX(-10px);\n\n &::part(label) {\n transform: translateX(30%);\n }\n }\n\n .next-month::part(label) {\n transform: translateX(25%);\n }\n\n &:not(.not-date) {\n .next-year {\n display: inline-block;\n transform: translateX(-6px);\n }\n\n .next-month {\n display: inline-block;\n transform: translateX(7px);\n }\n }\n }\n\n .date-active::part(button) {\n background-color: var(--btn-bg);\n }\n }\n`;\n"],"names":["styles","css"],"mappings":"kGAEaA,8CAAAA,qBAFO,eAEPA,EAASC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6K1B,CAAC"}
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{default:function(){return s},hours:function(){return o},minutes:function(){return i}});const e=require("solid-js/web"),t=require("solid-js"),n=(0,e.template)("<n-menu>",!0,!1),r=(0,e.template)('<section class="time-picker"><section class="time-picker-header"><n-button><strong></strong></n-button></section><section class="time-picker-items">',!0,!1),o=Array.from({length:24},(e,t)=>({label:t<10?`0${t}`:t,value:t})),i=Array.from({length:60},(e,t)=>({label:t<10?`0${t}`:t,value:t})),s=function(s){let[l,u]=(0,t.createSignal)("0px");return(0,t.createEffect)(()=>{u(`${s.datePicker?.offsetHeight}px`)}),(()=>{let u=r(),c=u.firstChild,a=c.firstChild,h=a.firstChild,f=c.nextSibling;return a.ghost=!0,a.flat=!0,a._$owner=(0,e.getOwner)(),(0,e.insert)(h,()=>s.current.format("HH:mm:ss")),(0,e.insert)(f,(0,e.createComponent)(t.Show,{get when(){return s.showHour},get children(){let t=n();return t.addEventListener("change",e=>{let t=s.current.set("hour",e.detail[0]);s.onChange(t)}),t.items=o,t._$owner=(0,e.getOwner)(),(0,e.effect)(()=>t.value=s.current.get("hour")),t}}),null),(0,e.insert)(f,(0,e.createComponent)(t.Show,{get when(){return s.showMinute},get children(){let t=n();return t.addEventListener("change",e=>{let t=s.current.set("minute",e.detail[0]);s.onChange(t)}),t.items=i,t._$owner=(0,e.getOwner)(),(0,e.effect)(()=>t.value=s.current.get("minute")),t}}),null),(0,e.insert)(f,(0,e.createComponent)(t.Show,{get when(){return s.showSecond},get children(){let t=n();return t.addEventListener("change",e=>{let t=s.current.set("second",e.detail[0]);s.onChange(t)}),t.items=i,t._$owner=(0,e.getOwner)(),(0,e.effect)(()=>t.value=s.current.get("second")),t}}),null),(0,e.effect)(()=>null!=l()?u.style.setProperty("max-block-size",l()):u.style.removeProperty("max-block-size")),u})()};
2
- //# sourceMappingURL=time.js.map
1
+ "use strict";function e(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}Object.defineProperty(exports,"__esModule",{value:!0}),e(exports,{default:function(){return u},hours:function(){return i},minutes:function(){return s}});const t=require("solid-js/web"),n=require("solid-js"),r=(0,t.template)("<n-menu>",!0,!1),o=(0,t.template)('<section class="time-picker"><section class="time-picker-header"><n-button><strong></strong></n-button></section><section class="time-picker-items">',!0,!1),i=Array.from({length:24},(e,t)=>({label:t<10?`0${t}`:t,value:t})),s=Array.from({length:60},(e,t)=>({label:t<10?`0${t}`:t,value:t}));function l(e){let[l,u]=(0,n.createSignal)("0px");return(0,n.createEffect)(()=>{u(`${e.datePicker?.offsetHeight}px`)}),(()=>{let u=o(),c=u.firstChild,a=c.firstChild,h=a.firstChild,f=c.nextSibling;return a.ghost=!0,a.flat=!0,a._$owner=(0,t.getOwner)(),(0,t.insert)(h,()=>e.current.format("HH:mm:ss")),(0,t.insert)(f,(0,t.createComponent)(n.Show,{get when(){return e.showHour},get children(){let n=r();return n.addEventListener("change",t=>{let n=e.current.set("hour",t.detail[0]);e.onChange(n)}),n.items=i,n._$owner=(0,t.getOwner)(),(0,t.effect)(()=>n.value=e.current.get("hour")),n}}),null),(0,t.insert)(f,(0,t.createComponent)(n.Show,{get when(){return e.showMinute},get children(){let n=r();return n.addEventListener("change",t=>{let n=e.current.set("minute",t.detail[0]);e.onChange(n)}),n.items=s,n._$owner=(0,t.getOwner)(),(0,t.effect)(()=>n.value=e.current.get("minute")),n}}),null),(0,t.insert)(f,(0,t.createComponent)(n.Show,{get when(){return e.showSecond},get children(){let n=r();return n.addEventListener("change",t=>{let n=e.current.set("second",t.detail[0]);e.onChange(n)}),n.items=s,n._$owner=(0,t.getOwner)(),(0,t.effect)(()=>n.value=e.current.get("second")),n}}),null),(0,t.effect)(()=>null!=l()?u.style.setProperty("max-block-size",l()):u.style.removeProperty("max-block-size")),u})()}const u=l;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/date-picker/time.tsx"],"sourcesContent":["import { createEffect, createSignal, Show } from 'solid-js';\n\nimport dayjs from './dayjs';\n\ninterface TimePickerProps {\n current: dayjs.Dayjs;\n datePicker: HTMLDivElement | undefined;\n onChange(next: dayjs.Dayjs): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n}\n\nexport const hours = Array.from({ length: 24 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\nexport const minutes = Array.from({ length: 60 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\n\nfunction TimePicker(props: TimePickerProps) {\n const [hei, setHei] = createSignal('0px');\n\n createEffect(() => {\n setHei(`${props.datePicker?.offsetHeight}px`);\n });\n\n return (\n <section class=\"time-picker\" style={{ 'max-block-size': hei() }}>\n <section class=\"time-picker-header\">\n <n-button ghost={true} flat={true}>\n <strong>{props.current.format('HH:mm:ss')}</strong>\n </n-button>\n </section>\n <section class=\"time-picker-items\">\n <Show when={props.showHour}>\n <n-menu\n items={hours}\n value={props.current.get('hour')}\n onChange={(e) => {\n const next = props.current.set('hour', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showMinute}>\n <n-menu\n items={minutes}\n value={props.current.get('minute')}\n onChange={(e) => {\n const next = props.current.set('minute', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showSecond}>\n <n-menu\n items={minutes}\n value={props.current.get('second')}\n onChange={(e) => {\n const next = props.current.set('second', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n </section>\n </section>\n );\n}\n\nexport default TimePicker;\n"],"names":["hours","minutes","Array","from","length","_","i","label","value","props","hei","setHei","createSignal","createEffect","datePicker","offsetHeight","current","format","Show","showHour","e","next","set","detail","onChange","get","showMinute","showSecond"],"mappings":"+JA2EA,OAA0B,mBAA1B,GA9DaA,KAAK,mBAALA,GAIAC,OAAO,mBAAPA,+CAjBoC,8NAapCD,EAAQE,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CACzDC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GACaL,EAAUC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CAC3DC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GAuDA,EArDA,SAAoBG,CAAsB,EACxC,GAAM,CAACC,EAAKC,EAAO,CAAGC,GAAAA,cAAY,EAAC,OAMnC,MAJAC,GAAAA,cAAY,EAAC,KACXF,EAAO,CAAC,EAAEF,EAAMK,UAAU,EAAEC,aAAa,EAAE,CAAC,CAC9C,+FAKuB,CAAA,SAAY,CAAA,gDAClBN,EAAMO,OAAO,CAACC,MAAM,CAAC,kDAI/BC,MAAI,oBAAOT,EAAMU,QAAQ,8DAIZ,AAACC,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,OAAQF,EAAEG,MAAM,CAAC,EAAE,EAElDd,EAAMe,QAAQ,CAACH,EACjB,WANOrB,sDACAS,EAAMO,OAAO,CAACS,GAAG,CAAC,yDAQ5BP,MAAI,oBAAOT,EAAMiB,UAAU,8DAId,AAACN,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOpB,sDACAQ,EAAMO,OAAO,CAACS,GAAG,CAAC,2DAQ5BP,MAAI,oBAAOT,EAAMkB,UAAU,8DAId,AAACP,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOpB,sDACAQ,EAAMO,OAAO,CAACS,GAAG,CAAC,6CAhCuBf,yCAAAA,oDA2C5D"}
1
+ {"version":3,"sources":["components/date-picker/time.tsx"],"sourcesContent":["import { createEffect, createSignal, Show } from 'solid-js';\n\nimport dayjs from './dayjs';\n\ninterface TimePickerProps {\n current: dayjs.Dayjs;\n datePicker: HTMLDivElement | undefined;\n onChange(next: dayjs.Dayjs): void;\n showHour?: boolean;\n showMinute?: boolean;\n showSecond?: boolean;\n}\n\nexport const hours = Array.from({ length: 24 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\nexport const minutes = Array.from({ length: 60 }, (_, i) => ({\n label: i < 10 ? `0${i}` : i,\n value: i,\n}));\n\nfunction TimePicker(props: TimePickerProps) {\n const [hei, setHei] = createSignal('0px');\n\n createEffect(() => {\n setHei(`${props.datePicker?.offsetHeight}px`);\n });\n\n return (\n <section class=\"time-picker\" style={{ 'max-block-size': hei() }}>\n <section class=\"time-picker-header\">\n <n-button ghost={true} flat={true}>\n <strong>{props.current.format('HH:mm:ss')}</strong>\n </n-button>\n </section>\n <section class=\"time-picker-items\">\n <Show when={props.showHour}>\n <n-menu\n items={hours}\n value={props.current.get('hour')}\n onChange={(e) => {\n const next = props.current.set('hour', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showMinute}>\n <n-menu\n items={minutes}\n value={props.current.get('minute')}\n onChange={(e) => {\n const next = props.current.set('minute', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n <Show when={props.showSecond}>\n <n-menu\n items={minutes}\n value={props.current.get('second')}\n onChange={(e) => {\n const next = props.current.set('second', e.detail[0] as number);\n\n props.onChange(next);\n }}\n />\n </Show>\n </section>\n </section>\n );\n}\n\nexport default TimePicker;\n"],"names":["hours","minutes","Array","from","length","_","i","label","value","TimePicker","props","hei","setHei","createSignal","createEffect","datePicker","offsetHeight","current","format","Show","showHour","e","next","set","detail","onChange","get","showMinute","showSecond"],"mappings":"kKA2EA,OAA0B,mBAA1B,GA9DaA,KAAK,mBAALA,GAIAC,OAAO,mBAAPA,+CAjBoC,8NAapCD,EAAQE,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CACzDC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GACaL,EAAUC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAGC,IAAO,CAAA,CAC3DC,MAAOD,EAAI,GAAK,CAAC,CAAC,EAAEA,EAAE,CAAC,CAAGA,EAC1BE,MAAOF,CACT,CAAA,GAEA,SAASG,EAAWC,CAAsB,EACxC,GAAM,CAACC,EAAKC,EAAO,CAAGC,GAAAA,cAAY,EAAC,OAMnC,MAJAC,GAAAA,cAAY,EAAC,KACXF,EAAO,CAAC,EAAEF,EAAMK,UAAU,EAAEC,aAAa,EAAE,CAAC,CAC9C,+FAKuB,CAAA,SAAY,CAAA,gDAClBN,EAAMO,OAAO,CAACC,MAAM,CAAC,kDAI/BC,MAAI,oBAAOT,EAAMU,QAAQ,8DAIZ,AAACC,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,OAAQF,EAAEG,MAAM,CAAC,EAAE,EAElDd,EAAMe,QAAQ,CAACH,EACjB,WANOtB,sDACAU,EAAMO,OAAO,CAACS,GAAG,CAAC,yDAQ5BP,MAAI,oBAAOT,EAAMiB,UAAU,8DAId,AAACN,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOrB,sDACAS,EAAMO,OAAO,CAACS,GAAG,CAAC,2DAQ5BP,MAAI,oBAAOT,EAAMkB,UAAU,8DAId,AAACP,IACT,IAAMC,EAAOZ,EAAMO,OAAO,CAACM,GAAG,CAAC,SAAUF,EAAEG,MAAM,CAAC,EAAE,EAEpDd,EAAMe,QAAQ,CAACH,EACjB,WANOrB,sDACAS,EAAMO,OAAO,CAACS,GAAG,CAAC,6CAhCuBf,yCAAAA,oDA2C5D,OAEA,EAAeF"}
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return n}});const e=require("solid-js/web"),t=require("solid-js"),r=(0,e.template)('<n-button type="primary" class="date-picker-month">',!0,!1),n=function(n){let o=(0,t.createMemo)(()=>{let e=n.start;return[e-1,...Array.from({length:10},(t,r)=>e+r),e+10]});return(0,e.createComponent)(t.For,{get each(){return o()},children:(t,s)=>{function a(){n.onChange(n.current.set("years",t))}return(()=>{let c=r();return(0,e.addEventListener)(c,"click",a,!0),c.flat=!0,c._$owner=(0,e.getOwner)(),(0,e.insert)(c,t),(0,e.effect)(e=>{let r=!(0!==s()&&s()!==o().length-1),a=!(n.current.get("years")!==t),i=n.current.get("years")===t?"strong":"button";return r!==e._v$&&c.classList.toggle("date-opacity",e._v$=r),a!==e._v$2&&c.classList.toggle("date-active",e._v$2=a),i!==e._v$3&&(c.tag=e._v$3=i),e},{_v$:void 0,_v$2:void 0,_v$3:void 0}),c})()}})};(0,e.delegateEvents)(["click"]);
2
- //# sourceMappingURL=year.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return o}});const e=require("solid-js/web"),t=require("solid-js"),r=(0,e.template)('<n-button type="primary" class="date-picker-month">',!0,!1);function n(n){let o=(0,t.createMemo)(()=>{let e=n.start;return[e-1,...Array.from({length:10},(t,r)=>e+r),e+10]});return(0,e.createComponent)(t.For,{get each(){return o()},children:(t,s)=>{function a(){n.onChange(n.current.set("years",t))}return(()=>{let c=r();return(0,e.addEventListener)(c,"click",a,!0),c.flat=!0,c._$owner=(0,e.getOwner)(),(0,e.insert)(c,t),(0,e.effect)(e=>{let r=!(0!==s()&&s()!==o().length-1),a=!(n.current.get("years")!==t),i=n.current.get("years")===t?"strong":"button";return r!==e._v$&&c.classList.toggle("date-opacity",e._v$=r),a!==e._v$2&&c.classList.toggle("date-active",e._v$2=a),i!==e._v$3&&(c.tag=e._v$3=i),e},{_v$:void 0,_v$2:void 0,_v$3:void 0}),c})()}})}const o=n;(0,e.delegateEvents)(["click"]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/date-picker/year.tsx"],"sourcesContent":["import { createMemo, For } from 'solid-js';\n\nimport dayjs from './dayjs';\n\ninterface YearPanelProps {\n current: dayjs.Dayjs;\n start: number;\n onChange(next: dayjs.Dayjs): void;\n}\nfunction YearPanel(props: YearPanelProps) {\n const years = createMemo(() => {\n const start = props.start;\n\n return [start - 1, ...Array.from({ length: 10 }, (__, i) => start + i), start + 10];\n });\n\n return (\n <For each={years()}>\n {(y, i) => {\n function onChange() {\n props.onChange(props.current.set('years', y));\n }\n return (\n <n-button\n type=\"primary\"\n flat={true}\n class=\"date-picker-month\"\n classList={{\n 'date-opacity': i() === 0 || i() === years().length - 1,\n 'date-active': props.current.get('years') === y,\n }}\n tag={props.current.get('years') === y ? 'strong' : 'button'}\n onClick={onChange}\n >\n {y}\n </n-button>\n );\n }}\n </For>\n );\n}\n\nexport default YearPanel;\n"],"names":["props","years","createMemo","start","Array","from","length","__","i","For","y","onChange","current","set","get"],"mappings":"kGA0CA,+CAAA,+CA1CgC,0FA0ChC,EAjCA,SAAmBA,CAAqB,EACtC,IAAMC,EAAQC,GAAAA,YAAU,EAAC,KACvB,IAAMC,EAAQH,EAAMG,KAAK,CAEzB,MAAO,CAACA,EAAQ,KAAMC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAIC,IAAML,EAAQK,GAAIL,EAAQ,GAAG,AACrF,GAEA,4BACGM,KAAG,oBAAOR,cACR,CAACS,EAAGF,KACH,SAASG,IACPX,EAAMW,QAAQ,CAACX,EAAMY,OAAO,CAACC,GAAG,CAAC,QAASH,GAC5C,CACA,6DAUaC,aAPH,CAAA,4CASLD,2BANiBF,CAAAA,AAAQ,IAARA,KAAaA,MAAQP,IAAQK,MAAM,CAAG,CAAA,MACvCN,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,KAE3CV,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,EAAI,SAAW,wMAMzD,GAGN"}
1
+ {"version":3,"sources":["components/date-picker/year.tsx"],"sourcesContent":["import { createMemo, For } from 'solid-js';\n\nimport dayjs from './dayjs';\n\ninterface YearPanelProps {\n current: dayjs.Dayjs;\n start: number;\n onChange(next: dayjs.Dayjs): void;\n}\nfunction YearPanel(props: YearPanelProps) {\n const years = createMemo(() => {\n const start = props.start;\n\n return [start - 1, ...Array.from({ length: 10 }, (__, i) => start + i), start + 10];\n });\n\n return (\n <For each={years()}>\n {(y, i) => {\n function onChange() {\n props.onChange(props.current.set('years', y));\n }\n return (\n <n-button\n type=\"primary\"\n flat={true}\n class=\"date-picker-month\"\n classList={{\n 'date-opacity': i() === 0 || i() === years().length - 1,\n 'date-active': props.current.get('years') === y,\n }}\n tag={props.current.get('years') === y ? 'strong' : 'button'}\n onClick={onChange}\n >\n {y}\n </n-button>\n );\n }}\n </For>\n );\n}\n\nexport default YearPanel;\n"],"names":["YearPanel","props","years","createMemo","start","Array","from","length","__","i","For","y","onChange","current","set","get"],"mappings":"kGA0CA,+CAAA,+CA1CgC,0FAShC,SAASA,EAAUC,CAAqB,EACtC,IAAMC,EAAQC,GAAAA,YAAU,EAAC,KACvB,IAAMC,EAAQH,EAAMG,KAAK,CAEzB,MAAO,CAACA,EAAQ,KAAMC,MAAMC,IAAI,CAAC,CAAEC,OAAQ,EAAG,EAAG,CAACC,EAAIC,IAAML,EAAQK,GAAIL,EAAQ,GAAG,AACrF,GAEA,4BACGM,KAAG,oBAAOR,cACR,CAACS,EAAGF,KACH,SAASG,IACPX,EAAMW,QAAQ,CAACX,EAAMY,OAAO,CAACC,GAAG,CAAC,QAASH,GAC5C,CACA,6DAUaC,aAPH,CAAA,4CASLD,2BANiBF,CAAAA,AAAQ,IAARA,KAAaA,MAAQP,IAAQK,MAAM,CAAG,CAAA,MACvCN,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,KAE3CV,EAAMY,OAAO,CAACE,GAAG,CAAC,WAAaJ,EAAI,SAAW,wMAMzD,GAGN,OAEA,EAAeX"}
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(exports,{default:function(){return g},defaultProps:function(){return f}});const e=require("solid-js/web"),t=require("solid-js"),n=u(require("@moneko/common/lib/isFunction")),o=require("solid-element"),r=require("../basic-config"),i=u(require("../empty")),l=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=p(void 0);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}(require("../popover")),a=require("../theme");function u(e){return e&&e.__esModule?e:{default:e}}function p(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(p=function(e){return e?n:t})(e)}require("../menu");const s=(0,e.template)("<n-menu>",!0,!1),d=(0,e.template)('<div class="container">'),v=(0,e.template)("<style>");function c(o){let r;let[a,u]=(0,t.splitProps)(o,["popupClass","popupCss","value","defaultValue","onChange","open","onOpenChange","fieldNames","items","multiple","toggle"]),[p,v]=(0,t.createSignal)([]),[c,f]=(0,t.createSignal)(null),[g,m]=(0,t.createSignal)([]);function _(e){(0,n.default)(a.onOpenChange)&&a.onOpenChange(e),void 0===a.open&&f(e)}function h(e){let[t,o]=e.detail;(0,n.default)(a.onChange)&&a.onChange(t,o),void 0===a.value&&v(Array.isArray(t)?t:[t]),a.multiple||_(!1)}function C(e){m(e.detail)}return(0,t.createEffect)(()=>{void 0!==a.value&&null!==a.value?v(Array.isArray(a.value)?a.value:[a.value]):v([])}),(0,t.createEffect)(()=>{void 0!==a.open&&(0,t.untrack)(c)!==a.open&&f(a.open)}),(0,e.createComponent)(l.default,(0,e.mergeProps)({get popupClass(){return a.popupClass},get popupCss(){return a.popupCss},get open(){return c()},onOpenChange:_,get content(){return(()=>{let n=d(),o=r;return"function"==typeof o?(0,e.use)(o,n):r=n,(0,e.insert)(n,(0,e.createComponent)(t.Show,{get when(){return a.items?.length},get fallback(){return(0,e.createComponent)(i.default,{style:{width:"100%"}})},get children(){let t=s();return(0,e.addEventListener)(t,"openchange",C),(0,e.addEventListener)(t,"change",h),t._$owner=(0,e.getOwner)(),(0,e.effect)(e=>{let n=a.items,o=a.defaultValue,r=a.multiple,i=a.fieldNames,l=a.toggle,p=u.disabled,s=g();return n!==e._v$&&(t.items=e._v$=n),o!==e._v$2&&(t.defaultValue=e._v$2=o),r!==e._v$3&&(t.multiple=e._v$3=r),i!==e._v$4&&(t.fieldNames=e._v$4=i),l!==e._v$5&&(t.toggle=e._v$5=l),p!==e._v$6&&(t.disabled=e._v$6=p),s!==e._v$7&&(t.openKeys=e._v$7=s),e},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0}),(0,e.effect)(()=>t.value=p()),t}})),n})()}},u))}const f={...l.defaultProps,fieldNames:void 0,toggle:void 0,value:void 0,defaultValue:void 0,onChange:void 0,multiple:void 0,disabled:void 0,type:void 0,onOpenChange:void 0,openKeys:void 0};(0,o.customElement)("n-dropdown",{...f,items:[]},(n,o)=>{let i=o.element,l=(0,t.mergeProps)({items:i.items,onChange(e,t){i.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){i.dispatchEvent(new CustomEvent("openchange",{detail:e}))},children:[...i.childNodes.values()]},n);return(0,t.createEffect)(()=>{(0,r.clearAttribute)(i,["popupCss","css","items","fieldNames","content"])}),[(()=>{let e=v();return e.textContent=a.inline,e})(),(0,e.createComponent)(c,l)]});const g=c;
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";function e(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}Object.defineProperty(exports,"__esModule",{value:!0}),e(exports,{default:function(){return _},defaultProps:function(){return m}});const t=require("solid-js/web"),n=require("solid-js"),o=p(require("@moneko/common/lib/isFunction")),r=require("solid-element"),i=require("../basic-config"),l=p(require("../empty")),a=d(require("../popover")),u=require("../theme");function p(e){return e&&e.__esModule?e:{default:e}}function s(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(s=function(e){return e?n:t})(e)}function d(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=s(t);if(n&&n.has(e))return n.get(e);var o={__proto__:null},r=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var l=r?Object.getOwnPropertyDescriptor(e,i):null;l&&(l.get||l.set)?Object.defineProperty(o,i,l):o[i]=e[i]}return o.default=e,n&&n.set(e,o),o}require("../menu");const c=(0,t.template)("<n-menu>",!0,!1),v=(0,t.template)('<div class="container">'),f=(0,t.template)("<style>");function g(e){let r;let[i,u]=(0,n.splitProps)(e,["popupClass","popupCss","value","defaultValue","onChange","open","onOpenChange","fieldNames","items","multiple","toggle"]),[p,s]=(0,n.createSignal)([]),[d,f]=(0,n.createSignal)(null),[g,m]=(0,n.createSignal)([]);function _(e){(0,o.default)(i.onOpenChange)&&i.onOpenChange(e),void 0===i.open&&f(e)}function h(e){let[t,n]=e.detail;(0,o.default)(i.onChange)&&i.onChange(t,n),void 0===i.value&&s(Array.isArray(t)?t:[t]),i.multiple||_(!1)}function C(e){m(e.detail)}return(0,n.createEffect)(()=>{void 0!==i.value&&null!==i.value?s(Array.isArray(i.value)?i.value:[i.value]):s([])}),(0,n.createEffect)(()=>{void 0!==i.open&&(0,n.untrack)(d)!==i.open&&f(i.open)}),(0,t.createComponent)(a.default,(0,t.mergeProps)({get popupClass(){return i.popupClass},get popupCss(){return i.popupCss},get open(){return d()},onOpenChange:_,get content(){return(()=>{let e=v(),o=r;return"function"==typeof o?(0,t.use)(o,e):r=e,(0,t.insert)(e,(0,t.createComponent)(n.Show,{get when(){return i.items?.length},get fallback(){return(0,t.createComponent)(l.default,{style:{width:"100%"}})},get children(){let e=c();return(0,t.addEventListener)(e,"openchange",C),(0,t.addEventListener)(e,"change",h),e._$owner=(0,t.getOwner)(),(0,t.effect)(t=>{let n=i.items,o=i.defaultValue,r=i.multiple,l=i.fieldNames,a=i.toggle,p=u.disabled,s=g();return n!==t._v$&&(e.items=t._v$=n),o!==t._v$2&&(e.defaultValue=t._v$2=o),r!==t._v$3&&(e.multiple=t._v$3=r),l!==t._v$4&&(e.fieldNames=t._v$4=l),a!==t._v$5&&(e.toggle=t._v$5=a),p!==t._v$6&&(e.disabled=t._v$6=p),s!==t._v$7&&(e.openKeys=t._v$7=s),t},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0,_v$5:void 0,_v$6:void 0,_v$7:void 0}),(0,t.effect)(()=>e.value=p()),e}})),e})()}},u))}const m={...a.defaultProps,fieldNames:void 0,toggle:void 0,value:void 0,defaultValue:void 0,onChange:void 0,multiple:void 0,disabled:void 0,type:void 0,onOpenChange:void 0,openKeys:void 0};(0,r.customElement)("n-dropdown",{...m,items:[]},(e,o)=>{let r=o.element,l=(0,n.mergeProps)({items:r.items,onChange(e,t){r.dispatchEvent(new CustomEvent("change",{detail:[e,t]}))},onOpenChange(e){r.dispatchEvent(new CustomEvent("openchange",{detail:e}))},children:[...r.childNodes.values()]},e);return(0,n.createEffect)(()=>{(0,i.clearAttribute)(r,["popupCss","css","items","fieldNames","content"])}),[(()=>{let e=f();return e.textContent=u.inline,e})(),(0,t.createComponent)(g,l)]});const _=g;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/dropdown/index.tsx"],"sourcesContent":["import { createEffect, createSignal, mergeProps, Show, splitProps, untrack } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement, MenuMultipleProps, MenuOption, MenuProps, PopoverProps } from '..';\nimport { clearAttribute } from '../basic-config';\nimport Empty from '../empty';\nimport Popover, { defaultProps as popoverProps } from '../popover';\nimport { inline } from '../theme';\n\nimport '../menu';\n\nexport interface BaseDropdownProps extends Omit<PopoverProps, 'content'> {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownProps\n extends Omit<MenuProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownMultipleProps\n extends Omit<MenuMultipleProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport type DropdownElement = CustomElement<DropdownProps>;\nexport type DropdownMultipleElement = CustomElement<DropdownMultipleProps>;\n\nfunction Dropdown(props: DropdownProps | DropdownMultipleProps) {\n const [local, other] = splitProps(props, [\n 'popupClass',\n 'popupCss',\n 'value',\n 'defaultValue',\n 'onChange',\n 'open',\n 'onOpenChange',\n 'fieldNames',\n 'items',\n 'multiple',\n 'toggle',\n ]);\n let portalRef: HTMLDivElement | undefined;\n const [value, setValue] = createSignal<(string | number)[]>([]);\n const [open, setOpen] = createSignal<boolean | null>(null);\n const [menuOpenKeys, setMenuOpenKeys] = createSignal<(string | number)[]>([]);\n\n function openChange(next: boolean | null) {\n if (isFunction(local.onOpenChange)) {\n local.onOpenChange(next);\n }\n if (local.open === void 0) {\n setOpen(next);\n }\n }\n\n function change(\n e: CustomEvent<[val: (string | number)[] | (string | number), item: MenuOption]>,\n ) {\n const [key, item] = e.detail;\n\n if (isFunction(local.onChange)) {\n local.onChange(key, item);\n }\n if (local.value === void 0) {\n setValue(Array.isArray(key) ? key : [key]);\n }\n if (!local.multiple) {\n openChange(false);\n }\n }\n function menuOpenKeysChange(e: CustomEvent<(string | number)[]>) {\n setMenuOpenKeys(e.detail);\n }\n\n createEffect(() => {\n if (local.value !== void 0 && local.value !== null) {\n setValue(Array.isArray(local.value) ? local.value : [local.value]);\n } else {\n setValue([]);\n }\n });\n createEffect(() => {\n if (local.open !== void 0 && untrack(open) !== local.open) {\n setOpen(local.open);\n }\n });\n\n return (\n <Popover\n popupClass={local.popupClass}\n popupCss={local.popupCss}\n open={open()}\n onOpenChange={openChange}\n content={\n <div ref={portalRef} class=\"container\">\n <Show when={local.items?.length} fallback={<Empty style={{ width: '100%' }} />}>\n <n-menu\n items={local.items}\n default-value={local.defaultValue}\n multiple={local.multiple as true}\n field-names={local.fieldNames}\n toggle={local.toggle}\n disabled={other.disabled}\n value={value()}\n onChange={change}\n open-keys={menuOpenKeys()}\n onOpenChange={menuOpenKeysChange}\n />\n </Show>\n </div>\n }\n {...other}\n />\n );\n}\n\nexport const defaultProps = {\n ...popoverProps,\n fieldNames: void 0,\n toggle: void 0,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n multiple: void 0,\n disabled: void 0,\n type: void 0,\n onOpenChange: void 0,\n openKeys: void 0,\n};\n\ncustomElement<DropdownProps>(\n 'n-dropdown',\n {\n ...defaultProps,\n items: [],\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n items: el.items,\n onChange(key, item) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: [key, item],\n }),\n );\n },\n onOpenChange(open: boolean | null) {\n el.dispatchEvent(\n new CustomEvent('openchange', {\n detail: open,\n }),\n );\n },\n children: [...el.childNodes.values()],\n } as DropdownProps,\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['popupCss', 'css', 'items', 'fieldNames', 'content']);\n });\n return (\n <>\n <style textContent={inline} />\n <Dropdown {...props} />\n </>\n );\n },\n);\nexport default Dropdown;\n"],"names":["defaultProps","Dropdown","props","portalRef","local","other","splitProps","value","setValue","createSignal","open","setOpen","menuOpenKeys","setMenuOpenKeys","openChange","next","isFunction","onOpenChange","change","e","key","item","detail","onChange","Array","isArray","multiple","menuOpenKeysChange","createEffect","untrack","Popover","popupClass","popupCss","Show","items","length","Empty","width","defaultValue","fieldNames","toggle","disabled","popoverProps","type","openKeys","customElement","_","opt","el","element","mergeProps","dispatchEvent","CustomEvent","children","childNodes","values","clearAttribute","inline"],"mappings":"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"}
1
+ {"version":3,"sources":["components/dropdown/index.tsx"],"sourcesContent":["import { createEffect, createSignal, mergeProps, Show, splitProps, untrack } from 'solid-js';\nimport { isFunction } from '@moneko/common';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement, MenuMultipleProps, MenuOption, MenuProps, PopoverProps } from '..';\nimport { clearAttribute } from '../basic-config';\nimport Empty from '../empty';\nimport Popover, { defaultProps as popoverProps } from '../popover';\nimport { inline } from '../theme';\n\nimport '../menu';\n\nexport interface BaseDropdownProps extends Omit<PopoverProps, 'content'> {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownProps\n extends Omit<MenuProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport interface DropdownMultipleProps\n extends Omit<MenuMultipleProps, 'openKeys' | 'onOpenChange'>,\n BaseDropdownProps {\n /** 打开内容气泡 */\n open?: boolean | null;\n}\nexport type DropdownElement = CustomElement<DropdownProps>;\nexport type DropdownMultipleElement = CustomElement<DropdownMultipleProps>;\n\nfunction Dropdown(props: DropdownProps | DropdownMultipleProps) {\n const [local, other] = splitProps(props, [\n 'popupClass',\n 'popupCss',\n 'value',\n 'defaultValue',\n 'onChange',\n 'open',\n 'onOpenChange',\n 'fieldNames',\n 'items',\n 'multiple',\n 'toggle',\n ]);\n let portalRef: HTMLDivElement | undefined;\n const [value, setValue] = createSignal<(string | number)[]>([]);\n const [open, setOpen] = createSignal<boolean | null>(null);\n const [menuOpenKeys, setMenuOpenKeys] = createSignal<(string | number)[]>([]);\n\n function openChange(next: boolean | null) {\n if (isFunction(local.onOpenChange)) {\n local.onOpenChange(next);\n }\n if (local.open === void 0) {\n setOpen(next);\n }\n }\n\n function change(\n e: CustomEvent<[val: (string | number)[] | (string | number), item: MenuOption]>,\n ) {\n const [key, item] = e.detail;\n\n if (isFunction(local.onChange)) {\n local.onChange(key, item);\n }\n if (local.value === void 0) {\n setValue(Array.isArray(key) ? key : [key]);\n }\n if (!local.multiple) {\n openChange(false);\n }\n }\n function menuOpenKeysChange(e: CustomEvent<(string | number)[]>) {\n setMenuOpenKeys(e.detail);\n }\n\n createEffect(() => {\n if (local.value !== void 0 && local.value !== null) {\n setValue(Array.isArray(local.value) ? local.value : [local.value]);\n } else {\n setValue([]);\n }\n });\n createEffect(() => {\n if (local.open !== void 0 && untrack(open) !== local.open) {\n setOpen(local.open);\n }\n });\n\n return (\n <Popover\n popupClass={local.popupClass}\n popupCss={local.popupCss}\n open={open()}\n onOpenChange={openChange}\n content={\n <div ref={portalRef} class=\"container\">\n <Show when={local.items?.length} fallback={<Empty style={{ width: '100%' }} />}>\n <n-menu\n items={local.items}\n default-value={local.defaultValue}\n multiple={local.multiple as true}\n field-names={local.fieldNames}\n toggle={local.toggle}\n disabled={other.disabled}\n value={value()}\n onChange={change}\n open-keys={menuOpenKeys()}\n onOpenChange={menuOpenKeysChange}\n />\n </Show>\n </div>\n }\n {...other}\n />\n );\n}\n\nexport const defaultProps = {\n ...popoverProps,\n fieldNames: void 0,\n toggle: void 0,\n value: void 0,\n defaultValue: void 0,\n onChange: void 0,\n multiple: void 0,\n disabled: void 0,\n type: void 0,\n onOpenChange: void 0,\n openKeys: void 0,\n};\n\ncustomElement<DropdownProps>(\n 'n-dropdown',\n {\n ...defaultProps,\n items: [],\n },\n (_, opt) => {\n const el = opt.element;\n const props = mergeProps(\n {\n items: el.items,\n onChange(key, item) {\n el.dispatchEvent(\n new CustomEvent('change', {\n detail: [key, item],\n }),\n );\n },\n onOpenChange(open: boolean | null) {\n el.dispatchEvent(\n new CustomEvent('openchange', {\n detail: open,\n }),\n );\n },\n children: [...el.childNodes.values()],\n } as DropdownProps,\n _,\n );\n\n createEffect(() => {\n clearAttribute(el, ['popupCss', 'css', 'items', 'fieldNames', 'content']);\n });\n return (\n <>\n <style textContent={inline} />\n <Dropdown {...props} />\n </>\n );\n },\n);\nexport default Dropdown;\n"],"names":["defaultProps","Dropdown","props","portalRef","local","other","splitProps","value","setValue","createSignal","open","setOpen","menuOpenKeys","setMenuOpenKeys","openChange","next","isFunction","onOpenChange","change","e","key","item","detail","onChange","Array","isArray","multiple","menuOpenKeysChange","createEffect","untrack","Popover","popupClass","popupCss","Show","items","length","Empty","width","defaultValue","fieldNames","toggle","disabled","popoverProps","type","openKeys","customElement","_","opt","el","element","mergeProps","dispatchEvent","CustomEvent","children","childNodes","values","clearAttribute","inline"],"mappings":"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"}
@@ -12,5 +12,4 @@
12
12
  .empty-label {
13
13
  font-size: var(--font-size-sm);
14
14
  }
15
- `;function p(n){return[(()=>{let e=i();return e.textContent=u,e})(),(0,e.createComponent)(t.Show,{get when(){return n.css},get children(){let t=o(),s=t.firstChild;return(0,e.effect)(()=>s.data=(0,r.css)(n.css)),t}}),(()=>{let r=c();return(0,e.insert)(r,(0,e.createComponent)(t.Show,{get when(){return n.label},get fallback(){return(()=>{let t=a();return t._$owner=(0,e.getOwner)(),t})()},get children(){return n.label}})),r})()]}(0,n.customElement)("n-empty",{class:void 0,css:void 0,label:void 0},(r,n)=>{let o=n.element;return(0,t.createEffect)(()=>{(0,s.clearAttribute)(o,["css"])}),[(()=>{let e=i();return e.textContent=l.inline,e})(),(0,e.createComponent)(p,r)]});const m=p;
16
- //# sourceMappingURL=index.js.map
15
+ `;function p(n){return[(()=>{let e=i();return e.textContent=u,e})(),(0,e.createComponent)(t.Show,{get when(){return n.css},get children(){let t=o(),s=t.firstChild;return(0,e.effect)(()=>s.data=(0,r.css)(n.css)),t}}),(()=>{let r=c();return(0,e.insert)(r,(0,e.createComponent)(t.Show,{get when(){return n.label},get fallback(){return(()=>{let t=a();return t._$owner=(0,e.getOwner)(),t})()},get children(){return n.label}})),r})()]}(0,n.customElement)("n-empty",{class:void 0,css:void 0,label:void 0},(r,n)=>{let o=n.element;return(0,t.createEffect)(()=>{(0,s.clearAttribute)(o,["css"])}),[(()=>{let e=i();return e.textContent=l.inline,e})(),(0,e.createComponent)(p,r)]});const m=p;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/empty/index.tsx"],"sourcesContent":["import { createEffect, Show } from 'solid-js';\nimport { css } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport { inline } from '../theme';\n\nimport '../typography';\n\nconst style = css`\n .empty-container {\n inline-size: 100%;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 24px;\n box-sizing: border-box;\n }\n\n .empty-label {\n font-size: var(--font-size-sm);\n }\n`;\n\nexport interface EmptyProps {\n /** 自定义样式表 */\n css?: string;\n /** 自定义类名 */\n class?: string;\n /** 描述 */\n label?: JSX.Element;\n style?: Record<string, string | number>;\n}\nexport type EmptyElement = CustomElement<EmptyProps>;\n\nfunction Empty(props: EmptyProps) {\n return (\n <>\n <style textContent={style} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div class=\"empty-container\">\n <Show\n when={props.label}\n fallback={\n <n-typography class=\"empty-label\" type=\"secondary\">\n 无数据\n </n-typography>\n }\n >\n {props.label}\n </Show>\n </div>\n </>\n );\n}\n\ncustomElement<EmptyProps>(\n 'n-empty',\n {\n class: void 0,\n css: void 0,\n label: void 0,\n },\n (props, opt) => {\n const el = opt.element;\n\n createEffect(() => {\n clearAttribute(el, ['css']);\n });\n return (\n <>\n <style textContent={inline} />\n <Empty {...props} />\n </>\n );\n },\n);\n\nexport default Empty;\n"],"names":["style","css","Empty","props","Show","label","customElement","class","opt","el","element","createEffect","clearAttribute","inline"],"mappings":"kGAkFA,+CAAA,+CAlFmC,sBACf,yBACU,2BAGC,6BACR,oBAEhB,mNAEDA,EAAQC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;AAclB,CAAC,CAaD,SAASC,EAAMC,CAAiB,EAC9B,4CAEwBH,8BACnBI,MAAI,oBAAOD,EAAMF,GAAG,wEACCA,GAAAA,KAAG,EAACE,EAAMF,GAAG,mEAGhCG,MAAI,oBACGD,EAAME,KAAK,sGAOhBF,EAAME,KAAK,WAKtB,CAEAC,GAAAA,eAAa,EACX,UACA,CACEC,MAAO,KAAK,EACZN,IAAK,KAAK,EACVI,MAAO,KAAK,CACd,EACA,CAACF,EAAOK,KACN,IAAMC,EAAKD,EAAIE,OAAO,CAKtB,MAHAC,GAAAA,cAAY,EAAC,KACXC,GAAAA,gBAAc,EAACH,EAAI,CAAC,MAAM,CAC5B,yCAGwBI,QAAM,6BACzBX,EAAUC,GAGjB,SAGF,EAAeD"}
1
+ {"version":3,"sources":["components/empty/index.tsx"],"sourcesContent":["import { createEffect, Show } from 'solid-js';\nimport { css } from '@moneko/css';\nimport { customElement } from 'solid-element';\n\nimport type { CustomElement } from '..';\nimport { clearAttribute } from '../basic-config';\nimport { inline } from '../theme';\n\nimport '../typography';\n\nconst style = css`\n .empty-container {\n inline-size: 100%;\n flex: 1;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 24px;\n box-sizing: border-box;\n }\n\n .empty-label {\n font-size: var(--font-size-sm);\n }\n`;\n\nexport interface EmptyProps {\n /** 自定义样式表 */\n css?: string;\n /** 自定义类名 */\n class?: string;\n /** 描述 */\n label?: JSX.Element;\n style?: Record<string, string | number>;\n}\nexport type EmptyElement = CustomElement<EmptyProps>;\n\nfunction Empty(props: EmptyProps) {\n return (\n <>\n <style textContent={style} />\n <Show when={props.css}>\n <style textContent={css(props.css)} />\n </Show>\n <div class=\"empty-container\">\n <Show\n when={props.label}\n fallback={\n <n-typography class=\"empty-label\" type=\"secondary\">\n 无数据\n </n-typography>\n }\n >\n {props.label}\n </Show>\n </div>\n </>\n );\n}\n\ncustomElement<EmptyProps>(\n 'n-empty',\n {\n class: void 0,\n css: void 0,\n label: void 0,\n },\n (props, opt) => {\n const el = opt.element;\n\n createEffect(() => {\n clearAttribute(el, ['css']);\n });\n return (\n <>\n <style textContent={inline} />\n <Empty {...props} />\n </>\n );\n },\n);\n\nexport default Empty;\n"],"names":["style","css","Empty","props","Show","label","customElement","class","opt","el","element","createEffect","clearAttribute","inline"],"mappings":"kGAkFA,+CAAA,+CAlFmC,sBACf,yBACU,2BAGC,6BACR,oBAEhB,mNAEDA,EAAQC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;AAclB,CAAC,CAaD,SAASC,EAAMC,CAAiB,EAC9B,4CAEwBH,8BACnBI,MAAI,oBAAOD,EAAMF,GAAG,wEACCA,GAAAA,KAAG,EAACE,EAAMF,GAAG,mEAGhCG,MAAI,oBACGD,EAAME,KAAK,sGAOhBF,EAAME,KAAK,WAKtB,CAEAC,GAAAA,eAAa,EACX,UACA,CACEC,MAAO,KAAK,EACZN,IAAK,KAAK,EACVI,MAAO,KAAK,CACd,EACA,CAACF,EAAOK,KACN,IAAMC,EAAKD,EAAIE,OAAO,CAKtB,MAHAC,GAAAA,cAAY,EAAC,KACXC,GAAAA,gBAAc,EAACH,EAAI,CAAC,MAAM,CAC5B,yCAGwBI,QAAM,6BACzBX,EAAUC,GAGjB,SAGF,EAAeD"}
@@ -1,2 +1 @@
1
- "use strict";var e,t;Object.defineProperty(exports,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(exports,{DataType:function(){return e},default:function(){return r}}),(t=e||(e={})).string="string",t.number="number",t.integer="integer",t.boolean="boolean",t.object="object",t.array="array";const r=function e(t,r){let n=[],{properties:i}=t;for(let t in i)if(Object.prototype.hasOwnProperty.call(i,t)){let{properties:o,items:s,type:a="string",...u}=i[t],c={...u,name:t,type:a,subTitle:a,key:`${r?`${r}.`:""}${t}`};"object"===a?c.children=e({properties:o},c.key):"array"===a&&(c.children=e({properties:{items:{...s,title:"items",isItems:!0}}},c.key)),n.push(c)}return n};
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";var e;function t(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}function r(e,t){let n=[],{properties:i}=e;for(let e in i)if(Object.prototype.hasOwnProperty.call(i,e)){let{properties:o,items:s,type:a="string",...u}=i[e],c={...u,name:e,type:a,subTitle:a,key:`${t?`${t}.`:""}${e}`};"object"===a?c.children=r({properties:o},c.key):"array"===a&&(c.children=r({properties:{items:{...s,title:"items",isItems:!0}}},c.key)),n.push(c)}return n}Object.defineProperty(exports,"__esModule",{value:!0}),t(exports,{DataType:function(){return e},default:function(){return n}}),function(e){e.string="string",e.number="number",e.integer="integer",e.boolean="boolean",e.object="object",e.array="array"}(e||(e={}));const n=r;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../components/from-schema/index.ts"],"sourcesContent":["import { type TreeData } from '../tree';\n\nexport enum DataType {\n string = 'string',\n number = 'number',\n integer = 'integer',\n boolean = 'boolean',\n object = 'object',\n array = 'array',\n}\ninterface BaseSchema {\n type?: keyof typeof DataType;\n name?: string;\n title?: string;\n items?: never;\n [key: string]: Any;\n}\ninterface ArraySchema extends Omit<BaseSchema, 'type' | 'items'> {\n type: 'array';\n items: Schema;\n properties?: Record<string, Schema>;\n}\n\ninterface ObjectSchema extends Omit<BaseSchema, 'type'> {\n type?: Exclude<keyof typeof DataType, 'array'>;\n properties?: Record<string, Schema>;\n}\n\nexport type Schema = ObjectSchema | ArraySchema;\n\nfunction fromSchema(schema: Schema, pid?: string): TreeData[] {\n const treeData: TreeData[] = [];\n const { properties } = schema;\n\n for (const k in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, k)) {\n const name = k;\n const { properties: _properties, items, type = 'string', ...item } = properties[name];\n const node: TreeData = {\n ...item,\n name: name,\n type,\n subTitle: type,\n key: `${pid ? `${pid}.` : ''}${name}`,\n };\n\n if (type === 'object') {\n node.children = fromSchema({ properties: _properties }, node.key);\n } else if (type === 'array') {\n node.children = fromSchema(\n {\n properties: {\n items: {\n ...(items as Schema),\n title: 'items',\n isItems: true,\n },\n },\n },\n node.key,\n );\n }\n treeData.push(node);\n }\n }\n\n return treeData;\n}\n\nexport default fromSchema;\n"],"names":["DataType","fromSchema","schema","pid","treeData","properties","k","Object","prototype","hasOwnProperty","call","_properties","items","type","item","node","name","subTitle","key","children","title","isItems","push"],"mappings":"mBAEYA,kLAmEZ,OAA0B,mBAA1B,MAnEYA,EAAAA,IAAAA,yHAmEZ,EAvCA,SAASC,EAAWC,CAAc,CAAEC,CAAY,EAC9C,IAAMC,EAAuB,EAAE,CACzB,CAAEC,WAAAA,CAAU,CAAE,CAAGH,EAEvB,IAAK,IAAMI,KAAKD,EACd,GAAIE,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,EAAYC,GAAI,CAEvD,GAAM,CAAED,WAAYM,CAAW,CAAEC,MAAAA,CAAK,CAAEC,KAAAA,EAAO,QAAQ,CAAE,GAAGC,EAAM,CAAGT,CAAU,CADlEC,EACwE,CAC/ES,EAAiB,CACrB,GAAGD,CAAI,CACPE,KAJWV,EAKXO,KAAAA,EACAI,SAAUJ,EACVK,IAAK,CAAC,EAAEf,EAAM,CAAC,EAAEA,EAAI,CAAC,CAAC,CAAG,GAAG,EAPlBG,EAOyB,CAAC,AACvC,CAEIO,AAAS,CAAA,WAATA,EACFE,EAAKI,QAAQ,CAAGlB,EAAW,CAAEI,WAAYM,CAAY,EAAGI,EAAKG,GAAG,EAC9C,UAATL,GACTE,CAAAA,EAAKI,QAAQ,CAAGlB,EACd,CACEI,WAAY,CACVO,MAAO,CACL,GAAIA,CAAK,CACTQ,MAAO,QACPC,QAAS,CAAA,CACX,CACF,CACF,EACAN,EAAKG,GAAG,CACV,EAEFd,EAASkB,IAAI,CAACP,EAChB,CAGF,OAAOX,CACT"}
1
+ {"version":3,"sources":["components/from-schema/index.ts"],"sourcesContent":["import { type TreeData } from '../tree';\n\nexport enum DataType {\n string = 'string',\n number = 'number',\n integer = 'integer',\n boolean = 'boolean',\n object = 'object',\n array = 'array',\n}\ninterface BaseSchema {\n type?: keyof typeof DataType;\n name?: string;\n title?: string;\n items?: never;\n [key: string]: Any;\n}\ninterface ArraySchema extends Omit<BaseSchema, 'type' | 'items'> {\n type: 'array';\n items: Schema;\n properties?: Record<string, Schema>;\n}\n\ninterface ObjectSchema extends Omit<BaseSchema, 'type'> {\n type?: Exclude<keyof typeof DataType, 'array'>;\n properties?: Record<string, Schema>;\n}\n\nexport type Schema = ObjectSchema | ArraySchema;\n\nfunction fromSchema(schema: Schema, pid?: string): TreeData[] {\n const treeData: TreeData[] = [];\n const { properties } = schema;\n\n for (const k in properties) {\n if (Object.prototype.hasOwnProperty.call(properties, k)) {\n const name = k;\n const { properties: _properties, items, type = 'string', ...item } = properties[name];\n const node: TreeData = {\n ...item,\n name: name,\n type,\n subTitle: type,\n key: `${pid ? `${pid}.` : ''}${name}`,\n };\n\n if (type === 'object') {\n node.children = fromSchema({ properties: _properties }, node.key);\n } else if (type === 'array') {\n node.children = fromSchema(\n {\n properties: {\n items: {\n ...(items as Schema),\n title: 'items',\n isItems: true,\n },\n },\n },\n node.key,\n );\n }\n treeData.push(node);\n }\n }\n\n return treeData;\n}\n\nexport default fromSchema;\n"],"names":["fromSchema","schema","pid","treeData","properties","k","Object","prototype","hasOwnProperty","call","_properties","items","type","item","node","name","subTitle","key","children","title","isItems","push","DataType"],"mappings":"sGA8BA,SAASA,EAAWC,CAAc,CAAEC,CAAY,EAC9C,IAAMC,EAAuB,EAAE,CACzB,CAAEC,WAAAA,CAAU,CAAE,CAAGH,EAEvB,IAAK,IAAMI,KAAKD,EACd,GAAIE,OAAOC,SAAS,CAACC,cAAc,CAACC,IAAI,CAACL,EAAYC,GAAI,CAEvD,GAAM,CAAED,WAAYM,CAAW,CAAEC,MAAAA,CAAK,CAAEC,KAAAA,EAAO,QAAQ,CAAE,GAAGC,EAAM,CAAGT,CAAU,CADlEC,EACwE,CAC/ES,EAAiB,CACrB,GAAGD,CAAI,CACPE,KAJWV,EAKXO,KAAAA,EACAI,SAAUJ,EACVK,IAAK,CAAC,EAAEf,EAAM,CAAC,EAAEA,EAAI,CAAC,CAAC,CAAG,GAAG,EAPlBG,EAOyB,CAAC,AACvC,CAEIO,AAAS,CAAA,WAATA,EACFE,EAAKI,QAAQ,CAAGlB,EAAW,CAAEI,WAAYM,CAAY,EAAGI,EAAKG,GAAG,EAC9C,UAATL,GACTE,CAAAA,EAAKI,QAAQ,CAAGlB,EACd,CACEI,WAAY,CACVO,MAAO,CACL,GAAIA,CAAK,CACTQ,MAAO,QACPC,QAAS,CAAA,CACX,CACF,CACF,EACAN,EAAKG,GAAG,CACV,EAEFd,EAASkB,IAAI,CAACP,EAChB,CAGF,OAAOX,CACT,iGAEA,OAA0B,mBAA1B,cAnEYmB,kHAAAA,IAAAA,aAmEZ,EAAetB"}
@@ -1,2 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return r}});const e=require("../basic-config"),r=function r(t,i){return t?t.map((t,n)=>{let{options:s,children:a,label:o,value:c}=Object.assign({},e.FieldName,i);if("object"==typeof t){let e=(void 0===t[o]?t[c]:t[o])||n,u=(void 0===t[c]?e:t[c])||n,b={...t,[o]:e,[c]:u};return Array.isArray(t[a])&&Object.assign(b,{[a]:r(t[a],i)}),Array.isArray(t[s])&&Object.assign(b,{[s]:r(t[s],i)}),b}return{[o]:t,[c]:t}}):[]};
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return t}});const e=require("../basic-config");function r(t,i){return t?t.map((t,n)=>{let{options:s,children:o,label:a,value:c}=Object.assign({},e.FieldName,i);if("object"==typeof t){let e=(void 0===t[a]?t[c]:t[a])||n,u=(void 0===t[c]?e:t[c])||n,b={...t,[a]:e,[c]:u};return Array.isArray(t[o])&&Object.assign(b,{[o]:r(t[o],i)}),Array.isArray(t[s])&&Object.assign(b,{[s]:r(t[s],i)}),b}return{[a]:t,[c]:t}}):[]}const t=r;
@@ -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":["getOptions","list","fieldNames","map","item","i","options","children","label","value","Object","assign","FieldName","_label","_value","_item","Array","isArray"],"mappings":"kGAsCA,+CAAA,qBAtC6D,mBAsC7D,EApCA,SAASA,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,EAAGC,WAAS,CAAEV,GAEzE,GAAI,AAAgB,UAAhB,OAAOE,EAAmB,CAC5B,IAAMS,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBT,CAAI,CAACI,EAAM,CAAmBJ,CAAI,CAACK,EAAM,CAAGL,CAAI,CAACI,EAAM,AAAD,GAAMH,EAC7ES,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBV,CAAI,CAACK,EAAM,CAAmBI,EAAST,CAAI,CAACK,EAAM,AAAD,GAAMJ,EACxEU,EAAQ,CACZ,GAAGX,CAAI,CACP,CAACI,EAAM,CAAEK,EACT,CAACJ,EAAM,CAAEK,CACX,EAYA,OAVIE,MAAMC,OAAO,CAACb,CAAI,CAACG,EAAS,GAC9BG,OAAOC,MAAM,CAACI,EAAO,CACnB,CAACR,EAAS,CAAEP,EAAWI,CAAI,CAACG,EAAS,CAAEL,EACzC,GAEEc,MAAMC,OAAO,CAACb,CAAI,CAACE,EAAQ,GAC7BI,OAAOC,MAAM,CAACI,EAAO,CACnB,CAACT,EAAQ,CAAEN,EAAWI,CAAI,CAACE,EAAQ,CAAEJ,EACvC,GAEKa,CACT,CACA,MAAO,CACL,CAACP,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":["getOptions","list","fieldNames","map","item","i","options","children","label","value","Object","assign","FieldName","_label","_value","_item","Array","isArray"],"mappings":"kGAsCA,+CAAA,qBAtC6D,mBAE7D,SAASA,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,EAAGC,WAAS,CAAEV,GAEzE,GAAI,AAAgB,UAAhB,OAAOE,EAAmB,CAC5B,IAAMS,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBT,CAAI,CAACI,EAAM,CAAmBJ,CAAI,CAACK,EAAM,CAAGL,CAAI,CAACI,EAAM,AAAD,GAAMH,EAC7ES,EAAS,AAAC,CAAA,AAAuB,KAAA,IAAhBV,CAAI,CAACK,EAAM,CAAmBI,EAAST,CAAI,CAACK,EAAM,AAAD,GAAMJ,EACxEU,EAAQ,CACZ,GAAGX,CAAI,CACP,CAACI,EAAM,CAAEK,EACT,CAACJ,EAAM,CAAEK,CACX,EAYA,OAVIE,MAAMC,OAAO,CAACb,CAAI,CAACG,EAAS,GAC9BG,OAAOC,MAAM,CAACI,EAAO,CACnB,CAACR,EAAS,CAAEP,EAAWI,CAAI,CAACG,EAAS,CAAEL,EACzC,GAEEc,MAAMC,OAAO,CAACb,CAAI,CAACE,EAAQ,GAC7BI,OAAOC,MAAM,CAACI,EAAO,CACnB,CAACT,EAAQ,CAAEN,EAAWI,CAAI,CAACE,EAAQ,CAAEJ,EACvC,GAEKa,CACT,CACA,MAAO,CACL,CAACP,EAAM,CAAEJ,EACT,CAACK,EAAM,CAAEL,CACX,CACF,GA7BkB,EAAE,AA8BtB,OAEA,EAAeJ"}
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return g}});const e=require("solid-js/web"),t=require("solid-js"),r=require("@moneko/css"),n=require("solid-element"),l=require("../basic-config"),i=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=l?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}(require("../theme"));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}const s=(0,e.template)('<span class="hit">'),a=(0,e.template)("<style> "),c=(0,e.template)("<style>"),u=(0,e.template)("<div>"),h=(0,r.css)`
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return p}});const e=require("solid-js/web"),t=require("solid-js"),r=require("@moneko/css"),n=require("solid-element"),l=require("../basic-config"),i=s(require("../theme"));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}function s(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=l?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(n,i,s):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}const a=(0,e.template)('<span class="hit">'),c=(0,e.template)("<style> "),u=(0,e.template)("<style>"),h=(0,e.template)("<div>"),f=(0,r.css)`
2
2
  .text {
3
3
  word-break: break-word;
4
4
  word-wrap: break-word;
@@ -9,5 +9,4 @@
9
9
  .hit {
10
10
  color: var(--primary-color, #5794ff);
11
11
  }
12
- `;function f(n){let{baseStyle:l}=i.default,[o,f]=(0,t.createSignal)(),g=(0,t.createMemo)(()=>o()?.map(t=>t.hit?(()=>{let r=s();return(0,e.insert)(r,()=>t.text),(0,e.effect)(()=>(0,e.setAttribute)(r,"data-text",t.text)),r})():t.text)??n.text);return(0,t.createEffect)(()=>{if("string"==typeof n.text&&n.highlight){let e=n.text;if(Array.isArray(n.highlight))for(let t=0,r=n.highlight.length;t<r;t++){let r=n.highlight[t],l="string"==typeof r,i=l?r:r.highlight,o=l?n.flag:r.flag;i.length&&(e=e.replace(new RegExp(i,o),`%c:${i}:c%`))}else n.highlight.length&&(e=e.replace(new RegExp(n.highlight,n.flag),`%c:${n.highlight}:c%`));f(function(e){let t=/%c:(.+?):c%/i,r=e,n=t.exec(r);if(n){let e=[];for(;null!==n;n=t.exec(r)){let t=r.substring(0,n.index);t.trim().length&&e.push({text:t}),e.push({hit:!0,text:n[1]}),r=r.substring(n[0].length+n.index),t=null}return r.trim().length&&e.push({text:r}),e}return null}(e))}else f(null)}),[(()=>{let t=a(),r=t.firstChild;return(0,e.effect)(()=>r.data=l()),t})(),(()=>{let e=c();return e.textContent=h,e})(),(0,e.createComponent)(t.Show,{get when(){return n.css},get children(){return(0,r.css)(n.css)}}),(()=>{let t=u();return(0,e.insert)(t,g,null),(0,e.insert)(t,(()=>{let t=(0,e.memo)(()=>!!n.extra);return()=>t()&&(()=>{let t=s();return(0,e.insert)(t,()=>n.extra),t})()})(),null),(0,e.effect)(()=>(0,e.className)(t,(0,r.cx)("text",n.class))),t})()]}(0,n.customElement)("n-highlight-text",{class:void 0,css:void 0,text:void 0,highlight:void 0,flag:void 0,extra:void 0},(r,n)=>{let o=n.element;return(0,t.createEffect)(()=>{(0,l.clearAttribute)(o,["css","text","highlight","extra"])}),[(()=>{let e=c();return e.textContent=i.inline,e})(),(0,e.createComponent)(f,r)]});const g=f;
13
- //# sourceMappingURL=index.js.map
12
+ `;function g(n){let{baseStyle:l}=i.default,[o,s]=(0,t.createSignal)(),g=(0,t.createMemo)(()=>o()?.map(t=>t.hit?(()=>{let r=a();return(0,e.insert)(r,()=>t.text),(0,e.effect)(()=>(0,e.setAttribute)(r,"data-text",t.text)),r})():t.text)??n.text);return(0,t.createEffect)(()=>{if("string"==typeof n.text&&n.highlight){let e=n.text;if(Array.isArray(n.highlight))for(let t=0,r=n.highlight.length;t<r;t++){let r=n.highlight[t],l="string"==typeof r,i=l?r:r.highlight,o=l?n.flag:r.flag;i.length&&(e=e.replace(new RegExp(i,o),`%c:${i}:c%`))}else n.highlight.length&&(e=e.replace(new RegExp(n.highlight,n.flag),`%c:${n.highlight}:c%`));s(function(e){let t=/%c:(.+?):c%/i,r=e,n=t.exec(r);if(n){let e=[];for(;null!==n;n=t.exec(r)){let t=r.substring(0,n.index);t.trim().length&&e.push({text:t}),e.push({hit:!0,text:n[1]}),r=r.substring(n[0].length+n.index),t=null}return r.trim().length&&e.push({text:r}),e}return null}(e))}else s(null)}),[(()=>{let t=c(),r=t.firstChild;return(0,e.effect)(()=>r.data=l()),t})(),(()=>{let e=u();return e.textContent=f,e})(),(0,e.createComponent)(t.Show,{get when(){return n.css},get children(){return(0,r.css)(n.css)}}),(()=>{let t=h();return(0,e.insert)(t,g,null),(0,e.insert)(t,(()=>{let t=(0,e.memo)(()=>!!n.extra);return()=>t()&&(()=>{let t=a();return(0,e.insert)(t,()=>n.extra),t})()})(),null),(0,e.effect)(()=>(0,e.className)(t,(0,r.cx)("text",n.class))),t})()]}(0,n.customElement)("n-highlight-text",{class:void 0,css:void 0,text:void 0,highlight:void 0,flag:void 0,extra:void 0},(r,n)=>{let o=n.element;return(0,t.createEffect)(()=>{(0,l.clearAttribute)(o,["css","text","highlight","extra"])}),[(()=>{let e=u();return e.textContent=i.inline,e})(),(0,e.createComponent)(g,r)]});const p=g;
@@ -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":["style","css","HighlightText","props","baseStyle","theme","texts","setTexts","createSignal","hitNode","createMemo","map","item","hit","text","createEffect","highlight","str","Array","isArray","i","len","length","isOne","hitStr","iFlag","flag","replace","RegExp","strToHighlight","RegExp_HighLight","strArr","exec","textArr","normalText","substring","index","trim","push","Show","extra","cx","class","customElement","opt","el","element","clearAttribute","inline"],"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":["style","css","HighlightText","props","baseStyle","theme","texts","setTexts","createSignal","hitNode","createMemo","map","item","hit","text","createEffect","highlight","str","Array","isArray","i","len","length","isOne","hitStr","iFlag","flag","replace","RegExp","strToHighlight","RegExp_HighLight","strArr","exec","textArr","normalText","substring","index","trim","push","Show","extra","cx","class","customElement","opt","el","element","clearAttribute","inline"],"mappings":"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"}
package/lib/img/index.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});const t=require("solid-js/web"),n=require("solid-js"),l=require("solid-element"),o=require("../theme"),r=(e=require("./lazy"))&&e.__esModule?e:{default:e},s=require("./style"),i=(0,t.template)("<style> "),a=(0,t.template)("<style>"),c=(0,t.template)('<div class="portal"><span class="close"></span><img class="img">');function d(e){let l;let o=(0,n.mergeProps)({maskClosable:!0,escClosable:!0,lazy:!0,disabled:!1},e),[d,u]=(0,n.createSignal)(null),[v,m]=(0,n.createSignal)({width:0,height:0,left:0,top:0});function p(e){o.disabled||(u(e),o.onOpenChange?.(e))}function g(e){e.preventDefault()}function f(e){g(e),"keydown"===e.type?o.escClosable&&"Escape"===e.key&&p(!1):p(!1)}function C(){!1===d()&&p(null)}function b(e){g(e),o.maskClosable&&e.target===l&&p(!1)}return(0,n.createEffect)(()=>{void 0!==o.open&&o.open!==(0,n.untrack)(d)&&u(o.open)}),(0,n.createEffect)(()=>{!0===d()&&(document.documentElement.addEventListener("mousewheel",g,{passive:!1}),o.escClosable&&document.documentElement.addEventListener("keydown",f,!1)),(0,n.onCleanup)(()=>{document.documentElement.removeEventListener("mousewheel",g,!1),document.documentElement.removeEventListener("keydown",f,!1)})}),[(0,t.createComponent)(r.default,{get src(){return o.src},get alt(){return o.alt},get lazy(){return o.lazy},get classList(){return{none:!!d()}},onClick:function(e){o.disabled||(e.stopPropagation(),g(e),e.target&&m(e.target.getBoundingClientRect()),p(!0))}}),(0,t.createComponent)(n.Show,{get when(){return null!==d()},get children(){return(0,t.createComponent)(t.Portal,{useShadow:!0,get children(){return[(()=>{let e=i(),n=e.firstChild;return(0,t.effect)(()=>n.data=function(){let{width:e,height:t,top:n,left:l}=v();return`.portal {--img: url(${o.src});inline-size: ${e}px;block-size: ${t}px;inset-block-start: ${n}px;inset-inline-start: ${l}px;}`}()),e})(),(()=>{let e=a();return e.textContent=s.imgCss,e})(),(()=>{let e=a();return e.textContent=s.style,e})(),(()=>{let e=c(),n=l,r=e.firstChild,s=r.nextSibling;return(0,t.addEventListener)(e,"click",b,!0),(0,t.addEventListener)(e,"animationend",C),"function"==typeof n?(0,t.use)(n,e):l=e,(0,t.addEventListener)(r,"click",f,!0),(0,t.effect)(n=>{let l=!!d(),r=!d(),i=o.srcFull||o.src,a=o.alt;return l!==n._v$&&e.classList.toggle("open",n._v$=l),r!==n._v$2&&e.classList.toggle("closeing",n._v$2=r),i!==n._v$3&&(0,t.setAttribute)(s,"src",n._v$3=i),a!==n._v$4&&(0,t.setAttribute)(s,"alt",n._v$4=a),n},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),e})()]}})}})]}(0,l.customElement)("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,l)=>{let r=(0,n.mergeProps)({onOpenChange(e){l.element.dispatchEvent(new CustomEvent("openchange",{detail:e}))},onLoad(){l.element.dispatchEvent(new CustomEvent("load"))}},e);return[(()=>{let e=a();return e.textContent=o.inline,e})(),(0,t.createComponent)(d,r)]});const u=d;(0,t.delegateEvents)(["click"]);
2
- //# sourceMappingURL=index.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return d}});const e=require("solid-js/web"),t=require("solid-js"),n=require("solid-element"),l=require("../theme"),o=s(require("./lazy")),r=require("./style");function s(e){return e&&e.__esModule?e:{default:e}}const i=(0,e.template)("<style> "),a=(0,e.template)("<style>"),c=(0,e.template)('<div class="portal"><span class="close"></span><img class="img">');function u(n){let l;let s=(0,t.mergeProps)({maskClosable:!0,escClosable:!0,lazy:!0,disabled:!1},n),[u,d]=(0,t.createSignal)(null),[v,m]=(0,t.createSignal)({width:0,height:0,left:0,top:0});function p(e){s.disabled||(d(e),s.onOpenChange?.(e))}function g(e){e.preventDefault()}function f(e){g(e),"keydown"===e.type?s.escClosable&&"Escape"===e.key&&p(!1):p(!1)}function C(){!1===u()&&p(null)}function b(e){g(e),s.maskClosable&&e.target===l&&p(!1)}return(0,t.createEffect)(()=>{void 0!==s.open&&s.open!==(0,t.untrack)(u)&&d(s.open)}),(0,t.createEffect)(()=>{!0===u()&&(document.documentElement.addEventListener("mousewheel",g,{passive:!1}),s.escClosable&&document.documentElement.addEventListener("keydown",f,!1)),(0,t.onCleanup)(()=>{document.documentElement.removeEventListener("mousewheel",g,!1),document.documentElement.removeEventListener("keydown",f,!1)})}),[(0,e.createComponent)(o.default,{get src(){return s.src},get alt(){return s.alt},get lazy(){return s.lazy},get classList(){return{none:!!u()}},onClick:function(e){s.disabled||(e.stopPropagation(),g(e),e.target&&m(e.target.getBoundingClientRect()),p(!0))}}),(0,e.createComponent)(t.Show,{get when(){return null!==u()},get children(){return(0,e.createComponent)(e.Portal,{useShadow:!0,get children(){return[(()=>{let t=i(),n=t.firstChild;return(0,e.effect)(()=>n.data=function(){let{width:e,height:t,top:n,left:l}=v();return`.portal {--img: url(${s.src});inline-size: ${e}px;block-size: ${t}px;inset-block-start: ${n}px;inset-inline-start: ${l}px;}`}()),t})(),(()=>{let e=a();return e.textContent=r.imgCss,e})(),(()=>{let e=a();return e.textContent=r.style,e})(),(()=>{let t=c(),n=l,o=t.firstChild,r=o.nextSibling;return(0,e.addEventListener)(t,"click",b,!0),(0,e.addEventListener)(t,"animationend",C),"function"==typeof n?(0,e.use)(n,t):l=t,(0,e.addEventListener)(o,"click",f,!0),(0,e.effect)(n=>{let l=!!u(),o=!u(),i=s.srcFull||s.src,a=s.alt;return l!==n._v$&&t.classList.toggle("open",n._v$=l),o!==n._v$2&&t.classList.toggle("closeing",n._v$2=o),i!==n._v$3&&(0,e.setAttribute)(r,"src",n._v$3=i),a!==n._v$4&&(0,e.setAttribute)(r,"alt",n._v$4=a),n},{_v$:void 0,_v$2:void 0,_v$3:void 0,_v$4:void 0}),t})()]}})}})]}(0,n.customElement)("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},(n,o)=>{let r=(0,t.mergeProps)({onOpenChange(e){o.element.dispatchEvent(new CustomEvent("openchange",{detail:e}))},onLoad(){o.element.dispatchEvent(new CustomEvent("load"))}},n);return[(()=>{let e=a();return e.textContent=l.inline,e})(),(0,e.createComponent)(u,r)]});const d=u;(0,e.delegateEvents)(["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":["Img","_","portal","props","mergeProps","maskClosable","escClosable","lazy","disabled","open","setOpen","createSignal","posi","setPosi","width","height","left","top","openChange","visi","onOpenChange","preventDefault","e","close","type","key","handleDestroy","portalClick","target","createEffect","untrack","document","documentElement","addEventListener","passive","onCleanup","removeEventListener","ImgLazy","src","alt","none","stopPropagation","getBoundingClientRect","Show","Portal","getCss","imgCss","style","srcFull","customElement","onLoad","opt","element","dispatchEvent","CustomEvent","detail","inline"],"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":["Img","_","portal","props","mergeProps","maskClosable","escClosable","lazy","disabled","open","setOpen","createSignal","posi","setPosi","width","height","left","top","openChange","visi","onOpenChange","preventDefault","e","close","type","key","handleDestroy","portalClick","target","createEffect","untrack","document","documentElement","addEventListener","passive","onCleanup","removeEventListener","ImgLazy","src","alt","none","stopPropagation","getBoundingClientRect","Show","Portal","getCss","imgCss","style","srcFull","customElement","onLoad","opt","element","dispatchEvent","CustomEvent","detail","inline"],"mappings":"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"}
package/lib/img/lazy.js CHANGED
@@ -1,2 +1 @@
1
- "use strict";var e;Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return u}});const r=require("solid-js/web"),t=require("solid-js"),n=(e=require("../spin"))&&e.__esModule?e:{default:e},s=require("./style"),o=(0,r.template)("<style>"),i=(0,r.template)("<img>"),u=function(e){let u,a;let[l,c]=(0,t.splitProps)(e,["src","lazy","onLoad","onError","classList","class","part","ref"]),[p,g]=(0,t.createSignal)(!1),[d,f]=(0,t.createSignal)(!1),[m,b]=(0,t.createSignal)(!0);function y(e){e&&(a&&e.unobserve(a),e.disconnect())}function v(e){l.onError?.(e),g(!0),b(!1)}function L(e){l.onLoad?.(e),b(!1)}return(0,t.onMount)(()=>{l.lazy?(u=new IntersectionObserver(e=>{f(e[0].isIntersecting),e[0].isIntersecting&&y(u)}),a&&u.observe(a)):f(!0)}),(0,t.onCleanup)(()=>{y(u)}),[(()=>{let e=o();return e.textContent=s.imgCss,e})(),(0,r.createComponent)(n.default,{get spin(){return m()},get children(){let e=i(),t=a;return"function"==typeof t?(0,r.use)(t,e):a=e,(0,r.spread)(e,(0,r.mergeProps)(c,{get class(){return l.class},get classList(){return{img:!0,error:p()}},get part(){return l.part||"img"},get src(){return d()?l.src:void 0},onError:v,onLoad:L}),!1,!1),e}})]};
2
- //# sourceMappingURL=lazy.js.map
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),Object.defineProperty(exports,"default",{enumerable:!0,get:function(){return c}});const e=require("solid-js/web"),t=require("solid-js"),r=s(require("../spin")),n=require("./style");function s(e){return e&&e.__esModule?e:{default:e}}const o=(0,e.template)("<style>"),i=(0,e.template)("<img>");function u(s){let u,c;let[l,a]=(0,t.splitProps)(s,["src","lazy","onLoad","onError","classList","class","part","ref"]),[p,g]=(0,t.createSignal)(!1),[d,f]=(0,t.createSignal)(!1),[m,b]=(0,t.createSignal)(!0);function y(e){e&&(c&&e.unobserve(c),e.disconnect())}function v(e){l.onError?.(e),g(!0),b(!1)}function L(e){l.onLoad?.(e),b(!1)}return(0,t.onMount)(()=>{l.lazy?(u=new IntersectionObserver(e=>{f(e[0].isIntersecting),e[0].isIntersecting&&y(u)}),c&&u.observe(c)):f(!0)}),(0,t.onCleanup)(()=>{y(u)}),[(()=>{let e=o();return e.textContent=n.imgCss,e})(),(0,e.createComponent)(r.default,{get spin(){return m()},get children(){let t=i(),r=c;return"function"==typeof r?(0,e.use)(r,t):c=t,(0,e.spread)(t,(0,e.mergeProps)(a,{get class(){return l.class},get classList(){return{img:!0,error:p()}},get part(){return l.part||"img"},get src(){return d()?l.src:void 0},onError:v,onLoad:L}),!1,!1),t}})]}const c=u;
@@ -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":["_","observer","imgRef","other","props","splitProps","isError","setIsError","createSignal","isIntersecting","setIsIntersecting","loading","setLoading","cleanObserver","obs","unobserve","disconnect","handleError","e","onError","handleLoad","onLoad","onMount","lazy","IntersectionObserver","entries","observe","onCleanup","imgCss","Spin","class","img","error","part","src"],"mappings":"wGA2FA,+CAAA,+CA3FuE,yBAEtD,kDAEM,iEAuFvB,EA7EA,SAAiBA,CAAe,MAC1BC,EACAC,EACJ,GAAM,CAACC,EAAOC,EAAM,CAAGC,GAAAA,YAAU,EAACL,EAAG,CACnC,MACA,OACA,SACA,UACA,YACA,QACA,OACA,MACD,EACK,CAACM,EAASC,EAAW,CAAGC,GAAAA,cAAY,EAAC,CAAA,GACrC,CAACC,EAAgBC,EAAkB,CAAGF,GAAAA,cAAY,EAAC,CAAA,GACnD,CAACG,EAASC,EAAW,CAAGJ,GAAAA,cAAY,EAAC,CAAA,GAE3C,SAASK,EAAcC,CAA0B,EAC3CA,IACEZ,GACFY,EAAIC,SAAS,CAACb,GAEhBY,EAAIE,UAAU,GAElB,CAEA,SAASC,EAAYC,CAAQ,EAC3Bf,EAAMgB,OAAO,GAAGD,GAChBX,EAAW,CAAA,GACXK,EAAW,CAAA,EACb,CACA,SAASQ,EAAWF,CAAQ,EAC1Bf,EAAMkB,MAAM,GAAGH,GACfN,EAAW,CAAA,EACb,CAqBA,MAnBAU,GAAAA,SAAO,EAAC,KACFnB,EAAMoB,IAAI,EACZtB,EAAW,IAAIuB,qBAAqB,AAACC,IACnCf,EAAkBe,CAAO,CAAC,EAAE,CAAChB,cAAc,EACvCgB,CAAO,CAAC,EAAE,CAAChB,cAAc,EAC3BI,EAAcZ,EAElB,GACIC,GACFD,EAASyB,OAAO,CAACxB,IAGnBQ,EAAkB,CAAA,EAEtB,GACAiB,GAAAA,WAAS,EAAC,KACRd,EAAcZ,EAChB,yCAIwB2B,QAAM,6BACzBC,SAAI,oBAAOlB,gCAEHT,4CAAAA,oCACDE,sBACGD,EAAM2B,KAAK,wBACP,CACTC,IAAK,CAAA,EACLC,MAAO1B,GACT,qBACMH,EAAM8B,IAAI,EAAI,wBACfxB,IAAmBN,EAAM+B,GAAG,CAAG,KAAK,WAChCjB,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":["ImgLazy","_","observer","imgRef","other","props","splitProps","isError","setIsError","createSignal","isIntersecting","setIsIntersecting","loading","setLoading","cleanObserver","obs","unobserve","disconnect","handleError","e","onError","handleLoad","onLoad","onMount","lazy","IntersectionObserver","entries","observe","onCleanup","imgCss","Spin","class","img","error","part","src"],"mappings":"kGA2FA,+CAAA,+CA3FuE,wBAEtD,sBAEM,0HAUvB,SAASA,EAAQC,CAAe,MAC1BC,EACAC,EACJ,GAAM,CAACC,EAAOC,EAAM,CAAGC,GAAAA,YAAU,EAACL,EAAG,CACnC,MACA,OACA,SACA,UACA,YACA,QACA,OACA,MACD,EACK,CAACM,EAASC,EAAW,CAAGC,GAAAA,cAAY,EAAC,CAAA,GACrC,CAACC,EAAgBC,EAAkB,CAAGF,GAAAA,cAAY,EAAC,CAAA,GACnD,CAACG,EAASC,EAAW,CAAGJ,GAAAA,cAAY,EAAC,CAAA,GAE3C,SAASK,EAAcC,CAA0B,EAC3CA,IACEZ,GACFY,EAAIC,SAAS,CAACb,GAEhBY,EAAIE,UAAU,GAElB,CAEA,SAASC,EAAYC,CAAQ,EAC3Bf,EAAMgB,OAAO,GAAGD,GAChBX,EAAW,CAAA,GACXK,EAAW,CAAA,EACb,CACA,SAASQ,EAAWF,CAAQ,EAC1Bf,EAAMkB,MAAM,GAAGH,GACfN,EAAW,CAAA,EACb,CAqBA,MAnBAU,GAAAA,SAAO,EAAC,KACFnB,EAAMoB,IAAI,EACZtB,EAAW,IAAIuB,qBAAqB,AAACC,IACnCf,EAAkBe,CAAO,CAAC,EAAE,CAAChB,cAAc,EACvCgB,CAAO,CAAC,EAAE,CAAChB,cAAc,EAC3BI,EAAcZ,EAElB,GACIC,GACFD,EAASyB,OAAO,CAACxB,IAGnBQ,EAAkB,CAAA,EAEtB,GACAiB,GAAAA,WAAS,EAAC,KACRd,EAAcZ,EAChB,yCAIwB2B,QAAM,6BACzBC,SAAI,oBAAOlB,gCAEHT,4CAAAA,oCACDE,sBACGD,EAAM2B,KAAK,wBACP,CACTC,IAAK,CAAA,EACLC,MAAO1B,GACT,qBACMH,EAAM8B,IAAI,EAAI,wBACfxB,IAAmBN,EAAM+B,GAAG,CAAG,KAAK,WAChCjB,SACDG,gBAKlB,OAEA,EAAerB"}
package/lib/img/style.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0}),function(e,n){for(var t in n)Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}(exports,{imgCss:function(){return n},style:function(){return t}});const e=require("@moneko/css"),n=(0,e.css)`
1
+ "use strict";function e(e,n){for(var t in n)Object.defineProperty(e,t,{enumerable:!0,get:n[t]})}Object.defineProperty(exports,"__esModule",{value:!0}),e(exports,{imgCss:function(){return t},style:function(){return i}});const n=require("@moneko/css"),t=(0,n.css)`
2
2
  .img {
3
3
  max-inline-size: 100%;
4
4
  max-block-size: 100%;
@@ -45,7 +45,7 @@
45
45
  line-height: 2;
46
46
  }
47
47
  }
48
- `,t=(0,e.css)`
48
+ `,i=(0,n.css)`
49
49
  .close {
50
50
  position: absolute;
51
51
  inset-block-start: 0;
@@ -132,5 +132,4 @@
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":["imgCss","style","css"],"mappings":"+JAEaA,MAAM,mBAANA,GAgDAC,KAAK,mBAALA,qBAlDO,eAEPD,EAASE,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+C1B,CAAC,CACYD,EAAQC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFzB,CAAC"}
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":["imgCss","style","css"],"mappings":"kKAEaA,MAAM,mBAANA,GAgDAC,KAAK,mBAALA,qBAlDO,eAEPD,EAASE,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+C1B,CAAC,CACYD,EAAQC,GAAAA,KAAG,CAAA,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuFzB,CAAC"}