@modern-admin/web 0.2.0 → 0.3.0

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 (345) hide show
  1. package/LICENSE +21 -0
  2. package/dist/lib/app.d.ts +1 -0
  3. package/dist/lib/app.d.ts.map +1 -0
  4. package/dist/lib/index.d.ts +1 -0
  5. package/dist/lib/index.d.ts.map +1 -0
  6. package/dist/lib/index.js.map +1 -1
  7. package/dist/lib/mount.d.ts +1 -0
  8. package/dist/lib/mount.d.ts.map +1 -0
  9. package/dist/lib/runtime-config.d.ts +1 -0
  10. package/dist/lib/runtime-config.d.ts.map +1 -0
  11. package/dist/standalone/assets/ai-assistant-widget-laqH_9UQ.js +2 -0
  12. package/dist/standalone/assets/ai-assistant-widget-laqH_9UQ.js.br +0 -0
  13. package/dist/standalone/assets/ai-assistant-widget-laqH_9UQ.js.gz +0 -0
  14. package/dist/standalone/assets/ai-assistant-widget-laqH_9UQ.js.map +1 -0
  15. package/dist/standalone/assets/audit-log-page-3t8elFPn.js +2 -0
  16. package/dist/standalone/assets/audit-log-page-3t8elFPn.js.br +0 -0
  17. package/dist/standalone/assets/audit-log-page-3t8elFPn.js.gz +0 -0
  18. package/dist/standalone/assets/{audit-log-page-BtQee6RK.js.map → audit-log-page-3t8elFPn.js.map} +1 -1
  19. package/dist/standalone/assets/badge-6nyM5Jft.js +2 -0
  20. package/dist/standalone/assets/{badge-54ntzaYc.js.map → badge-6nyM5Jft.js.map} +1 -1
  21. package/dist/standalone/assets/{bot-Ct10WUaE.js → bot-DFDgGfNj.js} +2 -2
  22. package/dist/standalone/assets/{bot-Ct10WUaE.js.map → bot-DFDgGfNj.js.map} +1 -1
  23. package/dist/standalone/assets/calendar-C1Ecnytz.js +2 -0
  24. package/dist/standalone/assets/calendar-C1Ecnytz.js.br +0 -0
  25. package/dist/standalone/assets/calendar-C1Ecnytz.js.gz +0 -0
  26. package/dist/standalone/assets/calendar-C1Ecnytz.js.map +1 -0
  27. package/dist/standalone/assets/card-4cS4uWCP.js +2 -0
  28. package/dist/standalone/assets/card-4cS4uWCP.js.br +0 -0
  29. package/dist/standalone/assets/card-4cS4uWCP.js.gz +0 -0
  30. package/dist/standalone/assets/{card-BxVP8OBf.js.map → card-4cS4uWCP.js.map} +1 -1
  31. package/dist/standalone/assets/chart-widget-1GPloJY4.js +60 -0
  32. package/dist/standalone/assets/chart-widget-1GPloJY4.js.br +0 -0
  33. package/dist/standalone/assets/chart-widget-1GPloJY4.js.gz +0 -0
  34. package/dist/standalone/assets/chart-widget-1GPloJY4.js.map +1 -0
  35. package/dist/standalone/assets/chevrons-up-down-BHCs46XQ.js +2 -0
  36. package/dist/standalone/assets/chevrons-up-down-BHCs46XQ.js.map +1 -0
  37. package/dist/standalone/assets/{clock-iyXvoRDc.js → clock-OCmX6DtA.js} +2 -2
  38. package/dist/standalone/assets/{clock-iyXvoRDc.js.map → clock-OCmX6DtA.js.map} +1 -1
  39. package/dist/standalone/assets/command-C1FjGx6t.js +2 -0
  40. package/dist/standalone/assets/command-C1FjGx6t.js.br +0 -0
  41. package/dist/standalone/assets/command-C1FjGx6t.js.gz +0 -0
  42. package/dist/standalone/assets/{command-BPNCtx-E.js.map → command-C1FjGx6t.js.map} +1 -1
  43. package/dist/standalone/assets/copy-BexCWf4U.js +2 -0
  44. package/dist/standalone/assets/copy-BexCWf4U.js.map +1 -0
  45. package/dist/standalone/assets/createLucideIcon-CUopU_LC.js +2 -0
  46. package/dist/standalone/assets/createLucideIcon-CUopU_LC.js.br +0 -0
  47. package/dist/standalone/assets/createLucideIcon-CUopU_LC.js.gz +0 -0
  48. package/dist/standalone/assets/{createLucideIcon-DSvTabTT.js.map → createLucideIcon-CUopU_LC.js.map} +1 -1
  49. package/dist/standalone/assets/date-picker-DVnnp1Ez.js +2 -0
  50. package/dist/standalone/assets/date-picker-DVnnp1Ez.js.br +0 -0
  51. package/dist/standalone/assets/date-picker-DVnnp1Ez.js.gz +0 -0
  52. package/dist/standalone/assets/date-picker-DVnnp1Ez.js.map +1 -0
  53. package/dist/standalone/assets/dist-CvKz-wgE.js +2 -0
  54. package/dist/standalone/assets/dist-CvKz-wgE.js.br +0 -0
  55. package/dist/standalone/assets/dist-CvKz-wgE.js.gz +0 -0
  56. package/dist/standalone/assets/dist-CvKz-wgE.js.map +1 -0
  57. package/dist/standalone/assets/dist-Dpg8xy_r.js +2 -0
  58. package/dist/standalone/assets/dist-Dpg8xy_r.js.br +0 -0
  59. package/dist/standalone/assets/dist-Dpg8xy_r.js.gz +0 -0
  60. package/dist/standalone/assets/dist-Dpg8xy_r.js.map +1 -0
  61. package/dist/standalone/assets/dist-DuSTm0pk.js +2 -0
  62. package/dist/standalone/assets/dist-DuSTm0pk.js.br +0 -0
  63. package/dist/standalone/assets/dist-DuSTm0pk.js.gz +0 -0
  64. package/dist/standalone/assets/dist-DuSTm0pk.js.map +1 -0
  65. package/dist/standalone/assets/edit-page-DFmI1Ckp.js +2 -0
  66. package/dist/standalone/assets/edit-page-DFmI1Ckp.js.br +0 -0
  67. package/dist/standalone/assets/edit-page-DFmI1Ckp.js.gz +0 -0
  68. package/dist/standalone/assets/edit-page-DFmI1Ckp.js.map +1 -0
  69. package/dist/standalone/assets/empty-D9nNJb_Y.js +2 -0
  70. package/dist/standalone/assets/empty-D9nNJb_Y.js.br +0 -0
  71. package/dist/standalone/assets/empty-D9nNJb_Y.js.gz +0 -0
  72. package/dist/standalone/assets/empty-D9nNJb_Y.js.map +1 -0
  73. package/dist/standalone/assets/{file-text-Cq--5mhO.js → file-text-CcLZq8HA.js} +2 -2
  74. package/dist/standalone/assets/{file-text-Cq--5mhO.js.map → file-text-CcLZq8HA.js.map} +1 -1
  75. package/dist/standalone/assets/{folder-symlink-DjXnrBKd.js → folder-plus-DebVc0CA.js} +2 -2
  76. package/dist/standalone/assets/folder-plus-DebVc0CA.js.br +0 -0
  77. package/dist/standalone/assets/folder-plus-DebVc0CA.js.gz +0 -0
  78. package/dist/standalone/assets/folder-plus-DebVc0CA.js.map +1 -0
  79. package/dist/standalone/assets/folder-symlink-iMRmgjVt.js +2 -0
  80. package/dist/standalone/assets/folder-symlink-iMRmgjVt.js.map +1 -0
  81. package/dist/standalone/assets/global-search-dialog--zUHqLIo.js +2 -0
  82. package/dist/standalone/assets/global-search-dialog--zUHqLIo.js.br +0 -0
  83. package/dist/standalone/assets/global-search-dialog--zUHqLIo.js.gz +0 -0
  84. package/dist/standalone/assets/global-search-dialog--zUHqLIo.js.map +1 -0
  85. package/dist/standalone/assets/heavy-fields-Ctx9uZME.js +181 -0
  86. package/dist/standalone/assets/heavy-fields-Ctx9uZME.js.br +0 -0
  87. package/dist/standalone/assets/heavy-fields-Ctx9uZME.js.gz +0 -0
  88. package/dist/standalone/assets/heavy-fields-Ctx9uZME.js.map +1 -0
  89. package/dist/standalone/assets/home-page-B1hrpu2S.js +3 -0
  90. package/dist/standalone/assets/home-page-B1hrpu2S.js.br +0 -0
  91. package/dist/standalone/assets/home-page-B1hrpu2S.js.gz +0 -0
  92. package/dist/standalone/assets/home-page-B1hrpu2S.js.map +1 -0
  93. package/dist/standalone/assets/icon-registry-BBZirLGp.js +2 -0
  94. package/dist/standalone/assets/icon-registry-BBZirLGp.js.br +0 -0
  95. package/dist/standalone/assets/icon-registry-BBZirLGp.js.gz +0 -0
  96. package/dist/standalone/assets/icon-registry-BBZirLGp.js.map +1 -0
  97. package/dist/standalone/assets/index-CU0xv21_.css +2 -0
  98. package/dist/standalone/assets/index-CU0xv21_.css.br +0 -0
  99. package/dist/standalone/assets/index-CU0xv21_.css.gz +0 -0
  100. package/dist/standalone/assets/index-Ldci8MK5.js +15 -0
  101. package/dist/standalone/assets/index-Ldci8MK5.js.br +0 -0
  102. package/dist/standalone/assets/index-Ldci8MK5.js.gz +0 -0
  103. package/dist/standalone/assets/index-Ldci8MK5.js.map +1 -0
  104. package/dist/standalone/assets/info-CGVdWTj1.js +2 -0
  105. package/dist/standalone/assets/info-CGVdWTj1.js.map +1 -0
  106. package/dist/standalone/assets/json-editor-DwQqN8OM.js +2 -0
  107. package/dist/standalone/assets/json-editor-DwQqN8OM.js.br +0 -0
  108. package/dist/standalone/assets/json-editor-DwQqN8OM.js.gz +0 -0
  109. package/dist/standalone/assets/{json-editor---0NDBfO.js.map → json-editor-DwQqN8OM.js.map} +1 -1
  110. package/dist/standalone/assets/{key-BKtcci8w.js → key-lbuX0yk_.js} +2 -2
  111. package/dist/standalone/assets/{key-BKtcci8w.js.map → key-lbuX0yk_.js.map} +1 -1
  112. package/dist/standalone/assets/{key-round-xzeQg3wM.js → key-round-CQLp1Ua9.js} +2 -2
  113. package/dist/standalone/assets/{key-round-xzeQg3wM.js.map → key-round-CQLp1Ua9.js.map} +1 -1
  114. package/dist/standalone/assets/{minimize-2-Cvf27CGa.js → minimize-2-Bx2cH_WS.js} +2 -2
  115. package/dist/standalone/assets/{minimize-2-Cvf27CGa.js.map → minimize-2-Bx2cH_WS.js.map} +1 -1
  116. package/dist/standalone/assets/{pencil-C8qbfxd_.js → pencil-BO-k3yTG.js} +2 -2
  117. package/dist/standalone/assets/{pencil-C8qbfxd_.js.map → pencil-BO-k3yTG.js.map} +1 -1
  118. package/dist/standalone/assets/plus-Dk-FzitW.js +2 -0
  119. package/dist/standalone/assets/{plus-B8nFUPu-.js.map → plus-Dk-FzitW.js.map} +1 -1
  120. package/dist/standalone/assets/property-renderer-BogzDKIK.js +7 -0
  121. package/dist/standalone/assets/property-renderer-BogzDKIK.js.br +0 -0
  122. package/dist/standalone/assets/property-renderer-BogzDKIK.js.gz +0 -0
  123. package/dist/standalone/assets/property-renderer-BogzDKIK.js.map +1 -0
  124. package/dist/standalone/assets/reference-053-L2WD.js +2 -0
  125. package/dist/standalone/assets/reference-053-L2WD.js.br +0 -0
  126. package/dist/standalone/assets/reference-053-L2WD.js.gz +0 -0
  127. package/dist/standalone/assets/reference-053-L2WD.js.map +1 -0
  128. package/dist/standalone/assets/refresh-cw-Dz19XR6g.js +2 -0
  129. package/dist/standalone/assets/refresh-cw-Dz19XR6g.js.map +1 -0
  130. package/dist/standalone/assets/revisions-button-B4wc6uYi.js +2 -0
  131. package/dist/standalone/assets/revisions-button-B4wc6uYi.js.br +0 -0
  132. package/dist/standalone/assets/revisions-button-B4wc6uYi.js.gz +0 -0
  133. package/dist/standalone/assets/revisions-button-B4wc6uYi.js.map +1 -0
  134. package/dist/standalone/assets/richtext-render-DnVcQ34I.js +67 -0
  135. package/dist/standalone/assets/richtext-render-DnVcQ34I.js.br +0 -0
  136. package/dist/standalone/assets/richtext-render-DnVcQ34I.js.gz +0 -0
  137. package/dist/standalone/assets/richtext-render-DnVcQ34I.js.map +1 -0
  138. package/dist/standalone/assets/{rotate-ccw-C16vh2yh.js → rotate-ccw-BLr0QLAg.js} +2 -2
  139. package/dist/standalone/assets/{rotate-ccw-C16vh2yh.js.map → rotate-ccw-BLr0QLAg.js.map} +1 -1
  140. package/dist/standalone/assets/router-CT00z_xv.js +186 -0
  141. package/dist/standalone/assets/router-CT00z_xv.js.br +0 -0
  142. package/dist/standalone/assets/router-CT00z_xv.js.gz +0 -0
  143. package/dist/standalone/assets/router-CT00z_xv.js.map +1 -0
  144. package/dist/standalone/assets/{save-CNS0Z8lH.js → save-Cd3oR3Sj.js} +2 -2
  145. package/dist/standalone/assets/{save-CNS0Z8lH.js.map → save-Cd3oR3Sj.js.map} +1 -1
  146. package/dist/standalone/assets/schemas-twnCb1uT.js +65 -0
  147. package/dist/standalone/assets/schemas-twnCb1uT.js.br +0 -0
  148. package/dist/standalone/assets/schemas-twnCb1uT.js.gz +0 -0
  149. package/dist/standalone/assets/schemas-twnCb1uT.js.map +1 -0
  150. package/dist/standalone/assets/select-B6fxO2bI.js +2 -0
  151. package/dist/standalone/assets/select-B6fxO2bI.js.br +0 -0
  152. package/dist/standalone/assets/select-B6fxO2bI.js.gz +0 -0
  153. package/dist/standalone/assets/select-B6fxO2bI.js.map +1 -0
  154. package/dist/standalone/assets/{send-D2cpsjJz.js → send-D4KHQGYj.js} +2 -2
  155. package/dist/standalone/assets/{send-D2cpsjJz.js.map → send-D4KHQGYj.js.map} +1 -1
  156. package/dist/standalone/assets/settings-page-BRhIGsdX.js +2 -0
  157. package/dist/standalone/assets/settings-page-BRhIGsdX.js.br +0 -0
  158. package/dist/standalone/assets/settings-page-BRhIGsdX.js.gz +0 -0
  159. package/dist/standalone/assets/{settings-page-DvTdKBLt.js.map → settings-page-BRhIGsdX.js.map} +1 -1
  160. package/dist/standalone/assets/show-page-BJt9Kmdd.js +2 -0
  161. package/dist/standalone/assets/show-page-BJt9Kmdd.js.br +0 -0
  162. package/dist/standalone/assets/show-page-BJt9Kmdd.js.gz +0 -0
  163. package/dist/standalone/assets/{show-page-GmBctL2E.js.map → show-page-BJt9Kmdd.js.map} +1 -1
  164. package/dist/standalone/assets/{sparkles-D68Upt7w.js → sparkles-CqF0zjrF.js} +2 -2
  165. package/dist/standalone/assets/{sparkles-D68Upt7w.js.map → sparkles-CqF0zjrF.js.map} +1 -1
  166. package/dist/standalone/assets/square-pen-DGT7ekeJ.js +2 -0
  167. package/dist/standalone/assets/square-pen-DGT7ekeJ.js.map +1 -0
  168. package/dist/standalone/assets/tabs-BgR4QuFh.js +2 -0
  169. package/dist/standalone/assets/tabs-BgR4QuFh.js.br +0 -0
  170. package/dist/standalone/assets/tabs-BgR4QuFh.js.gz +0 -0
  171. package/dist/standalone/assets/tabs-BgR4QuFh.js.map +1 -0
  172. package/dist/standalone/assets/textarea-CX_0QVSz.js +2 -0
  173. package/dist/standalone/assets/{textarea-psdsvUNK.js.map → textarea-CX_0QVSz.js.map} +1 -1
  174. package/dist/standalone/assets/{trash-2-BXceFzA_.js → trash-2-DhyKQCKv.js} +2 -2
  175. package/dist/standalone/assets/{trash-2-BXceFzA_.js.map → trash-2-DhyKQCKv.js.map} +1 -1
  176. package/dist/standalone/assets/triangle-alert-CyaaNWN8.js +2 -0
  177. package/dist/standalone/assets/triangle-alert-CyaaNWN8.js.map +1 -0
  178. package/dist/standalone/assets/{undo-2-Bub1b-WC.js → undo-2-DlSB-5DM.js} +2 -2
  179. package/dist/standalone/assets/undo-2-DlSB-5DM.js.br +0 -0
  180. package/dist/standalone/assets/undo-2-DlSB-5DM.js.gz +0 -0
  181. package/dist/standalone/assets/{undo-2-Bub1b-WC.js.map → undo-2-DlSB-5DM.js.map} +1 -1
  182. package/dist/standalone/assets/use-dashboard-charts-CkpsFXxZ.js +2 -0
  183. package/dist/standalone/assets/use-dashboard-charts-CkpsFXxZ.js.br +0 -0
  184. package/dist/standalone/assets/use-dashboard-charts-CkpsFXxZ.js.gz +0 -0
  185. package/dist/standalone/assets/use-dashboard-charts-CkpsFXxZ.js.map +1 -0
  186. package/dist/standalone/assets/useQueries-BblIcy3I.js +2 -0
  187. package/dist/standalone/assets/useQueries-BblIcy3I.js.br +0 -0
  188. package/dist/standalone/assets/useQueries-BblIcy3I.js.gz +0 -0
  189. package/dist/standalone/assets/useQueries-BblIcy3I.js.map +1 -0
  190. package/dist/standalone/assets/user-directory-bre0Sulk.js +5 -0
  191. package/dist/standalone/assets/user-directory-bre0Sulk.js.br +0 -0
  192. package/dist/standalone/assets/user-directory-bre0Sulk.js.gz +0 -0
  193. package/dist/standalone/assets/user-directory-bre0Sulk.js.map +1 -0
  194. package/dist/standalone/assets/uuid-DLSnbsz2.js +2 -0
  195. package/dist/standalone/assets/uuid-DLSnbsz2.js.map +1 -0
  196. package/dist/standalone/assets/{wand-sparkles-ChJCPtl2.js → wand-sparkles-BDM69Lk9.js} +2 -2
  197. package/dist/standalone/assets/{wand-sparkles-ChJCPtl2.js.map → wand-sparkles-BDM69Lk9.js.map} +1 -1
  198. package/dist/standalone/assets/with-selector-NDLhu4dT.js +2 -0
  199. package/dist/standalone/assets/with-selector-NDLhu4dT.js.br +0 -0
  200. package/dist/standalone/assets/with-selector-NDLhu4dT.js.gz +0 -0
  201. package/dist/standalone/assets/with-selector-NDLhu4dT.js.map +1 -0
  202. package/dist/standalone/assets/wizard-create-page-3rZPPXLK.js +2 -0
  203. package/dist/standalone/assets/wizard-create-page-3rZPPXLK.js.br +0 -0
  204. package/dist/standalone/assets/wizard-create-page-3rZPPXLK.js.gz +0 -0
  205. package/dist/standalone/assets/{wizard-create-page-CDXQplgD.js.map → wizard-create-page-3rZPPXLK.js.map} +1 -1
  206. package/dist/standalone/assets/x-C3kLunD6.js +2 -0
  207. package/dist/standalone/assets/x-C3kLunD6.js.map +1 -0
  208. package/dist/standalone/assets/{zap-CFqoI4XA.js → zap-DIzIW2MP.js} +2 -2
  209. package/dist/standalone/assets/zap-DIzIW2MP.js.br +0 -0
  210. package/dist/standalone/assets/zap-DIzIW2MP.js.gz +0 -0
  211. package/dist/standalone/assets/{zap-CFqoI4XA.js.map → zap-DIzIW2MP.js.map} +1 -1
  212. package/dist/standalone/assets/zod-BVYoAymF.js +2 -0
  213. package/dist/standalone/assets/zod-BVYoAymF.js.br +0 -0
  214. package/dist/standalone/assets/zod-BVYoAymF.js.gz +0 -0
  215. package/dist/standalone/assets/zod-BVYoAymF.js.map +1 -0
  216. package/dist/standalone/index.html +12 -7
  217. package/dist/standalone/index.html.br +0 -0
  218. package/dist/standalone/index.html.gz +0 -0
  219. package/package.json +7 -6
  220. package/tsconfig.json +1 -1
  221. package/dist/standalone/assets/ai-assistant-widget-DbUtIE-Q.js +0 -2
  222. package/dist/standalone/assets/ai-assistant-widget-DbUtIE-Q.js.br +0 -0
  223. package/dist/standalone/assets/ai-assistant-widget-DbUtIE-Q.js.gz +0 -0
  224. package/dist/standalone/assets/ai-assistant-widget-DbUtIE-Q.js.map +0 -1
  225. package/dist/standalone/assets/audit-log-page-BtQee6RK.js +0 -2
  226. package/dist/standalone/assets/audit-log-page-BtQee6RK.js.br +0 -0
  227. package/dist/standalone/assets/audit-log-page-BtQee6RK.js.gz +0 -0
  228. package/dist/standalone/assets/badge-54ntzaYc.js +0 -2
  229. package/dist/standalone/assets/badge-54ntzaYc.js.br +0 -0
  230. package/dist/standalone/assets/badge-54ntzaYc.js.gz +0 -0
  231. package/dist/standalone/assets/card-BxVP8OBf.js +0 -2
  232. package/dist/standalone/assets/card-BxVP8OBf.js.br +0 -0
  233. package/dist/standalone/assets/card-BxVP8OBf.js.gz +0 -0
  234. package/dist/standalone/assets/command-BPNCtx-E.js +0 -2
  235. package/dist/standalone/assets/command-BPNCtx-E.js.br +0 -0
  236. package/dist/standalone/assets/command-BPNCtx-E.js.gz +0 -0
  237. package/dist/standalone/assets/createLucideIcon-DSvTabTT.js +0 -2
  238. package/dist/standalone/assets/createLucideIcon-DSvTabTT.js.br +0 -0
  239. package/dist/standalone/assets/createLucideIcon-DSvTabTT.js.gz +0 -0
  240. package/dist/standalone/assets/edit-page-DkwyTF2U.js +0 -2
  241. package/dist/standalone/assets/edit-page-DkwyTF2U.js.br +0 -0
  242. package/dist/standalone/assets/edit-page-DkwyTF2U.js.gz +0 -0
  243. package/dist/standalone/assets/edit-page-DkwyTF2U.js.map +0 -1
  244. package/dist/standalone/assets/empty-l7xFD9xQ.js +0 -2
  245. package/dist/standalone/assets/empty-l7xFD9xQ.js.br +0 -0
  246. package/dist/standalone/assets/empty-l7xFD9xQ.js.gz +0 -0
  247. package/dist/standalone/assets/empty-l7xFD9xQ.js.map +0 -1
  248. package/dist/standalone/assets/folder-symlink-DjXnrBKd.js.br +0 -0
  249. package/dist/standalone/assets/folder-symlink-DjXnrBKd.js.gz +0 -0
  250. package/dist/standalone/assets/folder-symlink-DjXnrBKd.js.map +0 -1
  251. package/dist/standalone/assets/global-search-dialog-SZRMDtql.js +0 -2
  252. package/dist/standalone/assets/global-search-dialog-SZRMDtql.js.br +0 -0
  253. package/dist/standalone/assets/global-search-dialog-SZRMDtql.js.gz +0 -0
  254. package/dist/standalone/assets/global-search-dialog-SZRMDtql.js.map +0 -1
  255. package/dist/standalone/assets/heavy-fields-Duxqf7N5.js +0 -171
  256. package/dist/standalone/assets/heavy-fields-Duxqf7N5.js.br +0 -0
  257. package/dist/standalone/assets/heavy-fields-Duxqf7N5.js.gz +0 -0
  258. package/dist/standalone/assets/heavy-fields-Duxqf7N5.js.map +0 -1
  259. package/dist/standalone/assets/home-page-fboDuiaH.js +0 -37
  260. package/dist/standalone/assets/home-page-fboDuiaH.js.br +0 -0
  261. package/dist/standalone/assets/home-page-fboDuiaH.js.gz +0 -0
  262. package/dist/standalone/assets/home-page-fboDuiaH.js.map +0 -1
  263. package/dist/standalone/assets/icon-registry-B8k2fFeL.js +0 -2
  264. package/dist/standalone/assets/icon-registry-B8k2fFeL.js.br +0 -0
  265. package/dist/standalone/assets/icon-registry-B8k2fFeL.js.gz +0 -0
  266. package/dist/standalone/assets/icon-registry-B8k2fFeL.js.map +0 -1
  267. package/dist/standalone/assets/index-DWXKwSWo.css +0 -2
  268. package/dist/standalone/assets/index-DWXKwSWo.css.br +0 -0
  269. package/dist/standalone/assets/index-DWXKwSWo.css.gz +0 -0
  270. package/dist/standalone/assets/index-eVDAlr3Y.js +0 -209
  271. package/dist/standalone/assets/index-eVDAlr3Y.js.br +0 -0
  272. package/dist/standalone/assets/index-eVDAlr3Y.js.gz +0 -0
  273. package/dist/standalone/assets/index-eVDAlr3Y.js.map +0 -1
  274. package/dist/standalone/assets/info-wDXYBagh.js +0 -2
  275. package/dist/standalone/assets/info-wDXYBagh.js.map +0 -1
  276. package/dist/standalone/assets/json-editor---0NDBfO.js +0 -2
  277. package/dist/standalone/assets/json-editor---0NDBfO.js.br +0 -0
  278. package/dist/standalone/assets/json-editor---0NDBfO.js.gz +0 -0
  279. package/dist/standalone/assets/plus-B8nFUPu-.js +0 -2
  280. package/dist/standalone/assets/property-renderer-5cEDq-L-.js +0 -7
  281. package/dist/standalone/assets/property-renderer-5cEDq-L-.js.br +0 -0
  282. package/dist/standalone/assets/property-renderer-5cEDq-L-.js.gz +0 -0
  283. package/dist/standalone/assets/property-renderer-5cEDq-L-.js.map +0 -1
  284. package/dist/standalone/assets/reference-GI-LV5wm.js +0 -2
  285. package/dist/standalone/assets/reference-GI-LV5wm.js.br +0 -0
  286. package/dist/standalone/assets/reference-GI-LV5wm.js.gz +0 -0
  287. package/dist/standalone/assets/reference-GI-LV5wm.js.map +0 -1
  288. package/dist/standalone/assets/refresh-cw-DqhEKkOK.js +0 -2
  289. package/dist/standalone/assets/refresh-cw-DqhEKkOK.js.map +0 -1
  290. package/dist/standalone/assets/revisions-button-BjlTw0FI.js +0 -2
  291. package/dist/standalone/assets/revisions-button-BjlTw0FI.js.br +0 -0
  292. package/dist/standalone/assets/revisions-button-BjlTw0FI.js.gz +0 -0
  293. package/dist/standalone/assets/revisions-button-BjlTw0FI.js.map +0 -1
  294. package/dist/standalone/assets/richtext-render-Bqp34pmS.js +0 -66
  295. package/dist/standalone/assets/richtext-render-Bqp34pmS.js.br +0 -0
  296. package/dist/standalone/assets/richtext-render-Bqp34pmS.js.gz +0 -0
  297. package/dist/standalone/assets/richtext-render-Bqp34pmS.js.map +0 -1
  298. package/dist/standalone/assets/rolldown-runtime-S-ySWqyJ.js +0 -1
  299. package/dist/standalone/assets/select-ZdIYBmRV.js +0 -2
  300. package/dist/standalone/assets/select-ZdIYBmRV.js.br +0 -0
  301. package/dist/standalone/assets/select-ZdIYBmRV.js.gz +0 -0
  302. package/dist/standalone/assets/select-ZdIYBmRV.js.map +0 -1
  303. package/dist/standalone/assets/settings-page-DvTdKBLt.js +0 -2
  304. package/dist/standalone/assets/settings-page-DvTdKBLt.js.br +0 -0
  305. package/dist/standalone/assets/settings-page-DvTdKBLt.js.gz +0 -0
  306. package/dist/standalone/assets/show-page-GmBctL2E.js +0 -2
  307. package/dist/standalone/assets/show-page-GmBctL2E.js.br +0 -0
  308. package/dist/standalone/assets/show-page-GmBctL2E.js.gz +0 -0
  309. package/dist/standalone/assets/src-dpVDMS9j.js +0 -65
  310. package/dist/standalone/assets/src-dpVDMS9j.js.br +0 -0
  311. package/dist/standalone/assets/src-dpVDMS9j.js.gz +0 -0
  312. package/dist/standalone/assets/src-dpVDMS9j.js.map +0 -1
  313. package/dist/standalone/assets/tabs-BGAJ-7kY.js +0 -2
  314. package/dist/standalone/assets/tabs-BGAJ-7kY.js.br +0 -0
  315. package/dist/standalone/assets/tabs-BGAJ-7kY.js.gz +0 -0
  316. package/dist/standalone/assets/tabs-BGAJ-7kY.js.map +0 -1
  317. package/dist/standalone/assets/textarea-psdsvUNK.js +0 -2
  318. package/dist/standalone/assets/triangle-alert-B6KVFtA2.js +0 -2
  319. package/dist/standalone/assets/triangle-alert-B6KVFtA2.js.map +0 -1
  320. package/dist/standalone/assets/undo-2-Bub1b-WC.js.br +0 -0
  321. package/dist/standalone/assets/undo-2-Bub1b-WC.js.gz +0 -0
  322. package/dist/standalone/assets/use-dashboard-charts-DbH5_SmD.js +0 -2
  323. package/dist/standalone/assets/use-dashboard-charts-DbH5_SmD.js.br +0 -0
  324. package/dist/standalone/assets/use-dashboard-charts-DbH5_SmD.js.gz +0 -0
  325. package/dist/standalone/assets/use-dashboard-charts-DbH5_SmD.js.map +0 -1
  326. package/dist/standalone/assets/useQueries-BKs9IisP.js +0 -2
  327. package/dist/standalone/assets/useQueries-BKs9IisP.js.br +0 -0
  328. package/dist/standalone/assets/useQueries-BKs9IisP.js.gz +0 -0
  329. package/dist/standalone/assets/useQueries-BKs9IisP.js.map +0 -1
  330. package/dist/standalone/assets/user-directory-CxHPHi_I.js +0 -5
  331. package/dist/standalone/assets/user-directory-CxHPHi_I.js.br +0 -0
  332. package/dist/standalone/assets/user-directory-CxHPHi_I.js.gz +0 -0
  333. package/dist/standalone/assets/user-directory-CxHPHi_I.js.map +0 -1
  334. package/dist/standalone/assets/wizard-create-page-CDXQplgD.js +0 -2
  335. package/dist/standalone/assets/wizard-create-page-CDXQplgD.js.br +0 -0
  336. package/dist/standalone/assets/wizard-create-page-CDXQplgD.js.gz +0 -0
  337. package/dist/standalone/assets/zap-CFqoI4XA.js.br +0 -0
  338. package/dist/standalone/assets/zap-CFqoI4XA.js.gz +0 -0
  339. package/dist/standalone/assets/zod-DvwjKWWc.js +0 -2
  340. package/dist/standalone/assets/zod-DvwjKWWc.js.br +0 -0
  341. package/dist/standalone/assets/zod-DvwjKWWc.js.gz +0 -0
  342. package/dist/standalone/assets/zod-DvwjKWWc.js.map +0 -1
  343. /package/dist/standalone/assets/{useQueries-Chw94eNX.css → calendar-Chw94eNX.css} +0 -0
  344. /package/dist/standalone/assets/{useQueries-Chw94eNX.css.br → calendar-Chw94eNX.css.br} +0 -0
  345. /package/dist/standalone/assets/{useQueries-Chw94eNX.css.gz → calendar-Chw94eNX.css.gz} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{n as t}from"./createLucideIcon-DSvTabTT.js";import{i as n,r}from"./refresh-cw-DqhEKkOK.js";import{n as i}from"./pencil-C8qbfxd_.js";import{a,f as o,i as s,l as c,n as l,o as u,s as d,t as f,u as p}from"./useQueries-BKs9IisP.js";import{t as m}from"./badge-54ntzaYc.js";import{a as h,i as g,o as _,r as v,s as y,t as b}from"./command-BPNCtx-E.js";import{A as x,D as S,Ln as C,P as w,Xn as T,dn as E,i as D,j as O,on as k,pn as A,sn as j,w as M}from"./index-eVDAlr3Y.js";var N=e(t(),1),P=T(),F=`yyyy-MM-dd`,I=`yyyy-MM-dd'T'HH:mm`,L=`yyyy-MM-dd HH:mm`;function R(e){if(!e)return;let t=e.length<=10?c(e,F,new Date):d(e);return Number.isNaN(t.getTime())?void 0:t}function z(e,t){let n=e.trim();if(n===``)return;let r=t===`datetime`?[I,L,`yyyy-MM-dd'T'HH:mm:ss`,F]:[F];for(let e of r){let t=c(n,e,new Date);if(o(t))return t}let i=d(n);return o(i)?i:null}function B(e,t){return e?p(e,t===`datetime`?L:F):``}function V(e,t){return p(e,t===`datetime`?I:F)}function H({value:e,onChange:t,mode:r=`date`,disabled:i,placeholder:o,className:c,inputClassName:d,ariaLabel:f,openCalendarLabel:m=`Open calendar`,timeLabel:h=`Time`}){let[g,_]=N.useState(!1),v=R(e),[y,b]=N.useState(()=>B(v,r)),x=N.useRef(B(v,r));N.useEffect(()=>{let e=B(v,r);e!==x.current&&(x.current=e,b(e))},[e,r]);let S=v?p(v,`HH:mm`):`00:00`,C=e=>{if(!e){x.current=``,b(``),t(``);return}if(r===`datetime`){let[t,n]=S.split(`:`).map(Number);e.setHours(t??0,n??0,0,0)}let n=B(e,r);x.current=n,b(n),t(V(e,r))},w=e=>{if(!v)return;let[n,i]=e.split(`:`).map(Number),a=new Date(v);a.setHours(n??0,i??0,0,0);let o=B(a,r);x.current=o,b(o),t(V(a,r))},T=e=>{let n=e.target.value;b(n);let i=z(n,r);i===void 0?(x.current=``,t(``)):i&&(x.current=B(i,r),t(V(i,r)))},D=()=>{if(z(y,r)===null){let e=B(v,r);x.current=e,b(e)}},O=o??(r===`datetime`?`YYYY-MM-DD HH:MM`:`YYYY-MM-DD`);return(0,P.jsxs)(l,{open:g,onOpenChange:_,children:[(0,P.jsxs)(`div`,{className:E(`relative w-full`,c),children:[(0,P.jsx)(k,{type:`text`,inputMode:`numeric`,value:y,onChange:T,onBlur:D,placeholder:O,disabled:i,"aria-label":f,className:E(d,`pr-10`)}),(0,P.jsx)(a,{asChild:!0,children:(0,P.jsx)(j,{type:`button`,variant:`ghost`,size:`icon`,disabled:i,"aria-label":m,className:`absolute right-1 top-1/2 size-8 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,P.jsx)(n,{className:`size-4`})})})]}),(0,P.jsxs)(s,{className:`w-auto p-0`,align:`start`,children:[(0,P.jsx)(u,{mode:`single`,selected:v,defaultMonth:v,onSelect:e=>{C(e),r===`date`&&_(!1)},autoFocus:!0}),r===`datetime`&&(0,P.jsxs)(`div`,{className:`flex items-center gap-2 border-t p-3`,children:[(0,P.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:h}),(0,P.jsx)(k,{type:`time`,value:S,disabled:!v,onChange:e=>w(e.target.value),className:`h-8 w-32`})]})]})]})}H.displayName=`DatePicker`;function U({resourceId:e,recordId:t,fallback:n,showIcon:r=!1,className:a,populated:o}){let s=O(),c=t==null?``:String(t),l=!!(c&&o&&o.title),u=M(e),d=u===void 0?!0:u.actions.some(e=>e.name===`show`),{data:f}=w({queryKey:[`modern-admin`,e,`show`,c],queryFn:()=>s.show(e,c),enabled:!!c&&!l&&d,staleTime:3e4});if(!c)return n??null;let p=(l?o.title:f?.record?.title)||`#${c}`;return d?(0,P.jsxs)(D,{to:{name:`show`,resourceId:e,recordId:c},className:E(`inline-flex items-center gap-1 hover:underline`,a),onClick:e=>e.stopPropagation(),children:[(0,P.jsx)(m,{variant:`secondary`,children:p}),r&&(0,P.jsx)(i,{className:`size-3 opacity-50`})]}):(0,P.jsx)(`span`,{className:E(`inline-flex items-center`,a),children:(0,P.jsx)(m,{variant:`secondary`,children:p})})}function W({referenceResourceId:e,value:t,onChange:n,disabled:i,placeholder:o,className:c}){let[u,d]=N.useState(!1),[f,p]=N.useState(``),m=q(f,250),T=O(),{t:D}=x(),k=o??D(`common:select`),A=w({queryKey:[`modern-admin`,e,`show`,t],queryFn:()=>T.show(e,String(t)),enabled:t!=null&&t!==``,staleTime:3e4}),M=S(e,m,u),F=M.data?.records??[],I=A.data?.record?.title,L=I?`${I} <${t}>`:t!=null&&t!==``?`#${t}`:``;return(0,P.jsxs)(l,{open:u,onOpenChange:d,children:[(0,P.jsx)(a,{asChild:!0,children:(0,P.jsxs)(j,{variant:`outline`,role:`combobox`,"aria-expanded":u,disabled:i,className:E(`w-full justify-between font-normal`,c),children:[(0,P.jsx)(`span`,{className:E(`truncate`,!L&&`text-muted-foreground`),title:L||void 0,children:L||k}),(0,P.jsx)(r,{className:`size-4 shrink-0 opacity-50`})]})}),(0,P.jsx)(s,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:(0,P.jsxs)(b,{shouldFilter:!1,children:[(0,P.jsx)(h,{placeholder:D(`common:searchPlaceholder`),value:f,onValueChange:p}),(0,P.jsxs)(y,{children:[M.isLoading&&(0,P.jsx)(`div`,{className:`p-3 text-sm text-muted-foreground`,children:D(`common:loading`)}),!M.isLoading&&F.length===0&&(0,P.jsx)(v,{children:D(`common:noRecords`)}),t!=null&&t!==``&&(0,P.jsx)(g,{children:(0,P.jsxs)(_,{onSelect:()=>{n(null),d(!1)},children:[(0,P.jsx)(C,{className:`size-4 opacity-0`}),(0,P.jsx)(`span`,{className:`text-muted-foreground`,children:D(`common:clearSelection`)})]})}),(0,P.jsx)(g,{children:F.map(e=>{let r=String(e.id)===String(t??``);return(0,P.jsxs)(_,{value:e.id,onSelect:()=>{n(e.id),d(!1)},children:[(0,P.jsx)(C,{className:E(`size-4`,r?`opacity-100`:`opacity-0`)}),(0,P.jsx)(`span`,{className:`truncate`,title:e.title?`${e.title} <${e.id}>`:`#${e.id}`,children:e.title?`${e.title} <${e.id}>`:`#${e.id}`})]},e.id)})})]})]})})]})}function G({resourceId:e,recordIds:t,className:n,populated:r,populatedKeyPrefix:i}){return!t||t.length===0?(0,P.jsx)(`span`,{className:`text-muted-foreground`,children:`—`}):(0,P.jsx)(`div`,{className:E(`flex flex-wrap gap-1`,n),children:t.map(t=>(0,P.jsx)(U,{resourceId:e,recordId:t,populated:r&&i?r[`${i}.${t}`]:void 0},String(t)))})}function K({referenceResourceId:e,value:t,onChange:n,disabled:i,placeholder:o}){let[c,u]=N.useState(!1),[d,p]=N.useState(``),w=q(d,250),T=O(),{t:D}=x(),k=o??D(`common:select`),M=N.useMemo(()=>(t??[]).map(String),[t]),F=f({queries:M.map(t=>({queryKey:[`modern-admin`,e,`show`,t],queryFn:()=>T.show(e,t),staleTime:3e4}))}),I=N.useMemo(()=>M.map((e,t)=>{let n=F[t]?.data?.record?.title;return{id:e,title:n?`${n} <${e}>`:`#${e}`}}),[M,F]),L=S(e,w,c),R=L.data?.records??[],z=e=>{let t=String(e);n(M.includes(t)?M.filter(e=>e!==t):[...M,t])},B=e=>{n(M.filter(t=>t!==e))};return(0,P.jsxs)(`div`,{className:`space-y-2`,children:[I.length>0&&(0,P.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:I.map(e=>(0,P.jsxs)(m,{variant:`secondary`,className:`gap-1 pr-1`,children:[e.title,(0,P.jsx)(`button`,{type:`button`,"aria-label":D(`common:removeItem`,{title:e.title}),disabled:i,onClick:()=>B(e.id),className:`rounded-sm opacity-60 hover:opacity-100`,children:(0,P.jsx)(A,{className:`size-3`})})]},e.id))}),(0,P.jsxs)(l,{open:c,onOpenChange:u,children:[(0,P.jsx)(a,{asChild:!0,children:(0,P.jsxs)(j,{variant:`outline`,role:`combobox`,"aria-expanded":c,disabled:i,className:`w-full justify-between font-normal`,children:[(0,P.jsx)(`span`,{className:`truncate text-muted-foreground`,children:M.length>0?D(`common:nSelectedAddMore`,{count:M.length}):k}),(0,P.jsx)(r,{className:`size-4 shrink-0 opacity-50`})]})}),(0,P.jsx)(s,{className:`w-[var(--radix-popover-trigger-width)] p-0`,align:`start`,children:(0,P.jsxs)(b,{shouldFilter:!1,children:[(0,P.jsx)(h,{placeholder:D(`common:searchPlaceholder`),value:d,onValueChange:p}),(0,P.jsxs)(y,{children:[L.isLoading&&(0,P.jsx)(`div`,{className:`p-3 text-sm text-muted-foreground`,children:D(`common:loading`)}),!L.isLoading&&R.length===0&&(0,P.jsx)(v,{children:D(`common:noRecords`)}),(0,P.jsx)(g,{children:R.map(e=>{let t=M.includes(String(e.id));return(0,P.jsxs)(_,{value:String(e.id),onSelect:()=>z(e.id),children:[(0,P.jsx)(C,{className:E(`size-4`,t?`opacity-100`:`opacity-0`)}),(0,P.jsx)(`span`,{className:`truncate`,title:e.title?`${e.title} <${e.id}>`:`#${e.id}`,children:e.title?`${e.title} <${e.id}>`:`#${e.id}`})]},e.id)})})]})]})})]})]})}var q=(e,t)=>{let[n,r]=N.useState(e);return N.useEffect(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n};export{H as a,K as i,U as n,G as r,W as t};
2
- //# sourceMappingURL=reference-GI-LV5wm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reference-GI-LV5wm.js","names":[],"sources":["../../../../ui/src/components/date-picker.tsx","../../../../react/src/reference.tsx"],"sourcesContent":["// Popover-driven date / datetime input. Single picker handles both modes:\n// pass `mode=\"datetime\"` to surface an HH:MM time input below the calendar.\n//\n// Value is an ISO-ish string (`yyyy-MM-dd` for dates, `yyyy-MM-ddTHH:mm` for\n// datetime — same shape <input type=\"date\">/<input type=\"datetime-local\">\n// produce, so callers can stay format-stable). The trigger is a real text\n// input so users can also type the date manually; clicks on the trailing\n// calendar icon open the popover with the inline picker.\n\nimport * as React from 'react'\nimport { format, isValid, parse, parseISO } from 'date-fns'\nimport { Calendar as CalendarIcon } from 'lucide-react'\nimport { cn } from '../lib/utils.js'\nimport { Button } from './button.js'\nimport { Calendar } from './calendar.js'\nimport { Input } from './input.js'\nimport { Popover, PopoverContent, PopoverTrigger } from './popover.js'\n\nexport type DatePickerMode = 'date' | 'datetime'\n\nexport interface DatePickerProps {\n value: string | null | undefined\n onChange(next: string): void\n mode?: DatePickerMode\n disabled?: boolean\n placeholder?: string\n /** Applied to the outer wrapper div (controls width, etc.). */\n className?: string\n /** Applied to the inner text Input — use to override height / font size. */\n inputClassName?: string\n /** ARIA label forwarded to the trigger input (mobile users / screen readers). */\n ariaLabel?: string\n /** ARIA label for the calendar icon button. Default: \"Open calendar\". */\n openCalendarLabel?: string\n /** Label for the time input shown in datetime mode. Default: \"Time\". */\n timeLabel?: string\n}\n\nconst DATE_FMT = 'yyyy-MM-dd'\nconst DATETIME_FMT = \"yyyy-MM-dd'T'HH:mm\"\n// Friendlier display format for the datetime input — space instead of `T`.\nconst DATETIME_DISPLAY_FMT = 'yyyy-MM-dd HH:mm'\n\nfunction parseValue(value: string | null | undefined): Date | undefined {\n if (!value) return undefined\n const direct = value.length <= 10 ? parse(value, DATE_FMT, new Date()) : parseISO(value)\n return Number.isNaN(direct.getTime()) ? undefined : direct\n}\n\n/**\n * Try to parse a manually-typed string in any of the supported shapes.\n * Returns `undefined` on blank, `null` on invalid (non-blank) input so the\n * caller can distinguish \"cleared\" from \"typo\".\n */\nfunction parseTyped(raw: string, mode: DatePickerMode): Date | undefined | null {\n const trimmed = raw.trim()\n if (trimmed === '') return undefined\n const candidates =\n mode === 'datetime'\n ? [DATETIME_FMT, DATETIME_DISPLAY_FMT, \"yyyy-MM-dd'T'HH:mm:ss\", DATE_FMT]\n : [DATE_FMT]\n for (const fmt of candidates) {\n const parsed = parse(trimmed, fmt, new Date())\n if (isValid(parsed)) return parsed\n }\n // Last resort: ISO with timezone, etc.\n const iso = parseISO(trimmed)\n return isValid(iso) ? iso : null\n}\n\nfunction formatForInput(date: Date | undefined, mode: DatePickerMode): string {\n if (!date) return ''\n return format(date, mode === 'datetime' ? DATETIME_DISPLAY_FMT : DATE_FMT)\n}\n\nfunction formatForApi(date: Date, mode: DatePickerMode): string {\n return format(date, mode === 'datetime' ? DATETIME_FMT : DATE_FMT)\n}\n\nexport function DatePicker({\n value,\n onChange,\n mode = 'date',\n disabled,\n placeholder,\n className,\n inputClassName,\n ariaLabel,\n openCalendarLabel = 'Open calendar',\n timeLabel = 'Time',\n}: DatePickerProps): React.ReactElement {\n const [open, setOpen] = React.useState(false)\n const date = parseValue(value)\n // Local draft for the text input — keeps user typing intact even when\n // intermediate strings don't yet parse.\n const [draft, setDraft] = React.useState(() => formatForInput(date, mode))\n // Re-sync draft whenever the canonical value changes from outside (e.g.\n // calendar selection or form reset). Compare via formatted shape so a noop\n // update doesn't clobber what the user is typing.\n const lastFormatted = React.useRef(formatForInput(date, mode))\n React.useEffect(() => {\n const next = formatForInput(date, mode)\n if (next !== lastFormatted.current) {\n lastFormatted.current = next\n setDraft(next)\n }\n }, [value, mode]) // eslint-disable-line react-hooks/exhaustive-deps\n\n const time = date ? format(date, 'HH:mm') : '00:00'\n\n const commitDate = (next: Date | undefined): void => {\n if (!next) {\n lastFormatted.current = ''\n setDraft('')\n onChange('')\n return\n }\n if (mode === 'datetime') {\n const [h, m] = time.split(':').map(Number)\n next.setHours(h ?? 0, m ?? 0, 0, 0)\n }\n const formatted = formatForInput(next, mode)\n lastFormatted.current = formatted\n setDraft(formatted)\n onChange(formatForApi(next, mode))\n }\n\n const setTime = (raw: string): void => {\n if (!date) return\n const [h, m] = raw.split(':').map(Number)\n const next = new Date(date)\n next.setHours(h ?? 0, m ?? 0, 0, 0)\n const formatted = formatForInput(next, mode)\n lastFormatted.current = formatted\n setDraft(formatted)\n onChange(formatForApi(next, mode))\n }\n\n const handleInputChange: React.ChangeEventHandler<HTMLInputElement> = (e) => {\n const text = e.target.value\n setDraft(text)\n const parsed = parseTyped(text, mode)\n if (parsed === undefined) {\n // cleared\n lastFormatted.current = ''\n onChange('')\n } else if (parsed) {\n lastFormatted.current = formatForInput(parsed, mode)\n onChange(formatForApi(parsed, mode))\n }\n // parsed === null → keep draft, don't fire onChange yet\n }\n\n const handleInputBlur: React.FocusEventHandler<HTMLInputElement> = () => {\n // On blur, if the draft is invalid, snap back to the canonical value.\n const parsed = parseTyped(draft, mode)\n if (parsed === null) {\n const restored = formatForInput(date, mode)\n lastFormatted.current = restored\n setDraft(restored)\n }\n }\n\n const inputPlaceholder =\n placeholder ?? (mode === 'datetime' ? 'YYYY-MM-DD HH:MM' : 'YYYY-MM-DD')\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <div className={cn('relative w-full', className)}>\n <Input\n type=\"text\"\n inputMode=\"numeric\"\n value={draft}\n onChange={handleInputChange}\n onBlur={handleInputBlur}\n placeholder={inputPlaceholder}\n disabled={disabled}\n aria-label={ariaLabel}\n className={cn(inputClassName, 'pr-10')}\n />\n <PopoverTrigger asChild>\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n disabled={disabled}\n aria-label={openCalendarLabel}\n className=\"absolute right-1 top-1/2 size-8 -translate-y-1/2 text-muted-foreground hover:text-foreground\"\n >\n <CalendarIcon className=\"size-4\" />\n </Button>\n </PopoverTrigger>\n </div>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n selected={date}\n defaultMonth={date}\n onSelect={(d) => {\n commitDate(d)\n if (mode === 'date') setOpen(false)\n }}\n autoFocus\n />\n {mode === 'datetime' && (\n <div className=\"flex items-center gap-2 border-t p-3\">\n <span className=\"text-xs text-muted-foreground\">{timeLabel}</span>\n <Input\n type=\"time\"\n value={time}\n disabled={!date}\n onChange={(e) => setTime(e.target.value)}\n className=\"h-8 w-32\"\n />\n </div>\n )}\n </PopoverContent>\n </Popover>\n )\n}\nDatePicker.displayName = 'DatePicker'\n","// Reference-field helpers. Three surfaces:\n// - <ReferenceLink>: read-only display (list/show views) — fetches the\n// referenced record's title and renders it as a hyperlink to its show page.\n// - <ReferenceCombobox>: single-value edit control — Command-driven popover\n// with live search against the referenced resource's `search` action.\n// - <ReferenceMultiCombobox>: multi-value variant for many-to-many fields\n// (an array of foreign IDs); selected items render as removable chips.\n\nimport * as React from 'react'\nimport {\n Badge,\n Button,\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n Popover,\n PopoverContent,\n PopoverTrigger,\n cn,\n} from '@modern-admin/ui'\nimport { Check, ChevronsUpDown, ExternalLink, X } from 'lucide-react'\nimport { useQueries, useQuery } from '@tanstack/react-query'\nimport { useAdminClient } from './provider.js'\nimport { useResource, useSearchRecords } from './hooks.js'\nimport { useI18n } from './i18n.js'\nimport { Link } from './router.js'\n\n/** Read-only badge that links to the referenced record's show page.\n *\n * When `populated` is provided (e.g. supplied by the list/show endpoint via\n * `record.populated[propertyPath]`) the title is rendered directly from it\n * and no `show` request is fired — this is what prevents the N+1 fetch\n * storm on list pages with reference columns. */\nexport function ReferenceLink({\n resourceId,\n recordId,\n fallback,\n showIcon = false,\n className,\n populated,\n}: {\n resourceId: string\n recordId: string | number | null | undefined\n fallback?: React.ReactNode\n showIcon?: boolean\n className?: string\n populated?: { id?: string; title?: string } | null\n}): React.ReactElement | null {\n const client = useAdminClient()\n const id = recordId == null ? '' : String(recordId)\n const hasPopulated = !!(id && populated && populated.title)\n const referencedResource = useResource(resourceId)\n // When the SPA config has been loaded, its `actions` list is already\n // filtered against the current admin's access. Missing `show` = no\n // permission to view the referenced record → render plain text instead\n // of a clickable link. While the config is still loading (`undefined`)\n // we default to \"linkable\" so the first paint matches the steady state\n // for the common case.\n const canShow =\n referencedResource === undefined\n ? true\n : referencedResource.actions.some((a) => a.name === 'show')\n const { data } = useQuery({\n queryKey: ['modern-admin', resourceId, 'show', id],\n queryFn: () => client.show(resourceId, id),\n enabled: !!id && !hasPopulated && canShow,\n staleTime: 30_000,\n })\n if (!id) return (fallback as React.ReactElement | null) ?? null\n const title = (hasPopulated ? populated!.title : data?.record?.title) || `#${id}`\n if (!canShow) {\n return (\n <span className={cn('inline-flex items-center', className)}>\n <Badge variant=\"secondary\">{title}</Badge>\n </span>\n )\n }\n return (\n <Link\n to={{ name: 'show', resourceId, recordId: id }}\n className={cn('inline-flex items-center gap-1 hover:underline', className)}\n onClick={(e) => e.stopPropagation()}\n >\n <Badge variant=\"secondary\">{title}</Badge>\n {showIcon && <ExternalLink className=\"size-3 opacity-50\" />}\n </Link>\n )\n}\n\n/** Combobox bound to a referenced resource's `search` action. */\nexport function ReferenceCombobox({\n referenceResourceId,\n value,\n onChange,\n disabled,\n placeholder,\n className,\n}: {\n referenceResourceId: string\n value: string | number | null | undefined\n onChange(next: string | null): void\n disabled?: boolean\n placeholder?: string\n /** Extra classes applied to the trigger button (e.g. height override). */\n className?: string\n}): React.ReactElement {\n const [open, setOpen] = React.useState(false)\n const [query, setQuery] = React.useState('')\n const debounced = useDebounced(query, 250)\n const client = useAdminClient()\n const { t } = useI18n()\n const resolvedPlaceholder = placeholder ?? t('common:select')\n\n // The currently-selected record (loaded once for the trigger label).\n const selected = useQuery({\n queryKey: ['modern-admin', referenceResourceId, 'show', value],\n queryFn: () => client.show(referenceResourceId, String(value)),\n enabled: value != null && value !== '',\n staleTime: 30_000,\n })\n\n const search = useSearchRecords(referenceResourceId, debounced, open)\n const items = search.data?.records ?? []\n\n const _title = selected.data?.record?.title\n const selectedLabel =\n _title\n ? `${_title} <${value}>`\n : value != null && value !== ''\n ? `#${value}`\n : ''\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn('w-full justify-between font-normal', className)}\n >\n <span\n className={cn('truncate', !selectedLabel && 'text-muted-foreground')}\n title={selectedLabel || undefined}\n >\n {selectedLabel || resolvedPlaceholder}\n </span>\n <ChevronsUpDown className=\"size-4 shrink-0 opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[var(--radix-popover-trigger-width)] p-0\" align=\"start\">\n <Command shouldFilter={false}>\n <CommandInput\n placeholder={t('common:searchPlaceholder')}\n value={query}\n onValueChange={setQuery}\n />\n <CommandList>\n {search.isLoading && <div className=\"p-3 text-sm text-muted-foreground\">{t('common:loading')}</div>}\n {!search.isLoading && items.length === 0 && (\n <CommandEmpty>{t('common:noRecords')}</CommandEmpty>\n )}\n {value != null && value !== '' && (\n <CommandGroup>\n <CommandItem\n onSelect={() => {\n onChange(null)\n setOpen(false)\n }}\n >\n <Check className=\"size-4 opacity-0\" />\n <span className=\"text-muted-foreground\">{t('common:clearSelection')}</span>\n </CommandItem>\n </CommandGroup>\n )}\n <CommandGroup>\n {items.map((r) => {\n const isSelected = String(r.id) === String(value ?? '')\n return (\n <CommandItem\n key={r.id}\n value={r.id}\n onSelect={() => {\n onChange(r.id)\n setOpen(false)\n }}\n >\n <Check className={cn('size-4', isSelected ? 'opacity-100' : 'opacity-0')} />\n <span className=\"truncate\" title={r.title ? `${r.title} <${r.id}>` : `#${r.id}`}>\n {r.title ? `${r.title} <${r.id}>` : `#${r.id}`}\n </span>\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n}\n\n/** Renders a list of comma-separated badge links, one per foreign key.\n *\n * When `populated` + `populatedKeyPrefix` are provided, each item is looked up\n * via `populated[`${prefix}.${id}`]` and threaded into its `<ReferenceLink>`\n * to suppress per-row `show` requests. The key shape matches what the m2m\n * feature's read-hook writes (see `packages/feature-m2m`) and what the list\n * action's `populateReferences` helper writes for array references. */\nexport function ReferenceLinkList({\n resourceId,\n recordIds,\n className,\n populated,\n populatedKeyPrefix,\n}: {\n resourceId: string\n recordIds: ReadonlyArray<string | number>\n className?: string\n populated?: Record<string, unknown>\n populatedKeyPrefix?: string\n}): React.ReactElement {\n if (!recordIds || recordIds.length === 0) {\n return <span className=\"text-muted-foreground\">—</span>\n }\n return (\n <div className={cn('flex flex-wrap gap-1', className)}>\n {recordIds.map((id) => {\n const entry =\n populated && populatedKeyPrefix\n ? (populated[`${populatedKeyPrefix}.${id}`] as\n | { id?: string; title?: string }\n | undefined)\n : undefined\n return (\n <ReferenceLink\n key={String(id)}\n resourceId={resourceId}\n recordId={id}\n populated={entry}\n />\n )\n })}\n </div>\n )\n}\n\n/** Multi-select combobox for many-to-many references. Renders selected items\n * as removable chips and feeds search results into a checkable command list. */\nexport function ReferenceMultiCombobox({\n referenceResourceId,\n value,\n onChange,\n disabled,\n placeholder,\n}: {\n referenceResourceId: string\n value: ReadonlyArray<string | number> | null | undefined\n onChange(next: Array<string | number>): void\n disabled?: boolean\n placeholder?: string\n}): React.ReactElement {\n const [open, setOpen] = React.useState(false)\n const [query, setQuery] = React.useState('')\n const debounced = useDebounced(query, 250)\n const client = useAdminClient()\n const { t } = useI18n()\n const resolvedPlaceholder = placeholder ?? t('common:select')\n const ids = React.useMemo(() => (value ?? []).map(String), [value])\n\n // Resolve labels per-id so adding/removing one item only fetches the new\n // one. Sharing the cache key with <ReferenceLink>'s single-record query\n // means already-known titles render instantly without flicker.\n const titleQueries = useQueries({\n queries: ids.map((id) => ({\n queryKey: ['modern-admin', referenceResourceId, 'show', id],\n queryFn: () => client.show(referenceResourceId, id),\n staleTime: 30_000,\n })),\n })\n const chips = React.useMemo(\n () =>\n ids.map((id, i) => {\n const t = titleQueries[i]?.data?.record?.title\n return { id, title: t ? `${t} <${id}>` : `#${id}` }\n }),\n [ids, titleQueries],\n )\n\n const search = useSearchRecords(referenceResourceId, debounced, open)\n const items = search.data?.records ?? []\n\n const toggle = (id: string | number): void => {\n const sid = String(id)\n const next = ids.includes(sid) ? ids.filter((x) => x !== sid) : [...ids, sid]\n onChange(next)\n }\n\n const remove = (id: string): void => {\n onChange(ids.filter((x) => x !== id))\n }\n\n return (\n <div className=\"space-y-2\">\n {chips.length > 0 && (\n <div className=\"flex flex-wrap gap-1\">\n {chips.map((s) => (\n <Badge key={s.id} variant=\"secondary\" className=\"gap-1 pr-1\">\n {s.title}\n <button\n type=\"button\"\n aria-label={t('common:removeItem', { title: s.title })}\n disabled={disabled}\n onClick={() => remove(s.id)}\n className=\"rounded-sm opacity-60 hover:opacity-100\"\n >\n <X className=\"size-3\" />\n </button>\n </Badge>\n ))}\n </div>\n )}\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className=\"w-full justify-between font-normal\"\n >\n <span className=\"truncate text-muted-foreground\">\n {ids.length > 0 ? t('common:nSelectedAddMore', { count: ids.length }) : resolvedPlaceholder}\n </span>\n <ChevronsUpDown className=\"size-4 shrink-0 opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-[var(--radix-popover-trigger-width)] p-0\" align=\"start\">\n <Command shouldFilter={false}>\n <CommandInput placeholder={t('common:searchPlaceholder')} value={query} onValueChange={setQuery} />\n <CommandList>\n {search.isLoading && (\n <div className=\"p-3 text-sm text-muted-foreground\">{t('common:loading')}</div>\n )}\n {!search.isLoading && items.length === 0 && (\n <CommandEmpty>{t('common:noRecords')}</CommandEmpty>\n )}\n <CommandGroup>\n {items.map((r) => {\n const isSelected = ids.includes(String(r.id))\n return (\n <CommandItem\n key={r.id}\n value={String(r.id)}\n onSelect={() => toggle(r.id)}\n >\n <Check\n className={cn('size-4', isSelected ? 'opacity-100' : 'opacity-0')}\n />\n <span className=\"truncate\" title={r.title ? `${r.title} <${r.id}>` : `#${r.id}`}>\n {r.title ? `${r.title} <${r.id}>` : `#${r.id}`}\n </span>\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n )\n}\n\nconst useDebounced = <T,>(value: T, ms: number): T => {\n const [v, setV] = React.useState(value)\n React.useEffect(() => {\n const id = setTimeout(() => setV(value), ms)\n return () => clearTimeout(id)\n }, [value, ms])\n return v\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{t as e}from"./createLucideIcon-DSvTabTT.js";var t=e(`calendar`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`4`,rx:`2`,key:`1hopcy`}],[`path`,{d:`M3 10h18`,key:`8toen8`}]]),n=e(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),r=e(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),i=e(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]);export{t as i,r as n,n as r,i as t};
2
- //# sourceMappingURL=refresh-cw-DqhEKkOK.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"refresh-cw-DqhEKkOK.js","names":["__iconNode","__iconNode","__iconNode"],"sources":["../../../../../node_modules/.bun/lucide-react@1.14.0+d86b59289c1a13ae/node_modules/lucide-react/dist/esm/icons/calendar.mjs","../../../../../node_modules/.bun/lucide-react@1.14.0+d86b59289c1a13ae/node_modules/lucide-react/dist/esm/icons/chevrons-up-down.mjs","../../../../../node_modules/.bun/lucide-react@1.14.0+d86b59289c1a13ae/node_modules/lucide-react/dist/esm/icons/ellipsis.mjs","../../../../../node_modules/.bun/lucide-react@1.14.0+d86b59289c1a13ae/node_modules/lucide-react/dist/esm/icons/refresh-cw.mjs"],"sourcesContent":["/**\n * @license lucide-react v1.14.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M8 2v4\", key: \"1cmpym\" }],\n [\"path\", { d: \"M16 2v4\", key: \"4m81vk\" }],\n [\"rect\", { width: \"18\", height: \"18\", x: \"3\", y: \"4\", rx: \"2\", key: \"1hopcy\" }],\n [\"path\", { d: \"M3 10h18\", key: \"8toen8\" }]\n];\nconst Calendar = createLucideIcon(\"calendar\", __iconNode);\n\nexport { __iconNode, Calendar as default };\n//# sourceMappingURL=calendar.mjs.map\n","/**\n * @license lucide-react v1.14.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"m7 15 5 5 5-5\", key: \"1hf1tw\" }],\n [\"path\", { d: \"m7 9 5-5 5 5\", key: \"sgt6xg\" }]\n];\nconst ChevronsUpDown = createLucideIcon(\"chevrons-up-down\", __iconNode);\n\nexport { __iconNode, ChevronsUpDown as default };\n//# sourceMappingURL=chevrons-up-down.mjs.map\n","/**\n * @license lucide-react v1.14.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"1\", key: \"41hilf\" }],\n [\"circle\", { cx: \"19\", cy: \"12\", r: \"1\", key: \"1wjl8i\" }],\n [\"circle\", { cx: \"5\", cy: \"12\", r: \"1\", key: \"1pcz8c\" }]\n];\nconst Ellipsis = createLucideIcon(\"ellipsis\", __iconNode);\n\nexport { __iconNode, Ellipsis as default };\n//# sourceMappingURL=ellipsis.mjs.map\n","/**\n * @license lucide-react v1.14.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.mjs';\n\nconst __iconNode = [\n [\"path\", { d: \"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8\", key: \"v9h5vc\" }],\n [\"path\", { d: \"M21 3v5h-5\", key: \"1q7to0\" }],\n [\"path\", { d: \"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16\", key: \"3uifl3\" }],\n [\"path\", { d: \"M8 16H3v5\", key: \"1cv678\" }]\n];\nconst RefreshCw = createLucideIcon(\"refresh-cw\", __iconNode);\n\nexport { __iconNode, RefreshCw as default };\n//# sourceMappingURL=refresh-cw.mjs.map\n"],"x_google_ignoreList":[0,1,2,3],"mappings":"mDAeA,IAAM,EAAW,EAAiB,WAAYA,CAL5C,CAAC,OAAQ,CAAE,EAAG,SAAU,IAAK,SAAU,CAAC,CACxC,CAAC,OAAQ,CAAE,EAAG,UAAW,IAAK,SAAU,CAAC,CACzC,CAAC,OAAQ,CAAE,MAAO,KAAM,OAAQ,KAAM,EAAG,IAAK,EAAG,IAAK,GAAI,IAAK,IAAK,SAAU,CAAC,CAC/E,CAAC,OAAQ,CAAE,EAAG,WAAY,IAAK,SAAU,CAAC,CAEEA,CAAW,CCFnD,EAAiB,EAAiB,mBAAoBC,CAH1D,CAAC,OAAQ,CAAE,EAAG,gBAAiB,IAAK,SAAU,CAAC,CAC/C,CAAC,OAAQ,CAAE,EAAG,eAAgB,IAAK,SAAU,CAAC,CAEYA,CAAW,CCCjE,EAAW,EAAiB,WAAYC,CAJ5C,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,CAAC,CACzD,CAAC,SAAU,CAAE,GAAI,KAAM,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,CAAC,CACzD,CAAC,SAAU,CAAE,GAAI,IAAK,GAAI,KAAM,EAAG,IAAK,IAAK,SAAU,CAAC,CAEZA,CAAW,CCCnD,EAAY,EAAiB,aAAc,CAL/C,CAAC,OAAQ,CAAE,EAAG,qDAAsD,IAAK,SAAU,CAAC,CACpF,CAAC,OAAQ,CAAE,EAAG,aAAc,IAAK,SAAU,CAAC,CAC5C,CAAC,OAAQ,CAAE,EAAG,sDAAuD,IAAK,SAAU,CAAC,CACrF,CAAC,OAAQ,CAAE,EAAG,YAAa,IAAK,SAAU,CAAC,CAEI,CAAW"}
@@ -1,2 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{n as t}from"./createLucideIcon-DSvTabTT.js";import{t as n}from"./rotate-ccw-C16vh2yh.js";import{a as r,i,n as a,r as o,t as s}from"./select-ZdIYBmRV.js";import{i as c,n as l,r as u}from"./user-directory-CxHPHi_I.js";import{t as d}from"./src-dpVDMS9j.js";import{A as f,E as p,On as m,S as h,Xn as g,at as _,dn as v,et as y,it as b,l as x,nt as S,ot as C,r as w,sn as T,w as E,zt as D}from"./index-eVDAlr3Y.js";var O=e(t(),1),k=g(),A={create:`Created`,update:`Updated`,delete:`Deleted`,unknownUser:`Unknown user`,changes:`changes`};function j({items:e,selectedId:t,labels:n,className:r,formatDate:i=e=>e,onSelect:a}){let o={...A,...n};return(0,k.jsx)(`div`,{className:v(`space-y-2`,r),children:e.map(e=>(0,k.jsxs)(`button`,{type:`button`,onClick:()=>a?.(e),className:v(`relative flex w-full gap-3 rounded-md border p-3 text-left transition-colors`,e.id===t?`border-primary bg-primary/5`:`bg-card hover:bg-muted/50`),children:[(0,k.jsx)(`span`,{className:`mt-1 size-2.5 shrink-0 rounded-full bg-primary`}),(0,k.jsxs)(`span`,{className:`min-w-0 flex-1 space-y-1`,children:[(0,k.jsxs)(`span`,{className:`flex items-center justify-between gap-2`,children:[(0,k.jsx)(`span`,{className:`truncate text-sm font-medium`,children:M(e.op,o)}),e.changes!==void 0&&(0,k.jsxs)(`span`,{className:`shrink-0 text-xs text-muted-foreground`,children:[e.changes,` `,o.changes]})]}),(0,k.jsx)(`span`,{className:`block truncate text-xs text-muted-foreground`,children:e.userLabel??e.userId??o.unknownUser}),(0,k.jsx)(`span`,{className:`block text-xs text-muted-foreground`,children:i(e.createdAt)})]})]},e.id))})}function M(e,t){return e===`create`?t.create:e===`delete`?t.delete:t.update}function N({resourceId:e,recordId:t}){let{t:g,locale:v}=f(),A=E(e),M=h(e,t,{limit:50}),N=p(e,t),F=w(),I=x(),[L,R]=O.useState(!1),z=O.useMemo(()=>M.data?.revisions??[],[M.data?.revisions]),B=l(O.useMemo(()=>Array.from(new Set(z.map(e=>e.userId).filter(e=>!!e))),[z])),V=O.useCallback(e=>e?u(B.get(e),e):void 0,[B]),[H,U]=O.useState(),[W,G]=O.useState(``),K=z.find(e=>e.id===H)??z[0],q=W?z.find(e=>e.id===W):void 0,J=O.useMemo(()=>{let e={};for(let t of A?.properties??[])e[t.path]=t.label;return e},[A]),Y=O.useCallback(e=>e.map(e=>({...e,label:J[e.path]})),[J]),X=K?Y(q?d(q.snapshot,K.snapshot):P(K)):[];O.useEffect(()=>{!H&&z[0]&&U(z[0].id)},[z,H]),O.useEffect(()=>{K?.id&&W===K.id&&G(``)},[W,K?.id]);let Z=O.useCallback(e=>new Intl.DateTimeFormat(v,{dateStyle:`medium`,timeStyle:`short`}).format(new Date(e)),[v]),Q=async e=>{if(await F.confirm({title:g(`history:confirmRevert`),confirmLabel:g(`history:revert`),destructive:!0}))try{await N.mutateAsync({revisionId:e.id}),I.success({key:`history:revertSuccess`}),U(void 0),G(``),R(!1)}catch(e){I.error({key:`history:revertFailed`},{description:e instanceof Error?e.message:String(e)})}};return(0,k.jsxs)(y,{open:L,onOpenChange:R,children:[(0,k.jsx)(C,{asChild:!0,children:(0,k.jsxs)(T,{variant:`outline`,size:`sm`,"aria-label":g(`history:revisions`),children:[(0,k.jsx)(m,{className:`size-4`}),(0,k.jsx)(`span`,{className:`hidden sm:inline`,children:g(`history:revisions`)})]})}),(0,k.jsxs)(S,{side:`right`,className:`w-full overflow-y-auto sm:max-w-5xl`,children:[(0,k.jsx)(b,{children:(0,k.jsx)(_,{children:g(`history:revisions`)})}),M.isLoading?(0,k.jsxs)(`div`,{className:`mt-6 space-y-3`,children:[(0,k.jsx)(D,{className:`h-16 w-full`}),(0,k.jsx)(D,{className:`h-64 w-full`})]}):M.isError?(0,k.jsx)(`div`,{className:`mt-6 rounded-md border border-destructive/50 bg-destructive/10 p-4 text-sm text-destructive`,children:g(`history:loadError`)}):(0,k.jsxs)(`div`,{className:`mt-6 grid gap-4 lg:grid-cols-[20rem_1fr]`,children:[(0,k.jsx)(j,{items:z.map(e=>({id:e.id,op:e.op,userId:e.userId,userLabel:V(e.userId),createdAt:e.createdAt,changes:P(e).length})),selectedId:K?.id,onSelect:e=>U(e.id),formatDate:Z,labels:{create:g(`history:op.create`),update:g(`history:op.update`),delete:g(`history:op.delete`),unknownUser:g(`history:unknownUser`),changes:g(`history:changes`)}}),(0,k.jsx)(`div`,{className:`min-w-0 space-y-4`,children:K?(0,k.jsxs)(k.Fragment,{children:[(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 rounded-md border bg-card p-3`,children:[(0,k.jsxs)(`div`,{children:[(0,k.jsx)(`p`,{className:`text-sm font-medium`,children:Z(K.createdAt)}),(0,k.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:V(K.userId)??g(`history:unknownUser`)})]}),(0,k.jsxs)(`div`,{className:`flex flex-wrap items-center gap-2`,children:[(0,k.jsxs)(s,{value:W||`_none_`,onValueChange:e=>G(e===`_none_`?``:e),children:[(0,k.jsx)(i,{className:`h-8 w-auto text-xs`,"aria-label":g(`history:compareTo`),children:(0,k.jsx)(r,{})}),(0,k.jsxs)(a,{children:[(0,k.jsx)(o,{value:`_none_`,children:g(`history:storedDiff`)}),z.filter(e=>e.id!==K.id).map(e=>(0,k.jsx)(o,{value:e.id,children:Z(e.createdAt)},e.id))]})]}),(0,k.jsxs)(T,{variant:`destructive`,size:`sm`,disabled:N.isPending||K.op===`delete`,onClick:()=>void Q(K),children:[(0,k.jsx)(n,{className:`size-4`}),g(`history:revert`)]})]})]}),(0,k.jsx)(c,{fields:X,labels:{added:g(`diff:added`),changed:g(`diff:changed`),removed:g(`diff:removed`),before:g(`diff:before`),after:g(`diff:after`),noChanges:g(`diff:noChanges`)}})]}):(0,k.jsx)(`div`,{className:`rounded-md border border-dashed p-8 text-center text-sm text-muted-foreground`,children:g(`history:noRevisions`)})})]})]})]})}var P=e=>d(e.snapshotBefore??{},e.snapshot);export{N as t};
2
- //# sourceMappingURL=revisions-button-BjlTw0FI.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"revisions-button-BjlTw0FI.js","names":[],"sources":["../../../../ui/src/components/revision-timeline.tsx","../../../../react/src/components/revisions-button.tsx"],"sourcesContent":["import * as React from 'react'\nimport { cn } from '../lib/utils.js'\n\nexport interface RevisionTimelineItem {\n id: string\n op: 'create' | 'update' | 'delete'\n userId?: string\n /** Resolved, human-readable label for the user who created the revision\n * (e.g. email or full name). When set, it's shown instead of the raw\n * `userId`. Resolution happens in the React layer so this UI component\n * stays i18n- and data-source-agnostic. */\n userLabel?: string\n createdAt: string\n changes?: number\n}\n\nexport interface RevisionTimelineLabels {\n create?: string\n update?: string\n delete?: string\n unknownUser?: string\n changes?: string\n}\n\nexport interface RevisionTimelineProps {\n items: ReadonlyArray<RevisionTimelineItem>\n selectedId?: string\n labels?: RevisionTimelineLabels\n className?: string\n formatDate?: (value: string) => string\n onSelect?: (item: RevisionTimelineItem) => void\n}\n\nconst DEFAULT_LABELS: Required<RevisionTimelineLabels> = {\n create: 'Created',\n update: 'Updated',\n delete: 'Deleted',\n unknownUser: 'Unknown user',\n changes: 'changes',\n}\n\nexport function RevisionTimeline({\n items,\n selectedId,\n labels,\n className,\n formatDate = (v) => v,\n onSelect,\n}: RevisionTimelineProps): React.ReactElement {\n const l = { ...DEFAULT_LABELS, ...labels }\n return (\n <div className={cn('space-y-2', className)}>\n {items.map((item) => {\n const selected = item.id === selectedId\n return (\n <button\n key={item.id}\n type=\"button\"\n onClick={() => onSelect?.(item)}\n className={cn(\n 'relative flex w-full gap-3 rounded-md border p-3 text-left transition-colors',\n selected ? 'border-primary bg-primary/5' : 'bg-card hover:bg-muted/50',\n )}\n >\n <span className=\"mt-1 size-2.5 shrink-0 rounded-full bg-primary\" />\n <span className=\"min-w-0 flex-1 space-y-1\">\n <span className=\"flex items-center justify-between gap-2\">\n <span className=\"truncate text-sm font-medium\">{labelForOp(item.op, l)}</span>\n {item.changes !== undefined && (\n <span className=\"shrink-0 text-xs text-muted-foreground\">\n {item.changes} {l.changes}\n </span>\n )}\n </span>\n <span className=\"block truncate text-xs text-muted-foreground\">\n {item.userLabel ?? item.userId ?? l.unknownUser}\n </span>\n <span className=\"block text-xs text-muted-foreground\">\n {formatDate(item.createdAt)}\n </span>\n </span>\n </button>\n )\n })}\n </div>\n )\n}\n\nfunction labelForOp(op: RevisionTimelineItem['op'], labels: Required<RevisionTimelineLabels>): string {\n if (op === 'create') return labels.create\n if (op === 'delete') return labels.delete\n return labels.update\n}\n","import * as React from 'react'\nimport {\n Button,\n DiffView,\n RevisionTimeline,\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n Sheet,\n SheetContent,\n SheetHeader,\n SheetTitle,\n SheetTrigger,\n Skeleton,\n} from '@modern-admin/ui'\nimport { History, RotateCcw } from 'lucide-react'\nimport { diffSnapshots } from '@modern-admin/core'\nimport { useRecordHistory, useResource, useRevertRevision } from '../hooks.js'\nimport { useI18n } from '../i18n.js'\nimport { useDialogs } from '../dialogs.js'\nimport { useNotify } from '../notify.js'\nimport { useUserDirectory, userLabelOf } from '../user-directory.js'\nimport type { HistoryDiffEntry, HistoryRevision } from '../client.js'\n\nexport interface RevisionsButtonProps {\n resourceId: string\n recordId: string\n}\n\nexport function RevisionsButton({\n resourceId,\n recordId,\n}: RevisionsButtonProps): React.ReactElement {\n const { t, locale } = useI18n()\n const resource = useResource(resourceId)\n const history = useRecordHistory(resourceId, recordId, { limit: 50 })\n const revert = useRevertRevision(resourceId, recordId)\n const dialogs = useDialogs()\n const notify = useNotify()\n const [open, setOpen] = React.useState(false)\n const revisions = React.useMemo(\n () => history.data?.revisions ?? [],\n [history.data?.revisions],\n )\n // Resolve revision authors to human-readable labels (email / name)\n // instead of showing raw user UUIDs.\n const userIds = React.useMemo(\n () => Array.from(new Set(revisions.map((r) => r.userId).filter((v): v is string => !!v))),\n [revisions],\n )\n const users = useUserDirectory(userIds)\n const labelForUser = React.useCallback(\n (userId: string | undefined): string | undefined =>\n userId ? userLabelOf(users.get(userId), userId) : undefined,\n [users],\n )\n const [selectedId, setSelectedId] = React.useState<string | undefined>()\n const [compareToId, setCompareToId] = React.useState<string>('')\n const selected = revisions.find((r) => r.id === selectedId) ?? revisions[0]\n const compareTo = compareToId\n ? revisions.find((r) => r.id === compareToId)\n : undefined\n\n // Build a path → label map from the resource schema so each diff field\n // can show a human-readable name before its technical path.\n const labelByPath = React.useMemo<Record<string, string>>(() => {\n const map: Record<string, string> = {}\n for (const p of resource?.properties ?? []) map[p.path] = p.label\n return map\n }, [resource])\n\n const withLabels = React.useCallback(\n (fields: ReturnType<typeof diffSnapshots>) =>\n fields.map((f) => ({ ...f, label: labelByPath[f.path] })),\n [labelByPath],\n )\n\n const visibleFields = selected\n ? withLabels(\n compareTo\n ? diffSnapshots(compareTo.snapshot, selected.snapshot)\n : fieldsFor(selected),\n )\n : []\n\n React.useEffect(() => {\n if (!selectedId && revisions[0]) setSelectedId(revisions[0].id)\n }, [revisions, selectedId])\n\n React.useEffect(() => {\n if (selected?.id && compareToId === selected.id) setCompareToId('')\n }, [compareToId, selected?.id])\n\n const formatDate = React.useCallback(\n (value: string) => new Intl.DateTimeFormat(locale, {\n dateStyle: 'medium',\n timeStyle: 'short',\n }).format(new Date(value)),\n [locale],\n )\n\n const handleRevert = async (revision: HistoryRevision): Promise<void> => {\n const ok = await dialogs.confirm({\n title: t('history:confirmRevert'),\n confirmLabel: t('history:revert'),\n destructive: true,\n })\n if (!ok) return\n try {\n await revert.mutateAsync({ revisionId: revision.id })\n notify.success({ key: 'history:revertSuccess' })\n setSelectedId(undefined)\n setCompareToId('')\n setOpen(false)\n } catch (err) {\n notify.error(\n { key: 'history:revertFailed' },\n { description: err instanceof Error ? err.message : String(err) },\n )\n }\n }\n\n return (\n <Sheet open={open} onOpenChange={setOpen}>\n <SheetTrigger asChild>\n <Button variant=\"outline\" size=\"sm\" aria-label={t('history:revisions')}>\n <History className=\"size-4\" />\n <span className=\"hidden sm:inline\">{t('history:revisions')}</span>\n </Button>\n </SheetTrigger>\n <SheetContent side=\"right\" className=\"w-full overflow-y-auto sm:max-w-5xl\">\n <SheetHeader>\n <SheetTitle>{t('history:revisions')}</SheetTitle>\n </SheetHeader>\n {history.isLoading ? (\n <div className=\"mt-6 space-y-3\">\n <Skeleton className=\"h-16 w-full\" />\n <Skeleton className=\"h-64 w-full\" />\n </div>\n ) : history.isError ? (\n <div className=\"mt-6 rounded-md border border-destructive/50 bg-destructive/10 p-4 text-sm text-destructive\">\n {t('history:loadError')}\n </div>\n ) : (\n <div className=\"mt-6 grid gap-4 lg:grid-cols-[20rem_1fr]\">\n <RevisionTimeline\n items={revisions.map((r) => ({\n id: r.id,\n op: r.op,\n userId: r.userId,\n userLabel: labelForUser(r.userId),\n createdAt: r.createdAt,\n changes: fieldsFor(r).length,\n }))}\n selectedId={selected?.id}\n onSelect={(item) => setSelectedId(item.id)}\n formatDate={formatDate}\n labels={{\n create: t('history:op.create'),\n update: t('history:op.update'),\n delete: t('history:op.delete'),\n unknownUser: t('history:unknownUser'),\n changes: t('history:changes'),\n }}\n />\n <div className=\"min-w-0 space-y-4\">\n {selected ? (\n <>\n <div className=\"flex flex-wrap items-center justify-between gap-3 rounded-md border bg-card p-3\">\n <div>\n <p className=\"text-sm font-medium\">{formatDate(selected.createdAt)}</p>\n <p className=\"text-xs text-muted-foreground\">\n {labelForUser(selected.userId) ?? t('history:unknownUser')}\n </p>\n </div>\n <div className=\"flex flex-wrap items-center gap-2\">\n <Select\n value={compareToId || '_none_'}\n onValueChange={(v) => setCompareToId(v === '_none_' ? '' : v)}\n >\n <SelectTrigger\n className=\"h-8 w-auto text-xs\"\n aria-label={t('history:compareTo')}\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"_none_\">{t('history:storedDiff')}</SelectItem>\n {revisions\n .filter((r) => r.id !== selected.id)\n .map((revision) => (\n <SelectItem key={revision.id} value={revision.id}>\n {formatDate(revision.createdAt)}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n <Button\n variant=\"destructive\"\n size=\"sm\"\n disabled={revert.isPending || selected.op === 'delete'}\n onClick={() => void handleRevert(selected)}\n >\n <RotateCcw className=\"size-4\" />\n {t('history:revert')}\n </Button>\n </div>\n </div>\n <DiffView\n fields={visibleFields}\n labels={{\n added: t('diff:added'),\n changed: t('diff:changed'),\n removed: t('diff:removed'),\n before: t('diff:before'),\n after: t('diff:after'),\n noChanges: t('diff:noChanges'),\n }}\n />\n </>\n ) : (\n <div className=\"rounded-md border border-dashed p-8 text-center text-sm text-muted-foreground\">\n {t('history:noRevisions')}\n </div>\n )}\n </div>\n </div>\n )}\n </SheetContent>\n </Sheet>\n )\n}\n\nconst fieldsFor = (revision: HistoryRevision): HistoryDiffEntry[] =>\n diffSnapshots(revision.snapshotBefore ?? {}, revision.snapshot)\n"],"mappings":"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"}
@@ -1,66 +0,0 @@
1
- import{r as e}from"./rolldown-runtime-S-ySWqyJ.js";import{n as t}from"./createLucideIcon-DSvTabTT.js";import{Xn as n,dn as r}from"./index-eVDAlr3Y.js";var i=e(t(),1),{entries:a,setPrototypeOf:o,isFrozen:s,getPrototypeOf:c,getOwnPropertyDescriptor:l}=Object,{freeze:u,seal:d,create:f}=Object,{apply:ee,construct:p}=typeof Reflect<`u`&&Reflect;u||=function(e){return e},d||=function(e){return e},ee||=function(e,t){var n=[...arguments].slice(2);return e.apply(t,n)},p||=function(e){return new e(...[...arguments].slice(1))};var te=v(Array.prototype.forEach),ne=v(Array.prototype.lastIndexOf),re=v(Array.prototype.pop),ie=v(Array.prototype.push),ae=v(Array.prototype.splice),m=Array.isArray,oe=v(String.prototype.toLowerCase),se=v(String.prototype.toString),ce=v(String.prototype.match),le=v(String.prototype.replace),ue=v(String.prototype.indexOf),de=v(String.prototype.trim),fe=v(Number.prototype.toString),pe=v(Boolean.prototype.toString),h=typeof BigInt>`u`?null:v(BigInt.prototype.toString),me=typeof Symbol>`u`?null:v(Symbol.prototype.toString),g=v(Object.prototype.hasOwnProperty),he=v(Object.prototype.toString),_=v(RegExp.prototype.test),ge=_e(TypeError);function v(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);var n=[...arguments].slice(1);return ee(e,t,n)}}function _e(e){return function(){return p(e,[...arguments])}}function y(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:oe;if(o&&o(e,null),!m(t))return e;let r=t.length;for(;r--;){let i=t[r];if(typeof i==`string`){let e=n(i);e!==i&&(s(t)||(t[r]=e),i=e)}e[i]=!0}return e}function ve(e){for(let t=0;t<e.length;t++)g(e,t)||(e[t]=null);return e}function b(e){let t=f(null);for(let[n,r]of a(e))g(e,n)&&(m(r)?t[n]=ve(r):r&&typeof r==`object`&&r.constructor===Object?t[n]=b(r):t[n]=r);return t}function ye(e){switch(typeof e){case`string`:return e;case`number`:return fe(e);case`boolean`:return pe(e);case`bigint`:return h?h(e):`0`;case`symbol`:return me?me(e):`Symbol()`;case`undefined`:return he(e);case`function`:case`object`:{if(e===null)return he(e);let t=e,n=be(t,`toString`);if(typeof n==`function`){let e=n(t);return typeof e==`string`?e:he(e)}return he(e)}default:return he(e)}}function be(e,t){for(;e!==null;){let n=l(e,t);if(n){if(n.get)return v(n.get);if(typeof n.value==`function`)return v(n.value)}e=c(e)}function n(){return null}return n}function xe(e){try{return _(e,``),!0}catch{return!1}}var Se=u(`a.abbr.acronym.address.area.article.aside.audio.b.bdi.bdo.big.blink.blockquote.body.br.button.canvas.caption.center.cite.code.col.colgroup.content.data.datalist.dd.decorator.del.details.dfn.dialog.dir.div.dl.dt.element.em.fieldset.figcaption.figure.font.footer.form.h1.h2.h3.h4.h5.h6.head.header.hgroup.hr.html.i.img.input.ins.kbd.label.legend.li.main.map.mark.marquee.menu.menuitem.meter.nav.nobr.ol.optgroup.option.output.p.picture.pre.progress.q.rp.rt.ruby.s.samp.search.section.select.shadow.slot.small.source.spacer.span.strike.strong.style.sub.summary.sup.table.tbody.td.template.textarea.tfoot.th.thead.time.tr.track.tt.u.ul.var.video.wbr`.split(`.`)),Ce=u(`svg.a.altglyph.altglyphdef.altglyphitem.animatecolor.animatemotion.animatetransform.circle.clippath.defs.desc.ellipse.enterkeyhint.exportparts.filter.font.g.glyph.glyphref.hkern.image.inputmode.line.lineargradient.marker.mask.metadata.mpath.part.path.pattern.polygon.polyline.radialgradient.rect.stop.style.switch.symbol.text.textpath.title.tref.tspan.view.vkern`.split(`.`)),we=u([`feBlend`,`feColorMatrix`,`feComponentTransfer`,`feComposite`,`feConvolveMatrix`,`feDiffuseLighting`,`feDisplacementMap`,`feDistantLight`,`feDropShadow`,`feFlood`,`feFuncA`,`feFuncB`,`feFuncG`,`feFuncR`,`feGaussianBlur`,`feImage`,`feMerge`,`feMergeNode`,`feMorphology`,`feOffset`,`fePointLight`,`feSpecularLighting`,`feSpotLight`,`feTile`,`feTurbulence`]),Te=u([`animate`,`color-profile`,`cursor`,`discard`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`foreignobject`,`hatch`,`hatchpath`,`mesh`,`meshgradient`,`meshpatch`,`meshrow`,`missing-glyph`,`script`,`set`,`solidcolor`,`unknown`,`use`]),Ee=u(`math.menclose.merror.mfenced.mfrac.mglyph.mi.mlabeledtr.mmultiscripts.mn.mo.mover.mpadded.mphantom.mroot.mrow.ms.mspace.msqrt.mstyle.msub.msup.msubsup.mtable.mtd.mtext.mtr.munder.munderover.mprescripts`.split(`.`)),De=u([`maction`,`maligngroup`,`malignmark`,`mlongdiv`,`mscarries`,`mscarry`,`msgroup`,`mstack`,`msline`,`msrow`,`semantics`,`annotation`,`annotation-xml`,`mprescripts`,`none`]),Oe=u([`#text`]),ke=u(`accept.action.align.alt.autocapitalize.autocomplete.autopictureinpicture.autoplay.background.bgcolor.border.capture.cellpadding.cellspacing.checked.cite.class.clear.color.cols.colspan.controls.controlslist.coords.crossorigin.datetime.decoding.default.dir.disabled.disablepictureinpicture.disableremoteplayback.download.draggable.enctype.enterkeyhint.exportparts.face.for.headers.height.hidden.high.href.hreflang.id.inert.inputmode.integrity.ismap.kind.label.lang.list.loading.loop.low.max.maxlength.media.method.min.minlength.multiple.muted.name.nonce.noshade.novalidate.nowrap.open.optimum.part.pattern.placeholder.playsinline.popover.popovertarget.popovertargetaction.poster.preload.pubdate.radiogroup.readonly.rel.required.rev.reversed.role.rows.rowspan.spellcheck.scope.selected.shape.size.sizes.slot.span.srclang.start.src.srcset.step.style.summary.tabindex.title.translate.type.usemap.valign.value.width.wrap.xmlns`.split(`.`)),Ae=u(`accent-height.accumulate.additive.alignment-baseline.amplitude.ascent.attributename.attributetype.azimuth.basefrequency.baseline-shift.begin.bias.by.class.clip.clippathunits.clip-path.clip-rule.color.color-interpolation.color-interpolation-filters.color-profile.color-rendering.cx.cy.d.dx.dy.diffuseconstant.direction.display.divisor.dur.edgemode.elevation.end.exponent.fill.fill-opacity.fill-rule.filter.filterunits.flood-color.flood-opacity.font-family.font-size.font-size-adjust.font-stretch.font-style.font-variant.font-weight.fx.fy.g1.g2.glyph-name.glyphref.gradientunits.gradienttransform.height.href.id.image-rendering.in.in2.intercept.k.k1.k2.k3.k4.kerning.keypoints.keysplines.keytimes.lang.lengthadjust.letter-spacing.kernelmatrix.kernelunitlength.lighting-color.local.marker-end.marker-mid.marker-start.markerheight.markerunits.markerwidth.maskcontentunits.maskunits.max.mask.mask-type.media.method.mode.min.name.numoctaves.offset.operator.opacity.order.orient.orientation.origin.overflow.paint-order.path.pathlength.patterncontentunits.patterntransform.patternunits.points.preservealpha.preserveaspectratio.primitiveunits.r.rx.ry.radius.refx.refy.repeatcount.repeatdur.restart.result.rotate.scale.seed.shape-rendering.slope.specularconstant.specularexponent.spreadmethod.startoffset.stddeviation.stitchtiles.stop-color.stop-opacity.stroke-dasharray.stroke-dashoffset.stroke-linecap.stroke-linejoin.stroke-miterlimit.stroke-opacity.stroke.stroke-width.style.surfacescale.systemlanguage.tabindex.tablevalues.targetx.targety.transform.transform-origin.text-anchor.text-decoration.text-rendering.textlength.type.u1.u2.unicode.values.viewbox.visibility.version.vert-adv-y.vert-origin-x.vert-origin-y.width.word-spacing.wrap.writing-mode.xchannelselector.ychannelselector.x.x1.x2.xmlns.y.y1.y2.z.zoomandpan`.split(`.`)),je=u(`accent.accentunder.align.bevelled.close.columnalign.columnlines.columnspacing.columnspan.denomalign.depth.dir.display.displaystyle.encoding.fence.frame.height.href.id.largeop.length.linethickness.lquote.lspace.mathbackground.mathcolor.mathsize.mathvariant.maxsize.minsize.movablelimits.notation.numalign.open.rowalign.rowlines.rowspacing.rowspan.rspace.rquote.scriptlevel.scriptminsize.scriptsizemultiplier.selection.separator.separators.stretchy.subscriptshift.supscriptshift.symmetric.voffset.width.xmlns`.split(`.`)),Me=u([`xlink:href`,`xml:id`,`xlink:title`,`xml:space`,`xmlns:xlink`]),x=d(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Ne=d(/<%[\w\W]*|[\w\W]*%>/gm),Pe=d(/\$\{[\w\W]*/gm),Fe=d(/^data-[\-\w.\u00B7-\uFFFF]+$/),Ie=d(/^aria-[\-\w]+$/),Le=d(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Re=d(/^(?:\w+script|data):/i),ze=d(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Be=d(/^html$/i),S=d(/^[a-z][.\w]*(-[.\w]+)+$/i),Ve=Object.freeze({__proto__:null,ARIA_ATTR:Ie,ATTR_WHITESPACE:ze,CUSTOM_ELEMENT:S,DATA_ATTR:Fe,DOCTYPE_NAME:Be,ERB_EXPR:Ne,IS_ALLOWED_URI:Le,IS_SCRIPT_OR_DATA:Re,MUSTACHE_EXPR:x,TMPLIT_EXPR:Pe}),He={element:1,text:3,progressingInstruction:7,comment:8,document:9},Ue=function(){return typeof window>`u`?null:window},We=function(e,t){if(typeof e!=`object`||typeof e.createPolicy!=`function`)return null;let n=null,r=`data-tt-policy-suffix`;t&&t.hasAttribute(r)&&(n=t.getAttribute(r));let i=`dompurify`+(n?`#`+n:``);try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch{return console.warn(`TrustedTypes policy `+i+` could not be created.`),null}},Ge=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function Ke(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Ue(),t=e=>Ke(e);if(t.version=`3.4.2`,t.removed=[],!e||!e.document||e.document.nodeType!==He.document||!e.Element)return t.isSupported=!1,t;let{document:n}=e,r=n,i=r.currentScript,{DocumentFragment:o,HTMLTemplateElement:s,Node:c,Element:l,NodeFilter:d,NamedNodeMap:ee=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:p,DOMParser:fe,trustedTypes:pe}=e,h=l.prototype,me=be(h,`cloneNode`),he=be(h,`remove`),v=be(h,`nextSibling`),_e=be(h,`childNodes`),ve=be(h,`parentNode`);if(typeof s==`function`){let e=n.createElement(`template`);e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let x,Ne=``,{implementation:Pe,createNodeIterator:Fe,createDocumentFragment:Ie,getElementsByTagName:Re}=n,{importNode:ze}=r,S=Ge();t.isSupported=typeof a==`function`&&typeof ve==`function`&&Pe&&Pe.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:qe,ERB_EXPR:C,TMPLIT_EXPR:w,DATA_ATTR:Je,ARIA_ATTR:T,IS_SCRIPT_OR_DATA:E,ATTR_WHITESPACE:Ye,CUSTOM_ELEMENT:D}=Ve,{IS_ALLOWED_URI:Xe}=Ve,O=null,Ze=y({},[...Se,...Ce,...we,...Ee,...Oe]),k=null,Qe=y({},[...ke,...Ae,...je,...Me]),A=Object.seal(f(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),j=null,$e=null,M=Object.seal(f(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),et=!0,tt=!0,nt=!1,rt=!0,N=!1,P=!0,F=!1,it=!1,at=!1,I=!1,ot=!1,st=!1,ct=!0,lt=!1,ut=`user-content-`,dt=!0,ft=!1,L={},R=null,pt=y({},[`annotation-xml`,`audio`,`colgroup`,`desc`,`foreignobject`,`head`,`iframe`,`math`,`mi`,`mn`,`mo`,`ms`,`mtext`,`noembed`,`noframes`,`noscript`,`plaintext`,`script`,`style`,`svg`,`template`,`thead`,`title`,`video`,`xmp`]),mt=null,ht=y({},[`audio`,`video`,`img`,`source`,`image`,`track`]),gt=null,_t=y({},[`alt`,`class`,`for`,`id`,`label`,`name`,`pattern`,`placeholder`,`role`,`summary`,`title`,`value`,`style`,`xmlns`]),vt=`http://www.w3.org/1998/Math/MathML`,yt=`http://www.w3.org/2000/svg`,z=`http://www.w3.org/1999/xhtml`,B=z,bt=!1,xt=null,St=y({},[vt,yt,z],se),Ct=y({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),wt=y({},[`annotation-xml`]),Tt=y({},[`title`,`style`,`font`,`a`,`script`]),Et=null,Dt=[`application/xhtml+xml`,`text/html`],V=null,H=null,Ot=n.createElement(`form`),kt=function(e){return e instanceof RegExp||e instanceof Function},At=function(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(H&&H===e)return;(!e||typeof e!=`object`)&&(e={}),e=b(e),Et=Dt.indexOf(e.PARSER_MEDIA_TYPE)===-1?`text/html`:e.PARSER_MEDIA_TYPE,V=Et===`application/xhtml+xml`?se:oe,O=g(e,`ALLOWED_TAGS`)&&m(e.ALLOWED_TAGS)?y({},e.ALLOWED_TAGS,V):Ze,k=g(e,`ALLOWED_ATTR`)&&m(e.ALLOWED_ATTR)?y({},e.ALLOWED_ATTR,V):Qe,xt=g(e,`ALLOWED_NAMESPACES`)&&m(e.ALLOWED_NAMESPACES)?y({},e.ALLOWED_NAMESPACES,se):St,gt=g(e,`ADD_URI_SAFE_ATTR`)&&m(e.ADD_URI_SAFE_ATTR)?y(b(_t),e.ADD_URI_SAFE_ATTR,V):_t,mt=g(e,`ADD_DATA_URI_TAGS`)&&m(e.ADD_DATA_URI_TAGS)?y(b(ht),e.ADD_DATA_URI_TAGS,V):ht,R=g(e,`FORBID_CONTENTS`)&&m(e.FORBID_CONTENTS)?y({},e.FORBID_CONTENTS,V):pt,j=g(e,`FORBID_TAGS`)&&m(e.FORBID_TAGS)?y({},e.FORBID_TAGS,V):b({}),$e=g(e,`FORBID_ATTR`)&&m(e.FORBID_ATTR)?y({},e.FORBID_ATTR,V):b({}),L=g(e,`USE_PROFILES`)?e.USE_PROFILES&&typeof e.USE_PROFILES==`object`?b(e.USE_PROFILES):e.USE_PROFILES:!1,et=e.ALLOW_ARIA_ATTR!==!1,tt=e.ALLOW_DATA_ATTR!==!1,nt=e.ALLOW_UNKNOWN_PROTOCOLS||!1,rt=e.ALLOW_SELF_CLOSE_IN_ATTR!==!1,N=e.SAFE_FOR_TEMPLATES||!1,P=e.SAFE_FOR_XML!==!1,F=e.WHOLE_DOCUMENT||!1,I=e.RETURN_DOM||!1,ot=e.RETURN_DOM_FRAGMENT||!1,st=e.RETURN_TRUSTED_TYPE||!1,at=e.FORCE_BODY||!1,ct=e.SANITIZE_DOM!==!1,lt=e.SANITIZE_NAMED_PROPS||!1,dt=e.KEEP_CONTENT!==!1,ft=e.IN_PLACE||!1,Xe=xe(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:Le,B=typeof e.NAMESPACE==`string`?e.NAMESPACE:z,Ct=g(e,`MATHML_TEXT_INTEGRATION_POINTS`)&&e.MATHML_TEXT_INTEGRATION_POINTS&&typeof e.MATHML_TEXT_INTEGRATION_POINTS==`object`?b(e.MATHML_TEXT_INTEGRATION_POINTS):y({},[`mi`,`mo`,`mn`,`ms`,`mtext`]),wt=g(e,`HTML_INTEGRATION_POINTS`)&&e.HTML_INTEGRATION_POINTS&&typeof e.HTML_INTEGRATION_POINTS==`object`?b(e.HTML_INTEGRATION_POINTS):y({},[`annotation-xml`]);let t=g(e,`CUSTOM_ELEMENT_HANDLING`)&&e.CUSTOM_ELEMENT_HANDLING&&typeof e.CUSTOM_ELEMENT_HANDLING==`object`?b(e.CUSTOM_ELEMENT_HANDLING):f(null);if(A=f(null),g(t,`tagNameCheck`)&&kt(t.tagNameCheck)&&(A.tagNameCheck=t.tagNameCheck),g(t,`attributeNameCheck`)&&kt(t.attributeNameCheck)&&(A.attributeNameCheck=t.attributeNameCheck),g(t,`allowCustomizedBuiltInElements`)&&typeof t.allowCustomizedBuiltInElements==`boolean`&&(A.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),N&&(tt=!1),ot&&(I=!0),L&&(O=y({},Oe),k=f(null),L.html===!0&&(y(O,Se),y(k,ke)),L.svg===!0&&(y(O,Ce),y(k,Ae),y(k,Me)),L.svgFilters===!0&&(y(O,we),y(k,Ae),y(k,Me)),L.mathMl===!0&&(y(O,Ee),y(k,je),y(k,Me))),M.tagCheck=null,M.attributeCheck=null,g(e,`ADD_TAGS`)&&(typeof e.ADD_TAGS==`function`?M.tagCheck=e.ADD_TAGS:m(e.ADD_TAGS)&&(O===Ze&&(O=b(O)),y(O,e.ADD_TAGS,V))),g(e,`ADD_ATTR`)&&(typeof e.ADD_ATTR==`function`?M.attributeCheck=e.ADD_ATTR:m(e.ADD_ATTR)&&(k===Qe&&(k=b(k)),y(k,e.ADD_ATTR,V))),g(e,`ADD_URI_SAFE_ATTR`)&&m(e.ADD_URI_SAFE_ATTR)&&y(gt,e.ADD_URI_SAFE_ATTR,V),g(e,`FORBID_CONTENTS`)&&m(e.FORBID_CONTENTS)&&(R===pt&&(R=b(R)),y(R,e.FORBID_CONTENTS,V)),g(e,`ADD_FORBID_CONTENTS`)&&m(e.ADD_FORBID_CONTENTS)&&(R===pt&&(R=b(R)),y(R,e.ADD_FORBID_CONTENTS,V)),dt&&(O[`#text`]=!0),F&&y(O,[`html`,`head`,`body`]),O.table&&(y(O,[`tbody`]),delete j.tbody),e.TRUSTED_TYPES_POLICY){if(typeof e.TRUSTED_TYPES_POLICY.createHTML!=`function`)throw ge(`TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.`);if(typeof e.TRUSTED_TYPES_POLICY.createScriptURL!=`function`)throw ge(`TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.`);x=e.TRUSTED_TYPES_POLICY,Ne=x.createHTML(``)}else x===void 0&&(x=We(pe,i)),x!==null&&typeof Ne==`string`&&(Ne=x.createHTML(``));u&&u(e),H=e},jt=y({},[...Ce,...we,...Te]),Mt=y({},[...Ee,...De]),Nt=function(e){let t=ve(e);(!t||!t.tagName)&&(t={namespaceURI:B,tagName:`template`});let n=oe(e.tagName),r=oe(t.tagName);return xt[e.namespaceURI]?e.namespaceURI===yt?t.namespaceURI===z?n===`svg`:t.namespaceURI===vt?n===`svg`&&(r===`annotation-xml`||Ct[r]):!!jt[n]:e.namespaceURI===vt?t.namespaceURI===z?n===`math`:t.namespaceURI===yt?n===`math`&&wt[r]:!!Mt[n]:e.namespaceURI===z?t.namespaceURI===yt&&!wt[r]||t.namespaceURI===vt&&!Ct[r]?!1:!Mt[n]&&(Tt[n]||!jt[n]):!!(Et===`application/xhtml+xml`&&xt[e.namespaceURI]):!1},U=function(e){ie(t.removed,{element:e});try{ve(e).removeChild(e)}catch{he(e)}},W=function(e,n){try{ie(t.removed,{attribute:n.getAttributeNode(e),from:n})}catch{ie(t.removed,{attribute:null,from:n})}if(n.removeAttribute(e),e===`is`)if(I||ot)try{U(n)}catch{}else try{n.setAttribute(e,``)}catch{}},Pt=function(e){let t=null,r=null;if(at)e=`<remove></remove>`+e;else{let t=ce(e,/^[\r\n\t ]+/);r=t&&t[0]}Et===`application/xhtml+xml`&&B===z&&(e=`<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>`+e+`</body></html>`);let i=x?x.createHTML(e):e;if(B===z)try{t=new fe().parseFromString(i,Et)}catch{}if(!t||!t.documentElement){t=Pe.createDocument(B,`template`,null);try{t.documentElement.innerHTML=bt?Ne:i}catch{}}let a=t.body||t.documentElement;return e&&r&&a.insertBefore(n.createTextNode(r),a.childNodes[0]||null),B===z?Re.call(t,F?`html`:`body`)[0]:F?t.documentElement:a},Ft=function(e){return Fe.call(e.ownerDocument||e,e,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT|d.SHOW_PROCESSING_INSTRUCTION|d.SHOW_CDATA_SECTION,null)},G=function(e){return e instanceof p&&(typeof e.nodeName!=`string`||typeof e.textContent!=`string`||typeof e.removeChild!=`function`||!(e.attributes instanceof ee)||typeof e.removeAttribute!=`function`||typeof e.setAttribute!=`function`||typeof e.namespaceURI!=`string`||typeof e.insertBefore!=`function`||typeof e.hasChildNodes!=`function`)},K=function(e){return typeof c==`function`&&e instanceof c};function q(e,n,r){te(e,e=>{e.call(t,n,r,H)})}let It=function(e){let n=null;if(q(S.beforeSanitizeElements,e,null),G(e))return U(e),!0;let r=V(e.nodeName);if(q(S.uponSanitizeElement,e,{tagName:r,allowedTags:O}),P&&e.hasChildNodes()&&!K(e.firstElementChild)&&_(/<[/\w!]/g,e.innerHTML)&&_(/<[/\w!]/g,e.textContent)||P&&e.namespaceURI===z&&r===`style`&&K(e.firstElementChild)||e.nodeType===He.progressingInstruction||P&&e.nodeType===He.comment&&_(/<[/\w]/g,e.data))return U(e),!0;if(j[r]||!(M.tagCheck instanceof Function&&M.tagCheck(r))&&!O[r]){if(!j[r]&&Rt(r)&&(A.tagNameCheck instanceof RegExp&&_(A.tagNameCheck,r)||A.tagNameCheck instanceof Function&&A.tagNameCheck(r)))return!1;if(dt&&!R[r]){let t=ve(e)||e.parentNode,n=_e(e)||e.childNodes;if(n&&t){let r=n.length;for(let i=r-1;i>=0;--i){let r=me(n[i],!0);t.insertBefore(r,v(e))}}}return U(e),!0}return e instanceof l&&!Nt(e)||(r===`noscript`||r===`noembed`||r===`noframes`)&&_(/<\/no(script|embed|frames)/i,e.innerHTML)?(U(e),!0):(N&&e.nodeType===He.text&&(n=e.textContent,te([qe,C,w],e=>{n=le(n,e,` `)}),e.textContent!==n&&(ie(t.removed,{element:e.cloneNode()}),e.textContent=n)),q(S.afterSanitizeElements,e,null),!1)},J=function(e,t,r){if($e[t]||ct&&(t===`id`||t===`name`)&&(r in n||r in Ot))return!1;let i=k[t]||M.attributeCheck instanceof Function&&M.attributeCheck(t,e);if(!(tt&&!$e[t]&&_(Je,t))&&!(et&&_(T,t))){if(!i||$e[t]){if(!(Rt(e)&&(A.tagNameCheck instanceof RegExp&&_(A.tagNameCheck,e)||A.tagNameCheck instanceof Function&&A.tagNameCheck(e))&&(A.attributeNameCheck instanceof RegExp&&_(A.attributeNameCheck,t)||A.attributeNameCheck instanceof Function&&A.attributeNameCheck(t,e))||t===`is`&&A.allowCustomizedBuiltInElements&&(A.tagNameCheck instanceof RegExp&&_(A.tagNameCheck,r)||A.tagNameCheck instanceof Function&&A.tagNameCheck(r))))return!1}else if(!gt[t]&&!_(Xe,le(r,Ye,``))&&!((t===`src`||t===`xlink:href`||t===`href`)&&e!==`script`&&ue(r,`data:`)===0&&mt[e])&&!(nt&&!_(E,le(r,Ye,``)))&&r)return!1}return!0},Lt=y({},[`annotation-xml`,`color-profile`,`font-face`,`font-face-format`,`font-face-name`,`font-face-src`,`font-face-uri`,`missing-glyph`]),Rt=function(e){return!Lt[oe(e)]&&_(D,e)},Y=function(e){q(S.beforeSanitizeAttributes,e,null);let{attributes:n}=e;if(!n||G(e))return;let r={attrName:``,attrValue:``,keepAttr:!0,allowedAttributes:k,forceKeepAttr:void 0},i=n.length;for(;i--;){let{name:a,namespaceURI:o,value:s}=n[i],c=V(a),l=s,u=a===`value`?l:de(l);if(r.attrName=c,r.attrValue=u,r.keepAttr=!0,r.forceKeepAttr=void 0,q(S.uponSanitizeAttribute,e,r),u=r.attrValue,lt&&(c===`id`||c===`name`)&&ue(u,ut)!==0&&(W(a,e),u=ut+u),P&&_(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,u)){W(a,e);continue}if(c===`attributename`&&ce(u,`href`)){W(a,e);continue}if(r.forceKeepAttr)continue;if(!r.keepAttr){W(a,e);continue}if(!rt&&_(/\/>/i,u)){W(a,e);continue}N&&te([qe,C,w],e=>{u=le(u,e,` `)});let d=V(e.nodeName);if(!J(d,c,u)){W(a,e);continue}if(x&&typeof pe==`object`&&typeof pe.getAttributeType==`function`&&!o)switch(pe.getAttributeType(d,c)){case`TrustedHTML`:u=x.createHTML(u);break;case`TrustedScriptURL`:u=x.createScriptURL(u);break}if(u!==l)try{o?e.setAttributeNS(o,a,u):e.setAttribute(a,u),G(e)?U(e):re(t.removed)}catch{W(a,e)}}q(S.afterSanitizeAttributes,e,null)},zt=function(e){let t=null,n=Ft(e);for(q(S.beforeSanitizeShadowDOM,e,null);t=n.nextNode();)q(S.uponSanitizeShadowNode,t,null),It(t),Y(t),t.content instanceof o&&zt(t.content);q(S.afterSanitizeShadowDOM,e,null)};return t.sanitize=function(e){let n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},i=null,a=null,s=null,l=null;if(bt=!e,bt&&(e=`<!-->`),typeof e!=`string`&&!K(e)&&(e=ye(e),typeof e!=`string`))throw ge(`dirty is not a string, aborting`);if(!t.isSupported)return e;if(it||At(n),t.removed=[],typeof e==`string`&&(ft=!1),ft){let t=e.nodeName;if(typeof t==`string`){let e=V(t);if(!O[e]||j[e])throw ge(`root node is forbidden and cannot be sanitized in-place`)}}else if(e instanceof c)i=Pt(`<!---->`),a=i.ownerDocument.importNode(e,!0),a.nodeType===He.element&&a.nodeName===`BODY`||a.nodeName===`HTML`?i=a:i.appendChild(a);else{if(!I&&!N&&!F&&e.indexOf(`<`)===-1)return x&&st?x.createHTML(e):e;if(i=Pt(e),!i)return I?null:st?Ne:``}i&&at&&U(i.firstChild);let u=Ft(ft?e:i);for(;s=u.nextNode();)It(s),Y(s),s.content instanceof o&&zt(s.content);if(ft)return e;if(I){if(N){i.normalize();let e=i.innerHTML;te([qe,C,w],t=>{e=le(e,t,` `)}),i.innerHTML=e}if(ot)for(l=Ie.call(i.ownerDocument);i.firstChild;)l.appendChild(i.firstChild);else l=i;return(k.shadowroot||k.shadowrootmode)&&(l=ze.call(r,l,!0)),l}let d=F?i.outerHTML:i.innerHTML;return F&&O[`!doctype`]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&_(Be,i.ownerDocument.doctype.name)&&(d=`<!DOCTYPE `+i.ownerDocument.doctype.name+`>
2
- `+d),N&&te([qe,C,w],e=>{d=le(d,e,` `)}),x&&st?x.createHTML(d):d},t.setConfig=function(){At(arguments.length>0&&arguments[0]!==void 0?arguments[0]:{}),it=!0},t.clearConfig=function(){H=null,it=!1},t.isValidAttribute=function(e,t,n){return H||At({}),J(V(e),V(t),n)},t.addHook=function(e,t){typeof t==`function`&&ie(S[e],t)},t.removeHook=function(e,t){if(t!==void 0){let n=ne(S[e],t);return n===-1?void 0:ae(S[e],n,1)[0]}return re(S[e])},t.removeHooks=function(e){S[e]=[]},t.removeAllHooks=function(){S=Ge()},t}var qe=Ke();function C(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var w=C();function Je(e){w=e}var T={exec:()=>null};function E(e,t=``){let n=typeof e==`string`?e:e.source,r={replace:(e,t)=>{let i=typeof t==`string`?t:t.source;return i=i.replace(D.caret,`$1`),n=n.replace(e,i),r},getRegex:()=>new RegExp(n,t)};return r}var Ye=((e=``)=>{try{return!!RegExp(`(?<=1)(?<!1)`+e)}catch{return!1}})(),D={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,`i`),blockquoteBeginRegex:e=>RegExp(`^ {0,${Math.min(3,e-1)}}>`)},Xe=/^(?:[ \t]*(?:\n|$))+/,O=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,Ze=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,k=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Qe=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,A=/ {0,3}(?:[*+-]|\d{1,9}[.)])/,j=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,$e=E(j).replace(/bull/g,A).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,``).getRegex(),M=E(j).replace(/bull/g,A).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),et=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,tt=/^[^\n]+/,nt=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,rt=E(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace(`label`,nt).replace(`title`,/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),N=E(/^(bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,A).getRegex(),P=`address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul`,F=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,it=E(`^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))`,`i`).replace(`comment`,F).replace(`tag`,P).replace(`attribute`,/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),at=E(et).replace(`hr`,k).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,P).getRegex(),I={blockquote:E(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace(`paragraph`,at).getRegex(),code:O,def:rt,fences:Ze,heading:Qe,hr:k,html:it,lheading:$e,list:N,newline:Xe,paragraph:at,table:T,text:tt},ot=E(`^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)`).replace(`hr`,k).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`blockquote`,` {0,3}>`).replace(`code`,`(?: {4}| {0,3} )[^\\n]`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,P).getRegex(),st={...I,lheading:M,table:ot,paragraph:E(et).replace(`hr`,k).replace(`heading`,` {0,3}#{1,6}(?:\\s|$)`).replace(`|lheading`,``).replace(`table`,ot).replace(`blockquote`,` {0,3}>`).replace(`fences`," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace(`list`,` {0,3}(?:[*+-]|1[.)])[ \\t]`).replace(`html`,`</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)`).replace(`tag`,P).getRegex()},ct={...I,html:E(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace(`comment`,F).replace(/tag/g,`(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b`).getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:T,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:E(et).replace(`hr`,k).replace(`heading`,` *#{1,6} *[^
3
- ]`).replace(`lheading`,$e).replace(`|table`,``).replace(`blockquote`,` {0,3}>`).replace(`|fences`,``).replace(`|list`,``).replace(`|html`,``).replace(`|tag`,``).getRegex()},lt=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ut=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,dt=/^( {2,}|\\)\n(?!\s*$)/,ft=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,L=/[\p{P}\p{S}]/u,R=/[\s\p{P}\p{S}]/u,pt=/[^\s\p{P}\p{S}]/u,mt=E(/^((?![*_])punctSpace)/,`u`).replace(/punctSpace/g,R).getRegex(),ht=/(?!~)[\p{P}\p{S}]/u,gt=/(?!~)[\s\p{P}\p{S}]/u,_t=/(?:[^\s\p{P}\p{S}]|~)/u,vt=E(/link|precode-code|html/,`g`).replace(`link`,/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace(`precode-`,Ye?"(?<!`)()":"(^^|[^`])").replace(`code`,/(?<b>`+)[^`]+\k<b>(?!`)/).replace(`html`,/<(?! )[^<>]*?>/).getRegex(),yt=/^(?:\*+(?:((?!\*)punct)|([^\s*]))?)|^_+(?:((?!_)punct)|([^\s_]))?/,z=E(yt,`u`).replace(/punct/g,L).getRegex(),B=E(yt,`u`).replace(/punct/g,ht).getRegex(),bt=`^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)`,xt=E(bt,`gu`).replace(/notPunctSpace/g,pt).replace(/punctSpace/g,R).replace(/punct/g,L).getRegex(),St=E(bt,`gu`).replace(/notPunctSpace/g,_t).replace(/punctSpace/g,gt).replace(/punct/g,ht).getRegex(),Ct=E(`^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)`,`gu`).replace(/notPunctSpace/g,pt).replace(/punctSpace/g,R).replace(/punct/g,L).getRegex(),wt=E(/^~~?(?:((?!~)punct)|[^\s~])/,`u`).replace(/punct/g,L).getRegex(),Tt=E(`^[^~]+(?=[^~])|(?!~)punct(~~?)(?=[\\s]|$)|notPunctSpace(~~?)(?!~)(?=punctSpace|$)|(?!~)punctSpace(~~?)(?=notPunctSpace)|[\\s](~~?)(?!~)(?=punct)|(?!~)punct(~~?)(?!~)(?=punct)|notPunctSpace(~~?)(?=notPunctSpace)`,`gu`).replace(/notPunctSpace/g,pt).replace(/punctSpace/g,R).replace(/punct/g,L).getRegex(),Et=E(/\\(punct)/,`gu`).replace(/punct/g,L).getRegex(),Dt=E(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace(`scheme`,/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace(`email`,/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),V=E(F).replace(`(?:-->|$)`,`-->`).getRegex(),H=E(`^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>`).replace(`comment`,V).replace(`attribute`,/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Ot=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+(?!`)[^`]*?`+(?!`)|``+(?=\])|[^\[\]\\`])*?/,kt=E(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]+(?:\n[ \t]*)?|\n[ \t]*)(title))?\s*\)/).replace(`label`,Ot).replace(`href`,/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace(`title`,/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),At=E(/^!?\[(label)\]\[(ref)\]/).replace(`label`,Ot).replace(`ref`,nt).getRegex(),jt=E(/^!?\[(ref)\](?:\[\])?/).replace(`ref`,nt).getRegex(),Mt=E(`reflink|nolink(?!\\()`,`g`).replace(`reflink`,At).replace(`nolink`,jt).getRegex(),Nt=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,U={_backpedal:T,anyPunctuation:Et,autolink:Dt,blockSkip:vt,br:dt,code:ut,del:T,delLDelim:T,delRDelim:T,emStrongLDelim:z,emStrongRDelimAst:xt,emStrongRDelimUnd:Ct,escape:lt,link:kt,nolink:jt,punctuation:mt,reflink:At,reflinkSearch:Mt,tag:H,text:ft,url:T},W={...U,link:E(/^!?\[(label)\]\((.*?)\)/).replace(`label`,Ot).getRegex(),reflink:E(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace(`label`,Ot).getRegex()},Pt={...U,emStrongRDelimAst:St,emStrongLDelim:B,delLDelim:wt,delRDelim:Tt,url:E(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace(`protocol`,Nt).replace(`email`,/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:E(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace(`protocol`,Nt).getRegex()},Ft={...Pt,br:E(dt).replace(`{2,}`,`*`).getRegex(),text:E(Pt.text).replace(`\\b_`,`\\b_| {2,}\\n`).replace(/\{2,\}/g,`*`).getRegex()},G={normal:I,gfm:st,pedantic:ct},K={normal:U,gfm:Pt,breaks:Ft,pedantic:W},q={"&":`&amp;`,"<":`&lt;`,">":`&gt;`,'"':`&quot;`,"'":`&#39;`},It=e=>q[e];function J(e,t){if(t){if(D.escapeTest.test(e))return e.replace(D.escapeReplace,It)}else if(D.escapeTestNoEncode.test(e))return e.replace(D.escapeReplaceNoEncode,It);return e}function Lt(e){try{e=encodeURI(e).replace(D.percentDecode,`%`)}catch{return null}return e}function Rt(e,t){let n=e.replace(D.findPipe,(e,t,n)=>{let r=!1,i=t;for(;--i>=0&&n[i]===`\\`;)r=!r;return r?`|`:` |`}).split(D.splitPipe),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n.at(-1)?.trim()&&n.pop(),t)if(n.length>t)n.splice(t);else for(;n.length<t;)n.push(``);for(;r<n.length;r++)n[r]=n[r].trim().replace(D.slashPipe,`|`);return n}function Y(e,t,n){let r=e.length;if(r===0)return``;let i=0;for(;i<r;){let a=e.charAt(r-i-1);if(a===t&&!n)i++;else if(a!==t&&n)i++;else break}return e.slice(0,r-i)}function zt(e){let t=e.split(`
4
- `),n=t.length-1;for(;n>=0&&D.blankLine.test(t[n]);)n--;return t.length-n<=2?e:t.slice(0,n+1).join(`
5
- `)}function Bt(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let r=0;r<e.length;r++)if(e[r]===`\\`)r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&(n--,n<0))return r;return n>0?-2:-1}function Vt(e,t=0){let n=t,r=``;for(let t of e)if(t===` `){let e=4-n%4;r+=` `.repeat(e),n+=e}else r+=t,n++;return r}function Ht(e,t,n,r,i){let a=t.href,o=t.title||null,s=e[1].replace(i.other.outputLinkReplace,`$1`);r.state.inLink=!0;let c={type:e[0].charAt(0)===`!`?`image`:`link`,raw:n,href:a,title:o,text:s,tokens:r.inlineTokens(s)};return r.state.inLink=!1,c}function Ut(e,t,n){let r=e.match(n.other.indentCodeCompensation);if(r===null)return t;let i=r[1];return t.split(`
6
- `).map(e=>{let t=e.match(n.other.beginningSpace);if(t===null)return e;let[r]=t;return r.length>=i.length?e.slice(i.length):e}).join(`
7
- `)}var Wt=class{options;rules;lexer;constructor(e){this.options=e||w}space(e){let t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:`space`,raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=this.options.pedantic?t[0]:zt(t[0]);return{type:`code`,raw:e,codeBlockStyle:`indented`,text:e.replace(this.rules.other.codeRemoveIndent,``)}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],n=Ut(e,t[3]||``,this.rules);return{type:`code`,raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,`$1`):t[2],text:n}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=Y(e,`#`);(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:`heading`,raw:Y(t[0],`
8
- `),depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:`hr`,raw:Y(t[0],`
9
- `)}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=Y(t[0],`
10
- `).split(`
11
- `),n=``,r=``,i=[];for(;e.length>0;){let t=!1,a=[],o;for(o=0;o<e.length;o++)if(this.rules.other.blockquoteStart.test(e[o]))a.push(e[o]),t=!0;else if(!t)a.push(e[o]);else break;e=e.slice(o);let s=a.join(`
12
- `),c=s.replace(this.rules.other.blockquoteSetextReplace,`
13
- $1`).replace(this.rules.other.blockquoteSetextReplace2,``);n=n?`${n}
14
- ${s}`:s,r=r?`${r}
15
- ${c}`:c;let l=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(c,i,!0),this.lexer.state.top=l,e.length===0)break;let u=i.at(-1);if(u?.type===`code`)break;if(u?.type===`blockquote`){let t=u,a=t.raw+`
16
- `+e.join(`
17
- `),o=this.blockquote(a);i[i.length-1]=o,n=n.substring(0,n.length-t.raw.length)+o.raw,r=r.substring(0,r.length-t.text.length)+o.text;break}else if(u?.type===`list`){let t=u,a=t.raw+`
18
- `+e.join(`
19
- `),o=this.list(a);i[i.length-1]=o,n=n.substring(0,n.length-u.raw.length)+o.raw,r=r.substring(0,r.length-t.raw.length)+o.raw,e=a.substring(i.at(-1).raw.length).split(`
20
- `);continue}}return{type:`blockquote`,raw:n,tokens:i,text:r}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n=t[1].trim(),r=n.length>1,i={type:`list`,raw:``,ordered:r,start:r?+n.slice(0,-1):``,loose:!1,items:[]};n=r?`\\d{1,9}\\${n.slice(-1)}`:`\\${n}`,this.options.pedantic&&(n=r?n:`[*+-]`);let a=this.rules.other.listItemRegex(n),o=!1;for(;e;){let n=!1,r=``,s=``;if(!(t=a.exec(e))||this.rules.block.hr.test(e))break;r=t[0],e=e.substring(r.length);let c=Vt(t[2].split(`
21
- `,1)[0],t[1].length),l=e.split(`
22
- `,1)[0],u=!c.trim(),d=0;if(this.options.pedantic?(d=2,s=c.trimStart()):u?d=t[1].length+1:(d=c.search(this.rules.other.nonSpaceChar),d=d>4?1:d,s=c.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(l)&&(r+=l+`
23
- `,e=e.substring(l.length+1),n=!0),!n){let t=this.rules.other.nextBulletRegex(d),n=this.rules.other.hrRegex(d),i=this.rules.other.fencesBeginRegex(d),a=this.rules.other.headingBeginRegex(d),o=this.rules.other.htmlBeginRegex(d),f=this.rules.other.blockquoteBeginRegex(d);for(;e;){let ee=e.split(`
24
- `,1)[0],p;if(l=ee,this.options.pedantic?(l=l.replace(this.rules.other.listReplaceNesting,` `),p=l):p=l.replace(this.rules.other.tabCharGlobal,` `),i.test(l)||a.test(l)||o.test(l)||f.test(l)||t.test(l)||n.test(l))break;if(p.search(this.rules.other.nonSpaceChar)>=d||!l.trim())s+=`
25
- `+p.slice(d);else{if(u||c.replace(this.rules.other.tabCharGlobal,` `).search(this.rules.other.nonSpaceChar)>=4||i.test(c)||a.test(c)||n.test(c))break;s+=`
26
- `+l}u=!l.trim(),r+=ee+`
27
- `,e=e.substring(ee.length+1),c=p.slice(d)}}i.loose||(o?i.loose=!0:this.rules.other.doubleBlankLine.test(r)&&(o=!0)),i.items.push({type:`list_item`,raw:r,task:!!this.options.gfm&&this.rules.other.listIsTask.test(s),loose:!1,text:s,tokens:[]}),i.raw+=r}let s=i.items.at(-1);if(s)s.raw=s.raw.trimEnd(),s.text=s.text.trimEnd();else return;i.raw=i.raw.trimEnd();for(let e of i.items){this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]);let t=e.tokens[0];if(e.task&&(t?.type===`text`||t?.type===`paragraph`)){e.text=e.text.replace(this.rules.other.listReplaceTask,``),t.raw=t.raw.replace(this.rules.other.listReplaceTask,``),t.text=t.text.replace(this.rules.other.listReplaceTask,``);for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,``);break}let n=this.rules.other.listTaskCheckbox.exec(e.raw);if(n){let t={type:`checkbox`,raw:n[0]+` `,checked:n[0]!==`[ ]`};e.checked=t.checked,i.loose?e.tokens[0]&&[`paragraph`,`text`].includes(e.tokens[0].type)&&`tokens`in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=t.raw+e.tokens[0].raw,e.tokens[0].text=t.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(t)):e.tokens.unshift({type:`paragraph`,raw:t.raw,text:t.raw,tokens:[t]}):e.tokens.unshift(t)}}else e.task&&=!1;if(!i.loose){let t=e.tokens.filter(e=>e.type===`space`);i.loose=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw))}}if(i.loose)for(let e of i.items){e.loose=!0;for(let t of e.tokens)t.type===`text`&&(t.type=`paragraph`)}return i}}html(e){let t=this.rules.block.html.exec(e);if(t){let e=zt(t[0]);return{type:`html`,block:!0,raw:e,pre:t[1]===`pre`||t[1]===`script`||t[1]===`style`,text:e}}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal,` `),n=t[2]?t[2].replace(this.rules.other.hrefBrackets,`$1`).replace(this.rules.inline.anyPunctuation,`$1`):``,r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,`$1`):t[3];return{type:`def`,tag:e,raw:Y(t[0],`
28
- `),href:n,title:r}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let n=Rt(t[1]),r=t[2].replace(this.rules.other.tableAlignChars,``).split(`|`),i=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,``).split(`
29
- `):[],a={type:`table`,raw:Y(t[0],`
30
- `),header:[],align:[],rows:[]};if(n.length===r.length){for(let e of r)this.rules.other.tableAlignRight.test(e)?a.align.push(`right`):this.rules.other.tableAlignCenter.test(e)?a.align.push(`center`):this.rules.other.tableAlignLeft.test(e)?a.align.push(`left`):a.align.push(null);for(let e=0;e<n.length;e++)a.header.push({text:n[e],tokens:this.lexer.inline(n[e]),header:!0,align:a.align[e]});for(let e of i)a.rows.push(Rt(e,a.header.length).map((e,t)=>({text:e,tokens:this.lexer.inline(e),header:!1,align:a.align[t]})));return a}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t){let e=t[1].trim();return{type:`heading`,raw:Y(t[0],`
31
- `),depth:t[2].charAt(0)===`=`?1:2,text:e,tokens:this.lexer.inline(e)}}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e=t[1].charAt(t[1].length-1)===`
32
- `?t[1].slice(0,-1):t[1];return{type:`paragraph`,raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:`text`,raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:`escape`,raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:`html`,raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=Y(e.slice(0,-1),`\\`);if((e.length-t.length)%2==0)return}else{let e=Bt(t[2],`()`);if(e===-2)return;if(e>-1){let n=(t[0].indexOf(`!`)===0?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=``}}let n=t[2],r=``;if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):``;return n=n.trim(),this.rules.other.startAngleBracket.test(n)&&(n=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?n.slice(1):n.slice(1,-1)),Ht(t,{href:n&&n.replace(this.rules.inline.anyPunctuation,`$1`),title:r&&r.replace(this.rules.inline.anyPunctuation,`$1`)},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=t[(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal,` `).toLowerCase()];if(!e){let e=n[0].charAt(0);return{type:`text`,raw:e,text:e}}return Ht(n,e,n[0],this.lexer,this.rules)}}emStrong(e,t,n=``){let r=this.rules.inline.emStrongLDelim.exec(e);if(!(!r||!r[1]&&!r[2]&&!r[3]&&!r[4]||r[4]&&n.match(this.rules.other.unicodeAlphaNumeric))&&(!(r[1]||r[3])||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=0,c=r[0][0]===`*`?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+n);(r=c.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i)continue;if(a=[...i].length,r[3]||r[4]){o+=a;continue}else if((r[5]||r[6])&&n%3&&!((n+a)%3)){s+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o+s);let t=[...r[0]][0].length,c=e.slice(0,n+r.index+t+a);if(Math.min(n,a)%2){let e=c.slice(1,-1);return{type:`em`,raw:c,text:e,tokens:this.lexer.inlineTokens(e)}}let l=c.slice(2,-2);return{type:`strong`,raw:c,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal,` `),n=this.rules.other.nonSpaceChar.test(e),r=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return n&&r&&(e=e.substring(1,e.length-1)),{type:`codespan`,raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:`br`,raw:t[0]}}del(e,t,n=``){let r=this.rules.inline.delLDelim.exec(e);if(r&&(!r[1]||!n||this.rules.inline.punctuation.exec(n))){let n=[...r[0]].length-1,i,a,o=n,s=this.rules.inline.delRDelim;for(s.lastIndex=0,t=t.slice(-1*e.length+n);(r=s.exec(t))!==null;){if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!i||(a=[...i].length,a!==n))continue;if(r[3]||r[4]){o+=a;continue}if(o-=a,o>0)continue;a=Math.min(a,a+o);let t=[...r[0]][0].length,s=e.slice(0,n+r.index+t+a),c=s.slice(n,-n);return{type:`del`,raw:s,text:c,tokens:this.lexer.inlineTokens(c)}}}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,n;return t[2]===`@`?(e=t[1],n=`mailto:`+e):(e=t[1],n=e),{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,n;if(t[2]===`@`)e=t[0],n=`mailto:`+e;else{let r;do r=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??``;while(r!==t[0]);e=t[0],n=t[1]===`www.`?`http://`+t[0]:t[0]}return{type:`link`,raw:t[0],text:e,href:n,tokens:[{type:`text`,raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:`text`,raw:t[0],text:t[0],escaped:e}}}},X=class e{tokens;options;state;inlineQueue;tokenizer;constructor(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||w,this.options.tokenizer=this.options.tokenizer||new Wt,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:D,block:G.normal,inline:K.normal};this.options.pedantic?(t.block=G.pedantic,t.inline=K.pedantic):this.options.gfm&&(t.block=G.gfm,this.options.breaks?t.inline=K.breaks:t.inline=K.gfm),this.tokenizer.rules=t}static get rules(){return{block:G,inline:K}}static lex(t,n){return new e(n).lex(t)}static lexInline(t,n){return new e(n).inlineTokens(t)}lex(e){e=e.replace(D.carriageReturn,`
33
- `),this.blockTokens(e,this.tokens);for(let e=0;e<this.inlineQueue.length;e++){let t=this.inlineQueue[e];this.inlineTokens(t.src,t.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],n=!1){this.tokenizer.lexer=this,this.options.pedantic&&(e=e.replace(D.tabCharGlobal,` `).replace(D.spaceLine,``));let r=1/0;for(;e;){if(e.length<r)r=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}let i;if(this.options.extensions?.block?.some(n=>(i=n.call({lexer:this},e,t))?(e=e.substring(i.raw.length),t.push(i),!0):!1))continue;if(i=this.tokenizer.space(e)){e=e.substring(i.raw.length);let n=t.at(-1);i.raw.length===1&&n!==void 0?n.raw+=`
34
- `:t.push(i);continue}if(i=this.tokenizer.code(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
35
- `)?``:`
36
- `)+i.raw,n.text+=`
37
- `+i.text,this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(i=this.tokenizer.fences(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.heading(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.hr(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.blockquote(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.list(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.html(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.def(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`paragraph`||n?.type===`text`?(n.raw+=(n.raw.endsWith(`
38
- `)?``:`
39
- `)+i.raw,n.text+=`
40
- `+i.raw,this.inlineQueue.at(-1).src=n.text):this.tokens.links[i.tag]||(this.tokens.links[i.tag]={href:i.href,title:i.title},t.push(i));continue}if(i=this.tokenizer.table(e)){e=e.substring(i.raw.length),t.push(i);continue}if(i=this.tokenizer.lheading(e)){e=e.substring(i.raw.length),t.push(i);continue}let a=e;if(this.options.extensions?.startBlock){let t=1/0,n=e.slice(1),r;this.options.extensions.startBlock.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(a=e.substring(0,t+1))}if(this.state.top&&(i=this.tokenizer.paragraph(a))){let r=t.at(-1);n&&r?.type===`paragraph`?(r.raw+=(r.raw.endsWith(`
41
- `)?``:`
42
- `)+i.raw,r.text+=`
43
- `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=r.text):t.push(i),n=a.length!==e.length,e=e.substring(i.raw.length);continue}if(i=this.tokenizer.text(e)){e=e.substring(i.raw.length);let n=t.at(-1);n?.type===`text`?(n.raw+=(n.raw.endsWith(`
44
- `)?``:`
45
- `)+i.raw,n.text+=`
46
- `+i.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=n.text):t.push(i);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){this.tokenizer.lexer=this;let n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(n))!==null;)e.includes(r[0].slice(r[0].lastIndexOf(`[`)+1,-1))&&(n=n.slice(0,r.index)+`[`+`a`.repeat(r[0].length-2)+`]`+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(n))!==null;)n=n.slice(0,r.index)+`++`+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let i;for(;(r=this.tokenizer.rules.inline.blockSkip.exec(n))!==null;)i=r[2]?r[2].length:0,n=n.slice(0,r.index+i)+`[`+`a`.repeat(r[0].length-i-2)+`]`+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let a=!1,o=``,s=1/0;for(;e;){if(e.length<s)s=e.length;else{this.infiniteLoopError(e.charCodeAt(0));break}a||(o=``),a=!1;let r;if(this.options.extensions?.inline?.some(n=>(r=n.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.escape(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.tag(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.link(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(r.raw.length);let n=t.at(-1);r.type===`text`&&n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(r=this.tokenizer.emStrong(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.codespan(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.br(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.del(e,n,o)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.autolink(e)){e=e.substring(r.raw.length),t.push(r);continue}if(!this.state.inLink&&(r=this.tokenizer.url(e))){e=e.substring(r.raw.length),t.push(r);continue}let i=e;if(this.options.extensions?.startInline){let t=1/0,n=e.slice(1),r;this.options.extensions.startInline.forEach(e=>{r=e.call({lexer:this},n),typeof r==`number`&&r>=0&&(t=Math.min(t,r))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i)){e=e.substring(r.raw.length),r.raw.slice(-1)!==`_`&&(o=r.raw.slice(-1)),a=!0;let n=t.at(-1);n?.type===`text`?(n.raw+=r.raw,n.text+=r.text):t.push(r);continue}if(e){this.infiniteLoopError(e.charCodeAt(0));break}}return t}infiniteLoopError(e){let t=`Infinite loop on byte: `+e;if(this.options.silent)console.error(t);else throw Error(t)}},Gt=class{options;parser;constructor(e){this.options=e||w}space(e){return``}code({text:e,lang:t,escaped:n}){let r=(t||``).match(D.notSpaceStart)?.[0],i=e.replace(D.endingNewline,``)+`
47
- `;return r?`<pre><code class="language-`+J(r)+`">`+(n?i:J(i,!0))+`</code></pre>
48
- `:`<pre><code>`+(n?i:J(i,!0))+`</code></pre>
49
- `}blockquote({tokens:e}){return`<blockquote>
50
- ${this.parser.parse(e)}</blockquote>
51
- `}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`<h${t}>${this.parser.parseInline(e)}</h${t}>
52
- `}hr(e){return`<hr>
53
- `}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t<e.items.length;t++){let n=e.items[t];r+=this.listitem(n)}let i=t?`ol`:`ul`,a=t&&n!==1?` start="`+n+`"`:``;return`<`+i+a+`>
54
- `+r+`</`+i+`>
55
- `}listitem(e){return`<li>${this.parser.parse(e.tokens)}</li>
56
- `}checkbox({checked:e}){return`<input `+(e?`checked="" `:``)+`disabled="" type="checkbox"> `}paragraph({tokens:e}){return`<p>${this.parser.parseInline(e)}</p>
57
- `}table(e){let t=``,n=``;for(let t=0;t<e.header.length;t++)n+=this.tablecell(e.header[t]);t+=this.tablerow({text:n});let r=``;for(let t=0;t<e.rows.length;t++){let i=e.rows[t];n=``;for(let e=0;e<i.length;e++)n+=this.tablecell(i[e]);r+=this.tablerow({text:n})}return r&&=`<tbody>${r}</tbody>`,`<table>
58
- <thead>
59
- `+t+`</thead>
60
- `+r+`</table>
61
- `}tablerow({text:e}){return`<tr>
62
- ${e}</tr>
63
- `}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
64
- `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${J(e,!0)}</code>`}br(e){return`<br>`}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=Lt(e);if(i===null)return r;e=i;let a=`<a href="`+e+`"`;return t&&(a+=` title="`+J(t)+`"`),a+=`>`+r+`</a>`,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=Lt(e);if(i===null)return J(n);e=i;let a=`<img src="${e}" alt="${J(n)}"`;return t&&(a+=` title="${J(t)}"`),a+=`>`,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:J(e.text)}},Kt=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}checkbox({raw:e}){return e}},Z=class e{options;renderer;textRenderer;constructor(e){this.options=e||w,this.options.renderer=this.options.renderer||new Gt,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Kt}static parse(t,n){return new e(n).parse(t)}static parseInline(t,n){return new e(n).parseInline(t)}parse(e){this.renderer.parser=this;let t=``;for(let n=0;n<e.length;n++){let r=e[n];if(this.options.extensions?.renderers?.[r.type]){let e=r,n=this.options.extensions.renderers[e.type].call({parser:this},e);if(n!==!1||![`space`,`hr`,`heading`,`code`,`table`,`blockquote`,`list`,`html`,`def`,`paragraph`,`text`].includes(e.type)){t+=n||``;continue}}let i=r;switch(i.type){case`space`:t+=this.renderer.space(i);break;case`hr`:t+=this.renderer.hr(i);break;case`heading`:t+=this.renderer.heading(i);break;case`code`:t+=this.renderer.code(i);break;case`table`:t+=this.renderer.table(i);break;case`blockquote`:t+=this.renderer.blockquote(i);break;case`list`:t+=this.renderer.list(i);break;case`checkbox`:t+=this.renderer.checkbox(i);break;case`html`:t+=this.renderer.html(i);break;case`def`:t+=this.renderer.def(i);break;case`paragraph`:t+=this.renderer.paragraph(i);break;case`text`:t+=this.renderer.text(i);break;default:{let e=`Token with "`+i.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return t}parseInline(e,t=this.renderer){this.renderer.parser=this;let n=``;for(let r=0;r<e.length;r++){let i=e[r];if(this.options.extensions?.renderers?.[i.type]){let e=this.options.extensions.renderers[i.type].call({parser:this},i);if(e!==!1||![`escape`,`html`,`link`,`image`,`strong`,`em`,`codespan`,`br`,`del`,`text`].includes(i.type)){n+=e||``;continue}}let a=i;switch(a.type){case`escape`:n+=t.text(a);break;case`html`:n+=t.html(a);break;case`link`:n+=t.link(a);break;case`image`:n+=t.image(a);break;case`checkbox`:n+=t.checkbox(a);break;case`strong`:n+=t.strong(a);break;case`em`:n+=t.em(a);break;case`codespan`:n+=t.codespan(a);break;case`br`:n+=t.br(a);break;case`del`:n+=t.del(a);break;case`text`:n+=t.text(a);break;default:{let e=`Token with "`+a.type+`" type was not found.`;if(this.options.silent)return console.error(e),``;throw Error(e)}}}return n}},qt=class{options;block;constructor(e){this.options=e||w}static passThroughHooks=new Set([`preprocess`,`postprocess`,`processAllTokens`,`emStrongMask`]);static passThroughHooksRespectAsync=new Set([`preprocess`,`postprocess`,`processAllTokens`]);preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}emStrongMask(e){return e}provideLexer(e=this.block){return e?X.lex:X.lexInline}provideParser(e=this.block){return e?Z.parse:Z.parseInline}},Q=new class{defaults=C();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=Z;Renderer=Gt;TextRenderer=Kt;Lexer=X;Tokenizer=Wt;Hooks=qt;constructor(...e){this.use(...e)}walkTokens(e,t){let n=[];for(let r of e)switch(n=n.concat(t.call(this,r)),r.type){case`table`:{let e=r;for(let r of e.header)n=n.concat(this.walkTokens(r.tokens,t));for(let r of e.rows)for(let e of r)n=n.concat(this.walkTokens(e.tokens,t));break}case`list`:{let e=r;n=n.concat(this.walkTokens(e.items,t));break}default:{let e=r;this.defaults.extensions?.childTokens?.[e.type]?this.defaults.extensions.childTokens[e.type].forEach(r=>{let i=e[r].flat(1/0);n=n.concat(this.walkTokens(i,t))}):e.tokens&&(n=n.concat(this.walkTokens(e.tokens,t)))}}return n}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let n={...e};if(n.async=this.defaults.async||n.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw Error(`extension name required`);if(`renderer`in e){let n=t.renderers[e.name];n?t.renderers[e.name]=function(...t){let r=e.renderer.apply(this,t);return r===!1&&(r=n.apply(this,t)),r}:t.renderers[e.name]=e.renderer}if(`tokenizer`in e){if(!e.level||e.level!==`block`&&e.level!==`inline`)throw Error(`extension level must be 'block' or 'inline'`);let n=t[e.level];n?n.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&(e.level===`block`?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:e.level===`inline`&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}`childTokens`in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),n.extensions=t),e.renderer){let t=this.defaults.renderer||new Gt(this.defaults);for(let n in e.renderer){if(!(n in t))throw Error(`renderer '${n}' does not exist`);if([`options`,`parser`].includes(n))continue;let r=n,i=e.renderer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n||``}}n.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new Wt(this.defaults);for(let n in e.tokenizer){if(!(n in t))throw Error(`tokenizer '${n}' does not exist`);if([`options`,`rules`,`lexer`].includes(n))continue;let r=n,i=e.tokenizer[r],a=t[r];t[r]=(...e)=>{let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new qt;for(let n in e.hooks){if(!(n in t))throw Error(`hook '${n}' does not exist`);if([`options`,`block`].includes(n))continue;let r=n,i=e.hooks[r],a=t[r];qt.passThroughHooks.has(n)?t[r]=e=>{if(this.defaults.async&&qt.passThroughHooksRespectAsync.has(n))return(async()=>{let n=await i.call(t,e);return a.call(t,n)})();let r=i.call(t,e);return a.call(t,r)}:t[r]=(...e)=>{if(this.defaults.async)return(async()=>{let n=await i.apply(t,e);return n===!1&&(n=await a.apply(t,e)),n})();let n=i.apply(t,e);return n===!1&&(n=a.apply(t,e)),n}}n.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,r=e.walkTokens;n.walkTokens=function(e){let n=[];return n.push(r.call(this,e)),t&&(n=n.concat(t.call(this,e))),n}}this.defaults={...this.defaults,...n}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return X.lex(e,t??this.defaults)}parser(e,t){return Z.parse(e,t??this.defaults)}parseMarkdown(e){return(t,n)=>{let r={...n},i={...this.defaults,...r},a=this.onError(!!i.silent,!!i.async);if(this.defaults.async===!0&&r.async===!1)return a(Error(`marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise.`));if(typeof t>`u`||t===null)return a(Error(`marked(): input parameter is undefined or null`));if(typeof t!=`string`)return a(Error(`marked(): input parameter is of type `+Object.prototype.toString.call(t)+`, string expected`));if(i.hooks&&(i.hooks.options=i,i.hooks.block=e),i.async)return(async()=>{let n=i.hooks?await i.hooks.preprocess(t):t,r=await(i.hooks?await i.hooks.provideLexer(e):e?X.lex:X.lexInline)(n,i),a=i.hooks?await i.hooks.processAllTokens(r):r;i.walkTokens&&await Promise.all(this.walkTokens(a,i.walkTokens));let o=await(i.hooks?await i.hooks.provideParser(e):e?Z.parse:Z.parseInline)(a,i);return i.hooks?await i.hooks.postprocess(o):o})().catch(a);try{i.hooks&&(t=i.hooks.preprocess(t));let n=(i.hooks?i.hooks.provideLexer(e):e?X.lex:X.lexInline)(t,i);i.hooks&&(n=i.hooks.processAllTokens(n)),i.walkTokens&&this.walkTokens(n,i.walkTokens);let r=(i.hooks?i.hooks.provideParser(e):e?Z.parse:Z.parseInline)(n,i);return i.hooks&&(r=i.hooks.postprocess(r)),r}catch(e){return a(e)}}}onError(e,t){return n=>{if(n.message+=`
65
- Please report this to https://github.com/markedjs/marked.`,e){let e=`<p>An error occurred:</p><pre>`+J(n.message+``,!0)+`</pre>`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function $(e,t){return Q.parse(e,t)}$.options=$.setOptions=function(e){return Q.setOptions(e),$.defaults=Q.defaults,Je($.defaults),$},$.getDefaults=C,$.defaults=w,$.use=function(...e){return Q.use(...e),$.defaults=Q.defaults,Je($.defaults),$},$.walkTokens=function(e,t){return Q.walkTokens(e,t)},$.parseInline=Q.parseInline,$.Parser=Z,$.parser=Z.parse,$.Renderer=Gt,$.TextRenderer=Kt,$.Lexer=X,$.lexer=X.lex,$.Tokenizer=Wt,$.Hooks=qt,$.parse=$,$.options,$.setOptions,$.use,$.walkTokens,$.parseInline,Z.parse,X.lex;var Jt=n(),Yt=`prose prose-sm max-w-none text-foreground prose-headings:text-foreground prose-p:text-foreground prose-strong:text-foreground prose-li:text-foreground prose-code:text-foreground prose-pre:text-foreground prose-pre:bg-muted prose-blockquote:text-muted-foreground prose-blockquote:border-border prose-a:text-foreground dark:prose-invert`;function Xt(e){return typeof window>`u`?e:qe.sanitize(e,{USE_PROFILES:{html:!0}})}function Zt({value:e,format:t=`html`,className:n}){let a=i.useMemo(()=>e?Xt(t===`markdown`?$.parse(e,{async:!1}):e):``,[e,t]);return(0,Jt.jsx)(`div`,{className:r(Yt,n),dangerouslySetInnerHTML:{__html:a}})}export{Zt as t};
66
- //# sourceMappingURL=richtext-render-Bqp34pmS.js.map