├── .github ├── FUNDING.yml ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── dependabot.yml ├── stale.yml └── workflows │ └── ruby.yml ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── README.md ├── Rakefile ├── SECURITY.md ├── app ├── assets │ ├── builds │ │ └── spina │ │ │ └── tailwind.css │ ├── config │ │ └── spina │ │ │ └── manifest.js │ ├── fonts │ │ └── spina │ │ │ ├── Metropolis-Black.woff2 │ │ │ ├── Metropolis-BlackItalic.woff2 │ │ │ ├── Metropolis-Bold.woff2 │ │ │ ├── Metropolis-BoldItalic.woff2 │ │ │ ├── Metropolis-ExtraBold.woff2 │ │ │ ├── Metropolis-ExtraBoldItalic.woff2 │ │ │ ├── Metropolis-ExtraLight.woff2 │ │ │ ├── Metropolis-ExtraLightItalic.woff2 │ │ │ ├── Metropolis-Light.woff2 │ │ │ ├── Metropolis-LightItalic.woff2 │ │ │ ├── Metropolis-Medium.woff2 │ │ │ ├── Metropolis-MediumItalic.woff2 │ │ │ ├── Metropolis-Regular.woff2 │ │ │ ├── Metropolis-RegularItalic.woff2 │ │ │ ├── Metropolis-SemiBold.woff2 │ │ │ ├── Metropolis-SemiBoldItalic.woff2 │ │ │ ├── Metropolis-Thin.woff2 │ │ │ └── Metropolis-ThinItalic.woff2 │ ├── icons │ │ ├── heroicons │ │ │ ├── mini │ │ │ │ ├── academic-cap.svg │ │ │ │ ├── adjustments-horizontal.svg │ │ │ │ ├── adjustments-vertical.svg │ │ │ │ ├── archive-box-arrow-down.svg │ │ │ │ ├── archive-box-x-mark.svg │ │ │ │ ├── archive-box.svg │ │ │ │ ├── arrow-down-circle.svg │ │ │ │ ├── arrow-down-left.svg │ │ │ │ ├── arrow-down-on-square-stack.svg │ │ │ │ ├── arrow-down-on-square.svg │ │ │ │ ├── arrow-down-right.svg │ │ │ │ ├── arrow-down-tray.svg │ │ │ │ ├── arrow-down.svg │ │ │ │ ├── arrow-left-circle.svg │ │ │ │ ├── arrow-left-on-rectangle.svg │ │ │ │ ├── arrow-left.svg │ │ │ │ ├── arrow-long-down.svg │ │ │ │ ├── arrow-long-left.svg │ │ │ │ ├── arrow-long-right.svg │ │ │ │ ├── arrow-long-up.svg │ │ │ │ ├── arrow-path.svg │ │ │ │ ├── arrow-right-circle.svg │ │ │ │ ├── arrow-right-on-rectangle.svg │ │ │ │ ├── arrow-right.svg │ │ │ │ ├── arrow-top-right-on-square.svg │ │ │ │ ├── arrow-trending-down.svg │ │ │ │ ├── arrow-trending-up.svg │ │ │ │ ├── arrow-up-circle.svg │ │ │ │ ├── arrow-up-left.svg │ │ │ │ ├── arrow-up-on-square-stack.svg │ │ │ │ ├── arrow-up-on-square.svg │ │ │ │ ├── arrow-up-right.svg │ │ │ │ ├── arrow-up-tray.svg │ │ │ │ ├── arrow-up.svg │ │ │ │ ├── arrow-uturn-down.svg │ │ │ │ ├── arrow-uturn-left.svg │ │ │ │ ├── arrow-uturn-right.svg │ │ │ │ ├── arrow-uturn-up.svg │ │ │ │ ├── arrows-pointing-in.svg │ │ │ │ ├── arrows-pointing-out.svg │ │ │ │ ├── arrows-right-left.svg │ │ │ │ ├── arrows-up-down.svg │ │ │ │ ├── at-symbol.svg │ │ │ │ ├── backspace.svg │ │ │ │ ├── backward.svg │ │ │ │ ├── banknotes.svg │ │ │ │ ├── bars-2.svg │ │ │ │ ├── bars-3-bottom-left.svg │ │ │ │ ├── bars-3-bottom-right.svg │ │ │ │ ├── bars-3-center-left.svg │ │ │ │ ├── bars-3.svg │ │ │ │ ├── bars-4.svg │ │ │ │ ├── bars-arrow-down.svg │ │ │ │ ├── bars-arrow-up.svg │ │ │ │ ├── beaker.svg │ │ │ │ ├── bell-alert.svg │ │ │ │ ├── bell-slash.svg │ │ │ │ ├── bell-snooze.svg │ │ │ │ ├── bell.svg │ │ │ │ ├── bolt-slash.svg │ │ │ │ ├── bolt.svg │ │ │ │ ├── book-open.svg │ │ │ │ ├── bookmark-slash.svg │ │ │ │ ├── bookmark-square.svg │ │ │ │ ├── bookmark.svg │ │ │ │ ├── briefcase.svg │ │ │ │ ├── building-library.svg │ │ │ │ ├── building-office-2.svg │ │ │ │ ├── building-office.svg │ │ │ │ ├── building-storefront.svg │ │ │ │ ├── cake.svg │ │ │ │ ├── calculator.svg │ │ │ │ ├── calendar-days.svg │ │ │ │ ├── calendar.svg │ │ │ │ ├── camera.svg │ │ │ │ ├── chart-bar-square.svg │ │ │ │ ├── chart-bar.svg │ │ │ │ ├── chart-pie.svg │ │ │ │ ├── chat-bubble-bottom-center-text.svg │ │ │ │ ├── chat-bubble-bottom-center.svg │ │ │ │ ├── chat-bubble-left-ellipsis.svg │ │ │ │ ├── chat-bubble-left-right.svg │ │ │ │ ├── chat-bubble-left.svg │ │ │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ │ │ ├── chat-bubble-oval-left.svg │ │ │ │ ├── check-badge.svg │ │ │ │ ├── check-circle.svg │ │ │ │ ├── check.svg │ │ │ │ ├── chevron-double-down.svg │ │ │ │ ├── chevron-double-left.svg │ │ │ │ ├── chevron-double-right.svg │ │ │ │ ├── chevron-double-up.svg │ │ │ │ ├── chevron-down.svg │ │ │ │ ├── chevron-left.svg │ │ │ │ ├── chevron-right.svg │ │ │ │ ├── chevron-up-down.svg │ │ │ │ ├── chevron-up.svg │ │ │ │ ├── circle-stack.svg │ │ │ │ ├── clipboard-document-check.svg │ │ │ │ ├── clipboard-document-list.svg │ │ │ │ ├── clipboard-document.svg │ │ │ │ ├── clipboard.svg │ │ │ │ ├── clock.svg │ │ │ │ ├── cloud-arrow-down.svg │ │ │ │ ├── cloud-arrow-up.svg │ │ │ │ ├── cloud.svg │ │ │ │ ├── code-bracket-square.svg │ │ │ │ ├── code-bracket.svg │ │ │ │ ├── cog-6-tooth.svg │ │ │ │ ├── cog-8-tooth.svg │ │ │ │ ├── cog.svg │ │ │ │ ├── command-line.svg │ │ │ │ ├── computer-desktop.svg │ │ │ │ ├── cpu-chip.svg │ │ │ │ ├── credit-card.svg │ │ │ │ ├── cube.svg │ │ │ │ ├── currency-dollar.svg │ │ │ │ ├── currency-euro.svg │ │ │ │ ├── currency-pound.svg │ │ │ │ ├── currency-rupee.svg │ │ │ │ ├── currency-yen.svg │ │ │ │ ├── cursor-arrow-rays.svg │ │ │ │ ├── cursor-arrow-ripple.svg │ │ │ │ ├── device-phone-mobile.svg │ │ │ │ ├── device-tablet.svg │ │ │ │ ├── document-arrow-down.svg │ │ │ │ ├── document-arrow-up.svg │ │ │ │ ├── document-chart-bar.svg │ │ │ │ ├── document-check.svg │ │ │ │ ├── document-duplicate.svg │ │ │ │ ├── document-magnifying-glass.svg │ │ │ │ ├── document-minus.svg │ │ │ │ ├── document-plus.svg │ │ │ │ ├── document-text.svg │ │ │ │ ├── document.svg │ │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ │ ├── ellipsis-horizontal.svg │ │ │ │ ├── ellipsis-vertical.svg │ │ │ │ ├── envelope-open.svg │ │ │ │ ├── envelope.svg │ │ │ │ ├── exclaimation-circle.svg │ │ │ │ ├── exclaimation-triangle.svg │ │ │ │ ├── exclamation-circle.svg │ │ │ │ ├── exclamation-triangle.svg │ │ │ │ ├── eye-slash.svg │ │ │ │ ├── eye.svg │ │ │ │ ├── face-frown.svg │ │ │ │ ├── face-smile.svg │ │ │ │ ├── film.svg │ │ │ │ ├── finger-print.svg │ │ │ │ ├── fire.svg │ │ │ │ ├── flag.svg │ │ │ │ ├── folder-arrow-down.svg │ │ │ │ ├── folder-minus.svg │ │ │ │ ├── folder-open.svg │ │ │ │ ├── folder-plus.svg │ │ │ │ ├── folder.svg │ │ │ │ ├── forward.svg │ │ │ │ ├── funnel.svg │ │ │ │ ├── gif.svg │ │ │ │ ├── gift-top.svg │ │ │ │ ├── gift.svg │ │ │ │ ├── globe-alt.svg │ │ │ │ ├── globe-americas.svg │ │ │ │ ├── globe-asia-australia.svg │ │ │ │ ├── globe-europe-africa.svg │ │ │ │ ├── hand-raised.svg │ │ │ │ ├── hand-thumb-down.svg │ │ │ │ ├── hand-thumb-up.svg │ │ │ │ ├── hashtag.svg │ │ │ │ ├── heart.svg │ │ │ │ ├── home-modern.svg │ │ │ │ ├── home.svg │ │ │ │ ├── identification.svg │ │ │ │ ├── inbox-arrow-down.svg │ │ │ │ ├── inbox-stack.svg │ │ │ │ ├── inbox.svg │ │ │ │ ├── information-circle.svg │ │ │ │ ├── key.svg │ │ │ │ ├── language.svg │ │ │ │ ├── lifebuoy.svg │ │ │ │ ├── light-bulb.svg │ │ │ │ ├── link.svg │ │ │ │ ├── list-bullet.svg │ │ │ │ ├── lock-closed.svg │ │ │ │ ├── lock-open.svg │ │ │ │ ├── magnifying-glass-circle.svg │ │ │ │ ├── magnifying-glass-minus.svg │ │ │ │ ├── magnifying-glass-plus.svg │ │ │ │ ├── magnifying-glass.svg │ │ │ │ ├── map-pin.svg │ │ │ │ ├── map.svg │ │ │ │ ├── megaphone.svg │ │ │ │ ├── microphone.svg │ │ │ │ ├── minus-circle.svg │ │ │ │ ├── minus.svg │ │ │ │ ├── moon.svg │ │ │ │ ├── musical-note.svg │ │ │ │ ├── newspaper.svg │ │ │ │ ├── no-symbol.svg │ │ │ │ ├── paper-airplane.svg │ │ │ │ ├── paper-clip.svg │ │ │ │ ├── pause.svg │ │ │ │ ├── pencil-square.svg │ │ │ │ ├── pencil.svg │ │ │ │ ├── phone-arrow-down-left.svg │ │ │ │ ├── phone-arrow-up-right.svg │ │ │ │ ├── phone-x-mark.svg │ │ │ │ ├── phone.svg │ │ │ │ ├── photo.svg │ │ │ │ ├── play-pause.svg │ │ │ │ ├── play.svg │ │ │ │ ├── plus-circle.svg │ │ │ │ ├── plus.svg │ │ │ │ ├── presentation-chart-bar.svg │ │ │ │ ├── presentation-chart-line.svg │ │ │ │ ├── printer.svg │ │ │ │ ├── puzzle-piece.svg │ │ │ │ ├── qr-code.svg │ │ │ │ ├── question-mark-circle.svg │ │ │ │ ├── queue-list.svg │ │ │ │ ├── radio.svg │ │ │ │ ├── receipt-percent.svg │ │ │ │ ├── receipt-refund.svg │ │ │ │ ├── rectangle-group.svg │ │ │ │ ├── rectangle-stack.svg │ │ │ │ ├── rss.svg │ │ │ │ ├── scale.svg │ │ │ │ ├── scissors.svg │ │ │ │ ├── server-stack.svg │ │ │ │ ├── server.svg │ │ │ │ ├── share.svg │ │ │ │ ├── shield-check.svg │ │ │ │ ├── shield-exclamation.svg │ │ │ │ ├── shopping-bag.svg │ │ │ │ ├── shopping-cart.svg │ │ │ │ ├── signal-slash.svg │ │ │ │ ├── signal.svg │ │ │ │ ├── sparkles.svg │ │ │ │ ├── speaker-wave.svg │ │ │ │ ├── speaker-x-mark.svg │ │ │ │ ├── square-2-stack.svg │ │ │ │ ├── squares-2x2.svg │ │ │ │ ├── squares-plus.svg │ │ │ │ ├── star.svg │ │ │ │ ├── stop.svg │ │ │ │ ├── sun.svg │ │ │ │ ├── swatch.svg │ │ │ │ ├── table-cells.svg │ │ │ │ ├── tag.svg │ │ │ │ ├── ticket.svg │ │ │ │ ├── trash.svg │ │ │ │ ├── truck.svg │ │ │ │ ├── user-circle.svg │ │ │ │ ├── user-group.svg │ │ │ │ ├── user-plus.svg │ │ │ │ ├── user.svg │ │ │ │ ├── users.svg │ │ │ │ ├── video-camera-slash.svg │ │ │ │ ├── video-camera.svg │ │ │ │ ├── view-columns.svg │ │ │ │ ├── wifi.svg │ │ │ │ ├── wrench-screwdriver.svg │ │ │ │ ├── wrench.svg │ │ │ │ ├── x-circle.svg │ │ │ │ └── x-mark.svg │ │ │ ├── outline │ │ │ │ ├── academic-cap.svg │ │ │ │ ├── adjustments-horizontal.svg │ │ │ │ ├── adjustments-vertical.svg │ │ │ │ ├── archive-box-arrow-down.svg │ │ │ │ ├── archive-box-x-mark.svg │ │ │ │ ├── archive-box.svg │ │ │ │ ├── arrow-down-circle.svg │ │ │ │ ├── arrow-down-left.svg │ │ │ │ ├── arrow-down-on-square-stack.svg │ │ │ │ ├── arrow-down-on-square.svg │ │ │ │ ├── arrow-down-right.svg │ │ │ │ ├── arrow-down-tray.svg │ │ │ │ ├── arrow-down.svg │ │ │ │ ├── arrow-left-circle.svg │ │ │ │ ├── arrow-left-on-rectangle.svg │ │ │ │ ├── arrow-left.svg │ │ │ │ ├── arrow-long-down.svg │ │ │ │ ├── arrow-long-left.svg │ │ │ │ ├── arrow-long-right.svg │ │ │ │ ├── arrow-long-up.svg │ │ │ │ ├── arrow-path.svg │ │ │ │ ├── arrow-right-circle.svg │ │ │ │ ├── arrow-right-on-rectangle.svg │ │ │ │ ├── arrow-right.svg │ │ │ │ ├── arrow-top-right-on-square.svg │ │ │ │ ├── arrow-trending-down.svg │ │ │ │ ├── arrow-trending-up.svg │ │ │ │ ├── arrow-up-circle.svg │ │ │ │ ├── arrow-up-left.svg │ │ │ │ ├── arrow-up-on-square-stack.svg │ │ │ │ ├── arrow-up-on-square.svg │ │ │ │ ├── arrow-up-right.svg │ │ │ │ ├── arrow-up-tray.svg │ │ │ │ ├── arrow-up.svg │ │ │ │ ├── arrow-uturn-down.svg │ │ │ │ ├── arrow-uturn-left.svg │ │ │ │ ├── arrow-uturn-right.svg │ │ │ │ ├── arrow-uturn-up.svg │ │ │ │ ├── arrows-pointing-in.svg │ │ │ │ ├── arrows-pointing-out.svg │ │ │ │ ├── arrows-right-left.svg │ │ │ │ ├── arrows-up-down.svg │ │ │ │ ├── at-symbol.svg │ │ │ │ ├── backspace.svg │ │ │ │ ├── backward.svg │ │ │ │ ├── banknotes.svg │ │ │ │ ├── bars-2.svg │ │ │ │ ├── bars-3-bottom-left.svg │ │ │ │ ├── bars-3-bottom-right.svg │ │ │ │ ├── bars-3-center-left.svg │ │ │ │ ├── bars-3.svg │ │ │ │ ├── bars-4.svg │ │ │ │ ├── bars-arrow-down.svg │ │ │ │ ├── bars-arrow-up.svg │ │ │ │ ├── beaker.svg │ │ │ │ ├── bell-alert.svg │ │ │ │ ├── bell-slash.svg │ │ │ │ ├── bell-snooze.svg │ │ │ │ ├── bell.svg │ │ │ │ ├── bolt-slash.svg │ │ │ │ ├── bolt.svg │ │ │ │ ├── book-open.svg │ │ │ │ ├── bookmark-slash.svg │ │ │ │ ├── bookmark-square.svg │ │ │ │ ├── bookmark.svg │ │ │ │ ├── briefcase.svg │ │ │ │ ├── building-library.svg │ │ │ │ ├── building-office-2.svg │ │ │ │ ├── building-office.svg │ │ │ │ ├── building-storefront.svg │ │ │ │ ├── cake.svg │ │ │ │ ├── calculator.svg │ │ │ │ ├── calendar-days.svg │ │ │ │ ├── calendar.svg │ │ │ │ ├── camera.svg │ │ │ │ ├── chart-bar-square.svg │ │ │ │ ├── chart-bar.svg │ │ │ │ ├── chart-pie.svg │ │ │ │ ├── chat-bubble-bottom-center-text.svg │ │ │ │ ├── chat-bubble-bottom-center.svg │ │ │ │ ├── chat-bubble-left-ellipsis.svg │ │ │ │ ├── chat-bubble-left-right.svg │ │ │ │ ├── chat-bubble-left.svg │ │ │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ │ │ ├── chat-bubble-oval-left.svg │ │ │ │ ├── check-badge.svg │ │ │ │ ├── check-circle.svg │ │ │ │ ├── check.svg │ │ │ │ ├── chevron-double-down.svg │ │ │ │ ├── chevron-double-left.svg │ │ │ │ ├── chevron-double-right.svg │ │ │ │ ├── chevron-double-up.svg │ │ │ │ ├── chevron-down.svg │ │ │ │ ├── chevron-left.svg │ │ │ │ ├── chevron-right.svg │ │ │ │ ├── chevron-up-down.svg │ │ │ │ ├── chevron-up.svg │ │ │ │ ├── circle-stack.svg │ │ │ │ ├── clipboard-document-check.svg │ │ │ │ ├── clipboard-document-list.svg │ │ │ │ ├── clipboard-document.svg │ │ │ │ ├── clipboard.svg │ │ │ │ ├── clock.svg │ │ │ │ ├── cloud-arrow-down.svg │ │ │ │ ├── cloud-arrow-up.svg │ │ │ │ ├── cloud.svg │ │ │ │ ├── code-bracket-square.svg │ │ │ │ ├── code-bracket.svg │ │ │ │ ├── cog-6-tooth.svg │ │ │ │ ├── cog-8-tooth.svg │ │ │ │ ├── cog.svg │ │ │ │ ├── command-line.svg │ │ │ │ ├── computer-desktop.svg │ │ │ │ ├── cpu-chip.svg │ │ │ │ ├── credit-card.svg │ │ │ │ ├── cube.svg │ │ │ │ ├── currency-dollar.svg │ │ │ │ ├── currency-euro.svg │ │ │ │ ├── currency-pound.svg │ │ │ │ ├── currency-rupee.svg │ │ │ │ ├── currency-yen.svg │ │ │ │ ├── cursor-arrow-rays.svg │ │ │ │ ├── cursor-arrow-ripple.svg │ │ │ │ ├── device-phone-mobile.svg │ │ │ │ ├── device-tablet.svg │ │ │ │ ├── document-arrow-down.svg │ │ │ │ ├── document-arrow-up.svg │ │ │ │ ├── document-chart-bar.svg │ │ │ │ ├── document-check.svg │ │ │ │ ├── document-duplicate.svg │ │ │ │ ├── document-magnifying-glass.svg │ │ │ │ ├── document-minus.svg │ │ │ │ ├── document-plus.svg │ │ │ │ ├── document-text.svg │ │ │ │ ├── document.svg │ │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ │ ├── ellipsis-horizontal.svg │ │ │ │ ├── ellipsis-vertical.svg │ │ │ │ ├── envelope-open.svg │ │ │ │ ├── envelope.svg │ │ │ │ ├── exclaimation-circle.svg │ │ │ │ ├── exclaimation-triangle.svg │ │ │ │ ├── exclamation-circle.svg │ │ │ │ ├── exclamation-triangle.svg │ │ │ │ ├── eye-slash.svg │ │ │ │ ├── eye.svg │ │ │ │ ├── face-frown.svg │ │ │ │ ├── face-smile.svg │ │ │ │ ├── film.svg │ │ │ │ ├── finger-print.svg │ │ │ │ ├── fire.svg │ │ │ │ ├── flag.svg │ │ │ │ ├── folder-arrow-down.svg │ │ │ │ ├── folder-minus.svg │ │ │ │ ├── folder-open.svg │ │ │ │ ├── folder-plus.svg │ │ │ │ ├── folder.svg │ │ │ │ ├── forward.svg │ │ │ │ ├── funnel.svg │ │ │ │ ├── gif.svg │ │ │ │ ├── gift-top.svg │ │ │ │ ├── gift.svg │ │ │ │ ├── globe-alt.svg │ │ │ │ ├── globe-americas.svg │ │ │ │ ├── globe-asia-australia.svg │ │ │ │ ├── globe-europe-africa.svg │ │ │ │ ├── hand-raised.svg │ │ │ │ ├── hand-thumb-down.svg │ │ │ │ ├── hand-thumb-up.svg │ │ │ │ ├── hashtag.svg │ │ │ │ ├── heart.svg │ │ │ │ ├── home-modern.svg │ │ │ │ ├── home.svg │ │ │ │ ├── identification.svg │ │ │ │ ├── inbox-arrow-down.svg │ │ │ │ ├── inbox-stack.svg │ │ │ │ ├── inbox.svg │ │ │ │ ├── information-circle.svg │ │ │ │ ├── key.svg │ │ │ │ ├── language.svg │ │ │ │ ├── lifebuoy.svg │ │ │ │ ├── light-bulb.svg │ │ │ │ ├── link.svg │ │ │ │ ├── list-bullet.svg │ │ │ │ ├── lock-closed.svg │ │ │ │ ├── lock-open.svg │ │ │ │ ├── magnifying-glass-circle.svg │ │ │ │ ├── magnifying-glass-minus.svg │ │ │ │ ├── magnifying-glass-plus.svg │ │ │ │ ├── magnifying-glass.svg │ │ │ │ ├── map-pin.svg │ │ │ │ ├── map.svg │ │ │ │ ├── megaphone.svg │ │ │ │ ├── microphone.svg │ │ │ │ ├── minus-circle.svg │ │ │ │ ├── minus.svg │ │ │ │ ├── moon.svg │ │ │ │ ├── musical-note.svg │ │ │ │ ├── newspaper.svg │ │ │ │ ├── no-symbol.svg │ │ │ │ ├── paper-airplane.svg │ │ │ │ ├── paper-clip.svg │ │ │ │ ├── pause.svg │ │ │ │ ├── pencil-square.svg │ │ │ │ ├── pencil.svg │ │ │ │ ├── phone-arrow-down-left.svg │ │ │ │ ├── phone-arrow-up-right.svg │ │ │ │ ├── phone-x-mark.svg │ │ │ │ ├── phone.svg │ │ │ │ ├── photo.svg │ │ │ │ ├── play-pause.svg │ │ │ │ ├── play.svg │ │ │ │ ├── plus-circle.svg │ │ │ │ ├── plus.svg │ │ │ │ ├── presentation-chart-bar.svg │ │ │ │ ├── presentation-chart-line.svg │ │ │ │ ├── printer.svg │ │ │ │ ├── puzzle-piece.svg │ │ │ │ ├── qr-code.svg │ │ │ │ ├── question-mark-circle.svg │ │ │ │ ├── queue-list.svg │ │ │ │ ├── radio.svg │ │ │ │ ├── receipt-percent.svg │ │ │ │ ├── receipt-refund.svg │ │ │ │ ├── rectangle-group.svg │ │ │ │ ├── rectangle-stack.svg │ │ │ │ ├── rss.svg │ │ │ │ ├── scale.svg │ │ │ │ ├── scissors.svg │ │ │ │ ├── server-stack.svg │ │ │ │ ├── server.svg │ │ │ │ ├── share.svg │ │ │ │ ├── shield-check.svg │ │ │ │ ├── shield-exclamation.svg │ │ │ │ ├── shopping-bag.svg │ │ │ │ ├── shopping-cart.svg │ │ │ │ ├── signal-slash.svg │ │ │ │ ├── signal.svg │ │ │ │ ├── sparkles.svg │ │ │ │ ├── speaker-wave.svg │ │ │ │ ├── speaker-x-mark.svg │ │ │ │ ├── square-2-stack.svg │ │ │ │ ├── squares-2x2.svg │ │ │ │ ├── squares-plus.svg │ │ │ │ ├── star.svg │ │ │ │ ├── stop.svg │ │ │ │ ├── sun.svg │ │ │ │ ├── swatch.svg │ │ │ │ ├── table-cells.svg │ │ │ │ ├── tag.svg │ │ │ │ ├── ticket.svg │ │ │ │ ├── trash.svg │ │ │ │ ├── truck.svg │ │ │ │ ├── user-circle.svg │ │ │ │ ├── user-group.svg │ │ │ │ ├── user-plus.svg │ │ │ │ ├── user.svg │ │ │ │ ├── users.svg │ │ │ │ ├── video-camera-slash.svg │ │ │ │ ├── video-camera.svg │ │ │ │ ├── view-columns.svg │ │ │ │ ├── wifi.svg │ │ │ │ ├── wrench-screwdriver.svg │ │ │ │ ├── wrench.svg │ │ │ │ ├── x-circle.svg │ │ │ │ └── x-mark.svg │ │ │ └── solid │ │ │ │ ├── academic-cap.svg │ │ │ │ ├── adjustments-horizontal.svg │ │ │ │ ├── adjustments-vertical.svg │ │ │ │ ├── archive-box-arrow-down.svg │ │ │ │ ├── archive-box-x-mark.svg │ │ │ │ ├── archive-box.svg │ │ │ │ ├── arrow-down-circle.svg │ │ │ │ ├── arrow-down-left.svg │ │ │ │ ├── arrow-down-on-square-stack.svg │ │ │ │ ├── arrow-down-on-square.svg │ │ │ │ ├── arrow-down-right.svg │ │ │ │ ├── arrow-down-tray.svg │ │ │ │ ├── arrow-down.svg │ │ │ │ ├── arrow-left-circle.svg │ │ │ │ ├── arrow-left-on-rectangle.svg │ │ │ │ ├── arrow-left.svg │ │ │ │ ├── arrow-long-down.svg │ │ │ │ ├── arrow-long-left.svg │ │ │ │ ├── arrow-long-right.svg │ │ │ │ ├── arrow-long-up.svg │ │ │ │ ├── arrow-path.svg │ │ │ │ ├── arrow-right-circle.svg │ │ │ │ ├── arrow-right-on-rectangle.svg │ │ │ │ ├── arrow-right.svg │ │ │ │ ├── arrow-top-right-on-square.svg │ │ │ │ ├── arrow-trending-down.svg │ │ │ │ ├── arrow-trending-up.svg │ │ │ │ ├── arrow-up-circle.svg │ │ │ │ ├── arrow-up-left.svg │ │ │ │ ├── arrow-up-on-square-stack.svg │ │ │ │ ├── arrow-up-on-square.svg │ │ │ │ ├── arrow-up-right.svg │ │ │ │ ├── arrow-up-tray.svg │ │ │ │ ├── arrow-up.svg │ │ │ │ ├── arrow-uturn-down.svg │ │ │ │ ├── arrow-uturn-left.svg │ │ │ │ ├── arrow-uturn-right.svg │ │ │ │ ├── arrow-uturn-up.svg │ │ │ │ ├── arrows-pointing-in.svg │ │ │ │ ├── arrows-pointing-out.svg │ │ │ │ ├── arrows-right-left.svg │ │ │ │ ├── arrows-up-down.svg │ │ │ │ ├── at-symbol.svg │ │ │ │ ├── backspace.svg │ │ │ │ ├── backward.svg │ │ │ │ ├── banknotes.svg │ │ │ │ ├── bars-2.svg │ │ │ │ ├── bars-3-bottom-left.svg │ │ │ │ ├── bars-3-bottom-right.svg │ │ │ │ ├── bars-3-center-left.svg │ │ │ │ ├── bars-3.svg │ │ │ │ ├── bars-4.svg │ │ │ │ ├── bars-arrow-down.svg │ │ │ │ ├── bars-arrow-up.svg │ │ │ │ ├── beaker.svg │ │ │ │ ├── bell-alert.svg │ │ │ │ ├── bell-slash.svg │ │ │ │ ├── bell-snooze.svg │ │ │ │ ├── bell.svg │ │ │ │ ├── bolt-slash.svg │ │ │ │ ├── bolt.svg │ │ │ │ ├── book-open.svg │ │ │ │ ├── bookmark-slash.svg │ │ │ │ ├── bookmark-square.svg │ │ │ │ ├── bookmark.svg │ │ │ │ ├── briefcase.svg │ │ │ │ ├── building-library.svg │ │ │ │ ├── building-office-2.svg │ │ │ │ ├── building-office.svg │ │ │ │ ├── building-storefront.svg │ │ │ │ ├── cake.svg │ │ │ │ ├── calculator.svg │ │ │ │ ├── calendar-days.svg │ │ │ │ ├── calendar.svg │ │ │ │ ├── camera.svg │ │ │ │ ├── chart-bar-square.svg │ │ │ │ ├── chart-bar.svg │ │ │ │ ├── chart-pie.svg │ │ │ │ ├── chat-bubble-bottom-center-text.svg │ │ │ │ ├── chat-bubble-bottom-center.svg │ │ │ │ ├── chat-bubble-left-ellipsis.svg │ │ │ │ ├── chat-bubble-left-right.svg │ │ │ │ ├── chat-bubble-left.svg │ │ │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ │ │ ├── chat-bubble-oval-left.svg │ │ │ │ ├── check-badge.svg │ │ │ │ ├── check-circle.svg │ │ │ │ ├── check.svg │ │ │ │ ├── chevron-double-down.svg │ │ │ │ ├── chevron-double-left.svg │ │ │ │ ├── chevron-double-right.svg │ │ │ │ ├── chevron-double-up.svg │ │ │ │ ├── chevron-down.svg │ │ │ │ ├── chevron-left.svg │ │ │ │ ├── chevron-right.svg │ │ │ │ ├── chevron-up-down.svg │ │ │ │ ├── chevron-up.svg │ │ │ │ ├── circle-stack.svg │ │ │ │ ├── clipboard-document-check.svg │ │ │ │ ├── clipboard-document-list.svg │ │ │ │ ├── clipboard-document.svg │ │ │ │ ├── clipboard.svg │ │ │ │ ├── clock.svg │ │ │ │ ├── cloud-arrow-down.svg │ │ │ │ ├── cloud-arrow-up.svg │ │ │ │ ├── cloud.svg │ │ │ │ ├── code-bracket-square.svg │ │ │ │ ├── code-bracket.svg │ │ │ │ ├── code-square.svg │ │ │ │ ├── code.svg │ │ │ │ ├── cog-6-tooth.svg │ │ │ │ ├── cog-8-tooth.svg │ │ │ │ ├── cog.svg │ │ │ │ ├── command-line.svg │ │ │ │ ├── computer-desktop.svg │ │ │ │ ├── cpu-chip.svg │ │ │ │ ├── credit-card.svg │ │ │ │ ├── cube.svg │ │ │ │ ├── currency-dollar.svg │ │ │ │ ├── currency-euro.svg │ │ │ │ ├── currency-pound.svg │ │ │ │ ├── currency-rupee.svg │ │ │ │ ├── currency-yen.svg │ │ │ │ ├── cursor-arrow-rays.svg │ │ │ │ ├── cursor-arrow-ripple.svg │ │ │ │ ├── device-phone-mobile.svg │ │ │ │ ├── device-tablet.svg │ │ │ │ ├── document-arrow-down.svg │ │ │ │ ├── document-arrow-up.svg │ │ │ │ ├── document-chart-bar.svg │ │ │ │ ├── document-check.svg │ │ │ │ ├── document-duplicate.svg │ │ │ │ ├── document-magnifying-glass.svg │ │ │ │ ├── document-minus.svg │ │ │ │ ├── document-plus.svg │ │ │ │ ├── document-text.svg │ │ │ │ ├── document.svg │ │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ │ ├── ellipsis-horizontal.svg │ │ │ │ ├── ellipsis-vertical.svg │ │ │ │ ├── envelope-open.svg │ │ │ │ ├── envelope.svg │ │ │ │ ├── exclaimation-circle.svg │ │ │ │ ├── exclaimation-triangle.svg │ │ │ │ ├── exclamation-circle.svg │ │ │ │ ├── exclamation-triangle.svg │ │ │ │ ├── eye-slash.svg │ │ │ │ ├── eye.svg │ │ │ │ ├── face-frown.svg │ │ │ │ ├── face-smile.svg │ │ │ │ ├── film.svg │ │ │ │ ├── finger-print.svg │ │ │ │ ├── fire.svg │ │ │ │ ├── flag.svg │ │ │ │ ├── folder-arrow-down.svg │ │ │ │ ├── folder-minus.svg │ │ │ │ ├── folder-open.svg │ │ │ │ ├── folder-plus.svg │ │ │ │ ├── folder.svg │ │ │ │ ├── forward.svg │ │ │ │ ├── funnel.svg │ │ │ │ ├── gif.svg │ │ │ │ ├── gift-top.svg │ │ │ │ ├── gift.svg │ │ │ │ ├── globe-alt.svg │ │ │ │ ├── globe-americas.svg │ │ │ │ ├── globe-asia-australia.svg │ │ │ │ ├── globe-europe-africa.svg │ │ │ │ ├── hand-raised.svg │ │ │ │ ├── hand-thumb-down.svg │ │ │ │ ├── hand-thumb-up.svg │ │ │ │ ├── hashtag.svg │ │ │ │ ├── heart.svg │ │ │ │ ├── home-modern.svg │ │ │ │ ├── home.svg │ │ │ │ ├── identification.svg │ │ │ │ ├── inbox-arrow-down.svg │ │ │ │ ├── inbox-stack.svg │ │ │ │ ├── inbox.svg │ │ │ │ ├── information-circle.svg │ │ │ │ ├── key.svg │ │ │ │ ├── language.svg │ │ │ │ ├── lifebuoy.svg │ │ │ │ ├── light-bulb.svg │ │ │ │ ├── link.svg │ │ │ │ ├── list-bullet.svg │ │ │ │ ├── lock-closed.svg │ │ │ │ ├── lock-open.svg │ │ │ │ ├── magnifying-glass-circle.svg │ │ │ │ ├── magnifying-glass-minus.svg │ │ │ │ ├── magnifying-glass-plus.svg │ │ │ │ ├── magnifying-glass.svg │ │ │ │ ├── map-pin.svg │ │ │ │ ├── map.svg │ │ │ │ ├── megaphone.svg │ │ │ │ ├── microphone.svg │ │ │ │ ├── minus-circle.svg │ │ │ │ ├── minus.svg │ │ │ │ ├── moon.svg │ │ │ │ ├── musical-note.svg │ │ │ │ ├── newspaper.svg │ │ │ │ ├── no-symbol.svg │ │ │ │ ├── paper-airplane.svg │ │ │ │ ├── paper-clip.svg │ │ │ │ ├── pause.svg │ │ │ │ ├── pencil-square.svg │ │ │ │ ├── pencil.svg │ │ │ │ ├── phone-arrow-down-left.svg │ │ │ │ ├── phone-arrow-up-right.svg │ │ │ │ ├── phone-x-mark.svg │ │ │ │ ├── phone.svg │ │ │ │ ├── photo.svg │ │ │ │ ├── play-pause.svg │ │ │ │ ├── play.svg │ │ │ │ ├── plus-circle.svg │ │ │ │ ├── plus.svg │ │ │ │ ├── presentation-chart-bar.svg │ │ │ │ ├── presentation-chart-line.svg │ │ │ │ ├── printer.svg │ │ │ │ ├── puzzle-piece.svg │ │ │ │ ├── qr-code.svg │ │ │ │ ├── question-mark-circle.svg │ │ │ │ ├── queue-list.svg │ │ │ │ ├── radio.svg │ │ │ │ ├── receipt-percent.svg │ │ │ │ ├── receipt-refund.svg │ │ │ │ ├── rectangle-group.svg │ │ │ │ ├── rectangle-stack.svg │ │ │ │ ├── rss.svg │ │ │ │ ├── scale.svg │ │ │ │ ├── scissors.svg │ │ │ │ ├── server-stack.svg │ │ │ │ ├── server.svg │ │ │ │ ├── share.svg │ │ │ │ ├── shield-check.svg │ │ │ │ ├── shield-exclamation.svg │ │ │ │ ├── shopping-bag.svg │ │ │ │ ├── shopping-cart.svg │ │ │ │ ├── signal-slash.svg │ │ │ │ ├── signal.svg │ │ │ │ ├── sparkles.svg │ │ │ │ ├── speaker-wave.svg │ │ │ │ ├── speaker-x-mark.svg │ │ │ │ ├── square-2-stack.svg │ │ │ │ ├── squares-2x2.svg │ │ │ │ ├── squares-plus.svg │ │ │ │ ├── star.svg │ │ │ │ ├── stop.svg │ │ │ │ ├── sun.svg │ │ │ │ ├── swatch.svg │ │ │ │ ├── table-cells.svg │ │ │ │ ├── tag.svg │ │ │ │ ├── ticket.svg │ │ │ │ ├── trash.svg │ │ │ │ ├── truck.svg │ │ │ │ ├── user-circle.svg │ │ │ │ ├── user-group.svg │ │ │ │ ├── user-plus.svg │ │ │ │ ├── user.svg │ │ │ │ ├── users.svg │ │ │ │ ├── video-camera-slash.svg │ │ │ │ ├── video-camera.svg │ │ │ │ ├── view-columns.svg │ │ │ │ ├── wifi.svg │ │ │ │ ├── wrench-screwdriver.svg │ │ │ │ ├── wrench.svg │ │ │ │ ├── x-circle.svg │ │ │ │ └── x-mark.svg │ │ └── spina │ │ │ ├── barchart.svg │ │ │ ├── bars.svg │ │ │ ├── bold.svg │ │ │ ├── brush.svg │ │ │ ├── camera.svg │ │ │ ├── caret-down.svg │ │ │ ├── caret-left.svg │ │ │ ├── caret-right.svg │ │ │ ├── caret-up.svg │ │ │ ├── cart.svg │ │ │ ├── chart-outline.svg │ │ │ ├── check.svg │ │ │ ├── chevron-down.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron-right.svg │ │ │ ├── chevron-up.svg │ │ │ ├── code.svg │ │ │ ├── cog-outline.svg │ │ │ ├── cog.svg │ │ │ ├── comment.svg │ │ │ ├── cross.svg │ │ │ ├── customer-outline.svg │ │ │ ├── document.svg │ │ │ ├── dots.svg │ │ │ ├── exclamation.svg │ │ │ ├── export.svg │ │ │ ├── eye.svg │ │ │ ├── filter.svg │ │ │ ├── home.svg │ │ │ ├── image.svg │ │ │ ├── inbox-outline.svg │ │ │ ├── indent.svg │ │ │ ├── info.svg │ │ │ ├── italic.svg │ │ │ ├── large-check.svg │ │ │ ├── link.svg │ │ │ ├── list-ol.svg │ │ │ ├── list-ul.svg │ │ │ ├── list.svg │ │ │ ├── lock.svg │ │ │ ├── mail-outline.svg │ │ │ ├── mail.svg │ │ │ ├── media-library.svg │ │ │ ├── megaphone.svg │ │ │ ├── min.svg │ │ │ ├── outdent.svg │ │ │ ├── pages.svg │ │ │ ├── pencil-outline.svg │ │ │ ├── pencil.svg │ │ │ ├── picture-o.svg │ │ │ ├── plus.svg │ │ │ ├── power-off.svg │ │ │ ├── preview.svg │ │ │ ├── preview │ │ │ ├── icons_spina-preview.html │ │ │ └── ics_spina-preview.html │ │ │ ├── product-outline.svg │ │ │ ├── quote-right.svg │ │ │ ├── random.svg │ │ │ ├── redo.svg │ │ │ ├── refresh.svg │ │ │ ├── search.svg │ │ │ ├── shop.svg │ │ │ ├── social-outline.svg │ │ │ ├── strikethrough.svg │ │ │ ├── trash.svg │ │ │ ├── undo.svg │ │ │ ├── upload-outline.svg │ │ │ └── users-outline.svg │ ├── images │ │ └── spina │ │ │ ├── .gitkeep │ │ │ ├── favicon.png │ │ │ ├── spina.png │ │ │ └── spina.svg │ ├── javascripts │ │ └── spina │ │ │ ├── application.js │ │ │ ├── controllers │ │ │ ├── application.js │ │ │ ├── attachment_picker_controller.js │ │ │ ├── auto_file_upload_controller.js │ │ │ ├── autofocus_controller.js │ │ │ ├── button_controller.js │ │ │ ├── confetti_controller.js │ │ │ ├── confirm_controller.js │ │ │ ├── data_binding_controller.js │ │ │ ├── delegate_click_controller.js │ │ │ ├── editor_insert_images_controller.js │ │ │ ├── embed_controller.js │ │ │ ├── embed_tag_controller.js │ │ │ ├── exists_controller.js │ │ │ ├── form_controller.js │ │ │ ├── hotkeys_controller.js │ │ │ ├── image_collection_controller.js │ │ │ ├── image_fade_in_controller.js │ │ │ ├── index.js │ │ │ ├── infinite_scroll_controller.js │ │ │ ├── loading_button_controller.js │ │ │ ├── media_picker_controller.js │ │ │ ├── media_picker_modal_controller.js │ │ │ ├── modal_controller.js │ │ │ ├── navigation_controller.js │ │ │ ├── page_collapse_controller.js │ │ │ ├── page_select_controller.js │ │ │ ├── parent_pages_controller.js │ │ │ ├── repeater_controller.js │ │ │ ├── reveal_controller.js │ │ │ ├── select_controller.js │ │ │ ├── select_placeholder_controller.js │ │ │ ├── selectable_controller.js │ │ │ ├── shortcuts_controller.js │ │ │ ├── sortable_controller.js │ │ │ ├── switch_controller.js │ │ │ ├── tabs_controller.js │ │ │ ├── toggle_controller.js │ │ │ ├── trix_controller.js │ │ │ └── unique_id_controller.js │ │ │ └── libraries │ │ │ ├── canvas-confetti.js │ │ │ ├── canvas-confetti@1.3.2.js │ │ │ ├── debounce.js │ │ │ ├── hotkeys.js │ │ │ ├── hotkeys@3.8.7.js │ │ │ ├── sortablejs.js │ │ │ ├── sortablejs@1.13.0.js │ │ │ ├── trix.js │ │ │ └── trix@1.3.1.esm.js │ └── stylesheets │ │ └── spina │ │ ├── animate.css │ │ ├── application.tailwind.css │ │ ├── fonts-propshaft.css │ │ └── fonts-sprockets.css.erb ├── components │ └── spina │ │ ├── application_component.rb │ │ ├── forms │ │ ├── auto_file_upload_component.html.erb │ │ ├── auto_file_upload_component.rb │ │ ├── editor_insert_images_meta_component.html.erb │ │ ├── editor_insert_images_meta_component.rb │ │ ├── file_upload_component.html.erb │ │ ├── file_upload_component.rb │ │ ├── group_component.html.erb │ │ ├── group_component.rb │ │ ├── label_component.rb │ │ ├── password_field_component.html.erb │ │ ├── password_field_component.rb │ │ ├── search_component.html.erb │ │ ├── search_component.rb │ │ ├── switch_component.html.erb │ │ ├── switch_component.rb │ │ ├── text_field_component.html.erb │ │ ├── text_field_component.rb │ │ ├── trix_toolbar_component.html.erb │ │ └── trix_toolbar_component.rb │ │ ├── hooks │ │ ├── hook_component.rb │ │ └── partial_component.rb │ │ ├── main_navigation │ │ ├── link_component.html.erb │ │ ├── link_component.rb │ │ ├── sub_nav_component.html.erb │ │ └── sub_nav_component.rb │ │ ├── media_picker │ │ ├── image_component.html.erb │ │ ├── image_component.rb │ │ ├── modal_component.html.erb │ │ └── modal_component.rb │ │ ├── pages │ │ ├── actions_component.html.erb │ │ ├── actions_component.rb │ │ ├── list_component.html.erb │ │ ├── list_component.rb │ │ ├── location_component.html.erb │ │ ├── location_component.rb │ │ ├── new_page_button_component.html.erb │ │ ├── new_page_button_component.rb │ │ ├── page_component.html.erb │ │ ├── page_component.rb │ │ ├── page_select_component.html.erb │ │ ├── page_select_component.rb │ │ ├── tab_button_component.html.erb │ │ ├── tab_button_component.rb │ │ ├── translations_component.html.erb │ │ └── translations_component.rb │ │ └── user_interface │ │ ├── dropdown_button_component.rb │ │ ├── dropdown_component.html.erb │ │ ├── dropdown_component.rb │ │ ├── flash_message_component.html.erb │ │ ├── flash_message_component.rb │ │ ├── header_component.html.erb │ │ ├── header_component.rb │ │ ├── modal_component.html.erb │ │ ├── modal_component.rb │ │ ├── tab_link_component.html.erb │ │ ├── tab_link_component.rb │ │ ├── translations_component.html.erb │ │ └── translations_component.rb ├── controllers │ ├── concerns │ │ └── spina │ │ │ ├── api │ │ │ └── paginable.rb │ │ │ ├── current_spina_account.rb │ │ │ ├── current_theme.rb │ │ │ └── frontend.rb │ └── spina │ │ ├── admin │ │ ├── accounts_controller.rb │ │ ├── admin_controller.rb │ │ ├── attachments_controller.rb │ │ ├── embeds_controller.rb │ │ ├── images_controller.rb │ │ ├── layout_controller.rb │ │ ├── media_folders_controller.rb │ │ ├── media_picker_controller.rb │ │ ├── move_pages_controller.rb │ │ ├── navigation_items_controller.rb │ │ ├── navigations_controller.rb │ │ ├── page_select_options_controller.rb │ │ ├── page_translations_controller.rb │ │ ├── pages_controller.rb │ │ ├── parent_pages_controller.rb │ │ ├── password_resets_controller.rb │ │ ├── resource_select_options_controller.rb │ │ ├── resources_controller.rb │ │ ├── sessions_controller.rb │ │ ├── settings_controller.rb │ │ ├── theme_controller.rb │ │ └── users_controller.rb │ │ ├── api │ │ ├── api_controller.rb │ │ ├── images_controller.rb │ │ ├── navigations_controller.rb │ │ ├── pages_controller.rb │ │ └── resources_controller.rb │ │ ├── application_controller.rb │ │ ├── pages_controller.rb │ │ └── sitemaps_controller.rb ├── helpers │ └── spina │ │ ├── admin │ │ ├── icons_helper.rb │ │ ├── images_helper.rb │ │ └── pages_helper.rb │ │ ├── attachments_helper.rb │ │ ├── images_helper.rb │ │ ├── pages_helper.rb │ │ └── spina_helper.rb ├── jobs │ └── spina │ │ ├── application_job.rb │ │ ├── replace_signed_id_job.rb │ │ └── resource_pages_update_job.rb ├── mailers │ └── spina │ │ ├── application_mailer.rb │ │ └── user_mailer.rb ├── models │ ├── concerns │ │ └── spina │ │ │ ├── attachable.rb │ │ │ ├── gravatar.rb │ │ │ ├── partable.rb │ │ │ └── translated_content.rb │ └── spina │ │ ├── account.rb │ │ ├── application_record.rb │ │ ├── attachment.rb │ │ ├── current.rb │ │ ├── embeds │ │ ├── base.rb │ │ ├── button.rb │ │ ├── vimeo.rb │ │ └── youtube.rb │ │ ├── image.rb │ │ ├── media_folder.rb │ │ ├── navigation.rb │ │ ├── navigation_item.rb │ │ ├── page.rb │ │ ├── parts │ │ ├── attachment.rb │ │ ├── base.rb │ │ ├── image.rb │ │ ├── image_collection.rb │ │ ├── image_variant.rb │ │ ├── line.rb │ │ ├── multi_line.rb │ │ ├── option.rb │ │ ├── page_link.rb │ │ ├── repeater.rb │ │ ├── repeater_content.rb │ │ ├── resource_link.rb │ │ └── text.rb │ │ ├── resource.rb │ │ ├── rewrite_rule.rb │ │ ├── setting.rb │ │ └── user.rb ├── presenters │ └── spina │ │ ├── content_presenter.rb │ │ ├── menu_presenter.rb │ │ └── rich_text_presenter.rb ├── serializers │ └── spina │ │ └── api │ │ ├── base_serializer.rb │ │ ├── image_serializer.rb │ │ ├── navigation_serializer.rb │ │ ├── page_serializer.rb │ │ └── resource_serializer.rb └── views │ ├── layouts │ └── spina │ │ ├── admin │ │ ├── admin.html.erb │ │ ├── application.html.erb │ │ └── sessions.html.erb │ │ └── mail.html.erb │ └── spina │ ├── admin │ ├── accounts │ │ └── edit.html.erb │ ├── attachments │ │ ├── _attachment.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── show.html.erb │ ├── embeds │ │ └── new.html.erb │ ├── images │ │ ├── _image.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ ├── show.html.erb │ │ └── update.turbo_stream.erb │ ├── layout │ │ └── edit.html.erb │ ├── media_folders │ │ ├── _form.html.erb │ │ ├── _media_folder.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── media_picker │ │ └── show.html.erb │ ├── move_pages │ │ └── new.html.erb │ ├── navigation_items │ │ ├── _form.html.erb │ │ ├── _navigation_item.html.erb │ │ ├── _page_form.html.erb │ │ ├── _url_form.html.erb │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── navigations │ │ ├── _navigation.html.erb │ │ ├── edit.html.erb │ │ └── index.html.erb │ ├── page_select_options │ │ ├── index.html.erb │ │ └── show.html.erb │ ├── pages │ │ ├── _button_advanced.html.erb │ │ ├── _button_page_content.html.erb │ │ ├── _button_search_engines.html.erb │ │ ├── _form.html.erb │ │ ├── _form_advanced.html.erb │ │ ├── _form_page_content.html.erb │ │ ├── _form_search_engines.html.erb │ │ ├── _new_page_form.html.erb │ │ ├── children.html.erb │ │ ├── edit.html.erb │ │ ├── edit_content.html.erb │ │ ├── edit_template.html.erb │ │ ├── index.html.erb │ │ ├── new.html.erb │ │ └── sort_one.turbo_stream.erb │ ├── parent_pages │ │ └── index.html.erb │ ├── parts │ │ ├── attachments │ │ │ ├── _attachment.html.erb │ │ │ └── _form.html.erb │ │ ├── image_collections │ │ │ ├── _fields.html.erb │ │ │ └── _form.html.erb │ │ ├── images │ │ │ └── _form.html.erb │ │ ├── lines │ │ │ └── _form.html.erb │ │ ├── multi_lines │ │ │ └── _form.html.erb │ │ ├── options │ │ │ └── _form.html.erb │ │ ├── page_links │ │ │ └── _form.html.erb │ │ ├── repeaters │ │ │ ├── _fields.html.erb │ │ │ └── _form.html.erb │ │ ├── resource_links │ │ │ └── _form.html.erb │ │ └── texts │ │ │ └── _form.html.erb │ ├── password_resets │ │ ├── edit.html.erb │ │ └── new.html.erb │ ├── resource_select_options │ │ ├── index.html.erb │ │ └── show.html.erb │ ├── resources │ │ └── edit.html.erb │ ├── sessions │ │ └── new.html.erb │ ├── settings │ │ ├── _string_field.html.erb │ │ ├── _text_field.html.erb │ │ ├── _wysiwyg_field.html.erb │ │ └── edit.html.erb │ ├── shared │ │ ├── _flash.html.erb │ │ ├── _navigation.html.erb │ │ └── _version.html.erb │ ├── theme │ │ └── edit.html.erb │ └── users │ │ ├── _form.html.erb │ │ ├── _user.html.erb │ │ ├── edit.html.erb │ │ ├── index.html.erb │ │ └── new.html.erb │ ├── embeds │ ├── buttons │ │ ├── _button.html.erb │ │ ├── _button_fields.html.erb │ │ └── _trix_button.html.erb │ ├── vimeos │ │ ├── _thumbnail.html.erb │ │ ├── _vimeo.html.erb │ │ └── _vimeo_fields.html.erb │ └── youtubes │ │ ├── _thumbnail.html.erb │ │ ├── _youtube.html.erb │ │ └── _youtube_fields.html.erb │ ├── sitemaps │ └── show.xml.builder │ └── user_mailer │ ├── forgot_password.html.erb │ └── forgot_password.text.erb ├── bin └── rails ├── config ├── initializers │ ├── importmap.rb │ └── yaml_column_permitted_classes.rb ├── locales │ ├── TH.yml │ ├── bg.yml │ ├── cs.yml │ ├── da.yml │ ├── de.yml │ ├── en.yml │ ├── es.yml │ ├── fr.yml │ ├── id.yml │ ├── it.yml │ ├── nl.yml │ ├── pl.yml │ ├── pt-BR.yml │ ├── ro.yml │ ├── ru.yml │ ├── sv.yml │ ├── tr.yml │ └── zh-CN.yml └── routes.rb ├── db ├── migrate │ ├── 10_create_spina_image_collections.rb │ ├── 11_create_spina_resources.rb │ ├── 12_add_url_title_to_spina_page_translations.rb │ ├── 13_add_json_attributes_to_spina_accounts.rb │ ├── 14_add_json_attributes_to_spina_pages.rb │ ├── 15_add_slug_to_spina_resources.rb │ ├── 16_add_ancestry_cache_columns_to_spina_pages.rb │ ├── 17_add_custom_urls_to_spina_navigation_items.rb │ ├── 18_change_default_spina_resources_slug.rb │ ├── 1_create_spina_tables.rb │ ├── 2_create_spina_translation_tables.rb │ ├── 3_create_spina_navigations.rb │ ├── 4_add_password_reset_token_to_spina_users.rb │ ├── 5_remove_translated_columns.rb │ ├── 6_create_spina_options.rb │ ├── 7_create_spina_settings.rb │ ├── 8_create_spina_media_folders.rb │ └── 9_create_spina_images.rb └── seeds.rb ├── docs ├── v1 │ ├── 0_introduction.md │ ├── 1_getting_started.md │ ├── 2_themes.md │ ├── advanced │ │ └── 1_svg_files.md │ ├── getting_help │ │ └── 1_support.md │ ├── getting_started │ │ ├── 1_installing_ruby.md │ │ ├── 2_install_spina.md │ │ └── 3_existing_project.md │ └── themes │ │ ├── 1_page_parts.md │ │ ├── 2_view_templates.md │ │ ├── 3_navigations.md │ │ ├── 4_custom_pages.md │ │ └── 5_resources.md └── v2 │ ├── 1_getting_started.md │ ├── 2_themes.md │ ├── 3_rendering_content.md │ ├── 4_api.md │ ├── 5_support.md │ ├── 6_advanced.md │ ├── advanced │ ├── 1_create_custom_parts.md │ ├── 2_svg_files.md │ ├── 3_authentication.md │ └── 4_tailwind.md │ ├── api │ ├── 1_enabling_the_api.md │ ├── 2_authentication.md │ ├── 3_pagination.md │ ├── 4_pages.md │ ├── 5_navigations.md │ ├── 6_resources.md │ └── 7_images.md │ ├── getting_started │ ├── 1_installing_ruby.md │ ├── 2_installing_spina.md │ ├── 3_existing_project.md │ ├── 4_upgrading.md │ ├── 5_caching_uploads.md │ └── 6_deploying.md │ ├── rendering_content │ ├── 10_resource_link.md │ ├── 1_line.md │ ├── 2_multi_line.md │ ├── 3_rich_text.md │ ├── 4_image.md │ ├── 5_image_collection.md │ ├── 6_attachment.md │ ├── 7_option.md │ ├── 8_repeating_content.md │ └── 9_page_link.md │ └── themes │ ├── 1_parts.md │ ├── 2_view_templates.md │ ├── 3_layout_parts.md │ ├── 4_navigations.md │ ├── 5_custom_pages.md │ └── 6_resources.md ├── lib ├── generators │ └── spina │ │ ├── embed_generator.rb │ │ ├── install_generator.rb │ │ ├── tailwind_config_generator.rb │ │ └── templates │ │ ├── app │ │ ├── assets │ │ │ └── config │ │ │ │ └── spina │ │ │ │ └── tailwind.config.js.tt │ │ ├── models │ │ │ └── spina │ │ │ │ └── embeds │ │ │ │ └── embed.rb.tt │ │ └── views │ │ │ ├── default │ │ │ ├── pages │ │ │ │ ├── homepage.html.erb │ │ │ │ └── show.html.erb │ │ │ └── shared │ │ │ │ └── _navigation.html.erb │ │ │ ├── demo │ │ │ ├── pages │ │ │ │ ├── demo.html.erb │ │ │ │ ├── homepage.html.erb │ │ │ │ └── show.html.erb │ │ │ └── shared │ │ │ │ ├── _languages.html.erb │ │ │ │ └── _navigation.html.erb │ │ │ ├── layouts │ │ │ ├── default │ │ │ │ └── application.html.erb │ │ │ └── demo │ │ │ │ └── application.html.erb │ │ │ └── spina │ │ │ └── embeds │ │ │ ├── _fields.html.erb │ │ │ └── _partial.html.erb │ │ └── config │ │ └── initializers │ │ ├── mobility.rb │ │ ├── spina.rb │ │ └── themes │ │ ├── default.rb │ │ └── demo.rb ├── spina.rb ├── spina │ ├── admin_sectionable.rb │ ├── attr_json_monkeypatch.rb │ ├── attr_json_spina_parts_model.rb │ ├── authentication │ │ ├── basic.rb │ │ └── sessions.rb │ ├── embeddable.rb │ ├── embeds.rb │ ├── embeds │ │ └── trix_conversion.rb │ ├── engine.rb │ ├── part.rb │ ├── plugin.rb │ ├── railtie.rb │ ├── theme.rb │ ├── theme_reloader.rb │ └── version.rb └── tasks │ ├── install.rake │ └── tailwind.rake ├── spina.gemspec └── test ├── application_system_test_case.rb ├── dummy ├── .ruby-version ├── Rakefile ├── app │ ├── assets │ │ ├── images │ │ │ ├── .keep │ │ │ └── spina │ │ │ │ └── view_template_previews │ │ │ │ └── show.png │ │ └── stylesheets │ │ │ ├── application.css │ │ │ └── demo │ │ │ └── application.css │ ├── channels │ │ └── application_cable │ │ │ ├── channel.rb │ │ │ └── connection.rb │ ├── controllers │ │ ├── application_controller.rb │ │ └── concerns │ │ │ └── .keep │ ├── helpers │ │ └── application_helper.rb │ ├── jobs │ │ └── application_job.rb │ ├── mailers │ │ └── application_mailer.rb │ ├── models │ │ ├── application_record.rb │ │ └── concerns │ │ │ └── .keep │ └── views │ │ ├── demo │ │ ├── pages │ │ │ ├── demo.html.erb │ │ │ ├── different_layout.html.erb │ │ │ ├── homepage.html.erb │ │ │ └── show.html.erb │ │ └── shared │ │ │ ├── _languages.html.erb │ │ │ └── _navigation.html.erb │ │ └── layouts │ │ ├── application.html.erb │ │ ├── demo │ │ ├── application.html.erb │ │ └── different_layout.html.erb │ │ ├── mailer.html.erb │ │ └── mailer.text.erb ├── bin │ ├── dev │ ├── rails │ ├── rake │ └── setup ├── config.ru ├── config │ ├── application.rb │ ├── boot.rb │ ├── cable.yml │ ├── credentials.yml.enc │ ├── database.yml │ ├── database.yml.ci │ ├── environment.rb │ ├── environments │ │ ├── development.rb │ │ ├── production.rb │ │ └── test.rb │ ├── initializers │ │ ├── application_controller_renderer.rb │ │ ├── assets.rb │ │ ├── backtrace_silencers.rb │ │ ├── content_security_policy.rb │ │ ├── cookies_serializer.rb │ │ ├── feature_policy.rb │ │ ├── filter_parameter_logging.rb │ │ ├── inflections.rb │ │ ├── mime_types.rb │ │ ├── mobility.rb │ │ ├── new_framework_defaults_8_0.rb │ │ ├── spina.rb │ │ ├── svg.rb │ │ ├── themes │ │ │ ├── default.rb │ │ │ └── demo.rb │ │ └── wrap_parameters.rb │ ├── locales │ │ └── en.yml │ ├── master.key │ ├── puma.rb │ ├── routes.rb │ ├── spring.rb │ └── storage.yml ├── db │ └── schema.rb ├── lib │ └── assets │ │ └── .keep ├── log │ └── .keep └── public │ ├── 400.html │ ├── 404.html │ ├── 406-unsupported-browser.html │ ├── 422.html │ ├── 500.html │ ├── apple-touch-icon-precomposed.png │ ├── apple-touch-icon.png │ ├── favicon.ico │ ├── icon.png │ ├── icon.svg │ └── robots.txt ├── factories ├── accounts.rb ├── media_folder.rb ├── navigation.rb ├── page │ └── translations.rb ├── pages.rb ├── parts.rb ├── resources.rb └── users.rb ├── fixtures └── files │ └── spina.png ├── functional └── spina │ ├── admin │ ├── sessions_controller_test.rb │ └── settings_controller_test.rb │ └── pages_controller_test.rb ├── integration └── spina │ ├── admin │ ├── accounts_test.rb │ ├── attachments_test.rb │ ├── images_test.rb │ ├── login_test.rb │ ├── logout_test.rb │ ├── media_folders_test.rb │ ├── media_picker_test.rb │ ├── navigations_test.rb │ ├── pages_test.rb │ ├── password_resets_test.rb │ ├── resources_test.rb │ └── users_test.rb │ ├── api │ ├── images_test.rb │ ├── navigations_test.rb │ ├── pages_test.rb │ └── resources_test.rb │ ├── authentication │ ├── basic_authentication_test.rb │ ├── custom_authentication_test.rb │ └── session_authentication_test.rb │ ├── pages_test.rb │ ├── plugin_test.rb │ └── sitemaps_test.rb ├── mailers └── previews │ └── spina │ └── user_mailer_preview.rb ├── models └── spina │ ├── account_test.rb │ ├── navigation_item_test.rb │ ├── page_test.rb │ └── part_test.rb ├── system └── spina │ └── admin │ ├── editing_pages_test.rb │ ├── editing_resources_test.rb │ └── searching_media_library_test.rb ├── test_helper.rb └── unit └── spina └── theme_reloader_test.rb /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # Sponsorship through Open Collective 2 | 3 | open_collective: spina 4 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ### Context 2 | 3 | ### Changes proposed in this pull request 4 | 5 | ### Guidance to review 6 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | - package-ecosystem: bundler 4 | directory: "/" 5 | schedule: 6 | interval: daily 7 | time: "04:00" 8 | open-pull-requests-limit: 10 9 | -------------------------------------------------------------------------------- /app/assets/config/spina/manifest.js: -------------------------------------------------------------------------------- 1 | //= link_tree ../../images/spina 2 | //= link_tree ../../fonts/spina 3 | 4 | //= link_directory ../../javascripts/spina/controllers 5 | //= link_directory ../../javascripts/spina/libraries 6 | 7 | //= link spina/animate.css 8 | //= link spina/fonts-sprockets.css 9 | //= link spina/tailwind.css 10 | 11 | //= link spina/application.js 12 | -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-Black.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-Black.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-BlackItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-BlackItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-Bold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-Bold.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-BoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-BoldItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-ExtraBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-ExtraBold.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-ExtraBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-ExtraBoldItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-ExtraLight.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-ExtraLight.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-ExtraLightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-ExtraLightItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-Light.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-Light.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-LightItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-LightItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-Medium.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-Medium.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-MediumItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-MediumItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-Regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-Regular.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-RegularItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-RegularItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-SemiBold.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-SemiBold.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-SemiBoldItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-SemiBoldItalic.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-Thin.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-Thin.woff2 -------------------------------------------------------------------------------- /app/assets/fonts/spina/Metropolis-ThinItalic.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/fonts/spina/Metropolis-ThinItalic.woff2 -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/archive-box.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/document-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/document.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/exclaimation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/hand-raised.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/mini/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-down-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-left-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-right-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-top-right-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-trending-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-trending-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-up-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrows-pointing-in.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrows-pointing-out.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrows-right-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/arrows-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-4.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bars-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/building-library.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/building-office.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chart-bar-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/code-bracket-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/code-bracket.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/currency-euro.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/currency-rupee.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/cursor-arrow-rays.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/cursor-arrow-ripple.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/device-phone-mobile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/exclaimation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/exclaimation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/hashtag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/link.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/map-pin.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/microphone.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/paper-clip.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/rss.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/sun.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/wifi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/outline/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/exclaimation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/heroicons/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /app/assets/icons/spina/bars.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/bold.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/caret-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/caret-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/caret-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/caret-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/chevron-down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/chevron-left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/chevron-right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/chevron-up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/comment.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/italic.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/icons/spina/redo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/assets/images/spina/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/images/spina/.gitkeep -------------------------------------------------------------------------------- /app/assets/images/spina/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/images/spina/favicon.png -------------------------------------------------------------------------------- /app/assets/images/spina/spina.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SpinaCMS/Spina/00d69897b7fa9b0540ff952c72eac6e3b62dbfc9/app/assets/images/spina/spina.png -------------------------------------------------------------------------------- /app/assets/javascripts/spina/application.js: -------------------------------------------------------------------------------- 1 | import "@hotwired/turbo-rails" 2 | import "libraries/trix" 3 | import "controllers" 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/application.js: -------------------------------------------------------------------------------- 1 | import { Application } from "@hotwired/stimulus" 2 | 3 | const application = Application.start() 4 | 5 | // Configure Stimulus 6 | application.warnings = true 7 | application.debug = false 8 | window.Stimulus = application 9 | 10 | export { application } 11 | 12 | -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/autofocus_controller.js: -------------------------------------------------------------------------------- 1 | import { Controller } from "@hotwired/stimulus" 2 | 3 | export default class extends Controller { 4 | 5 | connect() { 6 | this.element.focus() 7 | } 8 | 9 | } -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/delegate_click_controller.js: -------------------------------------------------------------------------------- 1 | import { Controller } from "@hotwired/stimulus" 2 | 3 | export default class extends Controller { 4 | 5 | click() { 6 | this.targetElement.click() 7 | } 8 | 9 | get targetElement() { 10 | return document.querySelector(this.element.dataset.delegateClickTarget) 11 | } 12 | 13 | } -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/exists_controller.js: -------------------------------------------------------------------------------- 1 | import { Controller } from "@hotwired/stimulus" 2 | 3 | export default class extends Controller { 4 | 5 | connect() { 6 | const event = document.createEvent("CustomEvent") 7 | event.initCustomEvent("exists", true, true, null) 8 | this.element.dispatchEvent(event) 9 | } 10 | 11 | } -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/index.js: -------------------------------------------------------------------------------- 1 | import { application } from "controllers/application" 2 | 3 | // Eager load all Stimulus controllers 4 | import { eagerLoadControllersFrom } from "@hotwired/stimulus-loading" 5 | eagerLoadControllersFrom("controllers", application) 6 | -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/page_select_controller.js: -------------------------------------------------------------------------------- 1 | import SelectController from 'controllers/select_controller' 2 | 3 | export default class extends SelectController { } 4 | -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/shortcuts_controller.js: -------------------------------------------------------------------------------- 1 | import { Controller } from "@hotwired/stimulus" 2 | 3 | export default class extends Controller { 4 | static get targets() { 5 | return [ "confirm" ] 6 | } 7 | 8 | connect() { 9 | } 10 | 11 | confirmClick(event) { 12 | if (event.key === 'Enter') this.confirmTarget.click() 13 | } 14 | 15 | } -------------------------------------------------------------------------------- /app/assets/javascripts/spina/controllers/toggle_controller.js: -------------------------------------------------------------------------------- 1 | import { Controller } from "@hotwired/stimulus" 2 | 3 | export default class extends Controller { 4 | static get targets() { 5 | return [ "container" ] 6 | } 7 | 8 | toggle() { 9 | this.containerTarget.classList.toggle('hidden') 10 | } 11 | 12 | } -------------------------------------------------------------------------------- /app/assets/javascripts/spina/libraries/canvas-confetti.js: -------------------------------------------------------------------------------- 1 | export { default } from "libraries/canvas-confetti@1.3.2" 2 | -------------------------------------------------------------------------------- /app/assets/javascripts/spina/libraries/hotkeys.js: -------------------------------------------------------------------------------- 1 | export { default } from "libraries/hotkeys@3.8.7" 2 | -------------------------------------------------------------------------------- /app/assets/javascripts/spina/libraries/sortablejs.js: -------------------------------------------------------------------------------- 1 | export { default } from "libraries/sortablejs@1.13.0" 2 | -------------------------------------------------------------------------------- /app/components/spina/application_component.rb: -------------------------------------------------------------------------------- 1 | module Spina 2 | class ApplicationComponent < ViewComponent::Base 3 | end 4 | end 5 | -------------------------------------------------------------------------------- /app/components/spina/forms/editor_insert_images_meta_component.rb: -------------------------------------------------------------------------------- 1 | module Spina 2 | module Forms 3 | class EditorInsertImagesMetaComponent < ApplicationComponent 4 | attr_reader :images, :trix_target_id 5 | 6 | def initialize(trix_target_id: nil, images:[]) 7 | @trix_target_id = trix_target_id 8 | @images = images 9 | end 10 | end 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /app/components/spina/forms/group_component.html.erb: -------------------------------------------------------------------------------- 1 |