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.
- package/DESIGN.md +83 -9
- package/OPERATIONS.md +19 -2
- package/dist/client/assets/AdminUsers-3CHb5012.js +1 -0
- package/dist/client/assets/CitationLibraryDialog-zPpsUhWJ.js +1 -0
- package/dist/client/assets/Dashboard-CWfSLzD3.js +2 -0
- package/dist/client/assets/GitDialog-BUU2U_LV.js +3 -0
- package/dist/client/assets/HistoryDialog-B6aopsrw.js +7 -0
- package/dist/client/assets/{LatexEditor-2BD2xa8h.js → LatexEditor-CM445Tk0.js} +2 -2
- package/dist/client/assets/PdfPreview-BFVNczSk.js +1 -0
- package/dist/client/assets/ProjectIconPickerDialog-Cf0zBf8u.js +1 -0
- package/dist/client/assets/ProjectNavigationDialogs-TPbe11iR.js +1 -0
- package/dist/client/assets/ProjectSettings-CDQvIlQ4.js +1 -0
- package/dist/client/assets/ProjectWorkspace-C6GrvKN6.js +27 -0
- package/dist/client/assets/SelectionHistoryDialog-CyE0_YDs.js +3 -0
- package/dist/client/assets/SystemMetricsDialog-CuqHPUnn.js +1 -0
- package/dist/client/assets/TagManagementDialog-gRLM3lLx.js +1 -0
- package/dist/client/assets/WordCountDialog-B4PI0vEk.js +1 -0
- package/dist/client/assets/check-BXvzrdoz.js +1 -0
- package/dist/client/assets/chevron-left-BB5MYb7g.js +1 -0
- package/dist/client/assets/citationLibrary-ZeQPCv5O.js +26 -0
- package/dist/client/assets/hard-drive-6uYFyezl.js +1 -0
- package/dist/client/assets/index-BRT5O-Hg.js +5 -0
- package/dist/client/assets/index-C0t11tlT.js +14 -0
- package/dist/client/assets/index-DXWp2bzM.css +1 -0
- package/dist/client/assets/key-round-DOAxDSfz.js +1 -0
- package/dist/client/assets/minimize-2-BWtbag2I.js +1 -0
- package/dist/client/assets/{minus-DK3ejRQp.js → minus-9eVJnugf.js} +1 -1
- package/dist/client/assets/plus-BGXipRoG.js +1 -0
- package/dist/client/assets/{react-BoEjKzFZ.js → react-BVUjbTTn.js} +1 -1
- package/dist/client/assets/refresh-cw-Dvp3O90f.js +1 -0
- package/dist/client/assets/search-b1ORp1k8.js +1 -0
- package/dist/client/assets/sigma-Bk0_MzWi.js +1 -0
- package/dist/client/assets/{spellCheck-BAgtQ60E.js → spellCheck-BJjWgnef.js} +1 -1
- package/dist/client/assets/tags-JAkbmWns.js +1 -0
- package/dist/client/assets/type-CE2DYkPH.js +1 -0
- package/dist/client/assets/user-plus-CKalKSsw.js +1 -0
- package/dist/client/assets/x-Bq29njHL.js +1 -0
- package/dist/client/index.html +3 -3
- package/dist/server/app.js +45 -4
- package/dist/server/cli.js +4 -0
- package/dist/server/collaboration.js +231 -12
- package/dist/server/commentMentions.js +139 -0
- package/dist/server/config.js +9 -2
- package/dist/server/db.js +63 -1
- package/dist/server/editHistory.js +411 -0
- package/dist/server/editHistoryRetry.js +90 -0
- package/dist/server/history.js +136 -20
- package/dist/server/historyRetention.js +37 -0
- package/dist/server/i18n.js +4 -0
- package/dist/server/index.js +6 -0
- package/dist/server/latexCompletion.js +37 -10
- package/dist/server/logRotation.js +82 -0
- package/dist/server/lucideIcons.js +37 -38
- package/dist/server/pm2.js +7 -0
- package/dist/server/projects.js +34 -12
- package/dist/server/routes/comments.js +107 -16
- package/dist/server/routes/projectHistory.js +93 -7
- package/dist/server/routes/projectShared.js +2 -1
- package/dist/server/routes/projects.js +3 -1
- package/dist/shared/lucide-icons/a-arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/a-arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/a-large-small.svg +1 -0
- package/dist/shared/lucide-icons/accessibility.svg +1 -0
- package/dist/shared/lucide-icons/activity.svg +1 -0
- package/dist/shared/lucide-icons/air-vent.svg +1 -0
- package/dist/shared/lucide-icons/airplay.svg +1 -0
- package/dist/shared/lucide-icons/alarm-clock-check.svg +1 -0
- package/dist/shared/lucide-icons/alarm-clock-minus.svg +1 -0
- package/dist/shared/lucide-icons/alarm-clock-off.svg +1 -0
- package/dist/shared/lucide-icons/alarm-clock-plus.svg +1 -0
- package/dist/shared/lucide-icons/alarm-clock.svg +1 -0
- package/dist/shared/lucide-icons/alarm-smoke.svg +1 -0
- package/dist/shared/lucide-icons/album.svg +1 -0
- package/dist/shared/lucide-icons/align-center-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/align-center-vertical.svg +1 -0
- package/dist/shared/lucide-icons/align-center.svg +1 -0
- package/dist/shared/lucide-icons/align-end-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/align-end-vertical.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-distribute-center.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-distribute-end.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-distribute-start.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-justify-center.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-justify-end.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-justify-start.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-space-around.svg +1 -0
- package/dist/shared/lucide-icons/align-horizontal-space-between.svg +1 -0
- package/dist/shared/lucide-icons/align-justify.svg +1 -0
- package/dist/shared/lucide-icons/align-left.svg +1 -0
- package/dist/shared/lucide-icons/align-right.svg +1 -0
- package/dist/shared/lucide-icons/align-start-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/align-start-vertical.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-distribute-center.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-distribute-end.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-distribute-start.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-justify-center.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-justify-end.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-justify-start.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-space-around.svg +1 -0
- package/dist/shared/lucide-icons/align-vertical-space-between.svg +1 -0
- package/dist/shared/lucide-icons/ambulance.svg +1 -0
- package/dist/shared/lucide-icons/ampersand.svg +1 -0
- package/dist/shared/lucide-icons/ampersands.svg +1 -0
- package/dist/shared/lucide-icons/amphora.svg +1 -0
- package/dist/shared/lucide-icons/anchor.svg +1 -0
- package/dist/shared/lucide-icons/angry.svg +1 -0
- package/dist/shared/lucide-icons/annoyed.svg +1 -0
- package/dist/shared/lucide-icons/antenna.svg +1 -0
- package/dist/shared/lucide-icons/anvil.svg +1 -0
- package/dist/shared/lucide-icons/aperture.svg +1 -0
- package/dist/shared/lucide-icons/app-window-mac.svg +1 -0
- package/dist/shared/lucide-icons/app-window.svg +1 -0
- package/dist/shared/lucide-icons/apple.svg +1 -0
- package/dist/shared/lucide-icons/archive-restore.svg +1 -0
- package/dist/shared/lucide-icons/archive-x.svg +1 -0
- package/dist/shared/lucide-icons/archive.svg +1 -0
- package/dist/shared/lucide-icons/armchair.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-down-dash.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-down.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-left-dash.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-left.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-right-dash.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-right.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-up-dash.svg +1 -0
- package/dist/shared/lucide-icons/arrow-big-up.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-az.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-from-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-left.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-narrow-wide.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-right.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-to-dot.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-to-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-up.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-wide-narrow.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down-za.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down01.svg +1 -0
- package/dist/shared/lucide-icons/arrow-down10.svg +1 -0
- package/dist/shared/lucide-icons/arrow-left-from-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-left-right.svg +1 -0
- package/dist/shared/lucide-icons/arrow-left-to-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-left.svg +1 -0
- package/dist/shared/lucide-icons/arrow-right-from-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-right-left.svg +1 -0
- package/dist/shared/lucide-icons/arrow-right-to-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-right.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-az.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-down.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-from-dot.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-from-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-left.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-narrow-wide.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-right.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-to-line.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-wide-narrow.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up-za.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up01.svg +1 -0
- package/dist/shared/lucide-icons/arrow-up10.svg +1 -0
- package/dist/shared/lucide-icons/arrows-up-from-line.svg +1 -0
- package/dist/shared/lucide-icons/asterisk.svg +1 -0
- package/dist/shared/lucide-icons/at-sign.svg +1 -0
- package/dist/shared/lucide-icons/atom.svg +1 -0
- package/dist/shared/lucide-icons/audio-lines.svg +1 -0
- package/dist/shared/lucide-icons/audio-waveform.svg +1 -0
- package/dist/shared/lucide-icons/award.svg +1 -0
- package/dist/shared/lucide-icons/axe.svg +1 -0
- package/dist/shared/lucide-icons/axis3d.svg +1 -0
- package/dist/shared/lucide-icons/baby.svg +1 -0
- package/dist/shared/lucide-icons/backpack.svg +1 -0
- package/dist/shared/lucide-icons/badge-alert.svg +1 -0
- package/dist/shared/lucide-icons/badge-cent.svg +1 -0
- package/dist/shared/lucide-icons/badge-check.svg +1 -0
- package/dist/shared/lucide-icons/badge-dollar-sign.svg +1 -0
- package/dist/shared/lucide-icons/badge-euro.svg +1 -0
- package/dist/shared/lucide-icons/badge-help.svg +1 -0
- package/dist/shared/lucide-icons/badge-indian-rupee.svg +1 -0
- package/dist/shared/lucide-icons/badge-info.svg +1 -0
- package/dist/shared/lucide-icons/badge-japanese-yen.svg +1 -0
- package/dist/shared/lucide-icons/badge-minus.svg +1 -0
- package/dist/shared/lucide-icons/badge-percent.svg +1 -0
- package/dist/shared/lucide-icons/badge-plus.svg +1 -0
- package/dist/shared/lucide-icons/badge-pound-sterling.svg +1 -0
- package/dist/shared/lucide-icons/badge-russian-ruble.svg +1 -0
- package/dist/shared/lucide-icons/badge-swiss-franc.svg +1 -0
- package/dist/shared/lucide-icons/badge-x.svg +1 -0
- package/dist/shared/lucide-icons/badge.svg +1 -0
- package/dist/shared/lucide-icons/baggage-claim.svg +1 -0
- package/dist/shared/lucide-icons/ban.svg +1 -0
- package/dist/shared/lucide-icons/banana.svg +1 -0
- package/dist/shared/lucide-icons/bandage.svg +1 -0
- package/dist/shared/lucide-icons/banknote.svg +1 -0
- package/dist/shared/lucide-icons/barcode.svg +1 -0
- package/dist/shared/lucide-icons/baseline.svg +1 -0
- package/dist/shared/lucide-icons/bath.svg +1 -0
- package/dist/shared/lucide-icons/battery-charging.svg +1 -0
- package/dist/shared/lucide-icons/battery-full.svg +1 -0
- package/dist/shared/lucide-icons/battery-low.svg +1 -0
- package/dist/shared/lucide-icons/battery-medium.svg +1 -0
- package/dist/shared/lucide-icons/battery-warning.svg +1 -0
- package/dist/shared/lucide-icons/battery.svg +1 -0
- package/dist/shared/lucide-icons/beaker.svg +1 -0
- package/dist/shared/lucide-icons/bean-off.svg +1 -0
- package/dist/shared/lucide-icons/bean.svg +1 -0
- package/dist/shared/lucide-icons/bed-double.svg +1 -0
- package/dist/shared/lucide-icons/bed-single.svg +1 -0
- package/dist/shared/lucide-icons/bed.svg +1 -0
- package/dist/shared/lucide-icons/beef.svg +1 -0
- package/dist/shared/lucide-icons/beer-off.svg +1 -0
- package/dist/shared/lucide-icons/beer.svg +1 -0
- package/dist/shared/lucide-icons/bell-dot.svg +1 -0
- package/dist/shared/lucide-icons/bell-electric.svg +1 -0
- package/dist/shared/lucide-icons/bell-minus.svg +1 -0
- package/dist/shared/lucide-icons/bell-off.svg +1 -0
- package/dist/shared/lucide-icons/bell-plus.svg +1 -0
- package/dist/shared/lucide-icons/bell-ring.svg +1 -0
- package/dist/shared/lucide-icons/bell.svg +1 -0
- package/dist/shared/lucide-icons/between-horizontal-end.svg +1 -0
- package/dist/shared/lucide-icons/between-horizontal-start.svg +1 -0
- package/dist/shared/lucide-icons/between-vertical-end.svg +1 -0
- package/dist/shared/lucide-icons/between-vertical-start.svg +1 -0
- package/dist/shared/lucide-icons/biceps-flexed.svg +1 -0
- package/dist/shared/lucide-icons/bike.svg +1 -0
- package/dist/shared/lucide-icons/binary.svg +1 -0
- package/dist/shared/lucide-icons/binoculars.svg +1 -0
- package/dist/shared/lucide-icons/biohazard.svg +1 -0
- package/dist/shared/lucide-icons/bird.svg +1 -0
- package/dist/shared/lucide-icons/bitcoin.svg +1 -0
- package/dist/shared/lucide-icons/blend.svg +1 -0
- package/dist/shared/lucide-icons/blinds.svg +1 -0
- package/dist/shared/lucide-icons/blocks.svg +1 -0
- package/dist/shared/lucide-icons/bluetooth-connected.svg +1 -0
- package/dist/shared/lucide-icons/bluetooth-off.svg +1 -0
- package/dist/shared/lucide-icons/bluetooth-searching.svg +1 -0
- package/dist/shared/lucide-icons/bluetooth.svg +1 -0
- package/dist/shared/lucide-icons/bold.svg +1 -0
- package/dist/shared/lucide-icons/bolt.svg +1 -0
- package/dist/shared/lucide-icons/bomb.svg +1 -0
- package/dist/shared/lucide-icons/bone.svg +1 -0
- package/dist/shared/lucide-icons/book-a.svg +1 -0
- package/dist/shared/lucide-icons/book-audio.svg +1 -0
- package/dist/shared/lucide-icons/book-check.svg +1 -0
- package/dist/shared/lucide-icons/book-copy.svg +1 -0
- package/dist/shared/lucide-icons/book-dashed.svg +1 -0
- package/dist/shared/lucide-icons/book-down.svg +1 -0
- package/dist/shared/lucide-icons/book-headphones.svg +1 -0
- package/dist/shared/lucide-icons/book-heart.svg +1 -0
- package/dist/shared/lucide-icons/book-image.svg +1 -0
- package/dist/shared/lucide-icons/book-key.svg +1 -0
- package/dist/shared/lucide-icons/book-lock.svg +1 -0
- package/dist/shared/lucide-icons/book-marked.svg +1 -0
- package/dist/shared/lucide-icons/book-minus.svg +1 -0
- package/dist/shared/lucide-icons/book-open-check.svg +1 -0
- package/dist/shared/lucide-icons/book-open-text.svg +1 -0
- package/dist/shared/lucide-icons/book-open.svg +1 -0
- package/dist/shared/lucide-icons/book-plus.svg +1 -0
- package/dist/shared/lucide-icons/book-text.svg +1 -0
- package/dist/shared/lucide-icons/book-type.svg +1 -0
- package/dist/shared/lucide-icons/book-up.svg +1 -0
- package/dist/shared/lucide-icons/book-up2.svg +1 -0
- package/dist/shared/lucide-icons/book-user.svg +1 -0
- package/dist/shared/lucide-icons/book-x.svg +1 -0
- package/dist/shared/lucide-icons/book.svg +1 -0
- package/dist/shared/lucide-icons/bookmark-check.svg +1 -0
- package/dist/shared/lucide-icons/bookmark-minus.svg +1 -0
- package/dist/shared/lucide-icons/bookmark-plus.svg +1 -0
- package/dist/shared/lucide-icons/bookmark-x.svg +1 -0
- package/dist/shared/lucide-icons/bookmark.svg +1 -0
- package/dist/shared/lucide-icons/boom-box.svg +1 -0
- package/dist/shared/lucide-icons/bot-message-square.svg +1 -0
- package/dist/shared/lucide-icons/bot-off.svg +1 -0
- package/dist/shared/lucide-icons/bot.svg +1 -0
- package/dist/shared/lucide-icons/box.svg +1 -0
- package/dist/shared/lucide-icons/boxes.svg +1 -0
- package/dist/shared/lucide-icons/braces.svg +1 -0
- package/dist/shared/lucide-icons/brackets.svg +1 -0
- package/dist/shared/lucide-icons/brain-circuit.svg +1 -0
- package/dist/shared/lucide-icons/brain-cog.svg +1 -0
- package/dist/shared/lucide-icons/brain.svg +1 -0
- package/dist/shared/lucide-icons/brick-wall.svg +1 -0
- package/dist/shared/lucide-icons/briefcase-business.svg +1 -0
- package/dist/shared/lucide-icons/briefcase-conveyor-belt.svg +1 -0
- package/dist/shared/lucide-icons/briefcase-medical.svg +1 -0
- package/dist/shared/lucide-icons/briefcase.svg +1 -0
- package/dist/shared/lucide-icons/bring-to-front.svg +1 -0
- package/dist/shared/lucide-icons/brush.svg +1 -0
- package/dist/shared/lucide-icons/bug-off.svg +1 -0
- package/dist/shared/lucide-icons/bug-play.svg +1 -0
- package/dist/shared/lucide-icons/bug.svg +1 -0
- package/dist/shared/lucide-icons/building.svg +1 -0
- package/dist/shared/lucide-icons/building2.svg +1 -0
- package/dist/shared/lucide-icons/bus-front.svg +1 -0
- package/dist/shared/lucide-icons/bus.svg +1 -0
- package/dist/shared/lucide-icons/cable-car.svg +1 -0
- package/dist/shared/lucide-icons/cable.svg +1 -0
- package/dist/shared/lucide-icons/cake-slice.svg +1 -0
- package/dist/shared/lucide-icons/cake.svg +1 -0
- package/dist/shared/lucide-icons/calculator.svg +1 -0
- package/dist/shared/lucide-icons/calendar-arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/calendar-arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/calendar-check.svg +1 -0
- package/dist/shared/lucide-icons/calendar-check2.svg +1 -0
- package/dist/shared/lucide-icons/calendar-clock.svg +1 -0
- package/dist/shared/lucide-icons/calendar-cog.svg +1 -0
- package/dist/shared/lucide-icons/calendar-days.svg +1 -0
- package/dist/shared/lucide-icons/calendar-fold.svg +1 -0
- package/dist/shared/lucide-icons/calendar-heart.svg +1 -0
- package/dist/shared/lucide-icons/calendar-minus.svg +1 -0
- package/dist/shared/lucide-icons/calendar-minus2.svg +1 -0
- package/dist/shared/lucide-icons/calendar-off.svg +1 -0
- package/dist/shared/lucide-icons/calendar-plus.svg +1 -0
- package/dist/shared/lucide-icons/calendar-plus2.svg +1 -0
- package/dist/shared/lucide-icons/calendar-range.svg +1 -0
- package/dist/shared/lucide-icons/calendar-search.svg +1 -0
- package/dist/shared/lucide-icons/calendar-sync.svg +1 -0
- package/dist/shared/lucide-icons/calendar-x.svg +1 -0
- package/dist/shared/lucide-icons/calendar-x2.svg +1 -0
- package/dist/shared/lucide-icons/calendar.svg +1 -0
- package/dist/shared/lucide-icons/calendar1.svg +1 -0
- package/dist/shared/lucide-icons/camera-off.svg +1 -0
- package/dist/shared/lucide-icons/camera.svg +1 -0
- package/dist/shared/lucide-icons/candy-cane.svg +1 -0
- package/dist/shared/lucide-icons/candy-off.svg +1 -0
- package/dist/shared/lucide-icons/candy.svg +1 -0
- package/dist/shared/lucide-icons/cannabis.svg +1 -0
- package/dist/shared/lucide-icons/captions-off.svg +1 -0
- package/dist/shared/lucide-icons/captions.svg +1 -0
- package/dist/shared/lucide-icons/car-front.svg +1 -0
- package/dist/shared/lucide-icons/car-taxi-front.svg +1 -0
- package/dist/shared/lucide-icons/car.svg +1 -0
- package/dist/shared/lucide-icons/caravan.svg +1 -0
- package/dist/shared/lucide-icons/carrot.svg +1 -0
- package/dist/shared/lucide-icons/case-lower.svg +1 -0
- package/dist/shared/lucide-icons/case-sensitive.svg +1 -0
- package/dist/shared/lucide-icons/case-upper.svg +1 -0
- package/dist/shared/lucide-icons/cassette-tape.svg +1 -0
- package/dist/shared/lucide-icons/cast.svg +1 -0
- package/dist/shared/lucide-icons/castle.svg +1 -0
- package/dist/shared/lucide-icons/cat.svg +1 -0
- package/dist/shared/lucide-icons/cctv.svg +1 -0
- package/dist/shared/lucide-icons/chart-area.svg +1 -0
- package/dist/shared/lucide-icons/chart-bar-big.svg +1 -0
- package/dist/shared/lucide-icons/chart-bar-decreasing.svg +1 -0
- package/dist/shared/lucide-icons/chart-bar-increasing.svg +1 -0
- package/dist/shared/lucide-icons/chart-bar-stacked.svg +1 -0
- package/dist/shared/lucide-icons/chart-bar.svg +1 -0
- package/dist/shared/lucide-icons/chart-candlestick.svg +1 -0
- package/dist/shared/lucide-icons/chart-column-big.svg +1 -0
- package/dist/shared/lucide-icons/chart-column-decreasing.svg +1 -0
- package/dist/shared/lucide-icons/chart-column-increasing.svg +1 -0
- package/dist/shared/lucide-icons/chart-column-stacked.svg +1 -0
- package/dist/shared/lucide-icons/chart-column.svg +1 -0
- package/dist/shared/lucide-icons/chart-gantt.svg +1 -0
- package/dist/shared/lucide-icons/chart-line.svg +1 -0
- package/dist/shared/lucide-icons/chart-network.svg +1 -0
- package/dist/shared/lucide-icons/chart-no-axes-column-decreasing.svg +1 -0
- package/dist/shared/lucide-icons/chart-no-axes-column-increasing.svg +1 -0
- package/dist/shared/lucide-icons/chart-no-axes-column.svg +1 -0
- package/dist/shared/lucide-icons/chart-no-axes-combined.svg +1 -0
- package/dist/shared/lucide-icons/chart-no-axes-gantt.svg +1 -0
- package/dist/shared/lucide-icons/chart-pie.svg +1 -0
- package/dist/shared/lucide-icons/chart-scatter.svg +1 -0
- package/dist/shared/lucide-icons/chart-spline.svg +1 -0
- package/dist/shared/lucide-icons/check-check.svg +1 -0
- package/dist/shared/lucide-icons/check.svg +1 -0
- package/dist/shared/lucide-icons/chef-hat.svg +1 -0
- package/dist/shared/lucide-icons/cherry.svg +1 -0
- package/dist/shared/lucide-icons/chevron-down.svg +1 -0
- package/dist/shared/lucide-icons/chevron-first.svg +1 -0
- package/dist/shared/lucide-icons/chevron-last.svg +1 -0
- package/dist/shared/lucide-icons/chevron-left.svg +1 -0
- package/dist/shared/lucide-icons/chevron-right.svg +1 -0
- package/dist/shared/lucide-icons/chevron-up.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-down-up.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-down.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-left-right-ellipsis.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-left-right.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-left.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-right-left.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-right.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-up-down.svg +1 -0
- package/dist/shared/lucide-icons/chevrons-up.svg +1 -0
- package/dist/shared/lucide-icons/chrome.svg +1 -0
- package/dist/shared/lucide-icons/church.svg +1 -0
- package/dist/shared/lucide-icons/cigarette-off.svg +1 -0
- package/dist/shared/lucide-icons/cigarette.svg +1 -0
- package/dist/shared/lucide-icons/circle-alert.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-left.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-out-down-left.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-out-down-right.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-out-up-left.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-out-up-right.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-right.svg +1 -0
- package/dist/shared/lucide-icons/circle-arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/circle-check-big.svg +1 -0
- package/dist/shared/lucide-icons/circle-check.svg +1 -0
- package/dist/shared/lucide-icons/circle-chevron-down.svg +1 -0
- package/dist/shared/lucide-icons/circle-chevron-left.svg +1 -0
- package/dist/shared/lucide-icons/circle-chevron-right.svg +1 -0
- package/dist/shared/lucide-icons/circle-chevron-up.svg +1 -0
- package/dist/shared/lucide-icons/circle-dashed.svg +1 -0
- package/dist/shared/lucide-icons/circle-divide.svg +1 -0
- package/dist/shared/lucide-icons/circle-dollar-sign.svg +1 -0
- package/dist/shared/lucide-icons/circle-dot-dashed.svg +1 -0
- package/dist/shared/lucide-icons/circle-dot.svg +1 -0
- package/dist/shared/lucide-icons/circle-ellipsis.svg +1 -0
- package/dist/shared/lucide-icons/circle-equal.svg +1 -0
- package/dist/shared/lucide-icons/circle-fading-arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/circle-fading-plus.svg +1 -0
- package/dist/shared/lucide-icons/circle-gauge.svg +1 -0
- package/dist/shared/lucide-icons/circle-help.svg +1 -0
- package/dist/shared/lucide-icons/circle-minus.svg +1 -0
- package/dist/shared/lucide-icons/circle-off.svg +1 -0
- package/dist/shared/lucide-icons/circle-parking-off.svg +1 -0
- package/dist/shared/lucide-icons/circle-parking.svg +1 -0
- package/dist/shared/lucide-icons/circle-pause.svg +1 -0
- package/dist/shared/lucide-icons/circle-percent.svg +1 -0
- package/dist/shared/lucide-icons/circle-play.svg +1 -0
- package/dist/shared/lucide-icons/circle-plus.svg +1 -0
- package/dist/shared/lucide-icons/circle-power.svg +1 -0
- package/dist/shared/lucide-icons/circle-slash.svg +1 -0
- package/dist/shared/lucide-icons/circle-slash2.svg +1 -0
- package/dist/shared/lucide-icons/circle-stop.svg +1 -0
- package/dist/shared/lucide-icons/circle-user-round.svg +1 -0
- package/dist/shared/lucide-icons/circle-user.svg +1 -0
- package/dist/shared/lucide-icons/circle-x.svg +1 -0
- package/dist/shared/lucide-icons/circle.svg +1 -0
- package/dist/shared/lucide-icons/circuit-board.svg +1 -0
- package/dist/shared/lucide-icons/citrus.svg +1 -0
- package/dist/shared/lucide-icons/clapperboard.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-check.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-copy.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-list.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-minus.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-paste.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-pen-line.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-pen.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-plus.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-type.svg +1 -0
- package/dist/shared/lucide-icons/clipboard-x.svg +1 -0
- package/dist/shared/lucide-icons/clipboard.svg +1 -0
- package/dist/shared/lucide-icons/clock-alert.svg +1 -0
- package/dist/shared/lucide-icons/clock-arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/clock-arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/clock.svg +1 -0
- package/dist/shared/lucide-icons/clock1.svg +1 -0
- package/dist/shared/lucide-icons/clock10.svg +1 -0
- package/dist/shared/lucide-icons/clock11.svg +1 -0
- package/dist/shared/lucide-icons/clock12.svg +1 -0
- package/dist/shared/lucide-icons/clock2.svg +1 -0
- package/dist/shared/lucide-icons/clock3.svg +1 -0
- package/dist/shared/lucide-icons/clock4.svg +1 -0
- package/dist/shared/lucide-icons/clock5.svg +1 -0
- package/dist/shared/lucide-icons/clock6.svg +1 -0
- package/dist/shared/lucide-icons/clock7.svg +1 -0
- package/dist/shared/lucide-icons/clock8.svg +1 -0
- package/dist/shared/lucide-icons/clock9.svg +1 -0
- package/dist/shared/lucide-icons/cloud-alert.svg +1 -0
- package/dist/shared/lucide-icons/cloud-cog.svg +1 -0
- package/dist/shared/lucide-icons/cloud-download.svg +1 -0
- package/dist/shared/lucide-icons/cloud-drizzle.svg +1 -0
- package/dist/shared/lucide-icons/cloud-fog.svg +1 -0
- package/dist/shared/lucide-icons/cloud-hail.svg +1 -0
- package/dist/shared/lucide-icons/cloud-lightning.svg +1 -0
- package/dist/shared/lucide-icons/cloud-moon-rain.svg +1 -0
- package/dist/shared/lucide-icons/cloud-moon.svg +1 -0
- package/dist/shared/lucide-icons/cloud-off.svg +1 -0
- package/dist/shared/lucide-icons/cloud-rain-wind.svg +1 -0
- package/dist/shared/lucide-icons/cloud-rain.svg +1 -0
- package/dist/shared/lucide-icons/cloud-snow.svg +1 -0
- package/dist/shared/lucide-icons/cloud-sun-rain.svg +1 -0
- package/dist/shared/lucide-icons/cloud-sun.svg +1 -0
- package/dist/shared/lucide-icons/cloud-upload.svg +1 -0
- package/dist/shared/lucide-icons/cloud.svg +1 -0
- package/dist/shared/lucide-icons/cloudy.svg +1 -0
- package/dist/shared/lucide-icons/clover.svg +1 -0
- package/dist/shared/lucide-icons/club.svg +1 -0
- package/dist/shared/lucide-icons/code-xml.svg +1 -0
- package/dist/shared/lucide-icons/code.svg +1 -0
- package/dist/shared/lucide-icons/codepen.svg +1 -0
- package/dist/shared/lucide-icons/codesandbox.svg +1 -0
- package/dist/shared/lucide-icons/coffee.svg +1 -0
- package/dist/shared/lucide-icons/cog.svg +1 -0
- package/dist/shared/lucide-icons/coins.svg +1 -0
- package/dist/shared/lucide-icons/columns2.svg +1 -0
- package/dist/shared/lucide-icons/columns3.svg +1 -0
- package/dist/shared/lucide-icons/columns4.svg +1 -0
- package/dist/shared/lucide-icons/combine.svg +1 -0
- package/dist/shared/lucide-icons/command.svg +1 -0
- package/dist/shared/lucide-icons/compass.svg +1 -0
- package/dist/shared/lucide-icons/component.svg +1 -0
- package/dist/shared/lucide-icons/computer.svg +1 -0
- package/dist/shared/lucide-icons/concierge-bell.svg +1 -0
- package/dist/shared/lucide-icons/cone.svg +1 -0
- package/dist/shared/lucide-icons/construction.svg +1 -0
- package/dist/shared/lucide-icons/contact-round.svg +1 -0
- package/dist/shared/lucide-icons/contact.svg +1 -0
- package/dist/shared/lucide-icons/container.svg +1 -0
- package/dist/shared/lucide-icons/contrast.svg +1 -0
- package/dist/shared/lucide-icons/cookie.svg +1 -0
- package/dist/shared/lucide-icons/cooking-pot.svg +1 -0
- package/dist/shared/lucide-icons/copy-check.svg +1 -0
- package/dist/shared/lucide-icons/copy-minus.svg +1 -0
- package/dist/shared/lucide-icons/copy-plus.svg +1 -0
- package/dist/shared/lucide-icons/copy-slash.svg +1 -0
- package/dist/shared/lucide-icons/copy-x.svg +1 -0
- package/dist/shared/lucide-icons/copy.svg +1 -0
- package/dist/shared/lucide-icons/copyleft.svg +1 -0
- package/dist/shared/lucide-icons/copyright.svg +1 -0
- package/dist/shared/lucide-icons/corner-down-left.svg +1 -0
- package/dist/shared/lucide-icons/corner-down-right.svg +1 -0
- package/dist/shared/lucide-icons/corner-left-down.svg +1 -0
- package/dist/shared/lucide-icons/corner-left-up.svg +1 -0
- package/dist/shared/lucide-icons/corner-right-down.svg +1 -0
- package/dist/shared/lucide-icons/corner-right-up.svg +1 -0
- package/dist/shared/lucide-icons/corner-up-left.svg +1 -0
- package/dist/shared/lucide-icons/corner-up-right.svg +1 -0
- package/dist/shared/lucide-icons/cpu.svg +1 -0
- package/dist/shared/lucide-icons/creative-commons.svg +1 -0
- package/dist/shared/lucide-icons/credit-card.svg +1 -0
- package/dist/shared/lucide-icons/croissant.svg +1 -0
- package/dist/shared/lucide-icons/crop.svg +1 -0
- package/dist/shared/lucide-icons/cross.svg +1 -0
- package/dist/shared/lucide-icons/crosshair.svg +1 -0
- package/dist/shared/lucide-icons/crown.svg +1 -0
- package/dist/shared/lucide-icons/cuboid.svg +1 -0
- package/dist/shared/lucide-icons/cup-soda.svg +1 -0
- package/dist/shared/lucide-icons/currency.svg +1 -0
- package/dist/shared/lucide-icons/cylinder.svg +1 -0
- package/dist/shared/lucide-icons/dam.svg +1 -0
- package/dist/shared/lucide-icons/database-backup.svg +1 -0
- package/dist/shared/lucide-icons/database-zap.svg +1 -0
- package/dist/shared/lucide-icons/database.svg +1 -0
- package/dist/shared/lucide-icons/delete.svg +1 -0
- package/dist/shared/lucide-icons/dessert.svg +1 -0
- package/dist/shared/lucide-icons/diameter.svg +1 -0
- package/dist/shared/lucide-icons/diamond-minus.svg +1 -0
- package/dist/shared/lucide-icons/diamond-percent.svg +1 -0
- package/dist/shared/lucide-icons/diamond-plus.svg +1 -0
- package/dist/shared/lucide-icons/diamond.svg +1 -0
- package/dist/shared/lucide-icons/dice1.svg +1 -0
- package/dist/shared/lucide-icons/dice2.svg +1 -0
- package/dist/shared/lucide-icons/dice3.svg +1 -0
- package/dist/shared/lucide-icons/dice4.svg +1 -0
- package/dist/shared/lucide-icons/dice5.svg +1 -0
- package/dist/shared/lucide-icons/dice6.svg +1 -0
- package/dist/shared/lucide-icons/dices.svg +1 -0
- package/dist/shared/lucide-icons/diff.svg +1 -0
- package/dist/shared/lucide-icons/disc-album.svg +1 -0
- package/dist/shared/lucide-icons/disc.svg +1 -0
- package/dist/shared/lucide-icons/disc2.svg +1 -0
- package/dist/shared/lucide-icons/disc3.svg +1 -0
- package/dist/shared/lucide-icons/divide.svg +1 -0
- package/dist/shared/lucide-icons/dna-off.svg +1 -0
- package/dist/shared/lucide-icons/dna.svg +1 -0
- package/dist/shared/lucide-icons/dock.svg +1 -0
- package/dist/shared/lucide-icons/dog.svg +1 -0
- package/dist/shared/lucide-icons/dollar-sign.svg +1 -0
- package/dist/shared/lucide-icons/donut.svg +1 -0
- package/dist/shared/lucide-icons/door-closed.svg +1 -0
- package/dist/shared/lucide-icons/door-open.svg +1 -0
- package/dist/shared/lucide-icons/dot.svg +1 -0
- package/dist/shared/lucide-icons/download.svg +1 -0
- package/dist/shared/lucide-icons/drafting-compass.svg +1 -0
- package/dist/shared/lucide-icons/drama.svg +1 -0
- package/dist/shared/lucide-icons/dribbble.svg +1 -0
- package/dist/shared/lucide-icons/drill.svg +1 -0
- package/dist/shared/lucide-icons/droplet-off.svg +1 -0
- package/dist/shared/lucide-icons/droplet.svg +1 -0
- package/dist/shared/lucide-icons/droplets.svg +1 -0
- package/dist/shared/lucide-icons/drum.svg +1 -0
- package/dist/shared/lucide-icons/drumstick.svg +1 -0
- package/dist/shared/lucide-icons/dumbbell.svg +1 -0
- package/dist/shared/lucide-icons/ear-off.svg +1 -0
- package/dist/shared/lucide-icons/ear.svg +1 -0
- package/dist/shared/lucide-icons/earth-lock.svg +1 -0
- package/dist/shared/lucide-icons/earth.svg +1 -0
- package/dist/shared/lucide-icons/eclipse.svg +1 -0
- package/dist/shared/lucide-icons/egg-fried.svg +1 -0
- package/dist/shared/lucide-icons/egg-off.svg +1 -0
- package/dist/shared/lucide-icons/egg.svg +1 -0
- package/dist/shared/lucide-icons/ellipsis-vertical.svg +1 -0
- package/dist/shared/lucide-icons/ellipsis.svg +1 -0
- package/dist/shared/lucide-icons/equal-approximately.svg +1 -0
- package/dist/shared/lucide-icons/equal-not.svg +1 -0
- package/dist/shared/lucide-icons/equal.svg +1 -0
- package/dist/shared/lucide-icons/eraser.svg +1 -0
- package/dist/shared/lucide-icons/ethernet-port.svg +1 -0
- package/dist/shared/lucide-icons/euro.svg +1 -0
- package/dist/shared/lucide-icons/expand.svg +1 -0
- package/dist/shared/lucide-icons/external-link.svg +1 -0
- package/dist/shared/lucide-icons/eye-closed.svg +1 -0
- package/dist/shared/lucide-icons/eye-off.svg +1 -0
- package/dist/shared/lucide-icons/eye.svg +1 -0
- package/dist/shared/lucide-icons/facebook.svg +1 -0
- package/dist/shared/lucide-icons/factory.svg +1 -0
- package/dist/shared/lucide-icons/fan.svg +1 -0
- package/dist/shared/lucide-icons/fast-forward.svg +1 -0
- package/dist/shared/lucide-icons/feather.svg +1 -0
- package/dist/shared/lucide-icons/fence.svg +1 -0
- package/dist/shared/lucide-icons/ferris-wheel.svg +1 -0
- package/dist/shared/lucide-icons/figma.svg +1 -0
- package/dist/shared/lucide-icons/file-archive.svg +1 -0
- package/dist/shared/lucide-icons/file-audio.svg +1 -0
- package/dist/shared/lucide-icons/file-audio2.svg +1 -0
- package/dist/shared/lucide-icons/file-axis3d.svg +1 -0
- package/dist/shared/lucide-icons/file-badge.svg +1 -0
- package/dist/shared/lucide-icons/file-badge2.svg +1 -0
- package/dist/shared/lucide-icons/file-box.svg +1 -0
- package/dist/shared/lucide-icons/file-chart-column-increasing.svg +1 -0
- package/dist/shared/lucide-icons/file-chart-column.svg +1 -0
- package/dist/shared/lucide-icons/file-chart-line.svg +1 -0
- package/dist/shared/lucide-icons/file-chart-pie.svg +1 -0
- package/dist/shared/lucide-icons/file-check.svg +1 -0
- package/dist/shared/lucide-icons/file-check2.svg +1 -0
- package/dist/shared/lucide-icons/file-clock.svg +1 -0
- package/dist/shared/lucide-icons/file-code.svg +1 -0
- package/dist/shared/lucide-icons/file-code2.svg +1 -0
- package/dist/shared/lucide-icons/file-cog.svg +1 -0
- package/dist/shared/lucide-icons/file-diff.svg +1 -0
- package/dist/shared/lucide-icons/file-digit.svg +1 -0
- package/dist/shared/lucide-icons/file-down.svg +1 -0
- package/dist/shared/lucide-icons/file-heart.svg +1 -0
- package/dist/shared/lucide-icons/file-image.svg +1 -0
- package/dist/shared/lucide-icons/file-input.svg +1 -0
- package/dist/shared/lucide-icons/file-json.svg +1 -0
- package/dist/shared/lucide-icons/file-json2.svg +1 -0
- package/dist/shared/lucide-icons/file-key.svg +1 -0
- package/dist/shared/lucide-icons/file-key2.svg +1 -0
- package/dist/shared/lucide-icons/file-lock.svg +1 -0
- package/dist/shared/lucide-icons/file-lock2.svg +1 -0
- package/dist/shared/lucide-icons/file-minus.svg +1 -0
- package/dist/shared/lucide-icons/file-minus2.svg +1 -0
- package/dist/shared/lucide-icons/file-music.svg +1 -0
- package/dist/shared/lucide-icons/file-output.svg +1 -0
- package/dist/shared/lucide-icons/file-pen-line.svg +1 -0
- package/dist/shared/lucide-icons/file-pen.svg +1 -0
- package/dist/shared/lucide-icons/file-plus.svg +1 -0
- package/dist/shared/lucide-icons/file-plus2.svg +1 -0
- package/dist/shared/lucide-icons/file-question.svg +1 -0
- package/dist/shared/lucide-icons/file-scan.svg +1 -0
- package/dist/shared/lucide-icons/file-search.svg +1 -0
- package/dist/shared/lucide-icons/file-search2.svg +1 -0
- package/dist/shared/lucide-icons/file-sliders.svg +1 -0
- package/dist/shared/lucide-icons/file-spreadsheet.svg +1 -0
- package/dist/shared/lucide-icons/file-stack.svg +1 -0
- package/dist/shared/lucide-icons/file-symlink.svg +1 -0
- package/dist/shared/lucide-icons/file-terminal.svg +1 -0
- package/dist/shared/lucide-icons/file-text.svg +1 -0
- package/dist/shared/lucide-icons/file-type.svg +1 -0
- package/dist/shared/lucide-icons/file-type2.svg +1 -0
- package/dist/shared/lucide-icons/file-up.svg +1 -0
- package/dist/shared/lucide-icons/file-user.svg +1 -0
- package/dist/shared/lucide-icons/file-video.svg +1 -0
- package/dist/shared/lucide-icons/file-video2.svg +1 -0
- package/dist/shared/lucide-icons/file-volume.svg +1 -0
- package/dist/shared/lucide-icons/file-volume2.svg +1 -0
- package/dist/shared/lucide-icons/file-warning.svg +1 -0
- package/dist/shared/lucide-icons/file-x.svg +1 -0
- package/dist/shared/lucide-icons/file-x2.svg +1 -0
- package/dist/shared/lucide-icons/file.svg +1 -0
- package/dist/shared/lucide-icons/files.svg +1 -0
- package/dist/shared/lucide-icons/film.svg +1 -0
- package/dist/shared/lucide-icons/filter-x.svg +1 -0
- package/dist/shared/lucide-icons/filter.svg +1 -0
- package/dist/shared/lucide-icons/fingerprint.svg +1 -0
- package/dist/shared/lucide-icons/fire-extinguisher.svg +1 -0
- package/dist/shared/lucide-icons/fish-off.svg +1 -0
- package/dist/shared/lucide-icons/fish-symbol.svg +1 -0
- package/dist/shared/lucide-icons/fish.svg +1 -0
- package/dist/shared/lucide-icons/flag-off.svg +1 -0
- package/dist/shared/lucide-icons/flag-triangle-left.svg +1 -0
- package/dist/shared/lucide-icons/flag-triangle-right.svg +1 -0
- package/dist/shared/lucide-icons/flag.svg +1 -0
- package/dist/shared/lucide-icons/flame-kindling.svg +1 -0
- package/dist/shared/lucide-icons/flame.svg +1 -0
- package/dist/shared/lucide-icons/flashlight-off.svg +1 -0
- package/dist/shared/lucide-icons/flashlight.svg +1 -0
- package/dist/shared/lucide-icons/flask-conical-off.svg +1 -0
- package/dist/shared/lucide-icons/flask-conical.svg +1 -0
- package/dist/shared/lucide-icons/flask-round.svg +1 -0
- package/dist/shared/lucide-icons/flip-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/flip-horizontal2.svg +1 -0
- package/dist/shared/lucide-icons/flip-vertical.svg +1 -0
- package/dist/shared/lucide-icons/flip-vertical2.svg +1 -0
- package/dist/shared/lucide-icons/flower.svg +1 -0
- package/dist/shared/lucide-icons/flower2.svg +1 -0
- package/dist/shared/lucide-icons/focus.svg +1 -0
- package/dist/shared/lucide-icons/fold-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/fold-vertical.svg +1 -0
- package/dist/shared/lucide-icons/folder-archive.svg +1 -0
- package/dist/shared/lucide-icons/folder-check.svg +1 -0
- package/dist/shared/lucide-icons/folder-clock.svg +1 -0
- package/dist/shared/lucide-icons/folder-closed.svg +1 -0
- package/dist/shared/lucide-icons/folder-code.svg +1 -0
- package/dist/shared/lucide-icons/folder-cog.svg +1 -0
- package/dist/shared/lucide-icons/folder-dot.svg +1 -0
- package/dist/shared/lucide-icons/folder-down.svg +1 -0
- package/dist/shared/lucide-icons/folder-git.svg +1 -0
- package/dist/shared/lucide-icons/folder-git2.svg +1 -0
- package/dist/shared/lucide-icons/folder-heart.svg +1 -0
- package/dist/shared/lucide-icons/folder-input.svg +1 -0
- package/dist/shared/lucide-icons/folder-kanban.svg +1 -0
- package/dist/shared/lucide-icons/folder-key.svg +1 -0
- package/dist/shared/lucide-icons/folder-lock.svg +1 -0
- package/dist/shared/lucide-icons/folder-minus.svg +1 -0
- package/dist/shared/lucide-icons/folder-open-dot.svg +1 -0
- package/dist/shared/lucide-icons/folder-open.svg +1 -0
- package/dist/shared/lucide-icons/folder-output.svg +1 -0
- package/dist/shared/lucide-icons/folder-pen.svg +1 -0
- package/dist/shared/lucide-icons/folder-plus.svg +1 -0
- package/dist/shared/lucide-icons/folder-root.svg +1 -0
- package/dist/shared/lucide-icons/folder-search.svg +1 -0
- package/dist/shared/lucide-icons/folder-search2.svg +1 -0
- package/dist/shared/lucide-icons/folder-symlink.svg +1 -0
- package/dist/shared/lucide-icons/folder-sync.svg +1 -0
- package/dist/shared/lucide-icons/folder-tree.svg +1 -0
- package/dist/shared/lucide-icons/folder-up.svg +1 -0
- package/dist/shared/lucide-icons/folder-x.svg +1 -0
- package/dist/shared/lucide-icons/folder.svg +1 -0
- package/dist/shared/lucide-icons/folders.svg +1 -0
- package/dist/shared/lucide-icons/footprints.svg +1 -0
- package/dist/shared/lucide-icons/forklift.svg +1 -0
- package/dist/shared/lucide-icons/forward.svg +1 -0
- package/dist/shared/lucide-icons/frame.svg +1 -0
- package/dist/shared/lucide-icons/framer.svg +1 -0
- package/dist/shared/lucide-icons/frown.svg +1 -0
- package/dist/shared/lucide-icons/fuel.svg +1 -0
- package/dist/shared/lucide-icons/fullscreen.svg +1 -0
- package/dist/shared/lucide-icons/gallery-horizontal-end.svg +1 -0
- package/dist/shared/lucide-icons/gallery-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/gallery-thumbnails.svg +1 -0
- package/dist/shared/lucide-icons/gallery-vertical-end.svg +1 -0
- package/dist/shared/lucide-icons/gallery-vertical.svg +1 -0
- package/dist/shared/lucide-icons/gamepad.svg +1 -0
- package/dist/shared/lucide-icons/gamepad2.svg +1 -0
- package/dist/shared/lucide-icons/gauge.svg +1 -0
- package/dist/shared/lucide-icons/gavel.svg +1 -0
- package/dist/shared/lucide-icons/gem.svg +1 -0
- package/dist/shared/lucide-icons/ghost.svg +1 -0
- package/dist/shared/lucide-icons/gift.svg +1 -0
- package/dist/shared/lucide-icons/git-branch-plus.svg +1 -0
- package/dist/shared/lucide-icons/git-branch.svg +1 -0
- package/dist/shared/lucide-icons/git-commit-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/git-commit-vertical.svg +1 -0
- package/dist/shared/lucide-icons/git-compare-arrows.svg +1 -0
- package/dist/shared/lucide-icons/git-compare.svg +1 -0
- package/dist/shared/lucide-icons/git-fork.svg +1 -0
- package/dist/shared/lucide-icons/git-graph.svg +1 -0
- package/dist/shared/lucide-icons/git-merge.svg +1 -0
- package/dist/shared/lucide-icons/git-pull-request-arrow.svg +1 -0
- package/dist/shared/lucide-icons/git-pull-request-closed.svg +1 -0
- package/dist/shared/lucide-icons/git-pull-request-create-arrow.svg +1 -0
- package/dist/shared/lucide-icons/git-pull-request-create.svg +1 -0
- package/dist/shared/lucide-icons/git-pull-request-draft.svg +1 -0
- package/dist/shared/lucide-icons/git-pull-request.svg +1 -0
- package/dist/shared/lucide-icons/github.svg +1 -0
- package/dist/shared/lucide-icons/gitlab.svg +1 -0
- package/dist/shared/lucide-icons/glass-water.svg +1 -0
- package/dist/shared/lucide-icons/glasses.svg +1 -0
- package/dist/shared/lucide-icons/globe-lock.svg +1 -0
- package/dist/shared/lucide-icons/globe.svg +1 -0
- package/dist/shared/lucide-icons/goal.svg +1 -0
- package/dist/shared/lucide-icons/grab.svg +1 -0
- package/dist/shared/lucide-icons/graduation-cap.svg +1 -0
- package/dist/shared/lucide-icons/grape.svg +1 -0
- package/dist/shared/lucide-icons/grid2x2-check.svg +1 -0
- package/dist/shared/lucide-icons/grid2x2-plus.svg +1 -0
- package/dist/shared/lucide-icons/grid2x2-x.svg +1 -0
- package/dist/shared/lucide-icons/grid2x2.svg +1 -0
- package/dist/shared/lucide-icons/grid3x3.svg +1 -0
- package/dist/shared/lucide-icons/grip-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/grip-vertical.svg +1 -0
- package/dist/shared/lucide-icons/grip.svg +1 -0
- package/dist/shared/lucide-icons/group.svg +1 -0
- package/dist/shared/lucide-icons/guitar.svg +1 -0
- package/dist/shared/lucide-icons/ham.svg +1 -0
- package/dist/shared/lucide-icons/hammer.svg +1 -0
- package/dist/shared/lucide-icons/hand-coins.svg +1 -0
- package/dist/shared/lucide-icons/hand-heart.svg +1 -0
- package/dist/shared/lucide-icons/hand-helping.svg +1 -0
- package/dist/shared/lucide-icons/hand-metal.svg +1 -0
- package/dist/shared/lucide-icons/hand-platter.svg +1 -0
- package/dist/shared/lucide-icons/hand.svg +1 -0
- package/dist/shared/lucide-icons/handshake.svg +1 -0
- package/dist/shared/lucide-icons/hard-drive-download.svg +1 -0
- package/dist/shared/lucide-icons/hard-drive-upload.svg +1 -0
- package/dist/shared/lucide-icons/hard-drive.svg +1 -0
- package/dist/shared/lucide-icons/hard-hat.svg +1 -0
- package/dist/shared/lucide-icons/hash.svg +1 -0
- package/dist/shared/lucide-icons/haze.svg +1 -0
- package/dist/shared/lucide-icons/hdmi-port.svg +1 -0
- package/dist/shared/lucide-icons/heading.svg +1 -0
- package/dist/shared/lucide-icons/heading1.svg +1 -0
- package/dist/shared/lucide-icons/heading2.svg +1 -0
- package/dist/shared/lucide-icons/heading3.svg +1 -0
- package/dist/shared/lucide-icons/heading4.svg +1 -0
- package/dist/shared/lucide-icons/heading5.svg +1 -0
- package/dist/shared/lucide-icons/heading6.svg +1 -0
- package/dist/shared/lucide-icons/headphone-off.svg +1 -0
- package/dist/shared/lucide-icons/headphones.svg +1 -0
- package/dist/shared/lucide-icons/headset.svg +1 -0
- package/dist/shared/lucide-icons/heart-crack.svg +1 -0
- package/dist/shared/lucide-icons/heart-handshake.svg +1 -0
- package/dist/shared/lucide-icons/heart-off.svg +1 -0
- package/dist/shared/lucide-icons/heart-pulse.svg +1 -0
- package/dist/shared/lucide-icons/heart.svg +1 -0
- package/dist/shared/lucide-icons/heater.svg +1 -0
- package/dist/shared/lucide-icons/hexagon.svg +1 -0
- package/dist/shared/lucide-icons/highlighter.svg +1 -0
- package/dist/shared/lucide-icons/history.svg +1 -0
- package/dist/shared/lucide-icons/hop-off.svg +1 -0
- package/dist/shared/lucide-icons/hop.svg +1 -0
- package/dist/shared/lucide-icons/hospital.svg +1 -0
- package/dist/shared/lucide-icons/hotel.svg +1 -0
- package/dist/shared/lucide-icons/hourglass.svg +1 -0
- package/dist/shared/lucide-icons/house-plug.svg +1 -0
- package/dist/shared/lucide-icons/house-plus.svg +1 -0
- package/dist/shared/lucide-icons/house.svg +1 -0
- package/dist/shared/lucide-icons/ice-cream-bowl.svg +1 -0
- package/dist/shared/lucide-icons/ice-cream-cone.svg +1 -0
- package/dist/shared/lucide-icons/id-card.svg +1 -0
- package/dist/shared/lucide-icons/image-down.svg +1 -0
- package/dist/shared/lucide-icons/image-minus.svg +1 -0
- package/dist/shared/lucide-icons/image-off.svg +1 -0
- package/dist/shared/lucide-icons/image-play.svg +1 -0
- package/dist/shared/lucide-icons/image-plus.svg +1 -0
- package/dist/shared/lucide-icons/image-up.svg +1 -0
- package/dist/shared/lucide-icons/image-upscale.svg +1 -0
- package/dist/shared/lucide-icons/image.svg +1 -0
- package/dist/shared/lucide-icons/images.svg +1 -0
- package/dist/shared/lucide-icons/import.svg +1 -0
- package/dist/shared/lucide-icons/inbox.svg +1 -0
- package/dist/shared/lucide-icons/indent-decrease.svg +1 -0
- package/dist/shared/lucide-icons/indent-increase.svg +1 -0
- package/dist/shared/lucide-icons/indian-rupee.svg +1 -0
- package/dist/shared/lucide-icons/infinity.svg +1 -0
- package/dist/shared/lucide-icons/info.svg +1 -0
- package/dist/shared/lucide-icons/inspection-panel.svg +1 -0
- package/dist/shared/lucide-icons/instagram.svg +1 -0
- package/dist/shared/lucide-icons/italic.svg +1 -0
- package/dist/shared/lucide-icons/iteration-ccw.svg +1 -0
- package/dist/shared/lucide-icons/iteration-cw.svg +1 -0
- package/dist/shared/lucide-icons/japanese-yen.svg +1 -0
- package/dist/shared/lucide-icons/joystick.svg +1 -0
- package/dist/shared/lucide-icons/kanban.svg +1 -0
- package/dist/shared/lucide-icons/key-round.svg +1 -0
- package/dist/shared/lucide-icons/key-square.svg +1 -0
- package/dist/shared/lucide-icons/key.svg +1 -0
- package/dist/shared/lucide-icons/keyboard-music.svg +1 -0
- package/dist/shared/lucide-icons/keyboard-off.svg +1 -0
- package/dist/shared/lucide-icons/keyboard.svg +1 -0
- package/dist/shared/lucide-icons/lamp-ceiling.svg +1 -0
- package/dist/shared/lucide-icons/lamp-desk.svg +1 -0
- package/dist/shared/lucide-icons/lamp-floor.svg +1 -0
- package/dist/shared/lucide-icons/lamp-wall-down.svg +1 -0
- package/dist/shared/lucide-icons/lamp-wall-up.svg +1 -0
- package/dist/shared/lucide-icons/lamp.svg +1 -0
- package/dist/shared/lucide-icons/land-plot.svg +1 -0
- package/dist/shared/lucide-icons/landmark.svg +1 -0
- package/dist/shared/lucide-icons/languages.svg +1 -0
- package/dist/shared/lucide-icons/laptop-minimal-check.svg +1 -0
- package/dist/shared/lucide-icons/laptop-minimal.svg +1 -0
- package/dist/shared/lucide-icons/laptop.svg +1 -0
- package/dist/shared/lucide-icons/lasso-select.svg +1 -0
- package/dist/shared/lucide-icons/lasso.svg +1 -0
- package/dist/shared/lucide-icons/laugh.svg +1 -0
- package/dist/shared/lucide-icons/layers.svg +1 -0
- package/dist/shared/lucide-icons/layers2.svg +1 -0
- package/dist/shared/lucide-icons/layout-dashboard.svg +1 -0
- package/dist/shared/lucide-icons/layout-grid.svg +1 -0
- package/dist/shared/lucide-icons/layout-list.svg +1 -0
- package/dist/shared/lucide-icons/layout-panel-left.svg +1 -0
- package/dist/shared/lucide-icons/layout-panel-top.svg +1 -0
- package/dist/shared/lucide-icons/layout-template.svg +1 -0
- package/dist/shared/lucide-icons/leaf.svg +1 -0
- package/dist/shared/lucide-icons/leafy-green.svg +1 -0
- package/dist/shared/lucide-icons/lectern.svg +1 -0
- package/dist/shared/lucide-icons/letter-text.svg +1 -0
- package/dist/shared/lucide-icons/library-big.svg +1 -0
- package/dist/shared/lucide-icons/library.svg +1 -0
- package/dist/shared/lucide-icons/life-buoy.svg +1 -0
- package/dist/shared/lucide-icons/ligature.svg +1 -0
- package/dist/shared/lucide-icons/lightbulb-off.svg +1 -0
- package/dist/shared/lucide-icons/lightbulb.svg +1 -0
- package/dist/shared/lucide-icons/link.svg +1 -0
- package/dist/shared/lucide-icons/link2-off.svg +1 -0
- package/dist/shared/lucide-icons/link2.svg +1 -0
- package/dist/shared/lucide-icons/linkedin.svg +1 -0
- package/dist/shared/lucide-icons/list-check.svg +1 -0
- package/dist/shared/lucide-icons/list-checks.svg +1 -0
- package/dist/shared/lucide-icons/list-collapse.svg +1 -0
- package/dist/shared/lucide-icons/list-end.svg +1 -0
- package/dist/shared/lucide-icons/list-filter-plus.svg +1 -0
- package/dist/shared/lucide-icons/list-filter.svg +1 -0
- package/dist/shared/lucide-icons/list-minus.svg +1 -0
- package/dist/shared/lucide-icons/list-music.svg +1 -0
- package/dist/shared/lucide-icons/list-ordered.svg +1 -0
- package/dist/shared/lucide-icons/list-plus.svg +1 -0
- package/dist/shared/lucide-icons/list-restart.svg +1 -0
- package/dist/shared/lucide-icons/list-start.svg +1 -0
- package/dist/shared/lucide-icons/list-todo.svg +1 -0
- package/dist/shared/lucide-icons/list-tree.svg +1 -0
- package/dist/shared/lucide-icons/list-video.svg +1 -0
- package/dist/shared/lucide-icons/list-x.svg +1 -0
- package/dist/shared/lucide-icons/list.svg +1 -0
- package/dist/shared/lucide-icons/loader-circle.svg +1 -0
- package/dist/shared/lucide-icons/loader-pinwheel.svg +1 -0
- package/dist/shared/lucide-icons/loader.svg +1 -0
- package/dist/shared/lucide-icons/locate-fixed.svg +1 -0
- package/dist/shared/lucide-icons/locate-off.svg +1 -0
- package/dist/shared/lucide-icons/locate.svg +1 -0
- package/dist/shared/lucide-icons/lock-keyhole-open.svg +1 -0
- package/dist/shared/lucide-icons/lock-keyhole.svg +1 -0
- package/dist/shared/lucide-icons/lock-open.svg +1 -0
- package/dist/shared/lucide-icons/lock.svg +1 -0
- package/dist/shared/lucide-icons/log-in.svg +1 -0
- package/dist/shared/lucide-icons/log-out.svg +1 -0
- package/dist/shared/lucide-icons/logs.svg +1 -0
- package/dist/shared/lucide-icons/lollipop.svg +1 -0
- package/dist/shared/lucide-icons/luggage.svg +1 -0
- package/dist/shared/lucide-icons/magnet.svg +1 -0
- package/dist/shared/lucide-icons/mail-check.svg +1 -0
- package/dist/shared/lucide-icons/mail-minus.svg +1 -0
- package/dist/shared/lucide-icons/mail-open.svg +1 -0
- package/dist/shared/lucide-icons/mail-plus.svg +1 -0
- package/dist/shared/lucide-icons/mail-question.svg +1 -0
- package/dist/shared/lucide-icons/mail-search.svg +1 -0
- package/dist/shared/lucide-icons/mail-warning.svg +1 -0
- package/dist/shared/lucide-icons/mail-x.svg +1 -0
- package/dist/shared/lucide-icons/mail.svg +1 -0
- package/dist/shared/lucide-icons/mailbox.svg +1 -0
- package/dist/shared/lucide-icons/mails.svg +1 -0
- package/dist/shared/lucide-icons/manifest.json +1 -0
- package/dist/shared/lucide-icons/map-pin-check-inside.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-check.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-house.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-minus-inside.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-minus.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-off.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-plus-inside.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-plus.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-x-inside.svg +1 -0
- package/dist/shared/lucide-icons/map-pin-x.svg +1 -0
- package/dist/shared/lucide-icons/map-pin.svg +1 -0
- package/dist/shared/lucide-icons/map-pinned.svg +1 -0
- package/dist/shared/lucide-icons/map.svg +1 -0
- package/dist/shared/lucide-icons/martini.svg +1 -0
- package/dist/shared/lucide-icons/maximize.svg +1 -0
- package/dist/shared/lucide-icons/maximize2.svg +1 -0
- package/dist/shared/lucide-icons/medal.svg +1 -0
- package/dist/shared/lucide-icons/megaphone-off.svg +1 -0
- package/dist/shared/lucide-icons/megaphone.svg +1 -0
- package/dist/shared/lucide-icons/meh.svg +1 -0
- package/dist/shared/lucide-icons/memory-stick.svg +1 -0
- package/dist/shared/lucide-icons/menu.svg +1 -0
- package/dist/shared/lucide-icons/merge.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-code.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-dashed.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-heart.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-more.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-off.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-plus.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-question.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-reply.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-warning.svg +1 -0
- package/dist/shared/lucide-icons/message-circle-x.svg +1 -0
- package/dist/shared/lucide-icons/message-circle.svg +1 -0
- package/dist/shared/lucide-icons/message-square-code.svg +1 -0
- package/dist/shared/lucide-icons/message-square-dashed.svg +1 -0
- package/dist/shared/lucide-icons/message-square-diff.svg +1 -0
- package/dist/shared/lucide-icons/message-square-dot.svg +1 -0
- package/dist/shared/lucide-icons/message-square-heart.svg +1 -0
- package/dist/shared/lucide-icons/message-square-lock.svg +1 -0
- package/dist/shared/lucide-icons/message-square-more.svg +1 -0
- package/dist/shared/lucide-icons/message-square-off.svg +1 -0
- package/dist/shared/lucide-icons/message-square-plus.svg +1 -0
- package/dist/shared/lucide-icons/message-square-quote.svg +1 -0
- package/dist/shared/lucide-icons/message-square-reply.svg +1 -0
- package/dist/shared/lucide-icons/message-square-share.svg +1 -0
- package/dist/shared/lucide-icons/message-square-text.svg +1 -0
- package/dist/shared/lucide-icons/message-square-warning.svg +1 -0
- package/dist/shared/lucide-icons/message-square-x.svg +1 -0
- package/dist/shared/lucide-icons/message-square.svg +1 -0
- package/dist/shared/lucide-icons/messages-square.svg +1 -0
- package/dist/shared/lucide-icons/mic-off.svg +1 -0
- package/dist/shared/lucide-icons/mic-vocal.svg +1 -0
- package/dist/shared/lucide-icons/mic.svg +1 -0
- package/dist/shared/lucide-icons/microchip.svg +1 -0
- package/dist/shared/lucide-icons/microscope.svg +1 -0
- package/dist/shared/lucide-icons/microwave.svg +1 -0
- package/dist/shared/lucide-icons/milestone.svg +1 -0
- package/dist/shared/lucide-icons/milk-off.svg +1 -0
- package/dist/shared/lucide-icons/milk.svg +1 -0
- package/dist/shared/lucide-icons/minimize.svg +1 -0
- package/dist/shared/lucide-icons/minimize2.svg +1 -0
- package/dist/shared/lucide-icons/minus.svg +1 -0
- package/dist/shared/lucide-icons/monitor-check.svg +1 -0
- package/dist/shared/lucide-icons/monitor-cog.svg +1 -0
- package/dist/shared/lucide-icons/monitor-dot.svg +1 -0
- package/dist/shared/lucide-icons/monitor-down.svg +1 -0
- package/dist/shared/lucide-icons/monitor-off.svg +1 -0
- package/dist/shared/lucide-icons/monitor-pause.svg +1 -0
- package/dist/shared/lucide-icons/monitor-play.svg +1 -0
- package/dist/shared/lucide-icons/monitor-smartphone.svg +1 -0
- package/dist/shared/lucide-icons/monitor-speaker.svg +1 -0
- package/dist/shared/lucide-icons/monitor-stop.svg +1 -0
- package/dist/shared/lucide-icons/monitor-up.svg +1 -0
- package/dist/shared/lucide-icons/monitor-x.svg +1 -0
- package/dist/shared/lucide-icons/monitor.svg +1 -0
- package/dist/shared/lucide-icons/moon-star.svg +1 -0
- package/dist/shared/lucide-icons/moon.svg +1 -0
- package/dist/shared/lucide-icons/mountain-snow.svg +1 -0
- package/dist/shared/lucide-icons/mountain.svg +1 -0
- package/dist/shared/lucide-icons/mouse-off.svg +1 -0
- package/dist/shared/lucide-icons/mouse-pointer-ban.svg +1 -0
- package/dist/shared/lucide-icons/mouse-pointer-click.svg +1 -0
- package/dist/shared/lucide-icons/mouse-pointer.svg +1 -0
- package/dist/shared/lucide-icons/mouse-pointer2.svg +1 -0
- package/dist/shared/lucide-icons/mouse.svg +1 -0
- package/dist/shared/lucide-icons/move-diagonal.svg +1 -0
- package/dist/shared/lucide-icons/move-diagonal2.svg +1 -0
- package/dist/shared/lucide-icons/move-down-left.svg +1 -0
- package/dist/shared/lucide-icons/move-down-right.svg +1 -0
- package/dist/shared/lucide-icons/move-down.svg +1 -0
- package/dist/shared/lucide-icons/move-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/move-left.svg +1 -0
- package/dist/shared/lucide-icons/move-right.svg +1 -0
- package/dist/shared/lucide-icons/move-up-left.svg +1 -0
- package/dist/shared/lucide-icons/move-up-right.svg +1 -0
- package/dist/shared/lucide-icons/move-up.svg +1 -0
- package/dist/shared/lucide-icons/move-vertical.svg +1 -0
- package/dist/shared/lucide-icons/move.svg +1 -0
- package/dist/shared/lucide-icons/move3d.svg +1 -0
- package/dist/shared/lucide-icons/music.svg +1 -0
- package/dist/shared/lucide-icons/music2.svg +1 -0
- package/dist/shared/lucide-icons/music3.svg +1 -0
- package/dist/shared/lucide-icons/music4.svg +1 -0
- package/dist/shared/lucide-icons/navigation-off.svg +1 -0
- package/dist/shared/lucide-icons/navigation.svg +1 -0
- package/dist/shared/lucide-icons/navigation2-off.svg +1 -0
- package/dist/shared/lucide-icons/navigation2.svg +1 -0
- package/dist/shared/lucide-icons/network.svg +1 -0
- package/dist/shared/lucide-icons/newspaper.svg +1 -0
- package/dist/shared/lucide-icons/nfc.svg +1 -0
- package/dist/shared/lucide-icons/notebook-pen.svg +1 -0
- package/dist/shared/lucide-icons/notebook-tabs.svg +1 -0
- package/dist/shared/lucide-icons/notebook-text.svg +1 -0
- package/dist/shared/lucide-icons/notebook.svg +1 -0
- package/dist/shared/lucide-icons/notepad-text-dashed.svg +1 -0
- package/dist/shared/lucide-icons/notepad-text.svg +1 -0
- package/dist/shared/lucide-icons/nut-off.svg +1 -0
- package/dist/shared/lucide-icons/nut.svg +1 -0
- package/dist/shared/lucide-icons/octagon-alert.svg +1 -0
- package/dist/shared/lucide-icons/octagon-minus.svg +1 -0
- package/dist/shared/lucide-icons/octagon-pause.svg +1 -0
- package/dist/shared/lucide-icons/octagon-x.svg +1 -0
- package/dist/shared/lucide-icons/octagon.svg +1 -0
- package/dist/shared/lucide-icons/omega.svg +1 -0
- package/dist/shared/lucide-icons/option.svg +1 -0
- package/dist/shared/lucide-icons/orbit.svg +1 -0
- package/dist/shared/lucide-icons/origami.svg +1 -0
- package/dist/shared/lucide-icons/package-check.svg +1 -0
- package/dist/shared/lucide-icons/package-minus.svg +1 -0
- package/dist/shared/lucide-icons/package-open.svg +1 -0
- package/dist/shared/lucide-icons/package-plus.svg +1 -0
- package/dist/shared/lucide-icons/package-search.svg +1 -0
- package/dist/shared/lucide-icons/package-x.svg +1 -0
- package/dist/shared/lucide-icons/package.svg +1 -0
- package/dist/shared/lucide-icons/package2.svg +1 -0
- package/dist/shared/lucide-icons/paint-bucket.svg +1 -0
- package/dist/shared/lucide-icons/paint-roller.svg +1 -0
- package/dist/shared/lucide-icons/paintbrush-vertical.svg +1 -0
- package/dist/shared/lucide-icons/paintbrush.svg +1 -0
- package/dist/shared/lucide-icons/palette.svg +1 -0
- package/dist/shared/lucide-icons/panel-bottom-close.svg +1 -0
- package/dist/shared/lucide-icons/panel-bottom-dashed.svg +1 -0
- package/dist/shared/lucide-icons/panel-bottom-open.svg +1 -0
- package/dist/shared/lucide-icons/panel-bottom.svg +1 -0
- package/dist/shared/lucide-icons/panel-left-close.svg +1 -0
- package/dist/shared/lucide-icons/panel-left-dashed.svg +1 -0
- package/dist/shared/lucide-icons/panel-left-open.svg +1 -0
- package/dist/shared/lucide-icons/panel-left.svg +1 -0
- package/dist/shared/lucide-icons/panel-right-close.svg +1 -0
- package/dist/shared/lucide-icons/panel-right-dashed.svg +1 -0
- package/dist/shared/lucide-icons/panel-right-open.svg +1 -0
- package/dist/shared/lucide-icons/panel-right.svg +1 -0
- package/dist/shared/lucide-icons/panel-top-close.svg +1 -0
- package/dist/shared/lucide-icons/panel-top-dashed.svg +1 -0
- package/dist/shared/lucide-icons/panel-top-open.svg +1 -0
- package/dist/shared/lucide-icons/panel-top.svg +1 -0
- package/dist/shared/lucide-icons/panels-left-bottom.svg +1 -0
- package/dist/shared/lucide-icons/panels-right-bottom.svg +1 -0
- package/dist/shared/lucide-icons/panels-top-left.svg +1 -0
- package/dist/shared/lucide-icons/paperclip.svg +1 -0
- package/dist/shared/lucide-icons/parentheses.svg +1 -0
- package/dist/shared/lucide-icons/parking-meter.svg +1 -0
- package/dist/shared/lucide-icons/party-popper.svg +1 -0
- package/dist/shared/lucide-icons/pause.svg +1 -0
- package/dist/shared/lucide-icons/paw-print.svg +1 -0
- package/dist/shared/lucide-icons/pc-case.svg +1 -0
- package/dist/shared/lucide-icons/pen-line.svg +1 -0
- package/dist/shared/lucide-icons/pen-off.svg +1 -0
- package/dist/shared/lucide-icons/pen-tool.svg +1 -0
- package/dist/shared/lucide-icons/pen.svg +1 -0
- package/dist/shared/lucide-icons/pencil-line.svg +1 -0
- package/dist/shared/lucide-icons/pencil-off.svg +1 -0
- package/dist/shared/lucide-icons/pencil-ruler.svg +1 -0
- package/dist/shared/lucide-icons/pencil.svg +1 -0
- package/dist/shared/lucide-icons/pentagon.svg +1 -0
- package/dist/shared/lucide-icons/percent.svg +1 -0
- package/dist/shared/lucide-icons/person-standing.svg +1 -0
- package/dist/shared/lucide-icons/philippine-peso.svg +1 -0
- package/dist/shared/lucide-icons/phone-call.svg +1 -0
- package/dist/shared/lucide-icons/phone-forwarded.svg +1 -0
- package/dist/shared/lucide-icons/phone-incoming.svg +1 -0
- package/dist/shared/lucide-icons/phone-missed.svg +1 -0
- package/dist/shared/lucide-icons/phone-off.svg +1 -0
- package/dist/shared/lucide-icons/phone-outgoing.svg +1 -0
- package/dist/shared/lucide-icons/phone.svg +1 -0
- package/dist/shared/lucide-icons/pi.svg +1 -0
- package/dist/shared/lucide-icons/piano.svg +1 -0
- package/dist/shared/lucide-icons/pickaxe.svg +1 -0
- package/dist/shared/lucide-icons/picture-in-picture.svg +1 -0
- package/dist/shared/lucide-icons/picture-in-picture2.svg +1 -0
- package/dist/shared/lucide-icons/piggy-bank.svg +1 -0
- package/dist/shared/lucide-icons/pilcrow-left.svg +1 -0
- package/dist/shared/lucide-icons/pilcrow-right.svg +1 -0
- package/dist/shared/lucide-icons/pilcrow.svg +1 -0
- package/dist/shared/lucide-icons/pill-bottle.svg +1 -0
- package/dist/shared/lucide-icons/pill.svg +1 -0
- package/dist/shared/lucide-icons/pin-off.svg +1 -0
- package/dist/shared/lucide-icons/pin.svg +1 -0
- package/dist/shared/lucide-icons/pipette.svg +1 -0
- package/dist/shared/lucide-icons/pizza.svg +1 -0
- package/dist/shared/lucide-icons/plane-landing.svg +1 -0
- package/dist/shared/lucide-icons/plane-takeoff.svg +1 -0
- package/dist/shared/lucide-icons/plane.svg +1 -0
- package/dist/shared/lucide-icons/play.svg +1 -0
- package/dist/shared/lucide-icons/plug-zap.svg +1 -0
- package/dist/shared/lucide-icons/plug.svg +1 -0
- package/dist/shared/lucide-icons/plug2.svg +1 -0
- package/dist/shared/lucide-icons/plus.svg +1 -0
- package/dist/shared/lucide-icons/pocket-knife.svg +1 -0
- package/dist/shared/lucide-icons/pocket.svg +1 -0
- package/dist/shared/lucide-icons/podcast.svg +1 -0
- package/dist/shared/lucide-icons/pointer-off.svg +1 -0
- package/dist/shared/lucide-icons/pointer.svg +1 -0
- package/dist/shared/lucide-icons/popcorn.svg +1 -0
- package/dist/shared/lucide-icons/popsicle.svg +1 -0
- package/dist/shared/lucide-icons/pound-sterling.svg +1 -0
- package/dist/shared/lucide-icons/power-off.svg +1 -0
- package/dist/shared/lucide-icons/power.svg +1 -0
- package/dist/shared/lucide-icons/presentation.svg +1 -0
- package/dist/shared/lucide-icons/printer-check.svg +1 -0
- package/dist/shared/lucide-icons/printer.svg +1 -0
- package/dist/shared/lucide-icons/projector.svg +1 -0
- package/dist/shared/lucide-icons/proportions.svg +1 -0
- package/dist/shared/lucide-icons/puzzle.svg +1 -0
- package/dist/shared/lucide-icons/pyramid.svg +1 -0
- package/dist/shared/lucide-icons/qr-code.svg +1 -0
- package/dist/shared/lucide-icons/quote.svg +1 -0
- package/dist/shared/lucide-icons/rabbit.svg +1 -0
- package/dist/shared/lucide-icons/radar.svg +1 -0
- package/dist/shared/lucide-icons/radiation.svg +1 -0
- package/dist/shared/lucide-icons/radical.svg +1 -0
- package/dist/shared/lucide-icons/radio-receiver.svg +1 -0
- package/dist/shared/lucide-icons/radio-tower.svg +1 -0
- package/dist/shared/lucide-icons/radio.svg +1 -0
- package/dist/shared/lucide-icons/radius.svg +1 -0
- package/dist/shared/lucide-icons/rail-symbol.svg +1 -0
- package/dist/shared/lucide-icons/rainbow.svg +1 -0
- package/dist/shared/lucide-icons/rat.svg +1 -0
- package/dist/shared/lucide-icons/ratio.svg +1 -0
- package/dist/shared/lucide-icons/receipt-cent.svg +1 -0
- package/dist/shared/lucide-icons/receipt-euro.svg +1 -0
- package/dist/shared/lucide-icons/receipt-indian-rupee.svg +1 -0
- package/dist/shared/lucide-icons/receipt-japanese-yen.svg +1 -0
- package/dist/shared/lucide-icons/receipt-pound-sterling.svg +1 -0
- package/dist/shared/lucide-icons/receipt-russian-ruble.svg +1 -0
- package/dist/shared/lucide-icons/receipt-swiss-franc.svg +1 -0
- package/dist/shared/lucide-icons/receipt-text.svg +1 -0
- package/dist/shared/lucide-icons/receipt.svg +1 -0
- package/dist/shared/lucide-icons/rectangle-ellipsis.svg +1 -0
- package/dist/shared/lucide-icons/rectangle-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/rectangle-vertical.svg +1 -0
- package/dist/shared/lucide-icons/recycle.svg +1 -0
- package/dist/shared/lucide-icons/redo-dot.svg +1 -0
- package/dist/shared/lucide-icons/redo.svg +1 -0
- package/dist/shared/lucide-icons/redo2.svg +1 -0
- package/dist/shared/lucide-icons/refresh-ccw-dot.svg +1 -0
- package/dist/shared/lucide-icons/refresh-ccw.svg +1 -0
- package/dist/shared/lucide-icons/refresh-cw-off.svg +1 -0
- package/dist/shared/lucide-icons/refresh-cw.svg +1 -0
- package/dist/shared/lucide-icons/refrigerator.svg +1 -0
- package/dist/shared/lucide-icons/regex.svg +1 -0
- package/dist/shared/lucide-icons/remove-formatting.svg +1 -0
- package/dist/shared/lucide-icons/repeat.svg +1 -0
- package/dist/shared/lucide-icons/repeat1.svg +1 -0
- package/dist/shared/lucide-icons/repeat2.svg +1 -0
- package/dist/shared/lucide-icons/replace-all.svg +1 -0
- package/dist/shared/lucide-icons/replace.svg +1 -0
- package/dist/shared/lucide-icons/reply-all.svg +1 -0
- package/dist/shared/lucide-icons/reply.svg +1 -0
- package/dist/shared/lucide-icons/rewind.svg +1 -0
- package/dist/shared/lucide-icons/ribbon.svg +1 -0
- package/dist/shared/lucide-icons/rocket.svg +1 -0
- package/dist/shared/lucide-icons/rocking-chair.svg +1 -0
- package/dist/shared/lucide-icons/roller-coaster.svg +1 -0
- package/dist/shared/lucide-icons/rotate-ccw-square.svg +1 -0
- package/dist/shared/lucide-icons/rotate-ccw.svg +1 -0
- package/dist/shared/lucide-icons/rotate-cw-square.svg +1 -0
- package/dist/shared/lucide-icons/rotate-cw.svg +1 -0
- package/dist/shared/lucide-icons/rotate3d.svg +1 -0
- package/dist/shared/lucide-icons/route-off.svg +1 -0
- package/dist/shared/lucide-icons/route.svg +1 -0
- package/dist/shared/lucide-icons/router.svg +1 -0
- package/dist/shared/lucide-icons/rows2.svg +1 -0
- package/dist/shared/lucide-icons/rows3.svg +1 -0
- package/dist/shared/lucide-icons/rows4.svg +1 -0
- package/dist/shared/lucide-icons/rss.svg +1 -0
- package/dist/shared/lucide-icons/ruler.svg +1 -0
- package/dist/shared/lucide-icons/russian-ruble.svg +1 -0
- package/dist/shared/lucide-icons/sailboat.svg +1 -0
- package/dist/shared/lucide-icons/salad.svg +1 -0
- package/dist/shared/lucide-icons/sandwich.svg +1 -0
- package/dist/shared/lucide-icons/satellite-dish.svg +1 -0
- package/dist/shared/lucide-icons/satellite.svg +1 -0
- package/dist/shared/lucide-icons/save-all.svg +1 -0
- package/dist/shared/lucide-icons/save-off.svg +1 -0
- package/dist/shared/lucide-icons/save.svg +1 -0
- package/dist/shared/lucide-icons/scale.svg +1 -0
- package/dist/shared/lucide-icons/scale3d.svg +1 -0
- package/dist/shared/lucide-icons/scaling.svg +1 -0
- package/dist/shared/lucide-icons/scan-barcode.svg +1 -0
- package/dist/shared/lucide-icons/scan-eye.svg +1 -0
- package/dist/shared/lucide-icons/scan-face.svg +1 -0
- package/dist/shared/lucide-icons/scan-heart.svg +1 -0
- package/dist/shared/lucide-icons/scan-line.svg +1 -0
- package/dist/shared/lucide-icons/scan-qr-code.svg +1 -0
- package/dist/shared/lucide-icons/scan-search.svg +1 -0
- package/dist/shared/lucide-icons/scan-text.svg +1 -0
- package/dist/shared/lucide-icons/scan.svg +1 -0
- package/dist/shared/lucide-icons/school.svg +1 -0
- package/dist/shared/lucide-icons/scissors-line-dashed.svg +1 -0
- package/dist/shared/lucide-icons/scissors.svg +1 -0
- package/dist/shared/lucide-icons/screen-share-off.svg +1 -0
- package/dist/shared/lucide-icons/screen-share.svg +1 -0
- package/dist/shared/lucide-icons/scroll-text.svg +1 -0
- package/dist/shared/lucide-icons/scroll.svg +1 -0
- package/dist/shared/lucide-icons/search-check.svg +1 -0
- package/dist/shared/lucide-icons/search-code.svg +1 -0
- package/dist/shared/lucide-icons/search-slash.svg +1 -0
- package/dist/shared/lucide-icons/search-x.svg +1 -0
- package/dist/shared/lucide-icons/search.svg +1 -0
- package/dist/shared/lucide-icons/section.svg +1 -0
- package/dist/shared/lucide-icons/send-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/send-to-back.svg +1 -0
- package/dist/shared/lucide-icons/send.svg +1 -0
- package/dist/shared/lucide-icons/separator-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/separator-vertical.svg +1 -0
- package/dist/shared/lucide-icons/server-cog.svg +1 -0
- package/dist/shared/lucide-icons/server-crash.svg +1 -0
- package/dist/shared/lucide-icons/server-off.svg +1 -0
- package/dist/shared/lucide-icons/server.svg +1 -0
- package/dist/shared/lucide-icons/settings.svg +1 -0
- package/dist/shared/lucide-icons/settings2.svg +1 -0
- package/dist/shared/lucide-icons/shapes.svg +1 -0
- package/dist/shared/lucide-icons/share.svg +1 -0
- package/dist/shared/lucide-icons/share2.svg +1 -0
- package/dist/shared/lucide-icons/sheet.svg +1 -0
- package/dist/shared/lucide-icons/shell.svg +1 -0
- package/dist/shared/lucide-icons/shield-alert.svg +1 -0
- package/dist/shared/lucide-icons/shield-ban.svg +1 -0
- package/dist/shared/lucide-icons/shield-check.svg +1 -0
- package/dist/shared/lucide-icons/shield-ellipsis.svg +1 -0
- package/dist/shared/lucide-icons/shield-half.svg +1 -0
- package/dist/shared/lucide-icons/shield-minus.svg +1 -0
- package/dist/shared/lucide-icons/shield-off.svg +1 -0
- package/dist/shared/lucide-icons/shield-plus.svg +1 -0
- package/dist/shared/lucide-icons/shield-question.svg +1 -0
- package/dist/shared/lucide-icons/shield-x.svg +1 -0
- package/dist/shared/lucide-icons/shield.svg +1 -0
- package/dist/shared/lucide-icons/ship-wheel.svg +1 -0
- package/dist/shared/lucide-icons/ship.svg +1 -0
- package/dist/shared/lucide-icons/shirt.svg +1 -0
- package/dist/shared/lucide-icons/shopping-bag.svg +1 -0
- package/dist/shared/lucide-icons/shopping-basket.svg +1 -0
- package/dist/shared/lucide-icons/shopping-cart.svg +1 -0
- package/dist/shared/lucide-icons/shovel.svg +1 -0
- package/dist/shared/lucide-icons/shower-head.svg +1 -0
- package/dist/shared/lucide-icons/shrink.svg +1 -0
- package/dist/shared/lucide-icons/shrub.svg +1 -0
- package/dist/shared/lucide-icons/shuffle.svg +1 -0
- package/dist/shared/lucide-icons/sigma.svg +1 -0
- package/dist/shared/lucide-icons/signal-high.svg +1 -0
- package/dist/shared/lucide-icons/signal-low.svg +1 -0
- package/dist/shared/lucide-icons/signal-medium.svg +1 -0
- package/dist/shared/lucide-icons/signal-zero.svg +1 -0
- package/dist/shared/lucide-icons/signal.svg +1 -0
- package/dist/shared/lucide-icons/signature.svg +1 -0
- package/dist/shared/lucide-icons/signpost-big.svg +1 -0
- package/dist/shared/lucide-icons/signpost.svg +1 -0
- package/dist/shared/lucide-icons/siren.svg +1 -0
- package/dist/shared/lucide-icons/skip-back.svg +1 -0
- package/dist/shared/lucide-icons/skip-forward.svg +1 -0
- package/dist/shared/lucide-icons/skull.svg +1 -0
- package/dist/shared/lucide-icons/slack.svg +1 -0
- package/dist/shared/lucide-icons/slash.svg +1 -0
- package/dist/shared/lucide-icons/slice.svg +1 -0
- package/dist/shared/lucide-icons/sliders-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/sliders-vertical.svg +1 -0
- package/dist/shared/lucide-icons/smartphone-charging.svg +1 -0
- package/dist/shared/lucide-icons/smartphone-nfc.svg +1 -0
- package/dist/shared/lucide-icons/smartphone.svg +1 -0
- package/dist/shared/lucide-icons/smile-plus.svg +1 -0
- package/dist/shared/lucide-icons/smile.svg +1 -0
- package/dist/shared/lucide-icons/snail.svg +1 -0
- package/dist/shared/lucide-icons/snowflake.svg +1 -0
- package/dist/shared/lucide-icons/sofa.svg +1 -0
- package/dist/shared/lucide-icons/soup.svg +1 -0
- package/dist/shared/lucide-icons/space.svg +1 -0
- package/dist/shared/lucide-icons/spade.svg +1 -0
- package/dist/shared/lucide-icons/sparkle.svg +1 -0
- package/dist/shared/lucide-icons/sparkles.svg +1 -0
- package/dist/shared/lucide-icons/speaker.svg +1 -0
- package/dist/shared/lucide-icons/speech.svg +1 -0
- package/dist/shared/lucide-icons/spell-check.svg +1 -0
- package/dist/shared/lucide-icons/spell-check2.svg +1 -0
- package/dist/shared/lucide-icons/spline.svg +1 -0
- package/dist/shared/lucide-icons/split.svg +1 -0
- package/dist/shared/lucide-icons/spray-can.svg +1 -0
- package/dist/shared/lucide-icons/sprout.svg +1 -0
- package/dist/shared/lucide-icons/square-activity.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-down-left.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-down-right.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-left.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-out-down-left.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-out-down-right.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-out-up-left.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-out-up-right.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-right.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-up-left.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-up-right.svg +1 -0
- package/dist/shared/lucide-icons/square-arrow-up.svg +1 -0
- package/dist/shared/lucide-icons/square-asterisk.svg +1 -0
- package/dist/shared/lucide-icons/square-bottom-dashed-scissors.svg +1 -0
- package/dist/shared/lucide-icons/square-chart-gantt.svg +1 -0
- package/dist/shared/lucide-icons/square-check-big.svg +1 -0
- package/dist/shared/lucide-icons/square-check.svg +1 -0
- package/dist/shared/lucide-icons/square-chevron-down.svg +1 -0
- package/dist/shared/lucide-icons/square-chevron-left.svg +1 -0
- package/dist/shared/lucide-icons/square-chevron-right.svg +1 -0
- package/dist/shared/lucide-icons/square-chevron-up.svg +1 -0
- package/dist/shared/lucide-icons/square-code.svg +1 -0
- package/dist/shared/lucide-icons/square-dashed-bottom-code.svg +1 -0
- package/dist/shared/lucide-icons/square-dashed-bottom.svg +1 -0
- package/dist/shared/lucide-icons/square-dashed-kanban.svg +1 -0
- package/dist/shared/lucide-icons/square-dashed-mouse-pointer.svg +1 -0
- package/dist/shared/lucide-icons/square-dashed.svg +1 -0
- package/dist/shared/lucide-icons/square-divide.svg +1 -0
- package/dist/shared/lucide-icons/square-dot.svg +1 -0
- package/dist/shared/lucide-icons/square-equal.svg +1 -0
- package/dist/shared/lucide-icons/square-function.svg +1 -0
- package/dist/shared/lucide-icons/square-kanban.svg +1 -0
- package/dist/shared/lucide-icons/square-library.svg +1 -0
- package/dist/shared/lucide-icons/square-m.svg +1 -0
- package/dist/shared/lucide-icons/square-menu.svg +1 -0
- package/dist/shared/lucide-icons/square-minus.svg +1 -0
- package/dist/shared/lucide-icons/square-mouse-pointer.svg +1 -0
- package/dist/shared/lucide-icons/square-parking-off.svg +1 -0
- package/dist/shared/lucide-icons/square-parking.svg +1 -0
- package/dist/shared/lucide-icons/square-pen.svg +1 -0
- package/dist/shared/lucide-icons/square-percent.svg +1 -0
- package/dist/shared/lucide-icons/square-pi.svg +1 -0
- package/dist/shared/lucide-icons/square-pilcrow.svg +1 -0
- package/dist/shared/lucide-icons/square-play.svg +1 -0
- package/dist/shared/lucide-icons/square-plus.svg +1 -0
- package/dist/shared/lucide-icons/square-power.svg +1 -0
- package/dist/shared/lucide-icons/square-radical.svg +1 -0
- package/dist/shared/lucide-icons/square-scissors.svg +1 -0
- package/dist/shared/lucide-icons/square-sigma.svg +1 -0
- package/dist/shared/lucide-icons/square-slash.svg +1 -0
- package/dist/shared/lucide-icons/square-split-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/square-split-vertical.svg +1 -0
- package/dist/shared/lucide-icons/square-square.svg +1 -0
- package/dist/shared/lucide-icons/square-stack.svg +1 -0
- package/dist/shared/lucide-icons/square-terminal.svg +1 -0
- package/dist/shared/lucide-icons/square-user-round.svg +1 -0
- package/dist/shared/lucide-icons/square-user.svg +1 -0
- package/dist/shared/lucide-icons/square-x.svg +1 -0
- package/dist/shared/lucide-icons/square.svg +1 -0
- package/dist/shared/lucide-icons/squircle.svg +1 -0
- package/dist/shared/lucide-icons/squirrel.svg +1 -0
- package/dist/shared/lucide-icons/stamp.svg +1 -0
- package/dist/shared/lucide-icons/star-half.svg +1 -0
- package/dist/shared/lucide-icons/star-off.svg +1 -0
- package/dist/shared/lucide-icons/star.svg +1 -0
- package/dist/shared/lucide-icons/step-back.svg +1 -0
- package/dist/shared/lucide-icons/step-forward.svg +1 -0
- package/dist/shared/lucide-icons/stethoscope.svg +1 -0
- package/dist/shared/lucide-icons/sticker.svg +1 -0
- package/dist/shared/lucide-icons/sticky-note.svg +1 -0
- package/dist/shared/lucide-icons/store.svg +1 -0
- package/dist/shared/lucide-icons/stretch-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/stretch-vertical.svg +1 -0
- package/dist/shared/lucide-icons/strikethrough.svg +1 -0
- package/dist/shared/lucide-icons/subscript.svg +1 -0
- package/dist/shared/lucide-icons/sun-dim.svg +1 -0
- package/dist/shared/lucide-icons/sun-medium.svg +1 -0
- package/dist/shared/lucide-icons/sun-moon.svg +1 -0
- package/dist/shared/lucide-icons/sun-snow.svg +1 -0
- package/dist/shared/lucide-icons/sun.svg +1 -0
- package/dist/shared/lucide-icons/sunrise.svg +1 -0
- package/dist/shared/lucide-icons/sunset.svg +1 -0
- package/dist/shared/lucide-icons/superscript.svg +1 -0
- package/dist/shared/lucide-icons/swatch-book.svg +1 -0
- package/dist/shared/lucide-icons/swiss-franc.svg +1 -0
- package/dist/shared/lucide-icons/switch-camera.svg +1 -0
- package/dist/shared/lucide-icons/sword.svg +1 -0
- package/dist/shared/lucide-icons/swords.svg +1 -0
- package/dist/shared/lucide-icons/syringe.svg +1 -0
- package/dist/shared/lucide-icons/table-cells-merge.svg +1 -0
- package/dist/shared/lucide-icons/table-cells-split.svg +1 -0
- package/dist/shared/lucide-icons/table-columns-split.svg +1 -0
- package/dist/shared/lucide-icons/table-of-contents.svg +1 -0
- package/dist/shared/lucide-icons/table-properties.svg +1 -0
- package/dist/shared/lucide-icons/table-rows-split.svg +1 -0
- package/dist/shared/lucide-icons/table.svg +1 -0
- package/dist/shared/lucide-icons/table2.svg +1 -0
- package/dist/shared/lucide-icons/tablet-smartphone.svg +1 -0
- package/dist/shared/lucide-icons/tablet.svg +1 -0
- package/dist/shared/lucide-icons/tablets.svg +1 -0
- package/dist/shared/lucide-icons/tag.svg +1 -0
- package/dist/shared/lucide-icons/tags.svg +1 -0
- package/dist/shared/lucide-icons/tally1.svg +1 -0
- package/dist/shared/lucide-icons/tally2.svg +1 -0
- package/dist/shared/lucide-icons/tally3.svg +1 -0
- package/dist/shared/lucide-icons/tally4.svg +1 -0
- package/dist/shared/lucide-icons/tally5.svg +1 -0
- package/dist/shared/lucide-icons/tangent.svg +1 -0
- package/dist/shared/lucide-icons/target.svg +1 -0
- package/dist/shared/lucide-icons/telescope.svg +1 -0
- package/dist/shared/lucide-icons/tent-tree.svg +1 -0
- package/dist/shared/lucide-icons/tent.svg +1 -0
- package/dist/shared/lucide-icons/terminal.svg +1 -0
- package/dist/shared/lucide-icons/test-tube-diagonal.svg +1 -0
- package/dist/shared/lucide-icons/test-tube.svg +1 -0
- package/dist/shared/lucide-icons/test-tubes.svg +1 -0
- package/dist/shared/lucide-icons/text-cursor-input.svg +1 -0
- package/dist/shared/lucide-icons/text-cursor.svg +1 -0
- package/dist/shared/lucide-icons/text-quote.svg +1 -0
- package/dist/shared/lucide-icons/text-search.svg +1 -0
- package/dist/shared/lucide-icons/text-select.svg +1 -0
- package/dist/shared/lucide-icons/text.svg +1 -0
- package/dist/shared/lucide-icons/theater.svg +1 -0
- package/dist/shared/lucide-icons/thermometer-snowflake.svg +1 -0
- package/dist/shared/lucide-icons/thermometer-sun.svg +1 -0
- package/dist/shared/lucide-icons/thermometer.svg +1 -0
- package/dist/shared/lucide-icons/thumbs-down.svg +1 -0
- package/dist/shared/lucide-icons/thumbs-up.svg +1 -0
- package/dist/shared/lucide-icons/ticket-check.svg +1 -0
- package/dist/shared/lucide-icons/ticket-minus.svg +1 -0
- package/dist/shared/lucide-icons/ticket-percent.svg +1 -0
- package/dist/shared/lucide-icons/ticket-plus.svg +1 -0
- package/dist/shared/lucide-icons/ticket-slash.svg +1 -0
- package/dist/shared/lucide-icons/ticket-x.svg +1 -0
- package/dist/shared/lucide-icons/ticket.svg +1 -0
- package/dist/shared/lucide-icons/tickets-plane.svg +1 -0
- package/dist/shared/lucide-icons/tickets.svg +1 -0
- package/dist/shared/lucide-icons/timer-off.svg +1 -0
- package/dist/shared/lucide-icons/timer-reset.svg +1 -0
- package/dist/shared/lucide-icons/timer.svg +1 -0
- package/dist/shared/lucide-icons/toggle-left.svg +1 -0
- package/dist/shared/lucide-icons/toggle-right.svg +1 -0
- package/dist/shared/lucide-icons/toilet.svg +1 -0
- package/dist/shared/lucide-icons/tornado.svg +1 -0
- package/dist/shared/lucide-icons/torus.svg +1 -0
- package/dist/shared/lucide-icons/touchpad-off.svg +1 -0
- package/dist/shared/lucide-icons/touchpad.svg +1 -0
- package/dist/shared/lucide-icons/tower-control.svg +1 -0
- package/dist/shared/lucide-icons/toy-brick.svg +1 -0
- package/dist/shared/lucide-icons/tractor.svg +1 -0
- package/dist/shared/lucide-icons/traffic-cone.svg +1 -0
- package/dist/shared/lucide-icons/train-front-tunnel.svg +1 -0
- package/dist/shared/lucide-icons/train-front.svg +1 -0
- package/dist/shared/lucide-icons/train-track.svg +1 -0
- package/dist/shared/lucide-icons/tram-front.svg +1 -0
- package/dist/shared/lucide-icons/trash.svg +1 -0
- package/dist/shared/lucide-icons/trash2.svg +1 -0
- package/dist/shared/lucide-icons/tree-deciduous.svg +1 -0
- package/dist/shared/lucide-icons/tree-palm.svg +1 -0
- package/dist/shared/lucide-icons/tree-pine.svg +1 -0
- package/dist/shared/lucide-icons/trees.svg +1 -0
- package/dist/shared/lucide-icons/trello.svg +1 -0
- package/dist/shared/lucide-icons/trending-down.svg +1 -0
- package/dist/shared/lucide-icons/trending-up-down.svg +1 -0
- package/dist/shared/lucide-icons/trending-up.svg +1 -0
- package/dist/shared/lucide-icons/triangle-alert.svg +1 -0
- package/dist/shared/lucide-icons/triangle-right.svg +1 -0
- package/dist/shared/lucide-icons/triangle.svg +1 -0
- package/dist/shared/lucide-icons/trophy.svg +1 -0
- package/dist/shared/lucide-icons/truck.svg +1 -0
- package/dist/shared/lucide-icons/turtle.svg +1 -0
- package/dist/shared/lucide-icons/tv-minimal-play.svg +1 -0
- package/dist/shared/lucide-icons/tv-minimal.svg +1 -0
- package/dist/shared/lucide-icons/tv.svg +1 -0
- package/dist/shared/lucide-icons/twitch.svg +1 -0
- package/dist/shared/lucide-icons/twitter.svg +1 -0
- package/dist/shared/lucide-icons/type-outline.svg +1 -0
- package/dist/shared/lucide-icons/type.svg +1 -0
- package/dist/shared/lucide-icons/umbrella-off.svg +1 -0
- package/dist/shared/lucide-icons/umbrella.svg +1 -0
- package/dist/shared/lucide-icons/underline.svg +1 -0
- package/dist/shared/lucide-icons/undo-dot.svg +1 -0
- package/dist/shared/lucide-icons/undo.svg +1 -0
- package/dist/shared/lucide-icons/undo2.svg +1 -0
- package/dist/shared/lucide-icons/unfold-horizontal.svg +1 -0
- package/dist/shared/lucide-icons/unfold-vertical.svg +1 -0
- package/dist/shared/lucide-icons/ungroup.svg +1 -0
- package/dist/shared/lucide-icons/university.svg +1 -0
- package/dist/shared/lucide-icons/unlink.svg +1 -0
- package/dist/shared/lucide-icons/unlink2.svg +1 -0
- package/dist/shared/lucide-icons/unplug.svg +1 -0
- package/dist/shared/lucide-icons/upload.svg +1 -0
- package/dist/shared/lucide-icons/usb.svg +1 -0
- package/dist/shared/lucide-icons/user-check.svg +1 -0
- package/dist/shared/lucide-icons/user-cog.svg +1 -0
- package/dist/shared/lucide-icons/user-minus.svg +1 -0
- package/dist/shared/lucide-icons/user-pen.svg +1 -0
- package/dist/shared/lucide-icons/user-plus.svg +1 -0
- package/dist/shared/lucide-icons/user-round-check.svg +1 -0
- package/dist/shared/lucide-icons/user-round-cog.svg +1 -0
- package/dist/shared/lucide-icons/user-round-minus.svg +1 -0
- package/dist/shared/lucide-icons/user-round-pen.svg +1 -0
- package/dist/shared/lucide-icons/user-round-plus.svg +1 -0
- package/dist/shared/lucide-icons/user-round-search.svg +1 -0
- package/dist/shared/lucide-icons/user-round-x.svg +1 -0
- package/dist/shared/lucide-icons/user-round.svg +1 -0
- package/dist/shared/lucide-icons/user-search.svg +1 -0
- package/dist/shared/lucide-icons/user-x.svg +1 -0
- package/dist/shared/lucide-icons/user.svg +1 -0
- package/dist/shared/lucide-icons/users-round.svg +1 -0
- package/dist/shared/lucide-icons/users.svg +1 -0
- package/dist/shared/lucide-icons/utensils-crossed.svg +1 -0
- package/dist/shared/lucide-icons/utensils.svg +1 -0
- package/dist/shared/lucide-icons/utility-pole.svg +1 -0
- package/dist/shared/lucide-icons/variable.svg +1 -0
- package/dist/shared/lucide-icons/vault.svg +1 -0
- package/dist/shared/lucide-icons/vegan.svg +1 -0
- package/dist/shared/lucide-icons/venetian-mask.svg +1 -0
- package/dist/shared/lucide-icons/vibrate-off.svg +1 -0
- package/dist/shared/lucide-icons/vibrate.svg +1 -0
- package/dist/shared/lucide-icons/video-off.svg +1 -0
- package/dist/shared/lucide-icons/video.svg +1 -0
- package/dist/shared/lucide-icons/videotape.svg +1 -0
- package/dist/shared/lucide-icons/view.svg +1 -0
- package/dist/shared/lucide-icons/voicemail.svg +1 -0
- package/dist/shared/lucide-icons/volleyball.svg +1 -0
- package/dist/shared/lucide-icons/volume-off.svg +1 -0
- package/dist/shared/lucide-icons/volume-x.svg +1 -0
- package/dist/shared/lucide-icons/volume.svg +1 -0
- package/dist/shared/lucide-icons/volume1.svg +1 -0
- package/dist/shared/lucide-icons/volume2.svg +1 -0
- package/dist/shared/lucide-icons/vote.svg +1 -0
- package/dist/shared/lucide-icons/wallet-cards.svg +1 -0
- package/dist/shared/lucide-icons/wallet-minimal.svg +1 -0
- package/dist/shared/lucide-icons/wallet.svg +1 -0
- package/dist/shared/lucide-icons/wallpaper.svg +1 -0
- package/dist/shared/lucide-icons/wand-sparkles.svg +1 -0
- package/dist/shared/lucide-icons/wand.svg +1 -0
- package/dist/shared/lucide-icons/warehouse.svg +1 -0
- package/dist/shared/lucide-icons/washing-machine.svg +1 -0
- package/dist/shared/lucide-icons/watch.svg +1 -0
- package/dist/shared/lucide-icons/waves-ladder.svg +1 -0
- package/dist/shared/lucide-icons/waves.svg +1 -0
- package/dist/shared/lucide-icons/waypoints.svg +1 -0
- package/dist/shared/lucide-icons/webcam.svg +1 -0
- package/dist/shared/lucide-icons/webhook-off.svg +1 -0
- package/dist/shared/lucide-icons/webhook.svg +1 -0
- package/dist/shared/lucide-icons/weight.svg +1 -0
- package/dist/shared/lucide-icons/wheat-off.svg +1 -0
- package/dist/shared/lucide-icons/wheat.svg +1 -0
- package/dist/shared/lucide-icons/whole-word.svg +1 -0
- package/dist/shared/lucide-icons/wifi-high.svg +1 -0
- package/dist/shared/lucide-icons/wifi-low.svg +1 -0
- package/dist/shared/lucide-icons/wifi-off.svg +1 -0
- package/dist/shared/lucide-icons/wifi-zero.svg +1 -0
- package/dist/shared/lucide-icons/wifi.svg +1 -0
- package/dist/shared/lucide-icons/wind-arrow-down.svg +1 -0
- package/dist/shared/lucide-icons/wind.svg +1 -0
- package/dist/shared/lucide-icons/wine-off.svg +1 -0
- package/dist/shared/lucide-icons/wine.svg +1 -0
- package/dist/shared/lucide-icons/workflow.svg +1 -0
- package/dist/shared/lucide-icons/worm.svg +1 -0
- package/dist/shared/lucide-icons/wrap-text.svg +1 -0
- package/dist/shared/lucide-icons/wrench.svg +1 -0
- package/dist/shared/lucide-icons/x.svg +1 -0
- package/dist/shared/lucide-icons/youtube.svg +1 -0
- package/dist/shared/lucide-icons/zap-off.svg +1 -0
- package/dist/shared/lucide-icons/zap.svg +1 -0
- package/dist/shared/lucide-icons/zoom-in.svg +1 -0
- package/dist/shared/lucide-icons/zoom-out.svg +1 -0
- package/dist/{server → shared}/projectIcons.js +2 -2
- package/package.json +6 -4
- package/texlite.config.example.json +4 -1
- package/dist/client/assets/GitDialog-Ds1IhVJ3.js +0 -3
- package/dist/client/assets/HistoryDialog-BOLQxHvV.js +0 -5
- package/dist/client/assets/PdfPreview-DwKlkGl9.js +0 -1
- package/dist/client/assets/ProjectNavigationDialogs-D6grphxz.js +0 -1
- package/dist/client/assets/SystemMetricsDialog-CxiyDnsC.js +0 -1
- package/dist/client/assets/index-BoLY1azn.js +0 -64
- package/dist/client/assets/index-DzzqNm9b.css +0 -1
package/dist/server/pm2.js
CHANGED
|
@@ -2,6 +2,7 @@ import crypto from "node:crypto";
|
|
|
2
2
|
import fs from "node:fs";
|
|
3
3
|
import http from "node:http";
|
|
4
4
|
import path from "node:path";
|
|
5
|
+
import { managedLogPaths } from "./logRotation.js";
|
|
5
6
|
import { defaultConfigPath, packageRootDirectory, packageServerEntry } from "./runtimePaths.js";
|
|
6
7
|
let pm2Client = null;
|
|
7
8
|
async function loadPm2() {
|
|
@@ -64,12 +65,15 @@ export async function managedProcess(configPath) {
|
|
|
64
65
|
}
|
|
65
66
|
}
|
|
66
67
|
function startOptions(config) {
|
|
68
|
+
const logs = managedLogPaths(config.dataDir);
|
|
69
|
+
fs.mkdirSync(path.dirname(logs.stdout), { recursive: true, mode: 0o700 });
|
|
67
70
|
const packageRoot = packageRootDirectory();
|
|
68
71
|
const script = packageServerEntry();
|
|
69
72
|
const environment = {
|
|
70
73
|
...Object.fromEntries(Object.entries(process.env).filter((entry) => typeof entry[1] === "string")),
|
|
71
74
|
NODE_ENV: "production",
|
|
72
75
|
TEXLITE_CONFIG: path.resolve(config.configPath),
|
|
76
|
+
TEXLITE_MANAGED_LOGS: "1",
|
|
73
77
|
TEXLITE_CLIENT_DIR: path.resolve(config.clientDir)
|
|
74
78
|
};
|
|
75
79
|
return {
|
|
@@ -78,6 +82,9 @@ function startOptions(config) {
|
|
|
78
82
|
cwd: packageRoot,
|
|
79
83
|
exec_mode: "fork",
|
|
80
84
|
instances: 1,
|
|
85
|
+
output: logs.stdout,
|
|
86
|
+
error: logs.stderr,
|
|
87
|
+
merge_logs: true,
|
|
81
88
|
autorestart: true,
|
|
82
89
|
watch: false,
|
|
83
90
|
wait_ready: true,
|
package/dist/server/projects.js
CHANGED
|
@@ -1,17 +1,39 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
const ACCESSIBLE_PROJECT_SQL = `
|
|
2
|
+
SELECT p.*,
|
|
3
|
+
CASE WHEN p.owner_id = ? THEN 'owner' ELSE pm.permission END AS permission,
|
|
4
|
+
owner.username AS owner_username, owner.display_name AS owner_display_name,
|
|
5
|
+
modifier.username AS last_modified_username, modifier.display_name AS last_modified_display_name
|
|
6
|
+
FROM projects p
|
|
7
|
+
JOIN users owner ON owner.id = p.owner_id
|
|
8
|
+
LEFT JOIN users modifier ON modifier.id = p.last_modified_by
|
|
9
|
+
LEFT JOIN project_members pm ON pm.project_id = p.id AND pm.user_id = ?
|
|
10
|
+
WHERE p.id = ? AND (p.owner_id = ? OR pm.user_id IS NOT NULL)
|
|
11
|
+
`;
|
|
12
|
+
// This deliberately keeps the same access predicate as ACCESSIBLE_PROJECT_SQL
|
|
13
|
+
// while avoiding the owner/modifier display-name joins and the complete project
|
|
14
|
+
// row on the collaboration hot path.
|
|
15
|
+
const COLLABORATION_PROJECT_ACCESS_SQL = `
|
|
16
|
+
SELECT CASE WHEN p.owner_id = ? THEN 'owner' ELSE pm.permission END AS permission
|
|
17
|
+
FROM projects p
|
|
18
|
+
LEFT JOIN project_members pm ON pm.project_id = p.id AND pm.user_id = ?
|
|
19
|
+
WHERE p.id = ? AND (p.owner_id = ? OR pm.user_id IS NOT NULL)
|
|
20
|
+
`;
|
|
21
|
+
export function prepareAccessibleProjectStatement(db) {
|
|
22
|
+
return db.prepare(ACCESSIBLE_PROJECT_SQL);
|
|
23
|
+
}
|
|
24
|
+
export function prepareCollaborationProjectAccessStatement(db) {
|
|
25
|
+
return db.prepare(COLLABORATION_PROJECT_ACCESS_SQL);
|
|
26
|
+
}
|
|
27
|
+
export function accessibleProjectFromStatement(statement, projectId, user) {
|
|
28
|
+
const row = statement.get(user.id, user.id, projectId, user.id);
|
|
13
29
|
return row ?? null;
|
|
14
30
|
}
|
|
31
|
+
export function collaborationProjectAccessFromStatement(statement, projectId, user) {
|
|
32
|
+
return statement.get(user.id, user.id, projectId, user.id) ?? null;
|
|
33
|
+
}
|
|
34
|
+
export function accessibleProject(db, projectId, user) {
|
|
35
|
+
return accessibleProjectFromStatement(prepareAccessibleProjectStatement(db), projectId, user);
|
|
36
|
+
}
|
|
15
37
|
export function canEdit(project) {
|
|
16
38
|
return project.permission === "owner" || project.permission === "edit";
|
|
17
39
|
}
|
|
@@ -5,10 +5,71 @@ import { createSourceAnchor, offsetToLine } from "../anchors.js";
|
|
|
5
5
|
import { resolveSourcePath, safeRelativePath } from "../files.js";
|
|
6
6
|
import { apiError, httpError } from "../http.js";
|
|
7
7
|
import { accessibleProject } from "../projects.js";
|
|
8
|
+
import { commentMentionForUser, createCommentMentions, listCommentMentions, markAllCommentMentionsRead, markCommentMentionRead, markCommentMentionsResolved, mentionableUsersForProject } from "../commentMentions.js";
|
|
8
9
|
import { commentsForFile, now, repliesForComment, text } from "./projectShared.js";
|
|
9
10
|
/** Register source-anchored comments and reply routes. */
|
|
10
11
|
export function registerCommentRoutes(app, context) {
|
|
11
12
|
const { config, db, collaboration, projectMutations } = context;
|
|
13
|
+
app.get("/api/projects/:id/mention-candidates", async (request, reply) => {
|
|
14
|
+
const user = requireUser(request, reply, db);
|
|
15
|
+
if (!user)
|
|
16
|
+
return;
|
|
17
|
+
const { id } = request.params;
|
|
18
|
+
if (!accessibleProject(db, id, user))
|
|
19
|
+
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
20
|
+
// Mentions are intended to notify another participant. Excluding the
|
|
21
|
+
// author avoids offering a no-op self notification in every composer.
|
|
22
|
+
return { users: mentionableUsersForProject(db, id, user.id) };
|
|
23
|
+
});
|
|
24
|
+
app.get("/api/projects/:id/mentions", async (request, reply) => {
|
|
25
|
+
const user = requireUser(request, reply, db);
|
|
26
|
+
if (!user)
|
|
27
|
+
return;
|
|
28
|
+
const { id } = request.params;
|
|
29
|
+
if (!accessibleProject(db, id, user))
|
|
30
|
+
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
31
|
+
const query = request.query;
|
|
32
|
+
const requestedLimit = Number.parseInt(query.limit ?? "50", 10);
|
|
33
|
+
return {
|
|
34
|
+
mentions: listCommentMentions(db, id, user.id, {
|
|
35
|
+
unreadOnly: query.unread === "1" || query.unread === "true",
|
|
36
|
+
limit: Number.isFinite(requestedLimit) ? requestedLimit : 50,
|
|
37
|
+
filePath: typeof query.path === "string" && query.path ? safeRelativePath(query.path) : undefined
|
|
38
|
+
})
|
|
39
|
+
};
|
|
40
|
+
});
|
|
41
|
+
app.get("/api/projects/:id/mentions/:mentionId", async (request, reply) => {
|
|
42
|
+
const user = requireUser(request, reply, db);
|
|
43
|
+
if (!user)
|
|
44
|
+
return;
|
|
45
|
+
const { id, mentionId } = request.params;
|
|
46
|
+
if (!accessibleProject(db, id, user))
|
|
47
|
+
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
48
|
+
const mention = commentMentionForUser(db, mentionId, id, user.id);
|
|
49
|
+
if (!mention)
|
|
50
|
+
return apiError(reply, 404, "MENTION_NOT_FOUND");
|
|
51
|
+
return { mention };
|
|
52
|
+
});
|
|
53
|
+
app.post("/api/projects/:id/mentions/:mentionId/read", async (request, reply) => {
|
|
54
|
+
const user = requireUser(request, reply, db);
|
|
55
|
+
if (!user)
|
|
56
|
+
return;
|
|
57
|
+
const { id, mentionId } = request.params;
|
|
58
|
+
if (!accessibleProject(db, id, user))
|
|
59
|
+
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
60
|
+
if (!commentMentionForUser(db, mentionId, id, user.id))
|
|
61
|
+
return apiError(reply, 404, "MENTION_NOT_FOUND");
|
|
62
|
+
return { ok: true, changed: markCommentMentionRead(db, mentionId, user.id, now(), "manual") };
|
|
63
|
+
});
|
|
64
|
+
app.post("/api/projects/:id/mentions/read-all", async (request, reply) => {
|
|
65
|
+
const user = requireUser(request, reply, db);
|
|
66
|
+
if (!user)
|
|
67
|
+
return;
|
|
68
|
+
const { id } = request.params;
|
|
69
|
+
if (!accessibleProject(db, id, user))
|
|
70
|
+
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
71
|
+
return { ok: true, changed: markAllCommentMentionsRead(db, id, user.id, now()) };
|
|
72
|
+
});
|
|
12
73
|
app.get("/api/projects/:id/comments", async (request, reply) => {
|
|
13
74
|
const user = requireUser(request, reply, db);
|
|
14
75
|
if (!user)
|
|
@@ -50,11 +111,17 @@ export function registerCommentRoutes(app, context) {
|
|
|
50
111
|
id: randomUUID(), filePath,
|
|
51
112
|
content: text(body.content, 5000)
|
|
52
113
|
};
|
|
53
|
-
db.
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
114
|
+
db.transaction(() => {
|
|
115
|
+
db.prepare(`INSERT INTO comments
|
|
116
|
+
(id, project_id, file_path, author_id, selected_text, start_offset, end_offset,
|
|
117
|
+
context_before, context_after, orphaned, start_line, end_line, content, created_at, updated_at)
|
|
118
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 0, ?, ?, ?, ?, ?)`)
|
|
119
|
+
.run(comment.id, id, comment.filePath, user.id, anchor.selectedText, anchor.startOffset, anchor.endOffset, anchor.contextBefore, anchor.contextAfter, offsetToLine(source, anchor.startOffset), offsetToLine(source, anchor.endOffset), comment.content, createdAt, createdAt);
|
|
120
|
+
createCommentMentions(db, {
|
|
121
|
+
projectId: id, commentId: comment.id, authorId: user.id,
|
|
122
|
+
content: comment.content, createdAt
|
|
123
|
+
});
|
|
124
|
+
})();
|
|
58
125
|
const created = commentsForFile(db, config, id, filePath).find((item) => item.id === comment.id);
|
|
59
126
|
collaboration.signalComments(id);
|
|
60
127
|
return reply.code(201).send({ comment: created });
|
|
@@ -76,9 +143,15 @@ export function registerCommentRoutes(app, context) {
|
|
|
76
143
|
const body = request.body;
|
|
77
144
|
const createdAt = now();
|
|
78
145
|
const replyId = randomUUID();
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
.
|
|
146
|
+
const content = text(body.content, 5000);
|
|
147
|
+
db.transaction(() => {
|
|
148
|
+
db.prepare(`INSERT INTO comment_replies (id, comment_id, author_id, content, created_at, updated_at)
|
|
149
|
+
VALUES (?, ?, ?, ?, ?, ?)`)
|
|
150
|
+
.run(replyId, commentId, user.id, content, createdAt, createdAt);
|
|
151
|
+
createCommentMentions(db, {
|
|
152
|
+
projectId: id, commentId, replyId, authorId: user.id, content, createdAt
|
|
153
|
+
});
|
|
154
|
+
})();
|
|
82
155
|
const created = repliesForComment(db, commentId).find((item) => item.id === replyId);
|
|
83
156
|
collaboration.signalComments(id);
|
|
84
157
|
return reply.code(201).send({ reply: created });
|
|
@@ -90,27 +163,39 @@ export function registerCommentRoutes(app, context) {
|
|
|
90
163
|
const { id, commentId } = request.params;
|
|
91
164
|
if (!accessibleProject(db, id, user))
|
|
92
165
|
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
93
|
-
const comment = db.prepare("SELECT author_id FROM comments WHERE id = ? AND project_id = ?")
|
|
166
|
+
const comment = db.prepare("SELECT author_id, resolved, content FROM comments WHERE id = ? AND project_id = ?")
|
|
94
167
|
.get(commentId, id);
|
|
95
168
|
if (!comment)
|
|
96
169
|
return apiError(reply, 404, "COMMENT_NOT_FOUND");
|
|
97
170
|
const body = request.body;
|
|
98
171
|
const changedAt = now();
|
|
99
172
|
let changed = false;
|
|
173
|
+
const content = typeof body.content === "string" ? text(body.content, 5000) : null;
|
|
100
174
|
if (typeof body.content === "string") {
|
|
101
175
|
if (comment.author_id !== user.id)
|
|
102
176
|
return apiError(reply, 403, "COMMENT_EDIT_FORBIDDEN");
|
|
103
|
-
db.prepare("UPDATE comments SET content = ?, updated_at = ?, edited_at = ? WHERE id = ?")
|
|
104
|
-
.run(text(body.content, 5000), changedAt, changedAt, commentId);
|
|
105
177
|
changed = true;
|
|
106
178
|
}
|
|
107
179
|
if (typeof body.resolved === "boolean") {
|
|
108
|
-
db.prepare("UPDATE comments SET resolved = ?, updated_at = ? WHERE id = ?")
|
|
109
|
-
.run(body.resolved ? 1 : 0, changedAt, commentId);
|
|
110
180
|
changed = true;
|
|
111
181
|
}
|
|
112
182
|
if (!changed)
|
|
113
183
|
return apiError(reply, 400, "COMMENT_UPDATE_EMPTY");
|
|
184
|
+
db.transaction(() => {
|
|
185
|
+
if (content !== null) {
|
|
186
|
+
db.prepare("UPDATE comments SET content = ?, updated_at = ?, edited_at = ? WHERE id = ?")
|
|
187
|
+
.run(content, changedAt, changedAt, commentId);
|
|
188
|
+
createCommentMentions(db, {
|
|
189
|
+
projectId: id, commentId, authorId: user.id, content, previousContent: comment.content, createdAt: changedAt
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
if (typeof body.resolved === "boolean") {
|
|
193
|
+
db.prepare("UPDATE comments SET resolved = ?, updated_at = ? WHERE id = ?")
|
|
194
|
+
.run(body.resolved ? 1 : 0, changedAt, commentId);
|
|
195
|
+
if (body.resolved && !comment.resolved)
|
|
196
|
+
markCommentMentionsResolved(db, commentId, changedAt);
|
|
197
|
+
}
|
|
198
|
+
})();
|
|
114
199
|
collaboration.signalComments(id);
|
|
115
200
|
return { ok: true };
|
|
116
201
|
});
|
|
@@ -138,7 +223,7 @@ export function registerCommentRoutes(app, context) {
|
|
|
138
223
|
const { id, commentId, replyId } = request.params;
|
|
139
224
|
if (!accessibleProject(db, id, user))
|
|
140
225
|
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
141
|
-
const commentReply = db.prepare(`SELECT reply.author_id FROM comment_replies reply
|
|
226
|
+
const commentReply = db.prepare(`SELECT reply.author_id, reply.content FROM comment_replies reply
|
|
142
227
|
JOIN comments comment ON comment.id = reply.comment_id
|
|
143
228
|
WHERE reply.id = ? AND reply.comment_id = ? AND comment.project_id = ?`)
|
|
144
229
|
.get(replyId, commentId, id);
|
|
@@ -148,8 +233,14 @@ export function registerCommentRoutes(app, context) {
|
|
|
148
233
|
return apiError(reply, 403, "REPLY_EDIT_FORBIDDEN");
|
|
149
234
|
const body = request.body;
|
|
150
235
|
const changedAt = now();
|
|
151
|
-
|
|
152
|
-
|
|
236
|
+
const content = text(body.content, 5000);
|
|
237
|
+
db.transaction(() => {
|
|
238
|
+
db.prepare("UPDATE comment_replies SET content = ?, updated_at = ?, edited_at = ? WHERE id = ?")
|
|
239
|
+
.run(content, changedAt, changedAt, replyId);
|
|
240
|
+
createCommentMentions(db, {
|
|
241
|
+
projectId: id, commentId, replyId, authorId: user.id, content, previousContent: commentReply.content, createdAt: changedAt
|
|
242
|
+
});
|
|
243
|
+
})();
|
|
153
244
|
const updated = repliesForComment(db, commentId).find((item) => item.id === replyId);
|
|
154
245
|
collaboration.signalComments(id);
|
|
155
246
|
return { reply: updated };
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import fs from "node:fs";
|
|
2
2
|
import { requireUser } from "../auth.js";
|
|
3
|
+
import { isCollaborativeTextFile, maxCollaborativeFileBytes } from "../collaboration.js";
|
|
4
|
+
import { hashText } from "../editHistory.js";
|
|
5
|
+
import { HISTORY_RETENTION_DELAY_MS } from "../historyRetention.js";
|
|
3
6
|
import { resolveSourcePath, safeRelativePath } from "../files.js";
|
|
4
7
|
import { apiError, httpError } from "../http.js";
|
|
5
8
|
import { MAX_TEXT_PREVIEW_BYTES } from "../limits.js";
|
|
@@ -7,7 +10,75 @@ import { accessibleProject, canEdit } from "../projects.js";
|
|
|
7
10
|
import { commentsSummaryForProject, projectJson, projectTextSnapshot, reanchorProjectSnapshot, requireEditableProject, requireProjectOwnerPermission, tagsForProject, text, touchProject } from "./projectShared.js";
|
|
8
11
|
/** Register retained project version listing, inspection, restoration, and cleanup routes. */
|
|
9
12
|
export function registerProjectHistoryRoutes(app, context) {
|
|
10
|
-
const { config, db, history, projectMutations, recordHistory } = context;
|
|
13
|
+
const { config, db, history, editHistory, projectMutations, recordHistory } = context;
|
|
14
|
+
app.get("/api/projects/:id/edit-history/stats", async (request, reply) => {
|
|
15
|
+
const user = requireUser(request, reply, db);
|
|
16
|
+
if (!user)
|
|
17
|
+
return;
|
|
18
|
+
const { id } = request.params;
|
|
19
|
+
if (accessibleProject(db, id, user)?.permission !== "owner")
|
|
20
|
+
return apiError(reply, 403, "PROJECT_OWNER_ONLY");
|
|
21
|
+
return editHistory.stats(id);
|
|
22
|
+
});
|
|
23
|
+
app.delete("/api/projects/:id/edit-history", async (request, reply) => {
|
|
24
|
+
const user = requireUser(request, reply, db);
|
|
25
|
+
if (!user)
|
|
26
|
+
return;
|
|
27
|
+
const { id } = request.params;
|
|
28
|
+
if (accessibleProject(db, id, user)?.permission !== "owner")
|
|
29
|
+
return apiError(reply, 403, "PROJECT_OWNER_ONLY");
|
|
30
|
+
return await projectMutations.runWrite(id, () => {
|
|
31
|
+
editHistory.clear(id);
|
|
32
|
+
context.clearPendingEdits(id);
|
|
33
|
+
return editHistory.stats(id);
|
|
34
|
+
}, { preflight: () => { requireProjectOwnerPermission(db, id, user); } });
|
|
35
|
+
});
|
|
36
|
+
/**
|
|
37
|
+
* Return only author-attributed edits that can be mapped to the caller's
|
|
38
|
+
* current selection. Recovery snapshots live under /history and deliberately
|
|
39
|
+
* remain a separate concern.
|
|
40
|
+
*/
|
|
41
|
+
app.get("/api/projects/:id/edit-history", async (request, reply) => {
|
|
42
|
+
const user = requireUser(request, reply, db);
|
|
43
|
+
if (!user)
|
|
44
|
+
return;
|
|
45
|
+
const { id } = request.params;
|
|
46
|
+
if (!accessibleProject(db, id, user))
|
|
47
|
+
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
48
|
+
const query = request.query;
|
|
49
|
+
if (typeof query.sourceHash !== "string" || !/^[a-f0-9]{64}$/.test(query.sourceHash))
|
|
50
|
+
return apiError(reply, 400, "REQUEST_INVALID");
|
|
51
|
+
let filePath;
|
|
52
|
+
try {
|
|
53
|
+
filePath = safeRelativePath(query.path ?? "");
|
|
54
|
+
}
|
|
55
|
+
catch {
|
|
56
|
+
return apiError(reply, 400, "REQUEST_INVALID");
|
|
57
|
+
}
|
|
58
|
+
if (!isCollaborativeTextFile(filePath))
|
|
59
|
+
return apiError(reply, 400, "REQUEST_INVALID");
|
|
60
|
+
const start = parseOffset(query.start);
|
|
61
|
+
const end = parseOffset(query.end);
|
|
62
|
+
if (start === null || end === null || start === end)
|
|
63
|
+
return apiError(reply, 400, "REQUEST_INVALID");
|
|
64
|
+
const requestedLimit = parseOffset(query.limit);
|
|
65
|
+
return await projectMutations.runConsistentRead(id, () => {
|
|
66
|
+
const source = resolveSourcePath(config, id, filePath);
|
|
67
|
+
if (!fs.existsSync(source) || !fs.statSync(source).isFile())
|
|
68
|
+
return apiError(reply, 404, "FILE_NOT_FOUND", { path: filePath });
|
|
69
|
+
if (fs.statSync(source).size > maxCollaborativeFileBytes(config))
|
|
70
|
+
return apiError(reply, 413, "FILE_TOO_LARGE", { path: filePath });
|
|
71
|
+
const content = fs.readFileSync(source, "utf8");
|
|
72
|
+
if (hashText(content) !== query.sourceHash)
|
|
73
|
+
return apiError(reply, 409, "SELECTION_HISTORY_SOURCE_CHANGED");
|
|
74
|
+
if (start > end || end > content.length)
|
|
75
|
+
return apiError(reply, 400, "REQUEST_INVALID");
|
|
76
|
+
return editHistory.selectionHistory(id, filePath, content, start, end, requestedLimit ?? undefined);
|
|
77
|
+
}, { preflight: () => {
|
|
78
|
+
if (!accessibleProject(db, id, user))
|
|
79
|
+
throw httpError(404, "PROJECT_NOT_FOUND");
|
|
80
|
+
} });
|
|
81
|
+
});
|
|
11
82
|
app.get("/api/projects/:id/history", async (request, reply) => {
|
|
12
83
|
const user = requireUser(request, reply, db);
|
|
13
84
|
if (!user)
|
|
@@ -16,10 +87,14 @@ export function registerProjectHistoryRoutes(app, context) {
|
|
|
16
87
|
const project = accessibleProject(db, id, user);
|
|
17
88
|
if (!project)
|
|
18
89
|
return apiError(reply, 404, "PROJECT_NOT_FOUND");
|
|
19
|
-
const
|
|
20
|
-
|
|
90
|
+
const query = request.query;
|
|
91
|
+
if (query.before !== undefined && typeof query.before !== "string")
|
|
92
|
+
return apiError(reply, 400, "REQUEST_INVALID");
|
|
93
|
+
const limit = typeof query.limit === "string" ? Number.parseInt(query.limit, 10) : 100;
|
|
94
|
+
const page = history.listPage(id, Number.isFinite(limit) ? limit : 100, query.before);
|
|
21
95
|
return {
|
|
22
|
-
versions:
|
|
96
|
+
versions: page.versions,
|
|
97
|
+
nextCursor: page.nextCursor,
|
|
23
98
|
stats: project.permission === "owner" ? history.stats(id) : null
|
|
24
99
|
};
|
|
25
100
|
});
|
|
@@ -54,8 +129,10 @@ export function registerProjectHistoryRoutes(app, context) {
|
|
|
54
129
|
if (historical === null)
|
|
55
130
|
return apiError(reply, 415, "HISTORY_FILE_PREVIEW_UNSUPPORTED", { path: filePath });
|
|
56
131
|
let comparison = "";
|
|
132
|
+
const previousVersion = query.against === "__previous__" ? history.previousVersion(id, versionId) : null;
|
|
133
|
+
const against = query.against === "__previous__" ? previousVersion?.id ?? "__none__" : query.against;
|
|
57
134
|
if (query.against) {
|
|
58
|
-
comparison = history.readTextFile(id,
|
|
135
|
+
comparison = history.readTextFile(id, against, filePath) ?? "";
|
|
59
136
|
}
|
|
60
137
|
else {
|
|
61
138
|
const current = resolveSourcePath(config, id, filePath);
|
|
@@ -63,7 +140,7 @@ export function registerProjectHistoryRoutes(app, context) {
|
|
|
63
140
|
comparison = fs.readFileSync(current, "utf8");
|
|
64
141
|
}
|
|
65
142
|
}
|
|
66
|
-
return { path: filePath, historical, comparison, against:
|
|
143
|
+
return { path: filePath, historical, comparison, against: against ?? "current", previousVersion };
|
|
67
144
|
}, { preflight: () => {
|
|
68
145
|
if (!accessibleProject(db, id, user))
|
|
69
146
|
throw httpError(404, "PROJECT_NOT_FOUND");
|
|
@@ -82,7 +159,10 @@ export function registerProjectHistoryRoutes(app, context) {
|
|
|
82
159
|
const version = history.setLabel(id, versionId, label);
|
|
83
160
|
if (!version)
|
|
84
161
|
return apiError(reply, 404, "HISTORY_VERSION_NOT_FOUND");
|
|
85
|
-
|
|
162
|
+
if (!label)
|
|
163
|
+
context.scheduleHistoryRetention(id);
|
|
164
|
+
return { version, retentionScheduled: !label, retentionRefreshAfterMs: !label ? HISTORY_RETENTION_DELAY_MS + 1_000 : 0,
|
|
165
|
+
stats: project.permission === "owner" ? history.stats(id) : null };
|
|
86
166
|
});
|
|
87
167
|
app.delete("/api/projects/:id/history/:versionId", async (request, reply) => {
|
|
88
168
|
const user = requireUser(request, reply, db);
|
|
@@ -148,3 +228,9 @@ export function registerProjectHistoryRoutes(app, context) {
|
|
|
148
228
|
} });
|
|
149
229
|
});
|
|
150
230
|
}
|
|
231
|
+
function parseOffset(value) {
|
|
232
|
+
if (value === undefined || !/^\d+$/.test(value))
|
|
233
|
+
return null;
|
|
234
|
+
const parsed = Number.parseInt(value, 10);
|
|
235
|
+
return Number.isSafeInteger(parsed) ? parsed : null;
|
|
236
|
+
}
|
|
@@ -83,7 +83,7 @@ export function commentsSummaryForProject(db, projectId) {
|
|
|
83
83
|
unresolvedCount: Number(row?.unresolved_count) || 0
|
|
84
84
|
};
|
|
85
85
|
}
|
|
86
|
-
export function projectJson(project, tags = [], commentsSummary) {
|
|
86
|
+
export function projectJson(project, tags = [], commentsSummary, unreadMentionCount = 0) {
|
|
87
87
|
return {
|
|
88
88
|
id: project.id,
|
|
89
89
|
ownerId: project.owner_id,
|
|
@@ -101,6 +101,7 @@ export function projectJson(project, tags = [], commentsSummary) {
|
|
|
101
101
|
tags,
|
|
102
102
|
unresolvedCommentCount: commentsSummary?.unresolvedCount ?? 0,
|
|
103
103
|
commentCount: commentsSummary?.totalCount ?? 0,
|
|
104
|
+
unreadMentionCount,
|
|
104
105
|
archived: Boolean(project.archived),
|
|
105
106
|
createdAt: project.created_at,
|
|
106
107
|
updatedAt: project.updated_at
|
|
@@ -11,6 +11,7 @@ import { accessibleProject, canEdit } from "../projects.js";
|
|
|
11
11
|
import { writeProjectArchive } from "../archive.js";
|
|
12
12
|
import { extractProjectZip, ZipValidationError } from "../zip.js";
|
|
13
13
|
import { HarperUnavailableError } from "../harper.js";
|
|
14
|
+
import { unreadMentionCountsForProjects } from "../commentMentions.js";
|
|
14
15
|
import { commentsSummaryForProject, commentsSummaryForProjects, dictionaryWord, escapeLikePattern, now, projectJson, requireProjectOwnerPermission, tagColors, tagsForProject, tagsForProjects, text } from "./projectShared.js";
|
|
15
16
|
/** Register project catalog, metadata, archive, dictionary, tag, export, and deletion routes. */
|
|
16
17
|
export function registerProjectCatalogRoutes(app, context) {
|
|
@@ -172,8 +173,9 @@ export function registerProjectCatalogRoutes(app, context) {
|
|
|
172
173
|
const projectIds = projects.map((project) => project.id);
|
|
173
174
|
const projectTags = tagsForProjects(db, projectIds, user.id);
|
|
174
175
|
const commentsSummaries = commentsSummaryForProjects(db, projectIds);
|
|
176
|
+
const unreadMentionCounts = unreadMentionCountsForProjects(db, projectIds, user.id);
|
|
175
177
|
return {
|
|
176
|
-
projects: projects.map((project) => projectJson({ ...project, archived: archivedOnly }, projectTags.get(project.id) ?? [], commentsSummaries.get(project.id))),
|
|
178
|
+
projects: projects.map((project) => projectJson({ ...project, archived: archivedOnly }, projectTags.get(project.id) ?? [], commentsSummaries.get(project.id), unreadMentionCounts.get(project.id) ?? 0)),
|
|
177
179
|
pagination: { page: currentPage, pageSize, total, totalPages }
|
|
178
180
|
};
|
|
179
181
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-aarrow-down" aria-hidden="true"><path d="M3.5 13h6"></path><path d="m2 16 4.5-9 4.5 9"></path><path d="M18 7v9"></path><path d="m14 12 4 4 4-4"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-aarrow-up" aria-hidden="true"><path d="M3.5 13h6"></path><path d="m2 16 4.5-9 4.5 9"></path><path d="M18 16V7"></path><path d="m14 11 4-4 4 4"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarge-small" aria-hidden="true"><path d="M21 14h-5"></path><path d="M16 16v-3.5a2.5 2.5 0 0 1 5 0V16"></path><path d="M4.5 13h6"></path><path d="m3 16 4.5-9 4.5 9"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-accessibility" aria-hidden="true"><circle cx="16" cy="4" r="1"></circle><path d="m18 19 1-7-6 1"></path><path d="m5 8 3-3 5.5 3-2.36 3.5"></path><path d="M4.24 14.5a5 5 0 0 0 6.88 6"></path><path d="M13.76 17.5a5 5 0 0 0-6.88-6"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-activity" aria-hidden="true"><path d="M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-air-vent" aria-hidden="true"><path d="M6 12H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2"></path><path d="M6 8h12"></path><path d="M18.3 17.7a2.5 2.5 0 0 1-3.16 3.83 2.53 2.53 0 0 1-1.14-2V12"></path><path d="M6.6 15.6A2 2 0 1 0 10 17v-5"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-airplay" aria-hidden="true"><path d="M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1"></path><path d="m12 15 5 6H7Z"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarm-clock-check" aria-hidden="true"><circle cx="12" cy="13" r="8"></circle><path d="M5 3 2 6"></path><path d="m22 6-3-3"></path><path d="M6.38 18.7 4 21"></path><path d="M17.64 18.67 20 21"></path><path d="m9 13 2 2 4-4"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarm-clock-minus" aria-hidden="true"><circle cx="12" cy="13" r="8"></circle><path d="M5 3 2 6"></path><path d="m22 6-3-3"></path><path d="M6.38 18.7 4 21"></path><path d="M17.64 18.67 20 21"></path><path d="M9 13h6"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarm-clock-off" aria-hidden="true"><path d="M6.87 6.87a8 8 0 1 0 11.26 11.26"></path><path d="M19.9 14.25a8 8 0 0 0-9.15-9.15"></path><path d="m22 6-3-3"></path><path d="M6.26 18.67 4 21"></path><path d="m2 2 20 20"></path><path d="M4 4 2 6"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarm-clock-plus" aria-hidden="true"><circle cx="12" cy="13" r="8"></circle><path d="M5 3 2 6"></path><path d="m22 6-3-3"></path><path d="M6.38 18.7 4 21"></path><path d="M17.64 18.67 20 21"></path><path d="M12 10v6"></path><path d="M9 13h6"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarm-clock" aria-hidden="true"><circle cx="12" cy="13" r="8"></circle><path d="M12 9v4l2 2"></path><path d="M5 3 2 6"></path><path d="m22 6-3-3"></path><path d="M6.38 18.7 4 21"></path><path d="M17.64 18.67 20 21"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-alarm-smoke" aria-hidden="true"><path d="M11 21c0-2.5 2-2.5 2-5"></path><path d="M16 21c0-2.5 2-2.5 2-5"></path><path d="m19 8-.8 3a1.25 1.25 0 0 1-1.2 1H7a1.25 1.25 0 0 1-1.2-1L5 8"></path><path d="M21 3a1 1 0 0 1 1 1v2a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z"></path><path d="M6 21c0-2.5 2-2.5 2-5"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-album" aria-hidden="true"><rect width="18" height="18" x="3" y="3" rx="2" ry="2"></rect><polyline points="11 3 11 11 14 8 17 11 17 3"></polyline></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-center-horizontal" aria-hidden="true"><path d="M2 12h20"></path><path d="M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4"></path><path d="M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4"></path><path d="M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1"></path><path d="M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-center-vertical" aria-hidden="true"><path d="M12 2v20"></path><path d="M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4"></path><path d="M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4"></path><path d="M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1"></path><path d="M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-center" aria-hidden="true"><path d="M17 12H7"></path><path d="M19 18H5"></path><path d="M21 6H3"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-end-horizontal" aria-hidden="true"><rect width="6" height="16" x="4" y="2" rx="2"></rect><rect width="6" height="9" x="14" y="9" rx="2"></rect><path d="M22 22H2"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-end-vertical" aria-hidden="true"><rect width="16" height="6" x="2" y="4" rx="2"></rect><rect width="9" height="6" x="9" y="14" rx="2"></rect><path d="M22 22V2"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-distribute-center" aria-hidden="true"><rect width="6" height="14" x="4" y="5" rx="2"></rect><rect width="6" height="10" x="14" y="7" rx="2"></rect><path d="M17 22v-5"></path><path d="M17 7V2"></path><path d="M7 22v-3"></path><path d="M7 5V2"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-distribute-end" aria-hidden="true"><rect width="6" height="14" x="4" y="5" rx="2"></rect><rect width="6" height="10" x="14" y="7" rx="2"></rect><path d="M10 2v20"></path><path d="M20 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-distribute-start" aria-hidden="true"><rect width="6" height="14" x="4" y="5" rx="2"></rect><rect width="6" height="10" x="14" y="7" rx="2"></rect><path d="M4 2v20"></path><path d="M14 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-justify-center" aria-hidden="true"><rect width="6" height="14" x="2" y="5" rx="2"></rect><rect width="6" height="10" x="16" y="7" rx="2"></rect><path d="M12 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-justify-end" aria-hidden="true"><rect width="6" height="14" x="2" y="5" rx="2"></rect><rect width="6" height="10" x="12" y="7" rx="2"></rect><path d="M22 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-justify-start" aria-hidden="true"><rect width="6" height="14" x="6" y="5" rx="2"></rect><rect width="6" height="10" x="16" y="7" rx="2"></rect><path d="M2 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-space-around" aria-hidden="true"><rect width="6" height="10" x="9" y="7" rx="2"></rect><path d="M4 22V2"></path><path d="M20 22V2"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-horizontal-space-between" aria-hidden="true"><rect width="6" height="14" x="3" y="5" rx="2"></rect><rect width="6" height="10" x="15" y="7" rx="2"></rect><path d="M3 2v20"></path><path d="M21 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-justify" aria-hidden="true"><path d="M3 12h18"></path><path d="M3 18h18"></path><path d="M3 6h18"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-left" aria-hidden="true"><path d="M15 12H3"></path><path d="M17 18H3"></path><path d="M21 6H3"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-right" aria-hidden="true"><path d="M21 12H9"></path><path d="M21 18H7"></path><path d="M21 6H3"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-start-horizontal" aria-hidden="true"><rect width="6" height="16" x="4" y="6" rx="2"></rect><rect width="6" height="9" x="14" y="6" rx="2"></rect><path d="M22 2H2"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-start-vertical" aria-hidden="true"><rect width="9" height="6" x="6" y="14" rx="2"></rect><rect width="16" height="6" x="6" y="4" rx="2"></rect><path d="M2 2v20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-vertical-distribute-center" aria-hidden="true"><path d="M22 17h-3"></path><path d="M22 7h-5"></path><path d="M5 17H2"></path><path d="M7 7H2"></path><rect x="5" y="14" width="14" height="6" rx="2"></rect><rect x="7" y="4" width="10" height="6" rx="2"></rect></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-vertical-distribute-end" aria-hidden="true"><rect width="14" height="6" x="5" y="14" rx="2"></rect><rect width="10" height="6" x="7" y="4" rx="2"></rect><path d="M2 20h20"></path><path d="M2 10h20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-vertical-distribute-start" aria-hidden="true"><rect width="14" height="6" x="5" y="14" rx="2"></rect><rect width="10" height="6" x="7" y="4" rx="2"></rect><path d="M2 14h20"></path><path d="M2 4h20"></path></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="#000" stroke-width="1.9" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-align-vertical-justify-center" aria-hidden="true"><rect width="14" height="6" x="5" y="16" rx="2"></rect><rect width="10" height="6" x="7" y="2" rx="2"></rect><path d="M2 12h20"></path></svg>
|