texlite 0.8.3 → 0.9.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 (1614) hide show
  1. package/DESIGN.md +83 -9
  2. package/OPERATIONS.md +19 -2
  3. package/dist/client/assets/AdminUsers-3CHb5012.js +1 -0
  4. package/dist/client/assets/CitationLibraryDialog-zPpsUhWJ.js +1 -0
  5. package/dist/client/assets/Dashboard-CWfSLzD3.js +2 -0
  6. package/dist/client/assets/GitDialog-BUU2U_LV.js +3 -0
  7. package/dist/client/assets/HistoryDialog-B6aopsrw.js +7 -0
  8. package/dist/client/assets/{LatexEditor-2BD2xa8h.js → LatexEditor-CM445Tk0.js} +2 -2
  9. package/dist/client/assets/PdfPreview-BFVNczSk.js +1 -0
  10. package/dist/client/assets/ProjectIconPickerDialog-Cf0zBf8u.js +1 -0
  11. package/dist/client/assets/ProjectNavigationDialogs-TPbe11iR.js +1 -0
  12. package/dist/client/assets/ProjectSettings-CDQvIlQ4.js +1 -0
  13. package/dist/client/assets/ProjectWorkspace-C6GrvKN6.js +27 -0
  14. package/dist/client/assets/SelectionHistoryDialog-CyE0_YDs.js +3 -0
  15. package/dist/client/assets/SystemMetricsDialog-CuqHPUnn.js +1 -0
  16. package/dist/client/assets/TagManagementDialog-gRLM3lLx.js +1 -0
  17. package/dist/client/assets/WordCountDialog-B4PI0vEk.js +1 -0
  18. package/dist/client/assets/check-BXvzrdoz.js +1 -0
  19. package/dist/client/assets/chevron-left-BB5MYb7g.js +1 -0
  20. package/dist/client/assets/citationLibrary-ZeQPCv5O.js +26 -0
  21. package/dist/client/assets/hard-drive-6uYFyezl.js +1 -0
  22. package/dist/client/assets/index-BRT5O-Hg.js +5 -0
  23. package/dist/client/assets/index-C0t11tlT.js +14 -0
  24. package/dist/client/assets/index-DXWp2bzM.css +1 -0
  25. package/dist/client/assets/key-round-DOAxDSfz.js +1 -0
  26. package/dist/client/assets/minimize-2-BWtbag2I.js +1 -0
  27. package/dist/client/assets/{minus-DK3ejRQp.js → minus-9eVJnugf.js} +1 -1
  28. package/dist/client/assets/plus-BGXipRoG.js +1 -0
  29. package/dist/client/assets/{react-BoEjKzFZ.js → react-BVUjbTTn.js} +1 -1
  30. package/dist/client/assets/refresh-cw-Dvp3O90f.js +1 -0
  31. package/dist/client/assets/search-b1ORp1k8.js +1 -0
  32. package/dist/client/assets/sigma-Bk0_MzWi.js +1 -0
  33. package/dist/client/assets/{spellCheck-BAgtQ60E.js → spellCheck-BJjWgnef.js} +1 -1
  34. package/dist/client/assets/tags-JAkbmWns.js +1 -0
  35. package/dist/client/assets/type-CE2DYkPH.js +1 -0
  36. package/dist/client/assets/user-plus-CKalKSsw.js +1 -0
  37. package/dist/client/assets/x-Bq29njHL.js +1 -0
  38. package/dist/client/index.html +3 -3
  39. package/dist/server/app.js +45 -4
  40. package/dist/server/cli.js +4 -0
  41. package/dist/server/collaboration.js +231 -12
  42. package/dist/server/commentMentions.js +139 -0
  43. package/dist/server/config.js +9 -2
  44. package/dist/server/db.js +63 -1
  45. package/dist/server/editHistory.js +411 -0
  46. package/dist/server/editHistoryRetry.js +90 -0
  47. package/dist/server/history.js +136 -20
  48. package/dist/server/historyRetention.js +37 -0
  49. package/dist/server/i18n.js +4 -0
  50. package/dist/server/index.js +6 -0
  51. package/dist/server/latexCompletion.js +37 -10
  52. package/dist/server/logRotation.js +82 -0
  53. package/dist/server/lucideIcons.js +37 -38
  54. package/dist/server/pm2.js +7 -0
  55. package/dist/server/projects.js +34 -12
  56. package/dist/server/routes/comments.js +107 -16
  57. package/dist/server/routes/projectHistory.js +93 -7
  58. package/dist/server/routes/projectShared.js +2 -1
  59. package/dist/server/routes/projects.js +3 -1
  60. package/dist/shared/lucide-icons/a-arrow-down.svg +1 -0
  61. package/dist/shared/lucide-icons/a-arrow-up.svg +1 -0
  62. package/dist/shared/lucide-icons/a-large-small.svg +1 -0
  63. package/dist/shared/lucide-icons/accessibility.svg +1 -0
  64. package/dist/shared/lucide-icons/activity.svg +1 -0
  65. package/dist/shared/lucide-icons/air-vent.svg +1 -0
  66. package/dist/shared/lucide-icons/airplay.svg +1 -0
  67. package/dist/shared/lucide-icons/alarm-clock-check.svg +1 -0
  68. package/dist/shared/lucide-icons/alarm-clock-minus.svg +1 -0
  69. package/dist/shared/lucide-icons/alarm-clock-off.svg +1 -0
  70. package/dist/shared/lucide-icons/alarm-clock-plus.svg +1 -0
  71. package/dist/shared/lucide-icons/alarm-clock.svg +1 -0
  72. package/dist/shared/lucide-icons/alarm-smoke.svg +1 -0
  73. package/dist/shared/lucide-icons/album.svg +1 -0
  74. package/dist/shared/lucide-icons/align-center-horizontal.svg +1 -0
  75. package/dist/shared/lucide-icons/align-center-vertical.svg +1 -0
  76. package/dist/shared/lucide-icons/align-center.svg +1 -0
  77. package/dist/shared/lucide-icons/align-end-horizontal.svg +1 -0
  78. package/dist/shared/lucide-icons/align-end-vertical.svg +1 -0
  79. package/dist/shared/lucide-icons/align-horizontal-distribute-center.svg +1 -0
  80. package/dist/shared/lucide-icons/align-horizontal-distribute-end.svg +1 -0
  81. package/dist/shared/lucide-icons/align-horizontal-distribute-start.svg +1 -0
  82. package/dist/shared/lucide-icons/align-horizontal-justify-center.svg +1 -0
  83. package/dist/shared/lucide-icons/align-horizontal-justify-end.svg +1 -0
  84. package/dist/shared/lucide-icons/align-horizontal-justify-start.svg +1 -0
  85. package/dist/shared/lucide-icons/align-horizontal-space-around.svg +1 -0
  86. package/dist/shared/lucide-icons/align-horizontal-space-between.svg +1 -0
  87. package/dist/shared/lucide-icons/align-justify.svg +1 -0
  88. package/dist/shared/lucide-icons/align-left.svg +1 -0
  89. package/dist/shared/lucide-icons/align-right.svg +1 -0
  90. package/dist/shared/lucide-icons/align-start-horizontal.svg +1 -0
  91. package/dist/shared/lucide-icons/align-start-vertical.svg +1 -0
  92. package/dist/shared/lucide-icons/align-vertical-distribute-center.svg +1 -0
  93. package/dist/shared/lucide-icons/align-vertical-distribute-end.svg +1 -0
  94. package/dist/shared/lucide-icons/align-vertical-distribute-start.svg +1 -0
  95. package/dist/shared/lucide-icons/align-vertical-justify-center.svg +1 -0
  96. package/dist/shared/lucide-icons/align-vertical-justify-end.svg +1 -0
  97. package/dist/shared/lucide-icons/align-vertical-justify-start.svg +1 -0
  98. package/dist/shared/lucide-icons/align-vertical-space-around.svg +1 -0
  99. package/dist/shared/lucide-icons/align-vertical-space-between.svg +1 -0
  100. package/dist/shared/lucide-icons/ambulance.svg +1 -0
  101. package/dist/shared/lucide-icons/ampersand.svg +1 -0
  102. package/dist/shared/lucide-icons/ampersands.svg +1 -0
  103. package/dist/shared/lucide-icons/amphora.svg +1 -0
  104. package/dist/shared/lucide-icons/anchor.svg +1 -0
  105. package/dist/shared/lucide-icons/angry.svg +1 -0
  106. package/dist/shared/lucide-icons/annoyed.svg +1 -0
  107. package/dist/shared/lucide-icons/antenna.svg +1 -0
  108. package/dist/shared/lucide-icons/anvil.svg +1 -0
  109. package/dist/shared/lucide-icons/aperture.svg +1 -0
  110. package/dist/shared/lucide-icons/app-window-mac.svg +1 -0
  111. package/dist/shared/lucide-icons/app-window.svg +1 -0
  112. package/dist/shared/lucide-icons/apple.svg +1 -0
  113. package/dist/shared/lucide-icons/archive-restore.svg +1 -0
  114. package/dist/shared/lucide-icons/archive-x.svg +1 -0
  115. package/dist/shared/lucide-icons/archive.svg +1 -0
  116. package/dist/shared/lucide-icons/armchair.svg +1 -0
  117. package/dist/shared/lucide-icons/arrow-big-down-dash.svg +1 -0
  118. package/dist/shared/lucide-icons/arrow-big-down.svg +1 -0
  119. package/dist/shared/lucide-icons/arrow-big-left-dash.svg +1 -0
  120. package/dist/shared/lucide-icons/arrow-big-left.svg +1 -0
  121. package/dist/shared/lucide-icons/arrow-big-right-dash.svg +1 -0
  122. package/dist/shared/lucide-icons/arrow-big-right.svg +1 -0
  123. package/dist/shared/lucide-icons/arrow-big-up-dash.svg +1 -0
  124. package/dist/shared/lucide-icons/arrow-big-up.svg +1 -0
  125. package/dist/shared/lucide-icons/arrow-down-az.svg +1 -0
  126. package/dist/shared/lucide-icons/arrow-down-from-line.svg +1 -0
  127. package/dist/shared/lucide-icons/arrow-down-left.svg +1 -0
  128. package/dist/shared/lucide-icons/arrow-down-narrow-wide.svg +1 -0
  129. package/dist/shared/lucide-icons/arrow-down-right.svg +1 -0
  130. package/dist/shared/lucide-icons/arrow-down-to-dot.svg +1 -0
  131. package/dist/shared/lucide-icons/arrow-down-to-line.svg +1 -0
  132. package/dist/shared/lucide-icons/arrow-down-up.svg +1 -0
  133. package/dist/shared/lucide-icons/arrow-down-wide-narrow.svg +1 -0
  134. package/dist/shared/lucide-icons/arrow-down-za.svg +1 -0
  135. package/dist/shared/lucide-icons/arrow-down.svg +1 -0
  136. package/dist/shared/lucide-icons/arrow-down01.svg +1 -0
  137. package/dist/shared/lucide-icons/arrow-down10.svg +1 -0
  138. package/dist/shared/lucide-icons/arrow-left-from-line.svg +1 -0
  139. package/dist/shared/lucide-icons/arrow-left-right.svg +1 -0
  140. package/dist/shared/lucide-icons/arrow-left-to-line.svg +1 -0
  141. package/dist/shared/lucide-icons/arrow-left.svg +1 -0
  142. package/dist/shared/lucide-icons/arrow-right-from-line.svg +1 -0
  143. package/dist/shared/lucide-icons/arrow-right-left.svg +1 -0
  144. package/dist/shared/lucide-icons/arrow-right-to-line.svg +1 -0
  145. package/dist/shared/lucide-icons/arrow-right.svg +1 -0
  146. package/dist/shared/lucide-icons/arrow-up-az.svg +1 -0
  147. package/dist/shared/lucide-icons/arrow-up-down.svg +1 -0
  148. package/dist/shared/lucide-icons/arrow-up-from-dot.svg +1 -0
  149. package/dist/shared/lucide-icons/arrow-up-from-line.svg +1 -0
  150. package/dist/shared/lucide-icons/arrow-up-left.svg +1 -0
  151. package/dist/shared/lucide-icons/arrow-up-narrow-wide.svg +1 -0
  152. package/dist/shared/lucide-icons/arrow-up-right.svg +1 -0
  153. package/dist/shared/lucide-icons/arrow-up-to-line.svg +1 -0
  154. package/dist/shared/lucide-icons/arrow-up-wide-narrow.svg +1 -0
  155. package/dist/shared/lucide-icons/arrow-up-za.svg +1 -0
  156. package/dist/shared/lucide-icons/arrow-up.svg +1 -0
  157. package/dist/shared/lucide-icons/arrow-up01.svg +1 -0
  158. package/dist/shared/lucide-icons/arrow-up10.svg +1 -0
  159. package/dist/shared/lucide-icons/arrows-up-from-line.svg +1 -0
  160. package/dist/shared/lucide-icons/asterisk.svg +1 -0
  161. package/dist/shared/lucide-icons/at-sign.svg +1 -0
  162. package/dist/shared/lucide-icons/atom.svg +1 -0
  163. package/dist/shared/lucide-icons/audio-lines.svg +1 -0
  164. package/dist/shared/lucide-icons/audio-waveform.svg +1 -0
  165. package/dist/shared/lucide-icons/award.svg +1 -0
  166. package/dist/shared/lucide-icons/axe.svg +1 -0
  167. package/dist/shared/lucide-icons/axis3d.svg +1 -0
  168. package/dist/shared/lucide-icons/baby.svg +1 -0
  169. package/dist/shared/lucide-icons/backpack.svg +1 -0
  170. package/dist/shared/lucide-icons/badge-alert.svg +1 -0
  171. package/dist/shared/lucide-icons/badge-cent.svg +1 -0
  172. package/dist/shared/lucide-icons/badge-check.svg +1 -0
  173. package/dist/shared/lucide-icons/badge-dollar-sign.svg +1 -0
  174. package/dist/shared/lucide-icons/badge-euro.svg +1 -0
  175. package/dist/shared/lucide-icons/badge-help.svg +1 -0
  176. package/dist/shared/lucide-icons/badge-indian-rupee.svg +1 -0
  177. package/dist/shared/lucide-icons/badge-info.svg +1 -0
  178. package/dist/shared/lucide-icons/badge-japanese-yen.svg +1 -0
  179. package/dist/shared/lucide-icons/badge-minus.svg +1 -0
  180. package/dist/shared/lucide-icons/badge-percent.svg +1 -0
  181. package/dist/shared/lucide-icons/badge-plus.svg +1 -0
  182. package/dist/shared/lucide-icons/badge-pound-sterling.svg +1 -0
  183. package/dist/shared/lucide-icons/badge-russian-ruble.svg +1 -0
  184. package/dist/shared/lucide-icons/badge-swiss-franc.svg +1 -0
  185. package/dist/shared/lucide-icons/badge-x.svg +1 -0
  186. package/dist/shared/lucide-icons/badge.svg +1 -0
  187. package/dist/shared/lucide-icons/baggage-claim.svg +1 -0
  188. package/dist/shared/lucide-icons/ban.svg +1 -0
  189. package/dist/shared/lucide-icons/banana.svg +1 -0
  190. package/dist/shared/lucide-icons/bandage.svg +1 -0
  191. package/dist/shared/lucide-icons/banknote.svg +1 -0
  192. package/dist/shared/lucide-icons/barcode.svg +1 -0
  193. package/dist/shared/lucide-icons/baseline.svg +1 -0
  194. package/dist/shared/lucide-icons/bath.svg +1 -0
  195. package/dist/shared/lucide-icons/battery-charging.svg +1 -0
  196. package/dist/shared/lucide-icons/battery-full.svg +1 -0
  197. package/dist/shared/lucide-icons/battery-low.svg +1 -0
  198. package/dist/shared/lucide-icons/battery-medium.svg +1 -0
  199. package/dist/shared/lucide-icons/battery-warning.svg +1 -0
  200. package/dist/shared/lucide-icons/battery.svg +1 -0
  201. package/dist/shared/lucide-icons/beaker.svg +1 -0
  202. package/dist/shared/lucide-icons/bean-off.svg +1 -0
  203. package/dist/shared/lucide-icons/bean.svg +1 -0
  204. package/dist/shared/lucide-icons/bed-double.svg +1 -0
  205. package/dist/shared/lucide-icons/bed-single.svg +1 -0
  206. package/dist/shared/lucide-icons/bed.svg +1 -0
  207. package/dist/shared/lucide-icons/beef.svg +1 -0
  208. package/dist/shared/lucide-icons/beer-off.svg +1 -0
  209. package/dist/shared/lucide-icons/beer.svg +1 -0
  210. package/dist/shared/lucide-icons/bell-dot.svg +1 -0
  211. package/dist/shared/lucide-icons/bell-electric.svg +1 -0
  212. package/dist/shared/lucide-icons/bell-minus.svg +1 -0
  213. package/dist/shared/lucide-icons/bell-off.svg +1 -0
  214. package/dist/shared/lucide-icons/bell-plus.svg +1 -0
  215. package/dist/shared/lucide-icons/bell-ring.svg +1 -0
  216. package/dist/shared/lucide-icons/bell.svg +1 -0
  217. package/dist/shared/lucide-icons/between-horizontal-end.svg +1 -0
  218. package/dist/shared/lucide-icons/between-horizontal-start.svg +1 -0
  219. package/dist/shared/lucide-icons/between-vertical-end.svg +1 -0
  220. package/dist/shared/lucide-icons/between-vertical-start.svg +1 -0
  221. package/dist/shared/lucide-icons/biceps-flexed.svg +1 -0
  222. package/dist/shared/lucide-icons/bike.svg +1 -0
  223. package/dist/shared/lucide-icons/binary.svg +1 -0
  224. package/dist/shared/lucide-icons/binoculars.svg +1 -0
  225. package/dist/shared/lucide-icons/biohazard.svg +1 -0
  226. package/dist/shared/lucide-icons/bird.svg +1 -0
  227. package/dist/shared/lucide-icons/bitcoin.svg +1 -0
  228. package/dist/shared/lucide-icons/blend.svg +1 -0
  229. package/dist/shared/lucide-icons/blinds.svg +1 -0
  230. package/dist/shared/lucide-icons/blocks.svg +1 -0
  231. package/dist/shared/lucide-icons/bluetooth-connected.svg +1 -0
  232. package/dist/shared/lucide-icons/bluetooth-off.svg +1 -0
  233. package/dist/shared/lucide-icons/bluetooth-searching.svg +1 -0
  234. package/dist/shared/lucide-icons/bluetooth.svg +1 -0
  235. package/dist/shared/lucide-icons/bold.svg +1 -0
  236. package/dist/shared/lucide-icons/bolt.svg +1 -0
  237. package/dist/shared/lucide-icons/bomb.svg +1 -0
  238. package/dist/shared/lucide-icons/bone.svg +1 -0
  239. package/dist/shared/lucide-icons/book-a.svg +1 -0
  240. package/dist/shared/lucide-icons/book-audio.svg +1 -0
  241. package/dist/shared/lucide-icons/book-check.svg +1 -0
  242. package/dist/shared/lucide-icons/book-copy.svg +1 -0
  243. package/dist/shared/lucide-icons/book-dashed.svg +1 -0
  244. package/dist/shared/lucide-icons/book-down.svg +1 -0
  245. package/dist/shared/lucide-icons/book-headphones.svg +1 -0
  246. package/dist/shared/lucide-icons/book-heart.svg +1 -0
  247. package/dist/shared/lucide-icons/book-image.svg +1 -0
  248. package/dist/shared/lucide-icons/book-key.svg +1 -0
  249. package/dist/shared/lucide-icons/book-lock.svg +1 -0
  250. package/dist/shared/lucide-icons/book-marked.svg +1 -0
  251. package/dist/shared/lucide-icons/book-minus.svg +1 -0
  252. package/dist/shared/lucide-icons/book-open-check.svg +1 -0
  253. package/dist/shared/lucide-icons/book-open-text.svg +1 -0
  254. package/dist/shared/lucide-icons/book-open.svg +1 -0
  255. package/dist/shared/lucide-icons/book-plus.svg +1 -0
  256. package/dist/shared/lucide-icons/book-text.svg +1 -0
  257. package/dist/shared/lucide-icons/book-type.svg +1 -0
  258. package/dist/shared/lucide-icons/book-up.svg +1 -0
  259. package/dist/shared/lucide-icons/book-up2.svg +1 -0
  260. package/dist/shared/lucide-icons/book-user.svg +1 -0
  261. package/dist/shared/lucide-icons/book-x.svg +1 -0
  262. package/dist/shared/lucide-icons/book.svg +1 -0
  263. package/dist/shared/lucide-icons/bookmark-check.svg +1 -0
  264. package/dist/shared/lucide-icons/bookmark-minus.svg +1 -0
  265. package/dist/shared/lucide-icons/bookmark-plus.svg +1 -0
  266. package/dist/shared/lucide-icons/bookmark-x.svg +1 -0
  267. package/dist/shared/lucide-icons/bookmark.svg +1 -0
  268. package/dist/shared/lucide-icons/boom-box.svg +1 -0
  269. package/dist/shared/lucide-icons/bot-message-square.svg +1 -0
  270. package/dist/shared/lucide-icons/bot-off.svg +1 -0
  271. package/dist/shared/lucide-icons/bot.svg +1 -0
  272. package/dist/shared/lucide-icons/box.svg +1 -0
  273. package/dist/shared/lucide-icons/boxes.svg +1 -0
  274. package/dist/shared/lucide-icons/braces.svg +1 -0
  275. package/dist/shared/lucide-icons/brackets.svg +1 -0
  276. package/dist/shared/lucide-icons/brain-circuit.svg +1 -0
  277. package/dist/shared/lucide-icons/brain-cog.svg +1 -0
  278. package/dist/shared/lucide-icons/brain.svg +1 -0
  279. package/dist/shared/lucide-icons/brick-wall.svg +1 -0
  280. package/dist/shared/lucide-icons/briefcase-business.svg +1 -0
  281. package/dist/shared/lucide-icons/briefcase-conveyor-belt.svg +1 -0
  282. package/dist/shared/lucide-icons/briefcase-medical.svg +1 -0
  283. package/dist/shared/lucide-icons/briefcase.svg +1 -0
  284. package/dist/shared/lucide-icons/bring-to-front.svg +1 -0
  285. package/dist/shared/lucide-icons/brush.svg +1 -0
  286. package/dist/shared/lucide-icons/bug-off.svg +1 -0
  287. package/dist/shared/lucide-icons/bug-play.svg +1 -0
  288. package/dist/shared/lucide-icons/bug.svg +1 -0
  289. package/dist/shared/lucide-icons/building.svg +1 -0
  290. package/dist/shared/lucide-icons/building2.svg +1 -0
  291. package/dist/shared/lucide-icons/bus-front.svg +1 -0
  292. package/dist/shared/lucide-icons/bus.svg +1 -0
  293. package/dist/shared/lucide-icons/cable-car.svg +1 -0
  294. package/dist/shared/lucide-icons/cable.svg +1 -0
  295. package/dist/shared/lucide-icons/cake-slice.svg +1 -0
  296. package/dist/shared/lucide-icons/cake.svg +1 -0
  297. package/dist/shared/lucide-icons/calculator.svg +1 -0
  298. package/dist/shared/lucide-icons/calendar-arrow-down.svg +1 -0
  299. package/dist/shared/lucide-icons/calendar-arrow-up.svg +1 -0
  300. package/dist/shared/lucide-icons/calendar-check.svg +1 -0
  301. package/dist/shared/lucide-icons/calendar-check2.svg +1 -0
  302. package/dist/shared/lucide-icons/calendar-clock.svg +1 -0
  303. package/dist/shared/lucide-icons/calendar-cog.svg +1 -0
  304. package/dist/shared/lucide-icons/calendar-days.svg +1 -0
  305. package/dist/shared/lucide-icons/calendar-fold.svg +1 -0
  306. package/dist/shared/lucide-icons/calendar-heart.svg +1 -0
  307. package/dist/shared/lucide-icons/calendar-minus.svg +1 -0
  308. package/dist/shared/lucide-icons/calendar-minus2.svg +1 -0
  309. package/dist/shared/lucide-icons/calendar-off.svg +1 -0
  310. package/dist/shared/lucide-icons/calendar-plus.svg +1 -0
  311. package/dist/shared/lucide-icons/calendar-plus2.svg +1 -0
  312. package/dist/shared/lucide-icons/calendar-range.svg +1 -0
  313. package/dist/shared/lucide-icons/calendar-search.svg +1 -0
  314. package/dist/shared/lucide-icons/calendar-sync.svg +1 -0
  315. package/dist/shared/lucide-icons/calendar-x.svg +1 -0
  316. package/dist/shared/lucide-icons/calendar-x2.svg +1 -0
  317. package/dist/shared/lucide-icons/calendar.svg +1 -0
  318. package/dist/shared/lucide-icons/calendar1.svg +1 -0
  319. package/dist/shared/lucide-icons/camera-off.svg +1 -0
  320. package/dist/shared/lucide-icons/camera.svg +1 -0
  321. package/dist/shared/lucide-icons/candy-cane.svg +1 -0
  322. package/dist/shared/lucide-icons/candy-off.svg +1 -0
  323. package/dist/shared/lucide-icons/candy.svg +1 -0
  324. package/dist/shared/lucide-icons/cannabis.svg +1 -0
  325. package/dist/shared/lucide-icons/captions-off.svg +1 -0
  326. package/dist/shared/lucide-icons/captions.svg +1 -0
  327. package/dist/shared/lucide-icons/car-front.svg +1 -0
  328. package/dist/shared/lucide-icons/car-taxi-front.svg +1 -0
  329. package/dist/shared/lucide-icons/car.svg +1 -0
  330. package/dist/shared/lucide-icons/caravan.svg +1 -0
  331. package/dist/shared/lucide-icons/carrot.svg +1 -0
  332. package/dist/shared/lucide-icons/case-lower.svg +1 -0
  333. package/dist/shared/lucide-icons/case-sensitive.svg +1 -0
  334. package/dist/shared/lucide-icons/case-upper.svg +1 -0
  335. package/dist/shared/lucide-icons/cassette-tape.svg +1 -0
  336. package/dist/shared/lucide-icons/cast.svg +1 -0
  337. package/dist/shared/lucide-icons/castle.svg +1 -0
  338. package/dist/shared/lucide-icons/cat.svg +1 -0
  339. package/dist/shared/lucide-icons/cctv.svg +1 -0
  340. package/dist/shared/lucide-icons/chart-area.svg +1 -0
  341. package/dist/shared/lucide-icons/chart-bar-big.svg +1 -0
  342. package/dist/shared/lucide-icons/chart-bar-decreasing.svg +1 -0
  343. package/dist/shared/lucide-icons/chart-bar-increasing.svg +1 -0
  344. package/dist/shared/lucide-icons/chart-bar-stacked.svg +1 -0
  345. package/dist/shared/lucide-icons/chart-bar.svg +1 -0
  346. package/dist/shared/lucide-icons/chart-candlestick.svg +1 -0
  347. package/dist/shared/lucide-icons/chart-column-big.svg +1 -0
  348. package/dist/shared/lucide-icons/chart-column-decreasing.svg +1 -0
  349. package/dist/shared/lucide-icons/chart-column-increasing.svg +1 -0
  350. package/dist/shared/lucide-icons/chart-column-stacked.svg +1 -0
  351. package/dist/shared/lucide-icons/chart-column.svg +1 -0
  352. package/dist/shared/lucide-icons/chart-gantt.svg +1 -0
  353. package/dist/shared/lucide-icons/chart-line.svg +1 -0
  354. package/dist/shared/lucide-icons/chart-network.svg +1 -0
  355. package/dist/shared/lucide-icons/chart-no-axes-column-decreasing.svg +1 -0
  356. package/dist/shared/lucide-icons/chart-no-axes-column-increasing.svg +1 -0
  357. package/dist/shared/lucide-icons/chart-no-axes-column.svg +1 -0
  358. package/dist/shared/lucide-icons/chart-no-axes-combined.svg +1 -0
  359. package/dist/shared/lucide-icons/chart-no-axes-gantt.svg +1 -0
  360. package/dist/shared/lucide-icons/chart-pie.svg +1 -0
  361. package/dist/shared/lucide-icons/chart-scatter.svg +1 -0
  362. package/dist/shared/lucide-icons/chart-spline.svg +1 -0
  363. package/dist/shared/lucide-icons/check-check.svg +1 -0
  364. package/dist/shared/lucide-icons/check.svg +1 -0
  365. package/dist/shared/lucide-icons/chef-hat.svg +1 -0
  366. package/dist/shared/lucide-icons/cherry.svg +1 -0
  367. package/dist/shared/lucide-icons/chevron-down.svg +1 -0
  368. package/dist/shared/lucide-icons/chevron-first.svg +1 -0
  369. package/dist/shared/lucide-icons/chevron-last.svg +1 -0
  370. package/dist/shared/lucide-icons/chevron-left.svg +1 -0
  371. package/dist/shared/lucide-icons/chevron-right.svg +1 -0
  372. package/dist/shared/lucide-icons/chevron-up.svg +1 -0
  373. package/dist/shared/lucide-icons/chevrons-down-up.svg +1 -0
  374. package/dist/shared/lucide-icons/chevrons-down.svg +1 -0
  375. package/dist/shared/lucide-icons/chevrons-left-right-ellipsis.svg +1 -0
  376. package/dist/shared/lucide-icons/chevrons-left-right.svg +1 -0
  377. package/dist/shared/lucide-icons/chevrons-left.svg +1 -0
  378. package/dist/shared/lucide-icons/chevrons-right-left.svg +1 -0
  379. package/dist/shared/lucide-icons/chevrons-right.svg +1 -0
  380. package/dist/shared/lucide-icons/chevrons-up-down.svg +1 -0
  381. package/dist/shared/lucide-icons/chevrons-up.svg +1 -0
  382. package/dist/shared/lucide-icons/chrome.svg +1 -0
  383. package/dist/shared/lucide-icons/church.svg +1 -0
  384. package/dist/shared/lucide-icons/cigarette-off.svg +1 -0
  385. package/dist/shared/lucide-icons/cigarette.svg +1 -0
  386. package/dist/shared/lucide-icons/circle-alert.svg +1 -0
  387. package/dist/shared/lucide-icons/circle-arrow-down.svg +1 -0
  388. package/dist/shared/lucide-icons/circle-arrow-left.svg +1 -0
  389. package/dist/shared/lucide-icons/circle-arrow-out-down-left.svg +1 -0
  390. package/dist/shared/lucide-icons/circle-arrow-out-down-right.svg +1 -0
  391. package/dist/shared/lucide-icons/circle-arrow-out-up-left.svg +1 -0
  392. package/dist/shared/lucide-icons/circle-arrow-out-up-right.svg +1 -0
  393. package/dist/shared/lucide-icons/circle-arrow-right.svg +1 -0
  394. package/dist/shared/lucide-icons/circle-arrow-up.svg +1 -0
  395. package/dist/shared/lucide-icons/circle-check-big.svg +1 -0
  396. package/dist/shared/lucide-icons/circle-check.svg +1 -0
  397. package/dist/shared/lucide-icons/circle-chevron-down.svg +1 -0
  398. package/dist/shared/lucide-icons/circle-chevron-left.svg +1 -0
  399. package/dist/shared/lucide-icons/circle-chevron-right.svg +1 -0
  400. package/dist/shared/lucide-icons/circle-chevron-up.svg +1 -0
  401. package/dist/shared/lucide-icons/circle-dashed.svg +1 -0
  402. package/dist/shared/lucide-icons/circle-divide.svg +1 -0
  403. package/dist/shared/lucide-icons/circle-dollar-sign.svg +1 -0
  404. package/dist/shared/lucide-icons/circle-dot-dashed.svg +1 -0
  405. package/dist/shared/lucide-icons/circle-dot.svg +1 -0
  406. package/dist/shared/lucide-icons/circle-ellipsis.svg +1 -0
  407. package/dist/shared/lucide-icons/circle-equal.svg +1 -0
  408. package/dist/shared/lucide-icons/circle-fading-arrow-up.svg +1 -0
  409. package/dist/shared/lucide-icons/circle-fading-plus.svg +1 -0
  410. package/dist/shared/lucide-icons/circle-gauge.svg +1 -0
  411. package/dist/shared/lucide-icons/circle-help.svg +1 -0
  412. package/dist/shared/lucide-icons/circle-minus.svg +1 -0
  413. package/dist/shared/lucide-icons/circle-off.svg +1 -0
  414. package/dist/shared/lucide-icons/circle-parking-off.svg +1 -0
  415. package/dist/shared/lucide-icons/circle-parking.svg +1 -0
  416. package/dist/shared/lucide-icons/circle-pause.svg +1 -0
  417. package/dist/shared/lucide-icons/circle-percent.svg +1 -0
  418. package/dist/shared/lucide-icons/circle-play.svg +1 -0
  419. package/dist/shared/lucide-icons/circle-plus.svg +1 -0
  420. package/dist/shared/lucide-icons/circle-power.svg +1 -0
  421. package/dist/shared/lucide-icons/circle-slash.svg +1 -0
  422. package/dist/shared/lucide-icons/circle-slash2.svg +1 -0
  423. package/dist/shared/lucide-icons/circle-stop.svg +1 -0
  424. package/dist/shared/lucide-icons/circle-user-round.svg +1 -0
  425. package/dist/shared/lucide-icons/circle-user.svg +1 -0
  426. package/dist/shared/lucide-icons/circle-x.svg +1 -0
  427. package/dist/shared/lucide-icons/circle.svg +1 -0
  428. package/dist/shared/lucide-icons/circuit-board.svg +1 -0
  429. package/dist/shared/lucide-icons/citrus.svg +1 -0
  430. package/dist/shared/lucide-icons/clapperboard.svg +1 -0
  431. package/dist/shared/lucide-icons/clipboard-check.svg +1 -0
  432. package/dist/shared/lucide-icons/clipboard-copy.svg +1 -0
  433. package/dist/shared/lucide-icons/clipboard-list.svg +1 -0
  434. package/dist/shared/lucide-icons/clipboard-minus.svg +1 -0
  435. package/dist/shared/lucide-icons/clipboard-paste.svg +1 -0
  436. package/dist/shared/lucide-icons/clipboard-pen-line.svg +1 -0
  437. package/dist/shared/lucide-icons/clipboard-pen.svg +1 -0
  438. package/dist/shared/lucide-icons/clipboard-plus.svg +1 -0
  439. package/dist/shared/lucide-icons/clipboard-type.svg +1 -0
  440. package/dist/shared/lucide-icons/clipboard-x.svg +1 -0
  441. package/dist/shared/lucide-icons/clipboard.svg +1 -0
  442. package/dist/shared/lucide-icons/clock-alert.svg +1 -0
  443. package/dist/shared/lucide-icons/clock-arrow-down.svg +1 -0
  444. package/dist/shared/lucide-icons/clock-arrow-up.svg +1 -0
  445. package/dist/shared/lucide-icons/clock.svg +1 -0
  446. package/dist/shared/lucide-icons/clock1.svg +1 -0
  447. package/dist/shared/lucide-icons/clock10.svg +1 -0
  448. package/dist/shared/lucide-icons/clock11.svg +1 -0
  449. package/dist/shared/lucide-icons/clock12.svg +1 -0
  450. package/dist/shared/lucide-icons/clock2.svg +1 -0
  451. package/dist/shared/lucide-icons/clock3.svg +1 -0
  452. package/dist/shared/lucide-icons/clock4.svg +1 -0
  453. package/dist/shared/lucide-icons/clock5.svg +1 -0
  454. package/dist/shared/lucide-icons/clock6.svg +1 -0
  455. package/dist/shared/lucide-icons/clock7.svg +1 -0
  456. package/dist/shared/lucide-icons/clock8.svg +1 -0
  457. package/dist/shared/lucide-icons/clock9.svg +1 -0
  458. package/dist/shared/lucide-icons/cloud-alert.svg +1 -0
  459. package/dist/shared/lucide-icons/cloud-cog.svg +1 -0
  460. package/dist/shared/lucide-icons/cloud-download.svg +1 -0
  461. package/dist/shared/lucide-icons/cloud-drizzle.svg +1 -0
  462. package/dist/shared/lucide-icons/cloud-fog.svg +1 -0
  463. package/dist/shared/lucide-icons/cloud-hail.svg +1 -0
  464. package/dist/shared/lucide-icons/cloud-lightning.svg +1 -0
  465. package/dist/shared/lucide-icons/cloud-moon-rain.svg +1 -0
  466. package/dist/shared/lucide-icons/cloud-moon.svg +1 -0
  467. package/dist/shared/lucide-icons/cloud-off.svg +1 -0
  468. package/dist/shared/lucide-icons/cloud-rain-wind.svg +1 -0
  469. package/dist/shared/lucide-icons/cloud-rain.svg +1 -0
  470. package/dist/shared/lucide-icons/cloud-snow.svg +1 -0
  471. package/dist/shared/lucide-icons/cloud-sun-rain.svg +1 -0
  472. package/dist/shared/lucide-icons/cloud-sun.svg +1 -0
  473. package/dist/shared/lucide-icons/cloud-upload.svg +1 -0
  474. package/dist/shared/lucide-icons/cloud.svg +1 -0
  475. package/dist/shared/lucide-icons/cloudy.svg +1 -0
  476. package/dist/shared/lucide-icons/clover.svg +1 -0
  477. package/dist/shared/lucide-icons/club.svg +1 -0
  478. package/dist/shared/lucide-icons/code-xml.svg +1 -0
  479. package/dist/shared/lucide-icons/code.svg +1 -0
  480. package/dist/shared/lucide-icons/codepen.svg +1 -0
  481. package/dist/shared/lucide-icons/codesandbox.svg +1 -0
  482. package/dist/shared/lucide-icons/coffee.svg +1 -0
  483. package/dist/shared/lucide-icons/cog.svg +1 -0
  484. package/dist/shared/lucide-icons/coins.svg +1 -0
  485. package/dist/shared/lucide-icons/columns2.svg +1 -0
  486. package/dist/shared/lucide-icons/columns3.svg +1 -0
  487. package/dist/shared/lucide-icons/columns4.svg +1 -0
  488. package/dist/shared/lucide-icons/combine.svg +1 -0
  489. package/dist/shared/lucide-icons/command.svg +1 -0
  490. package/dist/shared/lucide-icons/compass.svg +1 -0
  491. package/dist/shared/lucide-icons/component.svg +1 -0
  492. package/dist/shared/lucide-icons/computer.svg +1 -0
  493. package/dist/shared/lucide-icons/concierge-bell.svg +1 -0
  494. package/dist/shared/lucide-icons/cone.svg +1 -0
  495. package/dist/shared/lucide-icons/construction.svg +1 -0
  496. package/dist/shared/lucide-icons/contact-round.svg +1 -0
  497. package/dist/shared/lucide-icons/contact.svg +1 -0
  498. package/dist/shared/lucide-icons/container.svg +1 -0
  499. package/dist/shared/lucide-icons/contrast.svg +1 -0
  500. package/dist/shared/lucide-icons/cookie.svg +1 -0
  501. package/dist/shared/lucide-icons/cooking-pot.svg +1 -0
  502. package/dist/shared/lucide-icons/copy-check.svg +1 -0
  503. package/dist/shared/lucide-icons/copy-minus.svg +1 -0
  504. package/dist/shared/lucide-icons/copy-plus.svg +1 -0
  505. package/dist/shared/lucide-icons/copy-slash.svg +1 -0
  506. package/dist/shared/lucide-icons/copy-x.svg +1 -0
  507. package/dist/shared/lucide-icons/copy.svg +1 -0
  508. package/dist/shared/lucide-icons/copyleft.svg +1 -0
  509. package/dist/shared/lucide-icons/copyright.svg +1 -0
  510. package/dist/shared/lucide-icons/corner-down-left.svg +1 -0
  511. package/dist/shared/lucide-icons/corner-down-right.svg +1 -0
  512. package/dist/shared/lucide-icons/corner-left-down.svg +1 -0
  513. package/dist/shared/lucide-icons/corner-left-up.svg +1 -0
  514. package/dist/shared/lucide-icons/corner-right-down.svg +1 -0
  515. package/dist/shared/lucide-icons/corner-right-up.svg +1 -0
  516. package/dist/shared/lucide-icons/corner-up-left.svg +1 -0
  517. package/dist/shared/lucide-icons/corner-up-right.svg +1 -0
  518. package/dist/shared/lucide-icons/cpu.svg +1 -0
  519. package/dist/shared/lucide-icons/creative-commons.svg +1 -0
  520. package/dist/shared/lucide-icons/credit-card.svg +1 -0
  521. package/dist/shared/lucide-icons/croissant.svg +1 -0
  522. package/dist/shared/lucide-icons/crop.svg +1 -0
  523. package/dist/shared/lucide-icons/cross.svg +1 -0
  524. package/dist/shared/lucide-icons/crosshair.svg +1 -0
  525. package/dist/shared/lucide-icons/crown.svg +1 -0
  526. package/dist/shared/lucide-icons/cuboid.svg +1 -0
  527. package/dist/shared/lucide-icons/cup-soda.svg +1 -0
  528. package/dist/shared/lucide-icons/currency.svg +1 -0
  529. package/dist/shared/lucide-icons/cylinder.svg +1 -0
  530. package/dist/shared/lucide-icons/dam.svg +1 -0
  531. package/dist/shared/lucide-icons/database-backup.svg +1 -0
  532. package/dist/shared/lucide-icons/database-zap.svg +1 -0
  533. package/dist/shared/lucide-icons/database.svg +1 -0
  534. package/dist/shared/lucide-icons/delete.svg +1 -0
  535. package/dist/shared/lucide-icons/dessert.svg +1 -0
  536. package/dist/shared/lucide-icons/diameter.svg +1 -0
  537. package/dist/shared/lucide-icons/diamond-minus.svg +1 -0
  538. package/dist/shared/lucide-icons/diamond-percent.svg +1 -0
  539. package/dist/shared/lucide-icons/diamond-plus.svg +1 -0
  540. package/dist/shared/lucide-icons/diamond.svg +1 -0
  541. package/dist/shared/lucide-icons/dice1.svg +1 -0
  542. package/dist/shared/lucide-icons/dice2.svg +1 -0
  543. package/dist/shared/lucide-icons/dice3.svg +1 -0
  544. package/dist/shared/lucide-icons/dice4.svg +1 -0
  545. package/dist/shared/lucide-icons/dice5.svg +1 -0
  546. package/dist/shared/lucide-icons/dice6.svg +1 -0
  547. package/dist/shared/lucide-icons/dices.svg +1 -0
  548. package/dist/shared/lucide-icons/diff.svg +1 -0
  549. package/dist/shared/lucide-icons/disc-album.svg +1 -0
  550. package/dist/shared/lucide-icons/disc.svg +1 -0
  551. package/dist/shared/lucide-icons/disc2.svg +1 -0
  552. package/dist/shared/lucide-icons/disc3.svg +1 -0
  553. package/dist/shared/lucide-icons/divide.svg +1 -0
  554. package/dist/shared/lucide-icons/dna-off.svg +1 -0
  555. package/dist/shared/lucide-icons/dna.svg +1 -0
  556. package/dist/shared/lucide-icons/dock.svg +1 -0
  557. package/dist/shared/lucide-icons/dog.svg +1 -0
  558. package/dist/shared/lucide-icons/dollar-sign.svg +1 -0
  559. package/dist/shared/lucide-icons/donut.svg +1 -0
  560. package/dist/shared/lucide-icons/door-closed.svg +1 -0
  561. package/dist/shared/lucide-icons/door-open.svg +1 -0
  562. package/dist/shared/lucide-icons/dot.svg +1 -0
  563. package/dist/shared/lucide-icons/download.svg +1 -0
  564. package/dist/shared/lucide-icons/drafting-compass.svg +1 -0
  565. package/dist/shared/lucide-icons/drama.svg +1 -0
  566. package/dist/shared/lucide-icons/dribbble.svg +1 -0
  567. package/dist/shared/lucide-icons/drill.svg +1 -0
  568. package/dist/shared/lucide-icons/droplet-off.svg +1 -0
  569. package/dist/shared/lucide-icons/droplet.svg +1 -0
  570. package/dist/shared/lucide-icons/droplets.svg +1 -0
  571. package/dist/shared/lucide-icons/drum.svg +1 -0
  572. package/dist/shared/lucide-icons/drumstick.svg +1 -0
  573. package/dist/shared/lucide-icons/dumbbell.svg +1 -0
  574. package/dist/shared/lucide-icons/ear-off.svg +1 -0
  575. package/dist/shared/lucide-icons/ear.svg +1 -0
  576. package/dist/shared/lucide-icons/earth-lock.svg +1 -0
  577. package/dist/shared/lucide-icons/earth.svg +1 -0
  578. package/dist/shared/lucide-icons/eclipse.svg +1 -0
  579. package/dist/shared/lucide-icons/egg-fried.svg +1 -0
  580. package/dist/shared/lucide-icons/egg-off.svg +1 -0
  581. package/dist/shared/lucide-icons/egg.svg +1 -0
  582. package/dist/shared/lucide-icons/ellipsis-vertical.svg +1 -0
  583. package/dist/shared/lucide-icons/ellipsis.svg +1 -0
  584. package/dist/shared/lucide-icons/equal-approximately.svg +1 -0
  585. package/dist/shared/lucide-icons/equal-not.svg +1 -0
  586. package/dist/shared/lucide-icons/equal.svg +1 -0
  587. package/dist/shared/lucide-icons/eraser.svg +1 -0
  588. package/dist/shared/lucide-icons/ethernet-port.svg +1 -0
  589. package/dist/shared/lucide-icons/euro.svg +1 -0
  590. package/dist/shared/lucide-icons/expand.svg +1 -0
  591. package/dist/shared/lucide-icons/external-link.svg +1 -0
  592. package/dist/shared/lucide-icons/eye-closed.svg +1 -0
  593. package/dist/shared/lucide-icons/eye-off.svg +1 -0
  594. package/dist/shared/lucide-icons/eye.svg +1 -0
  595. package/dist/shared/lucide-icons/facebook.svg +1 -0
  596. package/dist/shared/lucide-icons/factory.svg +1 -0
  597. package/dist/shared/lucide-icons/fan.svg +1 -0
  598. package/dist/shared/lucide-icons/fast-forward.svg +1 -0
  599. package/dist/shared/lucide-icons/feather.svg +1 -0
  600. package/dist/shared/lucide-icons/fence.svg +1 -0
  601. package/dist/shared/lucide-icons/ferris-wheel.svg +1 -0
  602. package/dist/shared/lucide-icons/figma.svg +1 -0
  603. package/dist/shared/lucide-icons/file-archive.svg +1 -0
  604. package/dist/shared/lucide-icons/file-audio.svg +1 -0
  605. package/dist/shared/lucide-icons/file-audio2.svg +1 -0
  606. package/dist/shared/lucide-icons/file-axis3d.svg +1 -0
  607. package/dist/shared/lucide-icons/file-badge.svg +1 -0
  608. package/dist/shared/lucide-icons/file-badge2.svg +1 -0
  609. package/dist/shared/lucide-icons/file-box.svg +1 -0
  610. package/dist/shared/lucide-icons/file-chart-column-increasing.svg +1 -0
  611. package/dist/shared/lucide-icons/file-chart-column.svg +1 -0
  612. package/dist/shared/lucide-icons/file-chart-line.svg +1 -0
  613. package/dist/shared/lucide-icons/file-chart-pie.svg +1 -0
  614. package/dist/shared/lucide-icons/file-check.svg +1 -0
  615. package/dist/shared/lucide-icons/file-check2.svg +1 -0
  616. package/dist/shared/lucide-icons/file-clock.svg +1 -0
  617. package/dist/shared/lucide-icons/file-code.svg +1 -0
  618. package/dist/shared/lucide-icons/file-code2.svg +1 -0
  619. package/dist/shared/lucide-icons/file-cog.svg +1 -0
  620. package/dist/shared/lucide-icons/file-diff.svg +1 -0
  621. package/dist/shared/lucide-icons/file-digit.svg +1 -0
  622. package/dist/shared/lucide-icons/file-down.svg +1 -0
  623. package/dist/shared/lucide-icons/file-heart.svg +1 -0
  624. package/dist/shared/lucide-icons/file-image.svg +1 -0
  625. package/dist/shared/lucide-icons/file-input.svg +1 -0
  626. package/dist/shared/lucide-icons/file-json.svg +1 -0
  627. package/dist/shared/lucide-icons/file-json2.svg +1 -0
  628. package/dist/shared/lucide-icons/file-key.svg +1 -0
  629. package/dist/shared/lucide-icons/file-key2.svg +1 -0
  630. package/dist/shared/lucide-icons/file-lock.svg +1 -0
  631. package/dist/shared/lucide-icons/file-lock2.svg +1 -0
  632. package/dist/shared/lucide-icons/file-minus.svg +1 -0
  633. package/dist/shared/lucide-icons/file-minus2.svg +1 -0
  634. package/dist/shared/lucide-icons/file-music.svg +1 -0
  635. package/dist/shared/lucide-icons/file-output.svg +1 -0
  636. package/dist/shared/lucide-icons/file-pen-line.svg +1 -0
  637. package/dist/shared/lucide-icons/file-pen.svg +1 -0
  638. package/dist/shared/lucide-icons/file-plus.svg +1 -0
  639. package/dist/shared/lucide-icons/file-plus2.svg +1 -0
  640. package/dist/shared/lucide-icons/file-question.svg +1 -0
  641. package/dist/shared/lucide-icons/file-scan.svg +1 -0
  642. package/dist/shared/lucide-icons/file-search.svg +1 -0
  643. package/dist/shared/lucide-icons/file-search2.svg +1 -0
  644. package/dist/shared/lucide-icons/file-sliders.svg +1 -0
  645. package/dist/shared/lucide-icons/file-spreadsheet.svg +1 -0
  646. package/dist/shared/lucide-icons/file-stack.svg +1 -0
  647. package/dist/shared/lucide-icons/file-symlink.svg +1 -0
  648. package/dist/shared/lucide-icons/file-terminal.svg +1 -0
  649. package/dist/shared/lucide-icons/file-text.svg +1 -0
  650. package/dist/shared/lucide-icons/file-type.svg +1 -0
  651. package/dist/shared/lucide-icons/file-type2.svg +1 -0
  652. package/dist/shared/lucide-icons/file-up.svg +1 -0
  653. package/dist/shared/lucide-icons/file-user.svg +1 -0
  654. package/dist/shared/lucide-icons/file-video.svg +1 -0
  655. package/dist/shared/lucide-icons/file-video2.svg +1 -0
  656. package/dist/shared/lucide-icons/file-volume.svg +1 -0
  657. package/dist/shared/lucide-icons/file-volume2.svg +1 -0
  658. package/dist/shared/lucide-icons/file-warning.svg +1 -0
  659. package/dist/shared/lucide-icons/file-x.svg +1 -0
  660. package/dist/shared/lucide-icons/file-x2.svg +1 -0
  661. package/dist/shared/lucide-icons/file.svg +1 -0
  662. package/dist/shared/lucide-icons/files.svg +1 -0
  663. package/dist/shared/lucide-icons/film.svg +1 -0
  664. package/dist/shared/lucide-icons/filter-x.svg +1 -0
  665. package/dist/shared/lucide-icons/filter.svg +1 -0
  666. package/dist/shared/lucide-icons/fingerprint.svg +1 -0
  667. package/dist/shared/lucide-icons/fire-extinguisher.svg +1 -0
  668. package/dist/shared/lucide-icons/fish-off.svg +1 -0
  669. package/dist/shared/lucide-icons/fish-symbol.svg +1 -0
  670. package/dist/shared/lucide-icons/fish.svg +1 -0
  671. package/dist/shared/lucide-icons/flag-off.svg +1 -0
  672. package/dist/shared/lucide-icons/flag-triangle-left.svg +1 -0
  673. package/dist/shared/lucide-icons/flag-triangle-right.svg +1 -0
  674. package/dist/shared/lucide-icons/flag.svg +1 -0
  675. package/dist/shared/lucide-icons/flame-kindling.svg +1 -0
  676. package/dist/shared/lucide-icons/flame.svg +1 -0
  677. package/dist/shared/lucide-icons/flashlight-off.svg +1 -0
  678. package/dist/shared/lucide-icons/flashlight.svg +1 -0
  679. package/dist/shared/lucide-icons/flask-conical-off.svg +1 -0
  680. package/dist/shared/lucide-icons/flask-conical.svg +1 -0
  681. package/dist/shared/lucide-icons/flask-round.svg +1 -0
  682. package/dist/shared/lucide-icons/flip-horizontal.svg +1 -0
  683. package/dist/shared/lucide-icons/flip-horizontal2.svg +1 -0
  684. package/dist/shared/lucide-icons/flip-vertical.svg +1 -0
  685. package/dist/shared/lucide-icons/flip-vertical2.svg +1 -0
  686. package/dist/shared/lucide-icons/flower.svg +1 -0
  687. package/dist/shared/lucide-icons/flower2.svg +1 -0
  688. package/dist/shared/lucide-icons/focus.svg +1 -0
  689. package/dist/shared/lucide-icons/fold-horizontal.svg +1 -0
  690. package/dist/shared/lucide-icons/fold-vertical.svg +1 -0
  691. package/dist/shared/lucide-icons/folder-archive.svg +1 -0
  692. package/dist/shared/lucide-icons/folder-check.svg +1 -0
  693. package/dist/shared/lucide-icons/folder-clock.svg +1 -0
  694. package/dist/shared/lucide-icons/folder-closed.svg +1 -0
  695. package/dist/shared/lucide-icons/folder-code.svg +1 -0
  696. package/dist/shared/lucide-icons/folder-cog.svg +1 -0
  697. package/dist/shared/lucide-icons/folder-dot.svg +1 -0
  698. package/dist/shared/lucide-icons/folder-down.svg +1 -0
  699. package/dist/shared/lucide-icons/folder-git.svg +1 -0
  700. package/dist/shared/lucide-icons/folder-git2.svg +1 -0
  701. package/dist/shared/lucide-icons/folder-heart.svg +1 -0
  702. package/dist/shared/lucide-icons/folder-input.svg +1 -0
  703. package/dist/shared/lucide-icons/folder-kanban.svg +1 -0
  704. package/dist/shared/lucide-icons/folder-key.svg +1 -0
  705. package/dist/shared/lucide-icons/folder-lock.svg +1 -0
  706. package/dist/shared/lucide-icons/folder-minus.svg +1 -0
  707. package/dist/shared/lucide-icons/folder-open-dot.svg +1 -0
  708. package/dist/shared/lucide-icons/folder-open.svg +1 -0
  709. package/dist/shared/lucide-icons/folder-output.svg +1 -0
  710. package/dist/shared/lucide-icons/folder-pen.svg +1 -0
  711. package/dist/shared/lucide-icons/folder-plus.svg +1 -0
  712. package/dist/shared/lucide-icons/folder-root.svg +1 -0
  713. package/dist/shared/lucide-icons/folder-search.svg +1 -0
  714. package/dist/shared/lucide-icons/folder-search2.svg +1 -0
  715. package/dist/shared/lucide-icons/folder-symlink.svg +1 -0
  716. package/dist/shared/lucide-icons/folder-sync.svg +1 -0
  717. package/dist/shared/lucide-icons/folder-tree.svg +1 -0
  718. package/dist/shared/lucide-icons/folder-up.svg +1 -0
  719. package/dist/shared/lucide-icons/folder-x.svg +1 -0
  720. package/dist/shared/lucide-icons/folder.svg +1 -0
  721. package/dist/shared/lucide-icons/folders.svg +1 -0
  722. package/dist/shared/lucide-icons/footprints.svg +1 -0
  723. package/dist/shared/lucide-icons/forklift.svg +1 -0
  724. package/dist/shared/lucide-icons/forward.svg +1 -0
  725. package/dist/shared/lucide-icons/frame.svg +1 -0
  726. package/dist/shared/lucide-icons/framer.svg +1 -0
  727. package/dist/shared/lucide-icons/frown.svg +1 -0
  728. package/dist/shared/lucide-icons/fuel.svg +1 -0
  729. package/dist/shared/lucide-icons/fullscreen.svg +1 -0
  730. package/dist/shared/lucide-icons/gallery-horizontal-end.svg +1 -0
  731. package/dist/shared/lucide-icons/gallery-horizontal.svg +1 -0
  732. package/dist/shared/lucide-icons/gallery-thumbnails.svg +1 -0
  733. package/dist/shared/lucide-icons/gallery-vertical-end.svg +1 -0
  734. package/dist/shared/lucide-icons/gallery-vertical.svg +1 -0
  735. package/dist/shared/lucide-icons/gamepad.svg +1 -0
  736. package/dist/shared/lucide-icons/gamepad2.svg +1 -0
  737. package/dist/shared/lucide-icons/gauge.svg +1 -0
  738. package/dist/shared/lucide-icons/gavel.svg +1 -0
  739. package/dist/shared/lucide-icons/gem.svg +1 -0
  740. package/dist/shared/lucide-icons/ghost.svg +1 -0
  741. package/dist/shared/lucide-icons/gift.svg +1 -0
  742. package/dist/shared/lucide-icons/git-branch-plus.svg +1 -0
  743. package/dist/shared/lucide-icons/git-branch.svg +1 -0
  744. package/dist/shared/lucide-icons/git-commit-horizontal.svg +1 -0
  745. package/dist/shared/lucide-icons/git-commit-vertical.svg +1 -0
  746. package/dist/shared/lucide-icons/git-compare-arrows.svg +1 -0
  747. package/dist/shared/lucide-icons/git-compare.svg +1 -0
  748. package/dist/shared/lucide-icons/git-fork.svg +1 -0
  749. package/dist/shared/lucide-icons/git-graph.svg +1 -0
  750. package/dist/shared/lucide-icons/git-merge.svg +1 -0
  751. package/dist/shared/lucide-icons/git-pull-request-arrow.svg +1 -0
  752. package/dist/shared/lucide-icons/git-pull-request-closed.svg +1 -0
  753. package/dist/shared/lucide-icons/git-pull-request-create-arrow.svg +1 -0
  754. package/dist/shared/lucide-icons/git-pull-request-create.svg +1 -0
  755. package/dist/shared/lucide-icons/git-pull-request-draft.svg +1 -0
  756. package/dist/shared/lucide-icons/git-pull-request.svg +1 -0
  757. package/dist/shared/lucide-icons/github.svg +1 -0
  758. package/dist/shared/lucide-icons/gitlab.svg +1 -0
  759. package/dist/shared/lucide-icons/glass-water.svg +1 -0
  760. package/dist/shared/lucide-icons/glasses.svg +1 -0
  761. package/dist/shared/lucide-icons/globe-lock.svg +1 -0
  762. package/dist/shared/lucide-icons/globe.svg +1 -0
  763. package/dist/shared/lucide-icons/goal.svg +1 -0
  764. package/dist/shared/lucide-icons/grab.svg +1 -0
  765. package/dist/shared/lucide-icons/graduation-cap.svg +1 -0
  766. package/dist/shared/lucide-icons/grape.svg +1 -0
  767. package/dist/shared/lucide-icons/grid2x2-check.svg +1 -0
  768. package/dist/shared/lucide-icons/grid2x2-plus.svg +1 -0
  769. package/dist/shared/lucide-icons/grid2x2-x.svg +1 -0
  770. package/dist/shared/lucide-icons/grid2x2.svg +1 -0
  771. package/dist/shared/lucide-icons/grid3x3.svg +1 -0
  772. package/dist/shared/lucide-icons/grip-horizontal.svg +1 -0
  773. package/dist/shared/lucide-icons/grip-vertical.svg +1 -0
  774. package/dist/shared/lucide-icons/grip.svg +1 -0
  775. package/dist/shared/lucide-icons/group.svg +1 -0
  776. package/dist/shared/lucide-icons/guitar.svg +1 -0
  777. package/dist/shared/lucide-icons/ham.svg +1 -0
  778. package/dist/shared/lucide-icons/hammer.svg +1 -0
  779. package/dist/shared/lucide-icons/hand-coins.svg +1 -0
  780. package/dist/shared/lucide-icons/hand-heart.svg +1 -0
  781. package/dist/shared/lucide-icons/hand-helping.svg +1 -0
  782. package/dist/shared/lucide-icons/hand-metal.svg +1 -0
  783. package/dist/shared/lucide-icons/hand-platter.svg +1 -0
  784. package/dist/shared/lucide-icons/hand.svg +1 -0
  785. package/dist/shared/lucide-icons/handshake.svg +1 -0
  786. package/dist/shared/lucide-icons/hard-drive-download.svg +1 -0
  787. package/dist/shared/lucide-icons/hard-drive-upload.svg +1 -0
  788. package/dist/shared/lucide-icons/hard-drive.svg +1 -0
  789. package/dist/shared/lucide-icons/hard-hat.svg +1 -0
  790. package/dist/shared/lucide-icons/hash.svg +1 -0
  791. package/dist/shared/lucide-icons/haze.svg +1 -0
  792. package/dist/shared/lucide-icons/hdmi-port.svg +1 -0
  793. package/dist/shared/lucide-icons/heading.svg +1 -0
  794. package/dist/shared/lucide-icons/heading1.svg +1 -0
  795. package/dist/shared/lucide-icons/heading2.svg +1 -0
  796. package/dist/shared/lucide-icons/heading3.svg +1 -0
  797. package/dist/shared/lucide-icons/heading4.svg +1 -0
  798. package/dist/shared/lucide-icons/heading5.svg +1 -0
  799. package/dist/shared/lucide-icons/heading6.svg +1 -0
  800. package/dist/shared/lucide-icons/headphone-off.svg +1 -0
  801. package/dist/shared/lucide-icons/headphones.svg +1 -0
  802. package/dist/shared/lucide-icons/headset.svg +1 -0
  803. package/dist/shared/lucide-icons/heart-crack.svg +1 -0
  804. package/dist/shared/lucide-icons/heart-handshake.svg +1 -0
  805. package/dist/shared/lucide-icons/heart-off.svg +1 -0
  806. package/dist/shared/lucide-icons/heart-pulse.svg +1 -0
  807. package/dist/shared/lucide-icons/heart.svg +1 -0
  808. package/dist/shared/lucide-icons/heater.svg +1 -0
  809. package/dist/shared/lucide-icons/hexagon.svg +1 -0
  810. package/dist/shared/lucide-icons/highlighter.svg +1 -0
  811. package/dist/shared/lucide-icons/history.svg +1 -0
  812. package/dist/shared/lucide-icons/hop-off.svg +1 -0
  813. package/dist/shared/lucide-icons/hop.svg +1 -0
  814. package/dist/shared/lucide-icons/hospital.svg +1 -0
  815. package/dist/shared/lucide-icons/hotel.svg +1 -0
  816. package/dist/shared/lucide-icons/hourglass.svg +1 -0
  817. package/dist/shared/lucide-icons/house-plug.svg +1 -0
  818. package/dist/shared/lucide-icons/house-plus.svg +1 -0
  819. package/dist/shared/lucide-icons/house.svg +1 -0
  820. package/dist/shared/lucide-icons/ice-cream-bowl.svg +1 -0
  821. package/dist/shared/lucide-icons/ice-cream-cone.svg +1 -0
  822. package/dist/shared/lucide-icons/id-card.svg +1 -0
  823. package/dist/shared/lucide-icons/image-down.svg +1 -0
  824. package/dist/shared/lucide-icons/image-minus.svg +1 -0
  825. package/dist/shared/lucide-icons/image-off.svg +1 -0
  826. package/dist/shared/lucide-icons/image-play.svg +1 -0
  827. package/dist/shared/lucide-icons/image-plus.svg +1 -0
  828. package/dist/shared/lucide-icons/image-up.svg +1 -0
  829. package/dist/shared/lucide-icons/image-upscale.svg +1 -0
  830. package/dist/shared/lucide-icons/image.svg +1 -0
  831. package/dist/shared/lucide-icons/images.svg +1 -0
  832. package/dist/shared/lucide-icons/import.svg +1 -0
  833. package/dist/shared/lucide-icons/inbox.svg +1 -0
  834. package/dist/shared/lucide-icons/indent-decrease.svg +1 -0
  835. package/dist/shared/lucide-icons/indent-increase.svg +1 -0
  836. package/dist/shared/lucide-icons/indian-rupee.svg +1 -0
  837. package/dist/shared/lucide-icons/infinity.svg +1 -0
  838. package/dist/shared/lucide-icons/info.svg +1 -0
  839. package/dist/shared/lucide-icons/inspection-panel.svg +1 -0
  840. package/dist/shared/lucide-icons/instagram.svg +1 -0
  841. package/dist/shared/lucide-icons/italic.svg +1 -0
  842. package/dist/shared/lucide-icons/iteration-ccw.svg +1 -0
  843. package/dist/shared/lucide-icons/iteration-cw.svg +1 -0
  844. package/dist/shared/lucide-icons/japanese-yen.svg +1 -0
  845. package/dist/shared/lucide-icons/joystick.svg +1 -0
  846. package/dist/shared/lucide-icons/kanban.svg +1 -0
  847. package/dist/shared/lucide-icons/key-round.svg +1 -0
  848. package/dist/shared/lucide-icons/key-square.svg +1 -0
  849. package/dist/shared/lucide-icons/key.svg +1 -0
  850. package/dist/shared/lucide-icons/keyboard-music.svg +1 -0
  851. package/dist/shared/lucide-icons/keyboard-off.svg +1 -0
  852. package/dist/shared/lucide-icons/keyboard.svg +1 -0
  853. package/dist/shared/lucide-icons/lamp-ceiling.svg +1 -0
  854. package/dist/shared/lucide-icons/lamp-desk.svg +1 -0
  855. package/dist/shared/lucide-icons/lamp-floor.svg +1 -0
  856. package/dist/shared/lucide-icons/lamp-wall-down.svg +1 -0
  857. package/dist/shared/lucide-icons/lamp-wall-up.svg +1 -0
  858. package/dist/shared/lucide-icons/lamp.svg +1 -0
  859. package/dist/shared/lucide-icons/land-plot.svg +1 -0
  860. package/dist/shared/lucide-icons/landmark.svg +1 -0
  861. package/dist/shared/lucide-icons/languages.svg +1 -0
  862. package/dist/shared/lucide-icons/laptop-minimal-check.svg +1 -0
  863. package/dist/shared/lucide-icons/laptop-minimal.svg +1 -0
  864. package/dist/shared/lucide-icons/laptop.svg +1 -0
  865. package/dist/shared/lucide-icons/lasso-select.svg +1 -0
  866. package/dist/shared/lucide-icons/lasso.svg +1 -0
  867. package/dist/shared/lucide-icons/laugh.svg +1 -0
  868. package/dist/shared/lucide-icons/layers.svg +1 -0
  869. package/dist/shared/lucide-icons/layers2.svg +1 -0
  870. package/dist/shared/lucide-icons/layout-dashboard.svg +1 -0
  871. package/dist/shared/lucide-icons/layout-grid.svg +1 -0
  872. package/dist/shared/lucide-icons/layout-list.svg +1 -0
  873. package/dist/shared/lucide-icons/layout-panel-left.svg +1 -0
  874. package/dist/shared/lucide-icons/layout-panel-top.svg +1 -0
  875. package/dist/shared/lucide-icons/layout-template.svg +1 -0
  876. package/dist/shared/lucide-icons/leaf.svg +1 -0
  877. package/dist/shared/lucide-icons/leafy-green.svg +1 -0
  878. package/dist/shared/lucide-icons/lectern.svg +1 -0
  879. package/dist/shared/lucide-icons/letter-text.svg +1 -0
  880. package/dist/shared/lucide-icons/library-big.svg +1 -0
  881. package/dist/shared/lucide-icons/library.svg +1 -0
  882. package/dist/shared/lucide-icons/life-buoy.svg +1 -0
  883. package/dist/shared/lucide-icons/ligature.svg +1 -0
  884. package/dist/shared/lucide-icons/lightbulb-off.svg +1 -0
  885. package/dist/shared/lucide-icons/lightbulb.svg +1 -0
  886. package/dist/shared/lucide-icons/link.svg +1 -0
  887. package/dist/shared/lucide-icons/link2-off.svg +1 -0
  888. package/dist/shared/lucide-icons/link2.svg +1 -0
  889. package/dist/shared/lucide-icons/linkedin.svg +1 -0
  890. package/dist/shared/lucide-icons/list-check.svg +1 -0
  891. package/dist/shared/lucide-icons/list-checks.svg +1 -0
  892. package/dist/shared/lucide-icons/list-collapse.svg +1 -0
  893. package/dist/shared/lucide-icons/list-end.svg +1 -0
  894. package/dist/shared/lucide-icons/list-filter-plus.svg +1 -0
  895. package/dist/shared/lucide-icons/list-filter.svg +1 -0
  896. package/dist/shared/lucide-icons/list-minus.svg +1 -0
  897. package/dist/shared/lucide-icons/list-music.svg +1 -0
  898. package/dist/shared/lucide-icons/list-ordered.svg +1 -0
  899. package/dist/shared/lucide-icons/list-plus.svg +1 -0
  900. package/dist/shared/lucide-icons/list-restart.svg +1 -0
  901. package/dist/shared/lucide-icons/list-start.svg +1 -0
  902. package/dist/shared/lucide-icons/list-todo.svg +1 -0
  903. package/dist/shared/lucide-icons/list-tree.svg +1 -0
  904. package/dist/shared/lucide-icons/list-video.svg +1 -0
  905. package/dist/shared/lucide-icons/list-x.svg +1 -0
  906. package/dist/shared/lucide-icons/list.svg +1 -0
  907. package/dist/shared/lucide-icons/loader-circle.svg +1 -0
  908. package/dist/shared/lucide-icons/loader-pinwheel.svg +1 -0
  909. package/dist/shared/lucide-icons/loader.svg +1 -0
  910. package/dist/shared/lucide-icons/locate-fixed.svg +1 -0
  911. package/dist/shared/lucide-icons/locate-off.svg +1 -0
  912. package/dist/shared/lucide-icons/locate.svg +1 -0
  913. package/dist/shared/lucide-icons/lock-keyhole-open.svg +1 -0
  914. package/dist/shared/lucide-icons/lock-keyhole.svg +1 -0
  915. package/dist/shared/lucide-icons/lock-open.svg +1 -0
  916. package/dist/shared/lucide-icons/lock.svg +1 -0
  917. package/dist/shared/lucide-icons/log-in.svg +1 -0
  918. package/dist/shared/lucide-icons/log-out.svg +1 -0
  919. package/dist/shared/lucide-icons/logs.svg +1 -0
  920. package/dist/shared/lucide-icons/lollipop.svg +1 -0
  921. package/dist/shared/lucide-icons/luggage.svg +1 -0
  922. package/dist/shared/lucide-icons/magnet.svg +1 -0
  923. package/dist/shared/lucide-icons/mail-check.svg +1 -0
  924. package/dist/shared/lucide-icons/mail-minus.svg +1 -0
  925. package/dist/shared/lucide-icons/mail-open.svg +1 -0
  926. package/dist/shared/lucide-icons/mail-plus.svg +1 -0
  927. package/dist/shared/lucide-icons/mail-question.svg +1 -0
  928. package/dist/shared/lucide-icons/mail-search.svg +1 -0
  929. package/dist/shared/lucide-icons/mail-warning.svg +1 -0
  930. package/dist/shared/lucide-icons/mail-x.svg +1 -0
  931. package/dist/shared/lucide-icons/mail.svg +1 -0
  932. package/dist/shared/lucide-icons/mailbox.svg +1 -0
  933. package/dist/shared/lucide-icons/mails.svg +1 -0
  934. package/dist/shared/lucide-icons/manifest.json +1 -0
  935. package/dist/shared/lucide-icons/map-pin-check-inside.svg +1 -0
  936. package/dist/shared/lucide-icons/map-pin-check.svg +1 -0
  937. package/dist/shared/lucide-icons/map-pin-house.svg +1 -0
  938. package/dist/shared/lucide-icons/map-pin-minus-inside.svg +1 -0
  939. package/dist/shared/lucide-icons/map-pin-minus.svg +1 -0
  940. package/dist/shared/lucide-icons/map-pin-off.svg +1 -0
  941. package/dist/shared/lucide-icons/map-pin-plus-inside.svg +1 -0
  942. package/dist/shared/lucide-icons/map-pin-plus.svg +1 -0
  943. package/dist/shared/lucide-icons/map-pin-x-inside.svg +1 -0
  944. package/dist/shared/lucide-icons/map-pin-x.svg +1 -0
  945. package/dist/shared/lucide-icons/map-pin.svg +1 -0
  946. package/dist/shared/lucide-icons/map-pinned.svg +1 -0
  947. package/dist/shared/lucide-icons/map.svg +1 -0
  948. package/dist/shared/lucide-icons/martini.svg +1 -0
  949. package/dist/shared/lucide-icons/maximize.svg +1 -0
  950. package/dist/shared/lucide-icons/maximize2.svg +1 -0
  951. package/dist/shared/lucide-icons/medal.svg +1 -0
  952. package/dist/shared/lucide-icons/megaphone-off.svg +1 -0
  953. package/dist/shared/lucide-icons/megaphone.svg +1 -0
  954. package/dist/shared/lucide-icons/meh.svg +1 -0
  955. package/dist/shared/lucide-icons/memory-stick.svg +1 -0
  956. package/dist/shared/lucide-icons/menu.svg +1 -0
  957. package/dist/shared/lucide-icons/merge.svg +1 -0
  958. package/dist/shared/lucide-icons/message-circle-code.svg +1 -0
  959. package/dist/shared/lucide-icons/message-circle-dashed.svg +1 -0
  960. package/dist/shared/lucide-icons/message-circle-heart.svg +1 -0
  961. package/dist/shared/lucide-icons/message-circle-more.svg +1 -0
  962. package/dist/shared/lucide-icons/message-circle-off.svg +1 -0
  963. package/dist/shared/lucide-icons/message-circle-plus.svg +1 -0
  964. package/dist/shared/lucide-icons/message-circle-question.svg +1 -0
  965. package/dist/shared/lucide-icons/message-circle-reply.svg +1 -0
  966. package/dist/shared/lucide-icons/message-circle-warning.svg +1 -0
  967. package/dist/shared/lucide-icons/message-circle-x.svg +1 -0
  968. package/dist/shared/lucide-icons/message-circle.svg +1 -0
  969. package/dist/shared/lucide-icons/message-square-code.svg +1 -0
  970. package/dist/shared/lucide-icons/message-square-dashed.svg +1 -0
  971. package/dist/shared/lucide-icons/message-square-diff.svg +1 -0
  972. package/dist/shared/lucide-icons/message-square-dot.svg +1 -0
  973. package/dist/shared/lucide-icons/message-square-heart.svg +1 -0
  974. package/dist/shared/lucide-icons/message-square-lock.svg +1 -0
  975. package/dist/shared/lucide-icons/message-square-more.svg +1 -0
  976. package/dist/shared/lucide-icons/message-square-off.svg +1 -0
  977. package/dist/shared/lucide-icons/message-square-plus.svg +1 -0
  978. package/dist/shared/lucide-icons/message-square-quote.svg +1 -0
  979. package/dist/shared/lucide-icons/message-square-reply.svg +1 -0
  980. package/dist/shared/lucide-icons/message-square-share.svg +1 -0
  981. package/dist/shared/lucide-icons/message-square-text.svg +1 -0
  982. package/dist/shared/lucide-icons/message-square-warning.svg +1 -0
  983. package/dist/shared/lucide-icons/message-square-x.svg +1 -0
  984. package/dist/shared/lucide-icons/message-square.svg +1 -0
  985. package/dist/shared/lucide-icons/messages-square.svg +1 -0
  986. package/dist/shared/lucide-icons/mic-off.svg +1 -0
  987. package/dist/shared/lucide-icons/mic-vocal.svg +1 -0
  988. package/dist/shared/lucide-icons/mic.svg +1 -0
  989. package/dist/shared/lucide-icons/microchip.svg +1 -0
  990. package/dist/shared/lucide-icons/microscope.svg +1 -0
  991. package/dist/shared/lucide-icons/microwave.svg +1 -0
  992. package/dist/shared/lucide-icons/milestone.svg +1 -0
  993. package/dist/shared/lucide-icons/milk-off.svg +1 -0
  994. package/dist/shared/lucide-icons/milk.svg +1 -0
  995. package/dist/shared/lucide-icons/minimize.svg +1 -0
  996. package/dist/shared/lucide-icons/minimize2.svg +1 -0
  997. package/dist/shared/lucide-icons/minus.svg +1 -0
  998. package/dist/shared/lucide-icons/monitor-check.svg +1 -0
  999. package/dist/shared/lucide-icons/monitor-cog.svg +1 -0
  1000. package/dist/shared/lucide-icons/monitor-dot.svg +1 -0
  1001. package/dist/shared/lucide-icons/monitor-down.svg +1 -0
  1002. package/dist/shared/lucide-icons/monitor-off.svg +1 -0
  1003. package/dist/shared/lucide-icons/monitor-pause.svg +1 -0
  1004. package/dist/shared/lucide-icons/monitor-play.svg +1 -0
  1005. package/dist/shared/lucide-icons/monitor-smartphone.svg +1 -0
  1006. package/dist/shared/lucide-icons/monitor-speaker.svg +1 -0
  1007. package/dist/shared/lucide-icons/monitor-stop.svg +1 -0
  1008. package/dist/shared/lucide-icons/monitor-up.svg +1 -0
  1009. package/dist/shared/lucide-icons/monitor-x.svg +1 -0
  1010. package/dist/shared/lucide-icons/monitor.svg +1 -0
  1011. package/dist/shared/lucide-icons/moon-star.svg +1 -0
  1012. package/dist/shared/lucide-icons/moon.svg +1 -0
  1013. package/dist/shared/lucide-icons/mountain-snow.svg +1 -0
  1014. package/dist/shared/lucide-icons/mountain.svg +1 -0
  1015. package/dist/shared/lucide-icons/mouse-off.svg +1 -0
  1016. package/dist/shared/lucide-icons/mouse-pointer-ban.svg +1 -0
  1017. package/dist/shared/lucide-icons/mouse-pointer-click.svg +1 -0
  1018. package/dist/shared/lucide-icons/mouse-pointer.svg +1 -0
  1019. package/dist/shared/lucide-icons/mouse-pointer2.svg +1 -0
  1020. package/dist/shared/lucide-icons/mouse.svg +1 -0
  1021. package/dist/shared/lucide-icons/move-diagonal.svg +1 -0
  1022. package/dist/shared/lucide-icons/move-diagonal2.svg +1 -0
  1023. package/dist/shared/lucide-icons/move-down-left.svg +1 -0
  1024. package/dist/shared/lucide-icons/move-down-right.svg +1 -0
  1025. package/dist/shared/lucide-icons/move-down.svg +1 -0
  1026. package/dist/shared/lucide-icons/move-horizontal.svg +1 -0
  1027. package/dist/shared/lucide-icons/move-left.svg +1 -0
  1028. package/dist/shared/lucide-icons/move-right.svg +1 -0
  1029. package/dist/shared/lucide-icons/move-up-left.svg +1 -0
  1030. package/dist/shared/lucide-icons/move-up-right.svg +1 -0
  1031. package/dist/shared/lucide-icons/move-up.svg +1 -0
  1032. package/dist/shared/lucide-icons/move-vertical.svg +1 -0
  1033. package/dist/shared/lucide-icons/move.svg +1 -0
  1034. package/dist/shared/lucide-icons/move3d.svg +1 -0
  1035. package/dist/shared/lucide-icons/music.svg +1 -0
  1036. package/dist/shared/lucide-icons/music2.svg +1 -0
  1037. package/dist/shared/lucide-icons/music3.svg +1 -0
  1038. package/dist/shared/lucide-icons/music4.svg +1 -0
  1039. package/dist/shared/lucide-icons/navigation-off.svg +1 -0
  1040. package/dist/shared/lucide-icons/navigation.svg +1 -0
  1041. package/dist/shared/lucide-icons/navigation2-off.svg +1 -0
  1042. package/dist/shared/lucide-icons/navigation2.svg +1 -0
  1043. package/dist/shared/lucide-icons/network.svg +1 -0
  1044. package/dist/shared/lucide-icons/newspaper.svg +1 -0
  1045. package/dist/shared/lucide-icons/nfc.svg +1 -0
  1046. package/dist/shared/lucide-icons/notebook-pen.svg +1 -0
  1047. package/dist/shared/lucide-icons/notebook-tabs.svg +1 -0
  1048. package/dist/shared/lucide-icons/notebook-text.svg +1 -0
  1049. package/dist/shared/lucide-icons/notebook.svg +1 -0
  1050. package/dist/shared/lucide-icons/notepad-text-dashed.svg +1 -0
  1051. package/dist/shared/lucide-icons/notepad-text.svg +1 -0
  1052. package/dist/shared/lucide-icons/nut-off.svg +1 -0
  1053. package/dist/shared/lucide-icons/nut.svg +1 -0
  1054. package/dist/shared/lucide-icons/octagon-alert.svg +1 -0
  1055. package/dist/shared/lucide-icons/octagon-minus.svg +1 -0
  1056. package/dist/shared/lucide-icons/octagon-pause.svg +1 -0
  1057. package/dist/shared/lucide-icons/octagon-x.svg +1 -0
  1058. package/dist/shared/lucide-icons/octagon.svg +1 -0
  1059. package/dist/shared/lucide-icons/omega.svg +1 -0
  1060. package/dist/shared/lucide-icons/option.svg +1 -0
  1061. package/dist/shared/lucide-icons/orbit.svg +1 -0
  1062. package/dist/shared/lucide-icons/origami.svg +1 -0
  1063. package/dist/shared/lucide-icons/package-check.svg +1 -0
  1064. package/dist/shared/lucide-icons/package-minus.svg +1 -0
  1065. package/dist/shared/lucide-icons/package-open.svg +1 -0
  1066. package/dist/shared/lucide-icons/package-plus.svg +1 -0
  1067. package/dist/shared/lucide-icons/package-search.svg +1 -0
  1068. package/dist/shared/lucide-icons/package-x.svg +1 -0
  1069. package/dist/shared/lucide-icons/package.svg +1 -0
  1070. package/dist/shared/lucide-icons/package2.svg +1 -0
  1071. package/dist/shared/lucide-icons/paint-bucket.svg +1 -0
  1072. package/dist/shared/lucide-icons/paint-roller.svg +1 -0
  1073. package/dist/shared/lucide-icons/paintbrush-vertical.svg +1 -0
  1074. package/dist/shared/lucide-icons/paintbrush.svg +1 -0
  1075. package/dist/shared/lucide-icons/palette.svg +1 -0
  1076. package/dist/shared/lucide-icons/panel-bottom-close.svg +1 -0
  1077. package/dist/shared/lucide-icons/panel-bottom-dashed.svg +1 -0
  1078. package/dist/shared/lucide-icons/panel-bottom-open.svg +1 -0
  1079. package/dist/shared/lucide-icons/panel-bottom.svg +1 -0
  1080. package/dist/shared/lucide-icons/panel-left-close.svg +1 -0
  1081. package/dist/shared/lucide-icons/panel-left-dashed.svg +1 -0
  1082. package/dist/shared/lucide-icons/panel-left-open.svg +1 -0
  1083. package/dist/shared/lucide-icons/panel-left.svg +1 -0
  1084. package/dist/shared/lucide-icons/panel-right-close.svg +1 -0
  1085. package/dist/shared/lucide-icons/panel-right-dashed.svg +1 -0
  1086. package/dist/shared/lucide-icons/panel-right-open.svg +1 -0
  1087. package/dist/shared/lucide-icons/panel-right.svg +1 -0
  1088. package/dist/shared/lucide-icons/panel-top-close.svg +1 -0
  1089. package/dist/shared/lucide-icons/panel-top-dashed.svg +1 -0
  1090. package/dist/shared/lucide-icons/panel-top-open.svg +1 -0
  1091. package/dist/shared/lucide-icons/panel-top.svg +1 -0
  1092. package/dist/shared/lucide-icons/panels-left-bottom.svg +1 -0
  1093. package/dist/shared/lucide-icons/panels-right-bottom.svg +1 -0
  1094. package/dist/shared/lucide-icons/panels-top-left.svg +1 -0
  1095. package/dist/shared/lucide-icons/paperclip.svg +1 -0
  1096. package/dist/shared/lucide-icons/parentheses.svg +1 -0
  1097. package/dist/shared/lucide-icons/parking-meter.svg +1 -0
  1098. package/dist/shared/lucide-icons/party-popper.svg +1 -0
  1099. package/dist/shared/lucide-icons/pause.svg +1 -0
  1100. package/dist/shared/lucide-icons/paw-print.svg +1 -0
  1101. package/dist/shared/lucide-icons/pc-case.svg +1 -0
  1102. package/dist/shared/lucide-icons/pen-line.svg +1 -0
  1103. package/dist/shared/lucide-icons/pen-off.svg +1 -0
  1104. package/dist/shared/lucide-icons/pen-tool.svg +1 -0
  1105. package/dist/shared/lucide-icons/pen.svg +1 -0
  1106. package/dist/shared/lucide-icons/pencil-line.svg +1 -0
  1107. package/dist/shared/lucide-icons/pencil-off.svg +1 -0
  1108. package/dist/shared/lucide-icons/pencil-ruler.svg +1 -0
  1109. package/dist/shared/lucide-icons/pencil.svg +1 -0
  1110. package/dist/shared/lucide-icons/pentagon.svg +1 -0
  1111. package/dist/shared/lucide-icons/percent.svg +1 -0
  1112. package/dist/shared/lucide-icons/person-standing.svg +1 -0
  1113. package/dist/shared/lucide-icons/philippine-peso.svg +1 -0
  1114. package/dist/shared/lucide-icons/phone-call.svg +1 -0
  1115. package/dist/shared/lucide-icons/phone-forwarded.svg +1 -0
  1116. package/dist/shared/lucide-icons/phone-incoming.svg +1 -0
  1117. package/dist/shared/lucide-icons/phone-missed.svg +1 -0
  1118. package/dist/shared/lucide-icons/phone-off.svg +1 -0
  1119. package/dist/shared/lucide-icons/phone-outgoing.svg +1 -0
  1120. package/dist/shared/lucide-icons/phone.svg +1 -0
  1121. package/dist/shared/lucide-icons/pi.svg +1 -0
  1122. package/dist/shared/lucide-icons/piano.svg +1 -0
  1123. package/dist/shared/lucide-icons/pickaxe.svg +1 -0
  1124. package/dist/shared/lucide-icons/picture-in-picture.svg +1 -0
  1125. package/dist/shared/lucide-icons/picture-in-picture2.svg +1 -0
  1126. package/dist/shared/lucide-icons/piggy-bank.svg +1 -0
  1127. package/dist/shared/lucide-icons/pilcrow-left.svg +1 -0
  1128. package/dist/shared/lucide-icons/pilcrow-right.svg +1 -0
  1129. package/dist/shared/lucide-icons/pilcrow.svg +1 -0
  1130. package/dist/shared/lucide-icons/pill-bottle.svg +1 -0
  1131. package/dist/shared/lucide-icons/pill.svg +1 -0
  1132. package/dist/shared/lucide-icons/pin-off.svg +1 -0
  1133. package/dist/shared/lucide-icons/pin.svg +1 -0
  1134. package/dist/shared/lucide-icons/pipette.svg +1 -0
  1135. package/dist/shared/lucide-icons/pizza.svg +1 -0
  1136. package/dist/shared/lucide-icons/plane-landing.svg +1 -0
  1137. package/dist/shared/lucide-icons/plane-takeoff.svg +1 -0
  1138. package/dist/shared/lucide-icons/plane.svg +1 -0
  1139. package/dist/shared/lucide-icons/play.svg +1 -0
  1140. package/dist/shared/lucide-icons/plug-zap.svg +1 -0
  1141. package/dist/shared/lucide-icons/plug.svg +1 -0
  1142. package/dist/shared/lucide-icons/plug2.svg +1 -0
  1143. package/dist/shared/lucide-icons/plus.svg +1 -0
  1144. package/dist/shared/lucide-icons/pocket-knife.svg +1 -0
  1145. package/dist/shared/lucide-icons/pocket.svg +1 -0
  1146. package/dist/shared/lucide-icons/podcast.svg +1 -0
  1147. package/dist/shared/lucide-icons/pointer-off.svg +1 -0
  1148. package/dist/shared/lucide-icons/pointer.svg +1 -0
  1149. package/dist/shared/lucide-icons/popcorn.svg +1 -0
  1150. package/dist/shared/lucide-icons/popsicle.svg +1 -0
  1151. package/dist/shared/lucide-icons/pound-sterling.svg +1 -0
  1152. package/dist/shared/lucide-icons/power-off.svg +1 -0
  1153. package/dist/shared/lucide-icons/power.svg +1 -0
  1154. package/dist/shared/lucide-icons/presentation.svg +1 -0
  1155. package/dist/shared/lucide-icons/printer-check.svg +1 -0
  1156. package/dist/shared/lucide-icons/printer.svg +1 -0
  1157. package/dist/shared/lucide-icons/projector.svg +1 -0
  1158. package/dist/shared/lucide-icons/proportions.svg +1 -0
  1159. package/dist/shared/lucide-icons/puzzle.svg +1 -0
  1160. package/dist/shared/lucide-icons/pyramid.svg +1 -0
  1161. package/dist/shared/lucide-icons/qr-code.svg +1 -0
  1162. package/dist/shared/lucide-icons/quote.svg +1 -0
  1163. package/dist/shared/lucide-icons/rabbit.svg +1 -0
  1164. package/dist/shared/lucide-icons/radar.svg +1 -0
  1165. package/dist/shared/lucide-icons/radiation.svg +1 -0
  1166. package/dist/shared/lucide-icons/radical.svg +1 -0
  1167. package/dist/shared/lucide-icons/radio-receiver.svg +1 -0
  1168. package/dist/shared/lucide-icons/radio-tower.svg +1 -0
  1169. package/dist/shared/lucide-icons/radio.svg +1 -0
  1170. package/dist/shared/lucide-icons/radius.svg +1 -0
  1171. package/dist/shared/lucide-icons/rail-symbol.svg +1 -0
  1172. package/dist/shared/lucide-icons/rainbow.svg +1 -0
  1173. package/dist/shared/lucide-icons/rat.svg +1 -0
  1174. package/dist/shared/lucide-icons/ratio.svg +1 -0
  1175. package/dist/shared/lucide-icons/receipt-cent.svg +1 -0
  1176. package/dist/shared/lucide-icons/receipt-euro.svg +1 -0
  1177. package/dist/shared/lucide-icons/receipt-indian-rupee.svg +1 -0
  1178. package/dist/shared/lucide-icons/receipt-japanese-yen.svg +1 -0
  1179. package/dist/shared/lucide-icons/receipt-pound-sterling.svg +1 -0
  1180. package/dist/shared/lucide-icons/receipt-russian-ruble.svg +1 -0
  1181. package/dist/shared/lucide-icons/receipt-swiss-franc.svg +1 -0
  1182. package/dist/shared/lucide-icons/receipt-text.svg +1 -0
  1183. package/dist/shared/lucide-icons/receipt.svg +1 -0
  1184. package/dist/shared/lucide-icons/rectangle-ellipsis.svg +1 -0
  1185. package/dist/shared/lucide-icons/rectangle-horizontal.svg +1 -0
  1186. package/dist/shared/lucide-icons/rectangle-vertical.svg +1 -0
  1187. package/dist/shared/lucide-icons/recycle.svg +1 -0
  1188. package/dist/shared/lucide-icons/redo-dot.svg +1 -0
  1189. package/dist/shared/lucide-icons/redo.svg +1 -0
  1190. package/dist/shared/lucide-icons/redo2.svg +1 -0
  1191. package/dist/shared/lucide-icons/refresh-ccw-dot.svg +1 -0
  1192. package/dist/shared/lucide-icons/refresh-ccw.svg +1 -0
  1193. package/dist/shared/lucide-icons/refresh-cw-off.svg +1 -0
  1194. package/dist/shared/lucide-icons/refresh-cw.svg +1 -0
  1195. package/dist/shared/lucide-icons/refrigerator.svg +1 -0
  1196. package/dist/shared/lucide-icons/regex.svg +1 -0
  1197. package/dist/shared/lucide-icons/remove-formatting.svg +1 -0
  1198. package/dist/shared/lucide-icons/repeat.svg +1 -0
  1199. package/dist/shared/lucide-icons/repeat1.svg +1 -0
  1200. package/dist/shared/lucide-icons/repeat2.svg +1 -0
  1201. package/dist/shared/lucide-icons/replace-all.svg +1 -0
  1202. package/dist/shared/lucide-icons/replace.svg +1 -0
  1203. package/dist/shared/lucide-icons/reply-all.svg +1 -0
  1204. package/dist/shared/lucide-icons/reply.svg +1 -0
  1205. package/dist/shared/lucide-icons/rewind.svg +1 -0
  1206. package/dist/shared/lucide-icons/ribbon.svg +1 -0
  1207. package/dist/shared/lucide-icons/rocket.svg +1 -0
  1208. package/dist/shared/lucide-icons/rocking-chair.svg +1 -0
  1209. package/dist/shared/lucide-icons/roller-coaster.svg +1 -0
  1210. package/dist/shared/lucide-icons/rotate-ccw-square.svg +1 -0
  1211. package/dist/shared/lucide-icons/rotate-ccw.svg +1 -0
  1212. package/dist/shared/lucide-icons/rotate-cw-square.svg +1 -0
  1213. package/dist/shared/lucide-icons/rotate-cw.svg +1 -0
  1214. package/dist/shared/lucide-icons/rotate3d.svg +1 -0
  1215. package/dist/shared/lucide-icons/route-off.svg +1 -0
  1216. package/dist/shared/lucide-icons/route.svg +1 -0
  1217. package/dist/shared/lucide-icons/router.svg +1 -0
  1218. package/dist/shared/lucide-icons/rows2.svg +1 -0
  1219. package/dist/shared/lucide-icons/rows3.svg +1 -0
  1220. package/dist/shared/lucide-icons/rows4.svg +1 -0
  1221. package/dist/shared/lucide-icons/rss.svg +1 -0
  1222. package/dist/shared/lucide-icons/ruler.svg +1 -0
  1223. package/dist/shared/lucide-icons/russian-ruble.svg +1 -0
  1224. package/dist/shared/lucide-icons/sailboat.svg +1 -0
  1225. package/dist/shared/lucide-icons/salad.svg +1 -0
  1226. package/dist/shared/lucide-icons/sandwich.svg +1 -0
  1227. package/dist/shared/lucide-icons/satellite-dish.svg +1 -0
  1228. package/dist/shared/lucide-icons/satellite.svg +1 -0
  1229. package/dist/shared/lucide-icons/save-all.svg +1 -0
  1230. package/dist/shared/lucide-icons/save-off.svg +1 -0
  1231. package/dist/shared/lucide-icons/save.svg +1 -0
  1232. package/dist/shared/lucide-icons/scale.svg +1 -0
  1233. package/dist/shared/lucide-icons/scale3d.svg +1 -0
  1234. package/dist/shared/lucide-icons/scaling.svg +1 -0
  1235. package/dist/shared/lucide-icons/scan-barcode.svg +1 -0
  1236. package/dist/shared/lucide-icons/scan-eye.svg +1 -0
  1237. package/dist/shared/lucide-icons/scan-face.svg +1 -0
  1238. package/dist/shared/lucide-icons/scan-heart.svg +1 -0
  1239. package/dist/shared/lucide-icons/scan-line.svg +1 -0
  1240. package/dist/shared/lucide-icons/scan-qr-code.svg +1 -0
  1241. package/dist/shared/lucide-icons/scan-search.svg +1 -0
  1242. package/dist/shared/lucide-icons/scan-text.svg +1 -0
  1243. package/dist/shared/lucide-icons/scan.svg +1 -0
  1244. package/dist/shared/lucide-icons/school.svg +1 -0
  1245. package/dist/shared/lucide-icons/scissors-line-dashed.svg +1 -0
  1246. package/dist/shared/lucide-icons/scissors.svg +1 -0
  1247. package/dist/shared/lucide-icons/screen-share-off.svg +1 -0
  1248. package/dist/shared/lucide-icons/screen-share.svg +1 -0
  1249. package/dist/shared/lucide-icons/scroll-text.svg +1 -0
  1250. package/dist/shared/lucide-icons/scroll.svg +1 -0
  1251. package/dist/shared/lucide-icons/search-check.svg +1 -0
  1252. package/dist/shared/lucide-icons/search-code.svg +1 -0
  1253. package/dist/shared/lucide-icons/search-slash.svg +1 -0
  1254. package/dist/shared/lucide-icons/search-x.svg +1 -0
  1255. package/dist/shared/lucide-icons/search.svg +1 -0
  1256. package/dist/shared/lucide-icons/section.svg +1 -0
  1257. package/dist/shared/lucide-icons/send-horizontal.svg +1 -0
  1258. package/dist/shared/lucide-icons/send-to-back.svg +1 -0
  1259. package/dist/shared/lucide-icons/send.svg +1 -0
  1260. package/dist/shared/lucide-icons/separator-horizontal.svg +1 -0
  1261. package/dist/shared/lucide-icons/separator-vertical.svg +1 -0
  1262. package/dist/shared/lucide-icons/server-cog.svg +1 -0
  1263. package/dist/shared/lucide-icons/server-crash.svg +1 -0
  1264. package/dist/shared/lucide-icons/server-off.svg +1 -0
  1265. package/dist/shared/lucide-icons/server.svg +1 -0
  1266. package/dist/shared/lucide-icons/settings.svg +1 -0
  1267. package/dist/shared/lucide-icons/settings2.svg +1 -0
  1268. package/dist/shared/lucide-icons/shapes.svg +1 -0
  1269. package/dist/shared/lucide-icons/share.svg +1 -0
  1270. package/dist/shared/lucide-icons/share2.svg +1 -0
  1271. package/dist/shared/lucide-icons/sheet.svg +1 -0
  1272. package/dist/shared/lucide-icons/shell.svg +1 -0
  1273. package/dist/shared/lucide-icons/shield-alert.svg +1 -0
  1274. package/dist/shared/lucide-icons/shield-ban.svg +1 -0
  1275. package/dist/shared/lucide-icons/shield-check.svg +1 -0
  1276. package/dist/shared/lucide-icons/shield-ellipsis.svg +1 -0
  1277. package/dist/shared/lucide-icons/shield-half.svg +1 -0
  1278. package/dist/shared/lucide-icons/shield-minus.svg +1 -0
  1279. package/dist/shared/lucide-icons/shield-off.svg +1 -0
  1280. package/dist/shared/lucide-icons/shield-plus.svg +1 -0
  1281. package/dist/shared/lucide-icons/shield-question.svg +1 -0
  1282. package/dist/shared/lucide-icons/shield-x.svg +1 -0
  1283. package/dist/shared/lucide-icons/shield.svg +1 -0
  1284. package/dist/shared/lucide-icons/ship-wheel.svg +1 -0
  1285. package/dist/shared/lucide-icons/ship.svg +1 -0
  1286. package/dist/shared/lucide-icons/shirt.svg +1 -0
  1287. package/dist/shared/lucide-icons/shopping-bag.svg +1 -0
  1288. package/dist/shared/lucide-icons/shopping-basket.svg +1 -0
  1289. package/dist/shared/lucide-icons/shopping-cart.svg +1 -0
  1290. package/dist/shared/lucide-icons/shovel.svg +1 -0
  1291. package/dist/shared/lucide-icons/shower-head.svg +1 -0
  1292. package/dist/shared/lucide-icons/shrink.svg +1 -0
  1293. package/dist/shared/lucide-icons/shrub.svg +1 -0
  1294. package/dist/shared/lucide-icons/shuffle.svg +1 -0
  1295. package/dist/shared/lucide-icons/sigma.svg +1 -0
  1296. package/dist/shared/lucide-icons/signal-high.svg +1 -0
  1297. package/dist/shared/lucide-icons/signal-low.svg +1 -0
  1298. package/dist/shared/lucide-icons/signal-medium.svg +1 -0
  1299. package/dist/shared/lucide-icons/signal-zero.svg +1 -0
  1300. package/dist/shared/lucide-icons/signal.svg +1 -0
  1301. package/dist/shared/lucide-icons/signature.svg +1 -0
  1302. package/dist/shared/lucide-icons/signpost-big.svg +1 -0
  1303. package/dist/shared/lucide-icons/signpost.svg +1 -0
  1304. package/dist/shared/lucide-icons/siren.svg +1 -0
  1305. package/dist/shared/lucide-icons/skip-back.svg +1 -0
  1306. package/dist/shared/lucide-icons/skip-forward.svg +1 -0
  1307. package/dist/shared/lucide-icons/skull.svg +1 -0
  1308. package/dist/shared/lucide-icons/slack.svg +1 -0
  1309. package/dist/shared/lucide-icons/slash.svg +1 -0
  1310. package/dist/shared/lucide-icons/slice.svg +1 -0
  1311. package/dist/shared/lucide-icons/sliders-horizontal.svg +1 -0
  1312. package/dist/shared/lucide-icons/sliders-vertical.svg +1 -0
  1313. package/dist/shared/lucide-icons/smartphone-charging.svg +1 -0
  1314. package/dist/shared/lucide-icons/smartphone-nfc.svg +1 -0
  1315. package/dist/shared/lucide-icons/smartphone.svg +1 -0
  1316. package/dist/shared/lucide-icons/smile-plus.svg +1 -0
  1317. package/dist/shared/lucide-icons/smile.svg +1 -0
  1318. package/dist/shared/lucide-icons/snail.svg +1 -0
  1319. package/dist/shared/lucide-icons/snowflake.svg +1 -0
  1320. package/dist/shared/lucide-icons/sofa.svg +1 -0
  1321. package/dist/shared/lucide-icons/soup.svg +1 -0
  1322. package/dist/shared/lucide-icons/space.svg +1 -0
  1323. package/dist/shared/lucide-icons/spade.svg +1 -0
  1324. package/dist/shared/lucide-icons/sparkle.svg +1 -0
  1325. package/dist/shared/lucide-icons/sparkles.svg +1 -0
  1326. package/dist/shared/lucide-icons/speaker.svg +1 -0
  1327. package/dist/shared/lucide-icons/speech.svg +1 -0
  1328. package/dist/shared/lucide-icons/spell-check.svg +1 -0
  1329. package/dist/shared/lucide-icons/spell-check2.svg +1 -0
  1330. package/dist/shared/lucide-icons/spline.svg +1 -0
  1331. package/dist/shared/lucide-icons/split.svg +1 -0
  1332. package/dist/shared/lucide-icons/spray-can.svg +1 -0
  1333. package/dist/shared/lucide-icons/sprout.svg +1 -0
  1334. package/dist/shared/lucide-icons/square-activity.svg +1 -0
  1335. package/dist/shared/lucide-icons/square-arrow-down-left.svg +1 -0
  1336. package/dist/shared/lucide-icons/square-arrow-down-right.svg +1 -0
  1337. package/dist/shared/lucide-icons/square-arrow-down.svg +1 -0
  1338. package/dist/shared/lucide-icons/square-arrow-left.svg +1 -0
  1339. package/dist/shared/lucide-icons/square-arrow-out-down-left.svg +1 -0
  1340. package/dist/shared/lucide-icons/square-arrow-out-down-right.svg +1 -0
  1341. package/dist/shared/lucide-icons/square-arrow-out-up-left.svg +1 -0
  1342. package/dist/shared/lucide-icons/square-arrow-out-up-right.svg +1 -0
  1343. package/dist/shared/lucide-icons/square-arrow-right.svg +1 -0
  1344. package/dist/shared/lucide-icons/square-arrow-up-left.svg +1 -0
  1345. package/dist/shared/lucide-icons/square-arrow-up-right.svg +1 -0
  1346. package/dist/shared/lucide-icons/square-arrow-up.svg +1 -0
  1347. package/dist/shared/lucide-icons/square-asterisk.svg +1 -0
  1348. package/dist/shared/lucide-icons/square-bottom-dashed-scissors.svg +1 -0
  1349. package/dist/shared/lucide-icons/square-chart-gantt.svg +1 -0
  1350. package/dist/shared/lucide-icons/square-check-big.svg +1 -0
  1351. package/dist/shared/lucide-icons/square-check.svg +1 -0
  1352. package/dist/shared/lucide-icons/square-chevron-down.svg +1 -0
  1353. package/dist/shared/lucide-icons/square-chevron-left.svg +1 -0
  1354. package/dist/shared/lucide-icons/square-chevron-right.svg +1 -0
  1355. package/dist/shared/lucide-icons/square-chevron-up.svg +1 -0
  1356. package/dist/shared/lucide-icons/square-code.svg +1 -0
  1357. package/dist/shared/lucide-icons/square-dashed-bottom-code.svg +1 -0
  1358. package/dist/shared/lucide-icons/square-dashed-bottom.svg +1 -0
  1359. package/dist/shared/lucide-icons/square-dashed-kanban.svg +1 -0
  1360. package/dist/shared/lucide-icons/square-dashed-mouse-pointer.svg +1 -0
  1361. package/dist/shared/lucide-icons/square-dashed.svg +1 -0
  1362. package/dist/shared/lucide-icons/square-divide.svg +1 -0
  1363. package/dist/shared/lucide-icons/square-dot.svg +1 -0
  1364. package/dist/shared/lucide-icons/square-equal.svg +1 -0
  1365. package/dist/shared/lucide-icons/square-function.svg +1 -0
  1366. package/dist/shared/lucide-icons/square-kanban.svg +1 -0
  1367. package/dist/shared/lucide-icons/square-library.svg +1 -0
  1368. package/dist/shared/lucide-icons/square-m.svg +1 -0
  1369. package/dist/shared/lucide-icons/square-menu.svg +1 -0
  1370. package/dist/shared/lucide-icons/square-minus.svg +1 -0
  1371. package/dist/shared/lucide-icons/square-mouse-pointer.svg +1 -0
  1372. package/dist/shared/lucide-icons/square-parking-off.svg +1 -0
  1373. package/dist/shared/lucide-icons/square-parking.svg +1 -0
  1374. package/dist/shared/lucide-icons/square-pen.svg +1 -0
  1375. package/dist/shared/lucide-icons/square-percent.svg +1 -0
  1376. package/dist/shared/lucide-icons/square-pi.svg +1 -0
  1377. package/dist/shared/lucide-icons/square-pilcrow.svg +1 -0
  1378. package/dist/shared/lucide-icons/square-play.svg +1 -0
  1379. package/dist/shared/lucide-icons/square-plus.svg +1 -0
  1380. package/dist/shared/lucide-icons/square-power.svg +1 -0
  1381. package/dist/shared/lucide-icons/square-radical.svg +1 -0
  1382. package/dist/shared/lucide-icons/square-scissors.svg +1 -0
  1383. package/dist/shared/lucide-icons/square-sigma.svg +1 -0
  1384. package/dist/shared/lucide-icons/square-slash.svg +1 -0
  1385. package/dist/shared/lucide-icons/square-split-horizontal.svg +1 -0
  1386. package/dist/shared/lucide-icons/square-split-vertical.svg +1 -0
  1387. package/dist/shared/lucide-icons/square-square.svg +1 -0
  1388. package/dist/shared/lucide-icons/square-stack.svg +1 -0
  1389. package/dist/shared/lucide-icons/square-terminal.svg +1 -0
  1390. package/dist/shared/lucide-icons/square-user-round.svg +1 -0
  1391. package/dist/shared/lucide-icons/square-user.svg +1 -0
  1392. package/dist/shared/lucide-icons/square-x.svg +1 -0
  1393. package/dist/shared/lucide-icons/square.svg +1 -0
  1394. package/dist/shared/lucide-icons/squircle.svg +1 -0
  1395. package/dist/shared/lucide-icons/squirrel.svg +1 -0
  1396. package/dist/shared/lucide-icons/stamp.svg +1 -0
  1397. package/dist/shared/lucide-icons/star-half.svg +1 -0
  1398. package/dist/shared/lucide-icons/star-off.svg +1 -0
  1399. package/dist/shared/lucide-icons/star.svg +1 -0
  1400. package/dist/shared/lucide-icons/step-back.svg +1 -0
  1401. package/dist/shared/lucide-icons/step-forward.svg +1 -0
  1402. package/dist/shared/lucide-icons/stethoscope.svg +1 -0
  1403. package/dist/shared/lucide-icons/sticker.svg +1 -0
  1404. package/dist/shared/lucide-icons/sticky-note.svg +1 -0
  1405. package/dist/shared/lucide-icons/store.svg +1 -0
  1406. package/dist/shared/lucide-icons/stretch-horizontal.svg +1 -0
  1407. package/dist/shared/lucide-icons/stretch-vertical.svg +1 -0
  1408. package/dist/shared/lucide-icons/strikethrough.svg +1 -0
  1409. package/dist/shared/lucide-icons/subscript.svg +1 -0
  1410. package/dist/shared/lucide-icons/sun-dim.svg +1 -0
  1411. package/dist/shared/lucide-icons/sun-medium.svg +1 -0
  1412. package/dist/shared/lucide-icons/sun-moon.svg +1 -0
  1413. package/dist/shared/lucide-icons/sun-snow.svg +1 -0
  1414. package/dist/shared/lucide-icons/sun.svg +1 -0
  1415. package/dist/shared/lucide-icons/sunrise.svg +1 -0
  1416. package/dist/shared/lucide-icons/sunset.svg +1 -0
  1417. package/dist/shared/lucide-icons/superscript.svg +1 -0
  1418. package/dist/shared/lucide-icons/swatch-book.svg +1 -0
  1419. package/dist/shared/lucide-icons/swiss-franc.svg +1 -0
  1420. package/dist/shared/lucide-icons/switch-camera.svg +1 -0
  1421. package/dist/shared/lucide-icons/sword.svg +1 -0
  1422. package/dist/shared/lucide-icons/swords.svg +1 -0
  1423. package/dist/shared/lucide-icons/syringe.svg +1 -0
  1424. package/dist/shared/lucide-icons/table-cells-merge.svg +1 -0
  1425. package/dist/shared/lucide-icons/table-cells-split.svg +1 -0
  1426. package/dist/shared/lucide-icons/table-columns-split.svg +1 -0
  1427. package/dist/shared/lucide-icons/table-of-contents.svg +1 -0
  1428. package/dist/shared/lucide-icons/table-properties.svg +1 -0
  1429. package/dist/shared/lucide-icons/table-rows-split.svg +1 -0
  1430. package/dist/shared/lucide-icons/table.svg +1 -0
  1431. package/dist/shared/lucide-icons/table2.svg +1 -0
  1432. package/dist/shared/lucide-icons/tablet-smartphone.svg +1 -0
  1433. package/dist/shared/lucide-icons/tablet.svg +1 -0
  1434. package/dist/shared/lucide-icons/tablets.svg +1 -0
  1435. package/dist/shared/lucide-icons/tag.svg +1 -0
  1436. package/dist/shared/lucide-icons/tags.svg +1 -0
  1437. package/dist/shared/lucide-icons/tally1.svg +1 -0
  1438. package/dist/shared/lucide-icons/tally2.svg +1 -0
  1439. package/dist/shared/lucide-icons/tally3.svg +1 -0
  1440. package/dist/shared/lucide-icons/tally4.svg +1 -0
  1441. package/dist/shared/lucide-icons/tally5.svg +1 -0
  1442. package/dist/shared/lucide-icons/tangent.svg +1 -0
  1443. package/dist/shared/lucide-icons/target.svg +1 -0
  1444. package/dist/shared/lucide-icons/telescope.svg +1 -0
  1445. package/dist/shared/lucide-icons/tent-tree.svg +1 -0
  1446. package/dist/shared/lucide-icons/tent.svg +1 -0
  1447. package/dist/shared/lucide-icons/terminal.svg +1 -0
  1448. package/dist/shared/lucide-icons/test-tube-diagonal.svg +1 -0
  1449. package/dist/shared/lucide-icons/test-tube.svg +1 -0
  1450. package/dist/shared/lucide-icons/test-tubes.svg +1 -0
  1451. package/dist/shared/lucide-icons/text-cursor-input.svg +1 -0
  1452. package/dist/shared/lucide-icons/text-cursor.svg +1 -0
  1453. package/dist/shared/lucide-icons/text-quote.svg +1 -0
  1454. package/dist/shared/lucide-icons/text-search.svg +1 -0
  1455. package/dist/shared/lucide-icons/text-select.svg +1 -0
  1456. package/dist/shared/lucide-icons/text.svg +1 -0
  1457. package/dist/shared/lucide-icons/theater.svg +1 -0
  1458. package/dist/shared/lucide-icons/thermometer-snowflake.svg +1 -0
  1459. package/dist/shared/lucide-icons/thermometer-sun.svg +1 -0
  1460. package/dist/shared/lucide-icons/thermometer.svg +1 -0
  1461. package/dist/shared/lucide-icons/thumbs-down.svg +1 -0
  1462. package/dist/shared/lucide-icons/thumbs-up.svg +1 -0
  1463. package/dist/shared/lucide-icons/ticket-check.svg +1 -0
  1464. package/dist/shared/lucide-icons/ticket-minus.svg +1 -0
  1465. package/dist/shared/lucide-icons/ticket-percent.svg +1 -0
  1466. package/dist/shared/lucide-icons/ticket-plus.svg +1 -0
  1467. package/dist/shared/lucide-icons/ticket-slash.svg +1 -0
  1468. package/dist/shared/lucide-icons/ticket-x.svg +1 -0
  1469. package/dist/shared/lucide-icons/ticket.svg +1 -0
  1470. package/dist/shared/lucide-icons/tickets-plane.svg +1 -0
  1471. package/dist/shared/lucide-icons/tickets.svg +1 -0
  1472. package/dist/shared/lucide-icons/timer-off.svg +1 -0
  1473. package/dist/shared/lucide-icons/timer-reset.svg +1 -0
  1474. package/dist/shared/lucide-icons/timer.svg +1 -0
  1475. package/dist/shared/lucide-icons/toggle-left.svg +1 -0
  1476. package/dist/shared/lucide-icons/toggle-right.svg +1 -0
  1477. package/dist/shared/lucide-icons/toilet.svg +1 -0
  1478. package/dist/shared/lucide-icons/tornado.svg +1 -0
  1479. package/dist/shared/lucide-icons/torus.svg +1 -0
  1480. package/dist/shared/lucide-icons/touchpad-off.svg +1 -0
  1481. package/dist/shared/lucide-icons/touchpad.svg +1 -0
  1482. package/dist/shared/lucide-icons/tower-control.svg +1 -0
  1483. package/dist/shared/lucide-icons/toy-brick.svg +1 -0
  1484. package/dist/shared/lucide-icons/tractor.svg +1 -0
  1485. package/dist/shared/lucide-icons/traffic-cone.svg +1 -0
  1486. package/dist/shared/lucide-icons/train-front-tunnel.svg +1 -0
  1487. package/dist/shared/lucide-icons/train-front.svg +1 -0
  1488. package/dist/shared/lucide-icons/train-track.svg +1 -0
  1489. package/dist/shared/lucide-icons/tram-front.svg +1 -0
  1490. package/dist/shared/lucide-icons/trash.svg +1 -0
  1491. package/dist/shared/lucide-icons/trash2.svg +1 -0
  1492. package/dist/shared/lucide-icons/tree-deciduous.svg +1 -0
  1493. package/dist/shared/lucide-icons/tree-palm.svg +1 -0
  1494. package/dist/shared/lucide-icons/tree-pine.svg +1 -0
  1495. package/dist/shared/lucide-icons/trees.svg +1 -0
  1496. package/dist/shared/lucide-icons/trello.svg +1 -0
  1497. package/dist/shared/lucide-icons/trending-down.svg +1 -0
  1498. package/dist/shared/lucide-icons/trending-up-down.svg +1 -0
  1499. package/dist/shared/lucide-icons/trending-up.svg +1 -0
  1500. package/dist/shared/lucide-icons/triangle-alert.svg +1 -0
  1501. package/dist/shared/lucide-icons/triangle-right.svg +1 -0
  1502. package/dist/shared/lucide-icons/triangle.svg +1 -0
  1503. package/dist/shared/lucide-icons/trophy.svg +1 -0
  1504. package/dist/shared/lucide-icons/truck.svg +1 -0
  1505. package/dist/shared/lucide-icons/turtle.svg +1 -0
  1506. package/dist/shared/lucide-icons/tv-minimal-play.svg +1 -0
  1507. package/dist/shared/lucide-icons/tv-minimal.svg +1 -0
  1508. package/dist/shared/lucide-icons/tv.svg +1 -0
  1509. package/dist/shared/lucide-icons/twitch.svg +1 -0
  1510. package/dist/shared/lucide-icons/twitter.svg +1 -0
  1511. package/dist/shared/lucide-icons/type-outline.svg +1 -0
  1512. package/dist/shared/lucide-icons/type.svg +1 -0
  1513. package/dist/shared/lucide-icons/umbrella-off.svg +1 -0
  1514. package/dist/shared/lucide-icons/umbrella.svg +1 -0
  1515. package/dist/shared/lucide-icons/underline.svg +1 -0
  1516. package/dist/shared/lucide-icons/undo-dot.svg +1 -0
  1517. package/dist/shared/lucide-icons/undo.svg +1 -0
  1518. package/dist/shared/lucide-icons/undo2.svg +1 -0
  1519. package/dist/shared/lucide-icons/unfold-horizontal.svg +1 -0
  1520. package/dist/shared/lucide-icons/unfold-vertical.svg +1 -0
  1521. package/dist/shared/lucide-icons/ungroup.svg +1 -0
  1522. package/dist/shared/lucide-icons/university.svg +1 -0
  1523. package/dist/shared/lucide-icons/unlink.svg +1 -0
  1524. package/dist/shared/lucide-icons/unlink2.svg +1 -0
  1525. package/dist/shared/lucide-icons/unplug.svg +1 -0
  1526. package/dist/shared/lucide-icons/upload.svg +1 -0
  1527. package/dist/shared/lucide-icons/usb.svg +1 -0
  1528. package/dist/shared/lucide-icons/user-check.svg +1 -0
  1529. package/dist/shared/lucide-icons/user-cog.svg +1 -0
  1530. package/dist/shared/lucide-icons/user-minus.svg +1 -0
  1531. package/dist/shared/lucide-icons/user-pen.svg +1 -0
  1532. package/dist/shared/lucide-icons/user-plus.svg +1 -0
  1533. package/dist/shared/lucide-icons/user-round-check.svg +1 -0
  1534. package/dist/shared/lucide-icons/user-round-cog.svg +1 -0
  1535. package/dist/shared/lucide-icons/user-round-minus.svg +1 -0
  1536. package/dist/shared/lucide-icons/user-round-pen.svg +1 -0
  1537. package/dist/shared/lucide-icons/user-round-plus.svg +1 -0
  1538. package/dist/shared/lucide-icons/user-round-search.svg +1 -0
  1539. package/dist/shared/lucide-icons/user-round-x.svg +1 -0
  1540. package/dist/shared/lucide-icons/user-round.svg +1 -0
  1541. package/dist/shared/lucide-icons/user-search.svg +1 -0
  1542. package/dist/shared/lucide-icons/user-x.svg +1 -0
  1543. package/dist/shared/lucide-icons/user.svg +1 -0
  1544. package/dist/shared/lucide-icons/users-round.svg +1 -0
  1545. package/dist/shared/lucide-icons/users.svg +1 -0
  1546. package/dist/shared/lucide-icons/utensils-crossed.svg +1 -0
  1547. package/dist/shared/lucide-icons/utensils.svg +1 -0
  1548. package/dist/shared/lucide-icons/utility-pole.svg +1 -0
  1549. package/dist/shared/lucide-icons/variable.svg +1 -0
  1550. package/dist/shared/lucide-icons/vault.svg +1 -0
  1551. package/dist/shared/lucide-icons/vegan.svg +1 -0
  1552. package/dist/shared/lucide-icons/venetian-mask.svg +1 -0
  1553. package/dist/shared/lucide-icons/vibrate-off.svg +1 -0
  1554. package/dist/shared/lucide-icons/vibrate.svg +1 -0
  1555. package/dist/shared/lucide-icons/video-off.svg +1 -0
  1556. package/dist/shared/lucide-icons/video.svg +1 -0
  1557. package/dist/shared/lucide-icons/videotape.svg +1 -0
  1558. package/dist/shared/lucide-icons/view.svg +1 -0
  1559. package/dist/shared/lucide-icons/voicemail.svg +1 -0
  1560. package/dist/shared/lucide-icons/volleyball.svg +1 -0
  1561. package/dist/shared/lucide-icons/volume-off.svg +1 -0
  1562. package/dist/shared/lucide-icons/volume-x.svg +1 -0
  1563. package/dist/shared/lucide-icons/volume.svg +1 -0
  1564. package/dist/shared/lucide-icons/volume1.svg +1 -0
  1565. package/dist/shared/lucide-icons/volume2.svg +1 -0
  1566. package/dist/shared/lucide-icons/vote.svg +1 -0
  1567. package/dist/shared/lucide-icons/wallet-cards.svg +1 -0
  1568. package/dist/shared/lucide-icons/wallet-minimal.svg +1 -0
  1569. package/dist/shared/lucide-icons/wallet.svg +1 -0
  1570. package/dist/shared/lucide-icons/wallpaper.svg +1 -0
  1571. package/dist/shared/lucide-icons/wand-sparkles.svg +1 -0
  1572. package/dist/shared/lucide-icons/wand.svg +1 -0
  1573. package/dist/shared/lucide-icons/warehouse.svg +1 -0
  1574. package/dist/shared/lucide-icons/washing-machine.svg +1 -0
  1575. package/dist/shared/lucide-icons/watch.svg +1 -0
  1576. package/dist/shared/lucide-icons/waves-ladder.svg +1 -0
  1577. package/dist/shared/lucide-icons/waves.svg +1 -0
  1578. package/dist/shared/lucide-icons/waypoints.svg +1 -0
  1579. package/dist/shared/lucide-icons/webcam.svg +1 -0
  1580. package/dist/shared/lucide-icons/webhook-off.svg +1 -0
  1581. package/dist/shared/lucide-icons/webhook.svg +1 -0
  1582. package/dist/shared/lucide-icons/weight.svg +1 -0
  1583. package/dist/shared/lucide-icons/wheat-off.svg +1 -0
  1584. package/dist/shared/lucide-icons/wheat.svg +1 -0
  1585. package/dist/shared/lucide-icons/whole-word.svg +1 -0
  1586. package/dist/shared/lucide-icons/wifi-high.svg +1 -0
  1587. package/dist/shared/lucide-icons/wifi-low.svg +1 -0
  1588. package/dist/shared/lucide-icons/wifi-off.svg +1 -0
  1589. package/dist/shared/lucide-icons/wifi-zero.svg +1 -0
  1590. package/dist/shared/lucide-icons/wifi.svg +1 -0
  1591. package/dist/shared/lucide-icons/wind-arrow-down.svg +1 -0
  1592. package/dist/shared/lucide-icons/wind.svg +1 -0
  1593. package/dist/shared/lucide-icons/wine-off.svg +1 -0
  1594. package/dist/shared/lucide-icons/wine.svg +1 -0
  1595. package/dist/shared/lucide-icons/workflow.svg +1 -0
  1596. package/dist/shared/lucide-icons/worm.svg +1 -0
  1597. package/dist/shared/lucide-icons/wrap-text.svg +1 -0
  1598. package/dist/shared/lucide-icons/wrench.svg +1 -0
  1599. package/dist/shared/lucide-icons/x.svg +1 -0
  1600. package/dist/shared/lucide-icons/youtube.svg +1 -0
  1601. package/dist/shared/lucide-icons/zap-off.svg +1 -0
  1602. package/dist/shared/lucide-icons/zap.svg +1 -0
  1603. package/dist/shared/lucide-icons/zoom-in.svg +1 -0
  1604. package/dist/shared/lucide-icons/zoom-out.svg +1 -0
  1605. package/dist/{server → shared}/projectIcons.js +2 -2
  1606. package/package.json +6 -4
  1607. package/texlite.config.example.json +4 -1
  1608. package/dist/client/assets/GitDialog-Ds1IhVJ3.js +0 -3
  1609. package/dist/client/assets/HistoryDialog-BOLQxHvV.js +0 -5
  1610. package/dist/client/assets/PdfPreview-DwKlkGl9.js +0 -1
  1611. package/dist/client/assets/ProjectNavigationDialogs-D6grphxz.js +0 -1
  1612. package/dist/client/assets/SystemMetricsDialog-CxiyDnsC.js +0 -1
  1613. package/dist/client/assets/index-BoLY1azn.js +0 -64
  1614. package/dist/client/assets/index-DzzqNm9b.css +0 -1
@@ -16,6 +16,9 @@ import { ProjectMutationCoordinator } from "./projectMutations.js";
16
16
  import { ProjectGitService } from "./git.js";
17
17
  import { LatexCompletionService } from "./latexCompletion.js";
18
18
  import { ProjectHistoryService } from "./history.js";
19
+ import { ProjectEditHistoryService } from "./editHistory.js";
20
+ import { HistoryRetentionScheduler } from "./historyRetention.js";
21
+ import { EditHistoryRetry } from "./editHistoryRetry.js";
19
22
  import { ProjectOutlineService } from "./projectOutline.js";
20
23
  import { MetricRegistry } from "./metrics.js";
21
24
  import { apiError, HttpError } from "./http.js";
@@ -49,6 +52,10 @@ export async function buildApp(config, db, options = {}) {
49
52
  const eventLoopDelay = monitorEventLoopDelay({ resolution: 20 });
50
53
  eventLoopDelay.enable();
51
54
  const history = new ProjectHistoryService(config, db);
55
+ const editHistory = new ProjectEditHistoryService(db, config.editHistoryMaxStorageBytes);
56
+ const historyRetention = new HistoryRetentionScheduler(history, {
57
+ onError: (error, projectId) => app.log.error({ err: error, projectId }, "Failed to enforce project history retention")
58
+ });
52
59
  const latexCompletions = new LatexCompletionService(config);
53
60
  const projectOutlines = new ProjectOutlineService(config);
54
61
  const harper = new HarperService();
@@ -56,18 +63,47 @@ export async function buildApp(config, db, options = {}) {
56
63
  // Probe the optional host Harper CLI without delaying startup. Its absence is
57
64
  // supported: the browser spellchecker remains the writing-check fallback.
58
65
  void harper.preload().catch((error) => app.log.info({ err: error }, "Optional Harper CLI is unavailable"));
66
+ const failedSnapshots = new Set();
67
+ const failedEdits = new Map();
68
+ const signalHistory = (id) => collaboration.setHistoryWarning(id, failedSnapshots.has(id) || failedEdits.has(id));
69
+ const editRetry = new EditHistoryRetry((id, edits) => editHistory.record(id, edits), (id) => Boolean(db.prepare("SELECT 1 FROM projects WHERE id = ?").get(id)), (id, state, error) => {
70
+ if (state === "discarded") {
71
+ failedEdits.delete(id);
72
+ failedSnapshots.delete(id);
73
+ signalHistory(id);
74
+ return;
75
+ }
76
+ if (failedEdits.get(id) !== "incomplete") {
77
+ if (state === "ok")
78
+ failedEdits.delete(id);
79
+ else
80
+ failedEdits.set(id, state);
81
+ }
82
+ if (error)
83
+ app.log.error({ err: error, projectId: id }, "Failed to record project edit history");
84
+ signalHistory(id);
85
+ });
59
86
  const recordHistory = (projectId, userId, reason, paths) => {
60
87
  try {
61
- return history.record(projectId, userId, reason, paths);
88
+ const version = history.record(projectId, userId, reason, failedSnapshots.has(projectId) ? undefined : paths, { deferRetention: reason === "autosave" });
89
+ if (failedSnapshots.delete(projectId))
90
+ signalHistory(projectId);
91
+ if (version && reason === "autosave")
92
+ historyRetention.schedule(projectId);
93
+ return version;
62
94
  }
63
95
  catch (error) {
96
+ failedSnapshots.add(projectId);
97
+ signalHistory(projectId);
64
98
  app.log.error({ err: error, projectId }, "Failed to record project history");
65
99
  return null;
66
100
  }
67
101
  };
68
- const collaboration = new CollaborationService(config, db, ({ projectId, userId, paths, durationMs }) => {
69
- metrics.record("collaboration.persist", durationMs);
102
+ const collaboration = new CollaborationService(config, db, ({ projectId, userId, paths, edits, durationMs }) => {
103
+ const started = performance.now();
104
+ editRetry.save(projectId, edits);
70
105
  recordHistory(projectId, userId, "autosave", paths);
106
+ metrics.record("collaboration.persist", durationMs + performance.now() - started);
71
107
  });
72
108
  const projectMutations = new ProjectMutationCoordinator(collaboration);
73
109
  const projectGit = new ProjectGitService(config, db, options.githubFetch);
@@ -103,11 +139,14 @@ export async function buildApp(config, db, options = {}) {
103
139
  await pruneTrashDirectory(config);
104
140
  for (const row of db.prepare("SELECT id FROM projects").all()) {
105
141
  history.enforceRetention(row.id);
142
+ editHistory.enforceRetention(row.id);
106
143
  pruneCompileRuns(row.id);
107
144
  pruneOrphanedCompileRuns(config, row.id);
108
145
  }
109
146
  app.addHook("onClose", async () => {
110
147
  eventLoopDelay.disable();
148
+ historyRetention.dispose();
149
+ editRetry.dispose();
111
150
  await harper.dispose();
112
151
  await texcount.dispose();
113
152
  });
@@ -187,7 +226,9 @@ export async function buildApp(config, db, options = {}) {
187
226
  metrics,
188
227
  recordHistory
189
228
  });
190
- registerProjectHistoryRoutes(app, { config, db, history, projectMutations, recordHistory });
229
+ registerProjectHistoryRoutes(app, { config, db, history, editHistory, projectMutations, recordHistory,
230
+ clearPendingEdits: (id) => { editRetry.clear(id); failedEdits.delete(id); signalHistory(id); },
231
+ scheduleHistoryRetention: (id) => historyRetention.schedule(id) });
191
232
  registerProjectGitRoutes(app, { config, db, collaboration, projectMutations, projectGit, recordHistory });
192
233
  registerProjectCatalogRoutes(app, {
193
234
  config,
@@ -117,6 +117,9 @@ function writeInitialConfig(configPath, siteName, adminEmail) {
117
117
  maxVersions: CONFIG_DEFAULTS.historyMaxVersions,
118
118
  maxStorageMB: CONFIG_DEFAULTS.historyMaxStorageMB
119
119
  },
120
+ editHistory: {
121
+ maxStorageMB: CONFIG_DEFAULTS.editHistoryMaxStorageMB
122
+ },
120
123
  git: {
121
124
  binary: CONFIG_DEFAULTS.git,
122
125
  operationTimeoutSeconds: CONFIG_DEFAULTS.gitOperationTimeoutSeconds,
@@ -289,6 +292,7 @@ async function printConfig(options) {
289
292
  pdfRangeThresholdMB: config.pdfRangeThresholdBytes / (1024 * 1024),
290
293
  historyMaxVersions: config.historyMaxVersions,
291
294
  historyMaxStorageBytes: config.historyMaxStorageBytes,
295
+ editHistoryMaxStorageBytes: config.editHistoryMaxStorageBytes,
292
296
  git: config.git
293
297
  }, null, 2));
294
298
  }
@@ -9,8 +9,9 @@ import * as decoding from "lib0/decoding";
9
9
  import * as syncProtocol from "y-protocols/sync";
10
10
  import { Awareness, applyAwarenessUpdate, encodeAwarenessUpdate, modifyAwarenessUpdate, removeAwarenessStates } from "y-protocols/awareness";
11
11
  import { listProjectFilesAsync, outputRoot, resolveSourcePath, safeRelativePath, sourceRoot } from "./files.js";
12
- import { accessibleProject, canEdit } from "./projects.js";
12
+ import { collaborationProjectAccessFromStatement, canEdit, prepareCollaborationProjectAccessStatement } from "./projects.js";
13
13
  import { reanchorFileComments } from "./anchors.js";
14
+ import { hashText } from "./editHistory.js";
14
15
  const MESSAGE_SYNC = 0;
15
16
  const MESSAGE_AWARENESS = 1;
16
17
  const MESSAGE_QUERY_AWARENESS = 3;
@@ -43,11 +44,17 @@ const STATE_SAVE_DELAY_MS = 750;
43
44
  const ROOM_IDLE_MS = 30_000;
44
45
  const FORMAT_LEASE_TTL_MS = 45_000;
45
46
  const MAX_FORMAT_LEASE_WAITERS = MAX_PROJECT_SESSIONS * 2;
47
+ // A normal typing burst produces a few small Yjs updates. Keep adjacent
48
+ // updates from the same user together without ever merging across another
49
+ // collaborator's edit, so the resulting record remains attributable.
50
+ const EDIT_SEGMENT_IDLE_MS = 30_000;
51
+ const MAX_EDIT_SPANS_PER_STEP = 96;
52
+ const MAX_EDIT_PREVIEW_CHARS = 1_200;
46
53
  // Completion notifications are useful only to browsers that were already
47
54
  // present when the operation finished. The database and retained manifests
48
55
  // are the authority for a later workspace open.
49
56
  const COMPLETED_COMPILE_STATE_TTL_MS = 60_000;
50
- const EPHEMERAL_META_KEYS = ["compileStates", "filesEvent", "commentsRevision", "dictionaryRevision"];
57
+ const EPHEMERAL_META_KEYS = ["compileStates", "filesEvent", "commentsRevision", "dictionaryRevision", "historyWarning"];
51
58
  const COLORS = [
52
59
  ["#1677c8", "#1677c833"], ["#d65745", "#d6574533"], ["#16866a", "#16866a33"],
53
60
  ["#9a58b5", "#9a58b533"], ["#d27b18", "#d27b1833"], ["#3f7d20", "#3f7d2033"],
@@ -64,18 +71,27 @@ export class CollaborationService {
64
71
  projectGenerations = new Map();
65
72
  snapshotBarriers = new Map();
66
73
  pendingConnections = new Map();
74
+ /** Transient server-side status, restored into each newly opened room. */
75
+ historyWarnings = new Set();
67
76
  closed = false;
77
+ userByIdStatement;
78
+ collaborationProjectAccessStatement;
68
79
  constructor(config, db, onPersist) {
69
80
  this.config = config;
70
81
  this.db = db;
71
82
  this.onPersist = onPersist;
83
+ this.userByIdStatement = db.prepare("SELECT * FROM users WHERE id = ?");
84
+ this.collaborationProjectAccessStatement = prepareCollaborationProjectAccessStatement(db);
85
+ }
86
+ lookupProjectAccess(projectId, user) {
87
+ return collaborationProjectAccessFromStatement(this.collaborationProjectAccessStatement, projectId, user);
72
88
  }
73
89
  async connect(socket, projectId, user) {
74
90
  if (this.closed) {
75
91
  socket.close(1012, "Collaboration service is shutting down");
76
92
  return;
77
93
  }
78
- const project = accessibleProject(this.db, projectId, user);
94
+ const project = this.lookupProjectAccess(projectId, user);
79
95
  if (!project) {
80
96
  socket.close(1008, "Project access denied");
81
97
  return;
@@ -390,6 +406,16 @@ export class CollaborationService {
390
406
  const filePath = filePathInput ? safeRelativePath(filePathInput) : "";
391
407
  this.bumpFiles(room, { kind: "update", path: filePath });
392
408
  }
409
+ setHistoryWarning(projectId, warning) {
410
+ if (warning)
411
+ this.historyWarnings.add(projectId);
412
+ else
413
+ this.historyWarnings.delete(projectId);
414
+ const room = this.rooms.get(projectId);
415
+ if (!room || room.meta.get("historyWarning") === warning)
416
+ return;
417
+ room.doc.transact(() => room.meta.set("historyWarning", warning), META_ORIGIN);
418
+ }
393
419
  signalComments(projectId) {
394
420
  const room = this.rooms.get(projectId);
395
421
  if (!room)
@@ -558,6 +584,7 @@ export class CollaborationService {
558
584
  this.roomInitializations.clear();
559
585
  this.snapshotBarriers.clear();
560
586
  this.pendingConnections.clear();
587
+ this.historyWarnings.clear();
561
588
  }
562
589
  initializeRoom(projectId, generation) {
563
590
  const existing = this.rooms.get(projectId);
@@ -677,7 +704,9 @@ export class CollaborationService {
677
704
  awarenessOwners: new Map(),
678
705
  allowedPaths: new Set(),
679
706
  persistedContent: new Map(),
707
+ observedContent: new Map(),
680
708
  dirtyPaths: new Set(),
709
+ pendingEditSegments: [],
681
710
  textObservers: new Map(),
682
711
  saveTimer: null,
683
712
  stateSaveTimer: null,
@@ -700,6 +729,12 @@ export class CollaborationService {
700
729
  // longer exists. The database/source tree are authoritative after a
701
730
  // restart; clear the markers before any browser can sync them back.
702
731
  const recoveredMetadataChanged = bootstrap.recoveredState && this.clearRecoveredMetadata(room);
732
+ // History bookkeeping is not stored in a project Yjs document, but a
733
+ // temporary failure must remain visible if its room was idled out before
734
+ // the editor reconnects.
735
+ if (this.historyWarnings.has(projectId)) {
736
+ room.doc.transact(() => room.meta.set("historyWarning", true), META_ORIGIN);
737
+ }
703
738
  this.sanitizeCompileStates(room);
704
739
  let recoveredDirty = false;
705
740
  const diskPaths = new Set();
@@ -720,13 +755,17 @@ export class CollaborationService {
720
755
  else {
721
756
  replaceText(text, file.content);
722
757
  }
758
+ room.observedContent.set(file.path, text.toString());
723
759
  }
724
760
  for (const name of room.doc.share.keys()) {
725
761
  if (!name.startsWith(SOURCE_PREFIX))
726
762
  continue;
727
763
  const filePath = name.slice(SOURCE_PREFIX.length);
728
- if (!diskPaths.has(filePath))
729
- replaceText(room.doc.getText(name), "");
764
+ if (!diskPaths.has(filePath)) {
765
+ const text = room.doc.getText(name);
766
+ replaceText(text, "");
767
+ room.observedContent.set(filePath, text.toString());
768
+ }
730
769
  }
731
770
  }, DISK_ORIGIN);
732
771
  const rejectedRecoveredPaths = this.rejectOversizedTexts(room);
@@ -790,7 +829,7 @@ export class CollaborationService {
790
829
  attachConnection(room, socket, user) {
791
830
  if (socket.readyState !== WebSocket.OPEN)
792
831
  return;
793
- if (!accessibleProject(this.db, room.projectId, user)) {
832
+ if (!this.lookupProjectAccess(room.projectId, user)) {
794
833
  socket.close(1008, "Project access denied");
795
834
  return;
796
835
  }
@@ -832,9 +871,17 @@ export class CollaborationService {
832
871
  const text = room.doc.getText(typeName(filePath));
833
872
  if (room.textObservers.has(filePath))
834
873
  return text;
835
- const observer = (_event, transaction) => {
836
- if (transaction.origin === DISK_ORIGIN || transaction.origin === HTTP_ORIGIN || transaction.origin === META_ORIGIN)
874
+ const observer = (event, transaction) => {
875
+ const before = room.observedContent.get(filePath) ?? text.toString();
876
+ const after = text.toString();
877
+ if (transaction.origin === DISK_ORIGIN || transaction.origin === HTTP_ORIGIN || transaction.origin === META_ORIGIN) {
878
+ // Non-collaborative mutations deliberately reset the source chain.
879
+ // They are represented by recovery snapshots, not by a guessed user
880
+ // edit record; keeping this mirror current prevents later edits from
881
+ // being mapped across such a replacement.
882
+ room.observedContent.set(filePath, after);
837
883
  return;
884
+ }
838
885
  if (!room.allowedPaths.has(filePath)) {
839
886
  // A client can still have the old Y.Text bound briefly after another
840
887
  // session deletes or moves a file. Correct any late update immediately;
@@ -843,21 +890,69 @@ export class CollaborationService {
843
890
  room.doc.transact(() => replaceText(text, ""), DISK_ORIGIN);
844
891
  return;
845
892
  }
893
+ if (isConnectionOrigin(transaction.origin) && before !== after) {
894
+ const connection = transaction.origin;
895
+ this.recordEditStep(room, filePath, connection, event, before, after);
896
+ }
897
+ room.observedContent.set(filePath, after);
846
898
  room.dirtyPaths.add(filePath);
847
899
  };
848
900
  text.observe(observer);
849
901
  room.textObservers.set(filePath, observer);
850
902
  return text;
851
903
  }
904
+ /**
905
+ * Keep live collaborative changes in short, author-isolated segments. The
906
+ * segment is only handed to the history service after `flushRoom()` has
907
+ * made the matching source content durable.
908
+ */
909
+ recordEditStep(room, filePath, connection, event, before, after) {
910
+ const spans = editSpansFromYDelta(event.delta, before, after);
911
+ if (!spans.length)
912
+ return;
913
+ const createdAt = new Date().toISOString();
914
+ const activeLease = this.activeFormatLease(room, filePath);
915
+ const kind = activeLease?.connection === connection ? "format" : "edit";
916
+ const step = {
917
+ beforeHash: hashText(before),
918
+ afterHash: hashText(after),
919
+ createdAt,
920
+ spans
921
+ };
922
+ const previous = room.pendingEditSegments.at(-1);
923
+ const previousTime = previous ? Date.parse(previous.updatedAt) : Number.NaN;
924
+ if (previous
925
+ && previous.filePath === filePath
926
+ && previous.authorId === connection.user.id
927
+ && previous.kind === kind
928
+ && previous.afterHash === step.beforeHash
929
+ && Number.isFinite(previousTime)
930
+ && Date.parse(createdAt) - previousTime <= EDIT_SEGMENT_IDLE_MS) {
931
+ previous.steps.push(step);
932
+ previous.afterHash = step.afterHash;
933
+ previous.updatedAt = createdAt;
934
+ return;
935
+ }
936
+ room.pendingEditSegments.push({
937
+ filePath,
938
+ authorId: connection.user.id,
939
+ kind,
940
+ beforeHash: step.beforeHash,
941
+ afterHash: step.afterHash,
942
+ createdAt,
943
+ updatedAt: createdAt,
944
+ steps: [step]
945
+ });
946
+ }
852
947
  handleMessage(room, connection, bytes) {
853
- const refreshedUser = this.db.prepare("SELECT * FROM users WHERE id = ?").get(connection.user.id);
948
+ const refreshedUser = this.userByIdStatement.get(connection.user.id);
854
949
  if (!refreshedUser || refreshedUser.disabled) {
855
950
  connection.socket.close(1008, "Project access revoked");
856
951
  this.disconnect(room, connection);
857
952
  return;
858
953
  }
859
954
  connection.user = refreshedUser;
860
- const current = accessibleProject(this.db, room.projectId, refreshedUser);
955
+ const current = this.lookupProjectAccess(room.projectId, refreshedUser);
861
956
  if (!current) {
862
957
  connection.socket.close(1008, "Project access revoked");
863
958
  return;
@@ -1280,21 +1375,24 @@ export class CollaborationService {
1280
1375
  if (room.saveTimer)
1281
1376
  clearTimeout(room.saveTimer);
1282
1377
  room.saveTimer = null;
1283
- this.rejectOversizedTexts(room);
1378
+ const rejectedDuringFlush = this.rejectOversizedTexts(room);
1284
1379
  this.persistRoomState(room);
1285
1380
  let changed = false;
1286
1381
  const changedPaths = [];
1287
1382
  const failedPaths = [...room.rejectedPaths];
1383
+ const finalizedPaths = new Set(rejectedDuringFlush);
1288
1384
  const dirtyPaths = [...room.dirtyPaths];
1289
1385
  for (const filePath of dirtyPaths) {
1290
1386
  if (!room.allowedPaths.has(filePath)) {
1291
1387
  room.dirtyPaths.delete(filePath);
1388
+ finalizedPaths.add(filePath);
1292
1389
  continue;
1293
1390
  }
1294
1391
  const next = this.trackedText(room, filePath).toString();
1295
1392
  const previous = room.persistedContent.get(filePath) ?? "";
1296
1393
  if (next === previous) {
1297
1394
  room.dirtyPaths.delete(filePath);
1395
+ finalizedPaths.add(filePath);
1298
1396
  continue;
1299
1397
  }
1300
1398
  if (Buffer.byteLength(next, "utf8") > maxCollaborativeFileBytes(this.config)) {
@@ -1321,6 +1419,7 @@ export class CollaborationService {
1321
1419
  }
1322
1420
  room.persistedContent.set(filePath, next);
1323
1421
  room.dirtyPaths.delete(filePath);
1422
+ finalizedPaths.add(filePath);
1324
1423
  try {
1325
1424
  reanchorFileComments(this.db, room.projectId, filePath, previous, next);
1326
1425
  }
@@ -1328,6 +1427,13 @@ export class CollaborationService {
1328
1427
  changed = true;
1329
1428
  changedPaths.push(filePath);
1330
1429
  }
1430
+ const persistedPaths = new Set(changedPaths);
1431
+ const edits = room.pendingEditSegments.filter((segment) => persistedPaths.has(segment.filePath));
1432
+ // A reverted edit or rejected oversized file did not produce a durable
1433
+ // source revision, so it must not become a misleading edit-history row.
1434
+ if (finalizedPaths.size > 0) {
1435
+ room.pendingEditSegments = room.pendingEditSegments.filter((segment) => !finalizedPaths.has(segment.filePath));
1436
+ }
1331
1437
  if (changed && room.lastModifiedUserId) {
1332
1438
  this.db.prepare("UPDATE projects SET updated_at = ?, last_modified_by = ? WHERE id = ?")
1333
1439
  .run(new Date().toISOString(), room.lastModifiedUserId, room.projectId);
@@ -1336,7 +1442,7 @@ export class CollaborationService {
1336
1442
  this.signalComments(room.projectId);
1337
1443
  if (changed && this.onPersist) {
1338
1444
  try {
1339
- this.onPersist({ projectId: room.projectId, userId: room.lastModifiedUserId, paths: changedPaths, durationMs: performance.now() - startedAt });
1445
+ this.onPersist({ projectId: room.projectId, userId: room.lastModifiedUserId, paths: changedPaths, edits, durationMs: performance.now() - startedAt });
1340
1446
  }
1341
1447
  catch { /* Source durability must not depend on optional history bookkeeping. */ }
1342
1448
  }
@@ -1513,6 +1619,119 @@ function replaceText(text, content) {
1513
1619
  if (content)
1514
1620
  text.insert(0, content);
1515
1621
  }
1622
+ /**
1623
+ * Turn Y.Text's transaction delta into compact positional spans. We retain
1624
+ * lengths for exact range mapping, while previews keep a pasted/formatter
1625
+ * change from turning the edit-history database into a second source store.
1626
+ */
1627
+ function editSpansFromYDelta(delta, before, after) {
1628
+ if (before === after)
1629
+ return [];
1630
+ let beforeOffset = 0;
1631
+ let afterOffset = 0;
1632
+ let invalid = false;
1633
+ const spans = [];
1634
+ let pending = null;
1635
+ const flushPending = () => {
1636
+ if (!pending)
1637
+ return;
1638
+ const deletedLength = pending.deleted.length;
1639
+ const insertedLength = pending.inserted.length;
1640
+ if (deletedLength || insertedLength) {
1641
+ spans.push(editSpan(pending.beforeStart, pending.beforeStart + deletedLength, pending.afterStart, pending.afterStart + insertedLength, pending.deleted, pending.inserted));
1642
+ }
1643
+ pending = null;
1644
+ };
1645
+ const startPending = () => {
1646
+ if (!pending)
1647
+ pending = { beforeStart: beforeOffset, afterStart: afterOffset, deleted: "", inserted: "" };
1648
+ return pending;
1649
+ };
1650
+ for (const raw of delta) {
1651
+ if (!raw || typeof raw !== "object") {
1652
+ invalid = true;
1653
+ break;
1654
+ }
1655
+ const operation = raw;
1656
+ if (typeof operation.retain === "number" && Number.isInteger(operation.retain) && operation.retain >= 0) {
1657
+ flushPending();
1658
+ beforeOffset += operation.retain;
1659
+ afterOffset += operation.retain;
1660
+ continue;
1661
+ }
1662
+ if (typeof operation.delete === "number" && Number.isInteger(operation.delete) && operation.delete >= 0) {
1663
+ const length = operation.delete;
1664
+ if (beforeOffset + length > before.length) {
1665
+ invalid = true;
1666
+ break;
1667
+ }
1668
+ startPending().deleted += before.slice(beforeOffset, beforeOffset + length);
1669
+ beforeOffset += length;
1670
+ continue;
1671
+ }
1672
+ if (typeof operation.insert === "string") {
1673
+ startPending().inserted += operation.insert;
1674
+ afterOffset += operation.insert.length;
1675
+ continue;
1676
+ }
1677
+ invalid = true;
1678
+ break;
1679
+ }
1680
+ flushPending();
1681
+ // Yjs normally emits retains for all unchanged text. Be defensive about
1682
+ // omitted trailing retains, then reject anything whose coordinate model does
1683
+ // not reconstruct the actual strings.
1684
+ const beforeRemaining = before.length - beforeOffset;
1685
+ const afterRemaining = after.length - afterOffset;
1686
+ if (beforeRemaining === afterRemaining && beforeRemaining >= 0) {
1687
+ beforeOffset = before.length;
1688
+ afterOffset = after.length;
1689
+ }
1690
+ if (invalid || beforeOffset !== before.length || afterOffset !== after.length || spans.length > MAX_EDIT_SPANS_PER_STEP) {
1691
+ return [wholeDocumentEditSpan(before, after)];
1692
+ }
1693
+ return spans.length ? spans : [wholeDocumentEditSpan(before, after)];
1694
+ }
1695
+ function wholeDocumentEditSpan(before, after) {
1696
+ const prefix = commonPrefixLength(before, after);
1697
+ const suffix = commonSuffixLength(before, after, prefix);
1698
+ return editSpan(prefix, before.length - suffix, prefix, after.length - suffix, before.slice(prefix, before.length - suffix), after.slice(prefix, after.length - suffix));
1699
+ }
1700
+ function editSpan(beforeStart, beforeEnd, afterStart, afterEnd, deleted, inserted) {
1701
+ const deletedPreview = previewEditText(deleted);
1702
+ const insertedPreview = previewEditText(inserted);
1703
+ return {
1704
+ beforeStart,
1705
+ beforeEnd,
1706
+ afterStart,
1707
+ afterEnd,
1708
+ deletedLength: deleted.length,
1709
+ insertedLength: inserted.length,
1710
+ deletedPreview,
1711
+ insertedPreview,
1712
+ truncated: deletedPreview.length < deleted.length || insertedPreview.length < inserted.length
1713
+ };
1714
+ }
1715
+ function previewEditText(value) {
1716
+ if (value.length <= MAX_EDIT_PREVIEW_CHARS)
1717
+ return value;
1718
+ const edge = Math.floor((MAX_EDIT_PREVIEW_CHARS - 1) / 2);
1719
+ return `${value.slice(0, edge)}…${value.slice(value.length - edge)}`;
1720
+ }
1721
+ function commonPrefixLength(left, right) {
1722
+ const max = Math.min(left.length, right.length);
1723
+ let index = 0;
1724
+ while (index < max && left.charCodeAt(index) === right.charCodeAt(index))
1725
+ index += 1;
1726
+ return index;
1727
+ }
1728
+ function commonSuffixLength(left, right, prefixLength) {
1729
+ const max = Math.min(left.length, right.length) - prefixLength;
1730
+ let index = 0;
1731
+ while (index < max && left.charCodeAt(left.length - 1 - index) === right.charCodeAt(right.length - 1 - index))
1732
+ index += 1;
1733
+ return index;
1734
+ }
1516
1735
  function syncUpdateMessage(update) {
1517
1736
  const encoder = encoding.createEncoder();
1518
1737
  encoding.writeVarUint(encoder, MESSAGE_SYNC);
@@ -0,0 +1,139 @@
1
+ import { randomUUID } from "node:crypto";
2
+ /**
3
+ * List active users who can access a project. The owner is included even
4
+ * though they have no project_members row. Callers can exclude the author
5
+ * when presenting a mention picker.
6
+ */
7
+ export function mentionableUsersForProject(db, projectId, excludeUserId) {
8
+ const exclusion = excludeUserId ? "AND user.id <> ?" : "";
9
+ const parameters = excludeUserId ? [projectId, excludeUserId] : [projectId];
10
+ const rows = db.prepare(`SELECT DISTINCT user.id, user.username, user.display_name
11
+ FROM users user
12
+ JOIN projects project ON project.id = ?
13
+ LEFT JOIN project_members member ON member.project_id = project.id AND member.user_id = user.id
14
+ WHERE user.disabled = 0
15
+ AND (user.id = project.owner_id OR member.user_id IS NOT NULL)
16
+ ${exclusion}
17
+ ORDER BY user.display_name COLLATE NOCASE, user.username COLLATE NOCASE`)
18
+ .all(...parameters);
19
+ return rows.map((user) => ({ id: user.id, username: user.username, displayName: user.display_name }));
20
+ }
21
+ /**
22
+ * Extract mention tokens without taking ownership of ordinary `@` text.
23
+ * The surrounding-character rule intentionally excludes e-mail addresses;
24
+ * the candidate lookup below then makes a token a mention only when it is an
25
+ * exact, currently accessible username.
26
+ */
27
+ export function mentionedUsernames(content, candidates) {
28
+ const available = new Map(candidates.map((candidate) => [candidate.username.toLocaleLowerCase(), candidate.username]));
29
+ const usernames = new Set();
30
+ const pattern = /(^|[^\p{L}\p{N}_.-])@([\p{L}\p{N}_.-]+)/gu;
31
+ for (const match of content.matchAll(pattern)) {
32
+ let token = match[2];
33
+ let username = available.get(token.toLocaleLowerCase());
34
+ // A sentence-ending period or comma is not part of the mention, even
35
+ // though a username itself is allowed to contain dots and hyphens.
36
+ while (!username && /[.,;:!?)}\]\u201d\u2019]$/u.test(token)) {
37
+ token = token.slice(0, -1);
38
+ username = available.get(token.toLocaleLowerCase());
39
+ }
40
+ if (username)
41
+ usernames.add(username);
42
+ }
43
+ return [...usernames];
44
+ }
45
+ /** Persist first-class notifications for exact mentions in one comment item. */
46
+ export function createCommentMentions(db, input) {
47
+ const candidates = mentionableUsersForProject(db, input.projectId);
48
+ const previousUsernames = new Set(input.previousContent ? mentionedUsernames(input.previousContent, candidates) : []);
49
+ const recipients = mentionedUsernames(input.content, candidates)
50
+ .map((username) => candidates.find((candidate) => candidate.username === username))
51
+ .filter((candidate) => Boolean(candidate && candidate.id !== input.authorId && !previousUsernames.has(candidate.username)));
52
+ if (!recipients.length)
53
+ return;
54
+ const insert = db.prepare(`INSERT INTO comment_mentions
55
+ (id, project_id, comment_id, reply_id, mentioned_user_id, mentioned_by_user_id, created_at)
56
+ VALUES (?, ?, ?, ?, ?, ?, ?)
57
+ ON CONFLICT DO UPDATE SET
58
+ mentioned_by_user_id = excluded.mentioned_by_user_id,
59
+ created_at = excluded.created_at,
60
+ read_at = NULL,
61
+ read_reason = NULL`);
62
+ for (const recipient of recipients) {
63
+ insert.run(randomUUID(), input.projectId, input.commentId, input.replyId ?? null, recipient.id, input.authorId, input.createdAt);
64
+ }
65
+ }
66
+ /** Return unread mention counts scoped to one receiving user. */
67
+ export function unreadMentionCountsForProjects(db, projectIds, userId) {
68
+ const counts = new Map();
69
+ for (let offset = 0; offset < projectIds.length; offset += 200) {
70
+ const chunk = projectIds.slice(offset, offset + 200);
71
+ const placeholders = chunk.map(() => "?").join(", ");
72
+ const rows = db.prepare(`SELECT project_id, COUNT(*) AS count
73
+ FROM comment_mentions
74
+ WHERE mentioned_user_id = ? AND read_at IS NULL AND project_id IN (${placeholders})
75
+ GROUP BY project_id`).all(userId, ...chunk);
76
+ for (const row of rows)
77
+ counts.set(row.project_id, Number(row.count) || 0);
78
+ }
79
+ return counts;
80
+ }
81
+ function mentionFromRow(row) {
82
+ return {
83
+ id: row.id,
84
+ projectId: row.project_id,
85
+ commentId: row.comment_id,
86
+ replyId: row.reply_id,
87
+ filePath: row.file_path,
88
+ content: row.reply_id ? row.reply_content ?? "" : row.comment_content,
89
+ resolved: Boolean(row.resolved),
90
+ createdAt: row.created_at,
91
+ readAt: row.read_at,
92
+ readReason: row.read_reason
93
+ };
94
+ }
95
+ const mentionSelect = `SELECT mention.id, mention.project_id, mention.comment_id, mention.reply_id,
96
+ comment.file_path, comment.content AS comment_content, reply.content AS reply_content,
97
+ comment.resolved, mention.created_at, mention.read_at, mention.read_reason
98
+ FROM comment_mentions mention
99
+ JOIN comments comment ON comment.id = mention.comment_id
100
+ LEFT JOIN comment_replies reply ON reply.id = mention.reply_id`;
101
+ export function listCommentMentions(db, projectId, userId, options = {}) {
102
+ const limit = Math.min(100, Math.max(1, options.limit ?? 50));
103
+ const unreadClause = options.unreadOnly ? "AND mention.read_at IS NULL" : "";
104
+ const fileClause = options.filePath ? "AND comment.file_path = ?" : "";
105
+ const parameters = options.filePath
106
+ ? [projectId, userId, options.filePath, limit]
107
+ : [projectId, userId, limit];
108
+ const rows = db.prepare(`${mentionSelect}
109
+ WHERE mention.project_id = ? AND mention.mentioned_user_id = ? ${unreadClause} ${fileClause}
110
+ ORDER BY mention.created_at DESC LIMIT ?`).all(...parameters);
111
+ return rows.map(mentionFromRow);
112
+ }
113
+ export function commentMentionForUser(db, mentionId, projectId, userId) {
114
+ const row = db.prepare(`${mentionSelect}
115
+ WHERE mention.id = ? AND mention.project_id = ? AND mention.mentioned_user_id = ?`)
116
+ .get(mentionId, projectId, userId);
117
+ return row ? mentionFromRow(row) : null;
118
+ }
119
+ /** Mark an item read after the UI has opened and located its target thread. */
120
+ export function markCommentMentionRead(db, mentionId, userId, readAt, reason = "opened") {
121
+ return db.prepare(`UPDATE comment_mentions
122
+ SET read_at = ?, read_reason = ?
123
+ WHERE id = ? AND mentioned_user_id = ? AND read_at IS NULL`)
124
+ .run(readAt, reason, mentionId, userId).changes > 0;
125
+ }
126
+ /** Explicitly clear every unread notification in a project for one recipient. */
127
+ export function markAllCommentMentionsRead(db, projectId, userId, readAt) {
128
+ return db.prepare(`UPDATE comment_mentions
129
+ SET read_at = ?, read_reason = 'manual'
130
+ WHERE project_id = ? AND mentioned_user_id = ? AND read_at IS NULL`)
131
+ .run(readAt, projectId, userId).changes;
132
+ }
133
+ /** Resolving a thread makes all existing unread mentions in it non-actionable. */
134
+ export function markCommentMentionsResolved(db, commentId, resolvedAt) {
135
+ return db.prepare(`UPDATE comment_mentions
136
+ SET read_at = ?, read_reason = 'resolved'
137
+ WHERE comment_id = ? AND read_at IS NULL`)
138
+ .run(resolvedAt, commentId).changes;
139
+ }