spree_backend 4.1.1 → 4.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +197 -0
- data/.codeclimate.yml +36 -0
- data/.editorconfig +22 -0
- data/.eslintignore +7 -0
- data/.eslintrc.cjs +29 -0
- data/.gem_release.yml +4 -0
- data/.github/CONTRIBUTING.md +1 -0
- data/.github/ISSUE_TEMPLATE/bug_report.md +47 -0
- data/.github/ISSUE_TEMPLATE/feature_request.md +20 -0
- data/.github/ISSUE_TEMPLATE.md +39 -0
- data/.github/dependabot.yml +7 -0
- data/.github/workflows/spelling_lint.yml +34 -0
- data/.gitignore +64 -0
- data/.rubocop.yml +197 -0
- data/.solargraph.yml +20 -0
- data/.stylelintignore +4 -0
- data/.stylelintrc +6 -0
- data/CODE_OF_CONDUCT.md +22 -0
- data/Gemfile +66 -3
- data/README.md +124 -0
- data/Rakefile +1 -1
- data/SECURITY.md +1 -0
- data/app/assets/config/spree_backend_manifest.js +129 -0
- data/app/assets/images/backend-123.svg +3 -0
- data/app/assets/images/backend-activity.svg +3 -0
- data/app/assets/images/backend-add.svg +4 -0
- data/app/assets/images/backend-adjust.svg +5 -0
- data/app/assets/images/backend-alarm-fill.svg +3 -0
- data/app/assets/images/backend-alarm.svg +4 -0
- data/app/assets/images/backend-align-bottom.svg +4 -0
- data/app/assets/images/backend-align-center.svg +3 -0
- data/app/assets/images/backend-align-end.svg +4 -0
- data/app/assets/images/backend-align-middle.svg +3 -0
- data/app/assets/images/backend-align-start.svg +4 -0
- data/app/assets/images/backend-align-top.svg +4 -0
- data/app/assets/images/backend-alt.svg +3 -0
- data/app/assets/images/backend-app-indicator.svg +4 -0
- data/app/assets/images/backend-app.svg +3 -0
- data/app/assets/images/backend-apple.svg +4 -0
- data/app/assets/images/backend-approve.svg +3 -0
- data/app/assets/images/backend-archive-fill.svg +3 -0
- data/app/assets/images/backend-archive.svg +3 -0
- data/app/assets/images/backend-arrow-90deg-down.svg +3 -0
- data/app/assets/images/backend-arrow-90deg-left.svg +3 -0
- data/app/assets/images/backend-arrow-90deg-right.svg +3 -0
- data/app/assets/images/backend-arrow-90deg-up.svg +3 -0
- data/app/assets/images/backend-arrow-bar-down.svg +3 -0
- data/app/assets/images/backend-arrow-bar-left.svg +3 -0
- data/app/assets/images/backend-arrow-bar-right.svg +3 -0
- data/app/assets/images/backend-arrow-bar-up.svg +3 -0
- data/app/assets/images/backend-arrow-clockwise.svg +4 -0
- data/app/assets/images/backend-arrow-counterclockwise.svg +4 -0
- data/app/assets/images/backend-arrow-down-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-down-circle.svg +3 -0
- data/app/assets/images/backend-arrow-down-left-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-down-left-circle.svg +3 -0
- data/app/assets/images/backend-arrow-down-left-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-down-left-square.svg +3 -0
- data/app/assets/images/backend-arrow-down-left.svg +3 -0
- data/app/assets/images/backend-arrow-down-right-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-down-right-circle.svg +3 -0
- data/app/assets/images/backend-arrow-down-right-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-down-right-square.svg +3 -0
- data/app/assets/images/backend-arrow-down-right.svg +3 -0
- data/app/assets/images/backend-arrow-down-short.svg +3 -0
- data/app/assets/images/backend-arrow-down-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-down-square.svg +3 -0
- data/app/assets/images/backend-arrow-down-up.svg +3 -0
- data/app/assets/images/backend-arrow-down.svg +3 -0
- data/app/assets/images/backend-arrow-left-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-left-circle.svg +3 -0
- data/app/assets/images/backend-arrow-left-right.svg +3 -0
- data/app/assets/images/backend-arrow-left-short.svg +3 -0
- data/app/assets/images/backend-arrow-left-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-left-square.svg +3 -0
- data/app/assets/images/backend-arrow-left.svg +3 -0
- data/app/assets/images/backend-arrow-repeat.svg +4 -0
- data/app/assets/images/backend-arrow-return-left.svg +3 -0
- data/app/assets/images/backend-arrow-return-right.svg +3 -0
- data/app/assets/images/backend-arrow-right-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-right-circle.svg +3 -0
- data/app/assets/images/backend-arrow-right-short.svg +3 -0
- data/app/assets/images/backend-arrow-right-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-right-square.svg +3 -0
- data/app/assets/images/backend-arrow-right.svg +3 -0
- data/app/assets/images/backend-arrow-up-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-up-circle.svg +3 -0
- data/app/assets/images/backend-arrow-up-left-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-up-left-circle.svg +3 -0
- data/app/assets/images/backend-arrow-up-left-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-up-left-square.svg +3 -0
- data/app/assets/images/backend-arrow-up-left.svg +3 -0
- data/app/assets/images/backend-arrow-up-right-circle-fill.svg +3 -0
- data/app/assets/images/backend-arrow-up-right-circle.svg +3 -0
- data/app/assets/images/backend-arrow-up-right-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-up-right-square.svg +3 -0
- data/app/assets/images/backend-arrow-up-right.svg +3 -0
- data/app/assets/images/backend-arrow-up-short.svg +3 -0
- data/app/assets/images/backend-arrow-up-square-fill.svg +3 -0
- data/app/assets/images/backend-arrow-up-square.svg +3 -0
- data/app/assets/images/backend-arrow-up.svg +3 -0
- data/app/assets/images/backend-arrows-angle-contract.svg +3 -0
- data/app/assets/images/backend-arrows-angle-expand.svg +3 -0
- data/app/assets/images/backend-arrows-collapse.svg +3 -0
- data/app/assets/images/backend-arrows-expand.svg +3 -0
- data/app/assets/images/backend-arrows-fullscreen.svg +3 -0
- data/app/assets/images/backend-arrows-move.svg +3 -0
- data/app/assets/images/backend-aspect-ratio-fill.svg +3 -0
- data/app/assets/images/backend-aspect-ratio.svg +4 -0
- data/app/assets/images/backend-asterisk.svg +3 -0
- data/app/assets/images/backend-at.svg +3 -0
- data/app/assets/images/backend-award-fill.svg +4 -0
- data/app/assets/images/backend-award.svg +4 -0
- data/app/assets/images/backend-back.svg +3 -0
- data/app/assets/images/backend-backspace-fill.svg +3 -0
- data/app/assets/images/backend-backspace-reverse-fill.svg +3 -0
- data/app/assets/images/backend-backspace-reverse.svg +4 -0
- data/app/assets/images/backend-backspace.svg +4 -0
- data/app/assets/images/backend-badge-3d-fill.svg +4 -0
- data/app/assets/images/backend-badge-3d.svg +4 -0
- data/app/assets/images/backend-badge-4k-fill.svg +4 -0
- data/app/assets/images/backend-badge-4k.svg +4 -0
- data/app/assets/images/backend-badge-8k-fill.svg +4 -0
- data/app/assets/images/backend-badge-8k.svg +4 -0
- data/app/assets/images/backend-badge-ad-fill.svg +4 -0
- data/app/assets/images/backend-badge-ad.svg +4 -0
- data/app/assets/images/backend-badge-ar-fill.svg +4 -0
- data/app/assets/images/backend-badge-ar.svg +4 -0
- data/app/assets/images/backend-badge-cc-fill.svg +3 -0
- data/app/assets/images/backend-badge-cc.svg +4 -0
- data/app/assets/images/backend-badge-hd-fill.svg +4 -0
- data/app/assets/images/backend-badge-hd.svg +4 -0
- data/app/assets/images/backend-badge-tm-fill.svg +3 -0
- data/app/assets/images/backend-badge-tm.svg +4 -0
- data/app/assets/images/backend-badge-vo-fill.svg +4 -0
- data/app/assets/images/backend-badge-vo.svg +4 -0
- data/app/assets/images/backend-badge-vr-fill.svg +4 -0
- data/app/assets/images/backend-badge-vr.svg +4 -0
- data/app/assets/images/backend-badge-wc-fill.svg +3 -0
- data/app/assets/images/backend-badge-wc.svg +4 -0
- data/app/assets/images/backend-bag-check-fill.svg +3 -0
- data/app/assets/images/backend-bag-check.svg +4 -0
- data/app/assets/images/backend-bag-dash-fill.svg +3 -0
- data/app/assets/images/backend-bag-dash.svg +4 -0
- data/app/assets/images/backend-bag-fill.svg +3 -0
- data/app/assets/images/backend-bag-plus-fill.svg +3 -0
- data/app/assets/images/backend-bag-plus.svg +4 -0
- data/app/assets/images/backend-bag-x-fill.svg +3 -0
- data/app/assets/images/backend-bag-x.svg +4 -0
- data/app/assets/images/backend-bag.svg +3 -0
- data/app/assets/images/backend-bandaid-fill.svg +3 -0
- data/app/assets/images/backend-bandaid.svg +4 -0
- data/app/assets/images/backend-bank.svg +3 -0
- data/app/assets/images/backend-bank2.svg +3 -0
- data/app/assets/images/backend-bar-chart-fill.svg +3 -0
- data/app/assets/images/backend-bar-chart-line-fill.svg +3 -0
- data/app/assets/images/backend-bar-chart-line.svg +3 -0
- data/app/assets/images/backend-bar-chart-steps.svg +3 -0
- data/app/assets/images/backend-bar-chart.svg +3 -0
- data/app/assets/images/backend-basket-fill.svg +3 -0
- data/app/assets/images/backend-basket.svg +3 -0
- data/app/assets/images/backend-basket2-fill.svg +3 -0
- data/app/assets/images/backend-basket2.svg +4 -0
- data/app/assets/images/backend-basket3-fill.svg +3 -0
- data/app/assets/images/backend-basket3.svg +3 -0
- data/app/assets/images/backend-battery-charging.svg +6 -0
- data/app/assets/images/backend-battery-full.svg +4 -0
- data/app/assets/images/backend-battery-half.svg +4 -0
- data/app/assets/images/backend-battery.svg +3 -0
- data/app/assets/images/backend-behance.svg +3 -0
- data/app/assets/images/backend-bell-fill.svg +3 -0
- data/app/assets/images/backend-bell-slash-fill.svg +3 -0
- data/app/assets/images/backend-bell-slash.svg +3 -0
- data/app/assets/images/backend-bell.svg +3 -0
- data/app/assets/images/backend-bezier.svg +4 -0
- data/app/assets/images/backend-bezier2.svg +3 -0
- data/app/assets/images/backend-bicycle.svg +3 -0
- data/app/assets/images/backend-binoculars-fill.svg +3 -0
- data/app/assets/images/backend-binoculars.svg +3 -0
- data/app/assets/images/backend-blockquote-left.svg +3 -0
- data/app/assets/images/backend-blockquote-right.svg +3 -0
- data/app/assets/images/backend-bluetooth.svg +3 -0
- data/app/assets/images/backend-body-text.svg +3 -0
- data/app/assets/images/backend-book-fill.svg +3 -0
- data/app/assets/images/backend-book-half.svg +3 -0
- data/app/assets/images/backend-book.svg +3 -0
- data/app/assets/images/backend-bookmark-check-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-check.svg +4 -0
- data/app/assets/images/backend-bookmark-dash-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-dash.svg +4 -0
- data/app/assets/images/backend-bookmark-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-heart-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-heart.svg +4 -0
- data/app/assets/images/backend-bookmark-plus-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-plus.svg +4 -0
- data/app/assets/images/backend-bookmark-star-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-star.svg +4 -0
- data/app/assets/images/backend-bookmark-x-fill.svg +3 -0
- data/app/assets/images/backend-bookmark-x.svg +4 -0
- data/app/assets/images/backend-bookmark.svg +3 -0
- data/app/assets/images/backend-bookmarks-fill.svg +4 -0
- data/app/assets/images/backend-bookmarks.svg +4 -0
- data/app/assets/images/backend-bookshelf.svg +3 -0
- data/app/assets/images/backend-boombox-fill.svg +4 -0
- data/app/assets/images/backend-boombox.svg +6 -0
- data/app/assets/images/backend-bootstrap-fill.svg +4 -0
- data/app/assets/images/backend-bootstrap-reboot.svg +4 -0
- data/app/assets/images/backend-bootstrap.svg +4 -0
- data/app/assets/images/backend-border-all.svg +3 -0
- data/app/assets/images/backend-border-bottom.svg +3 -0
- data/app/assets/images/backend-border-center.svg +3 -0
- data/app/assets/images/backend-border-inner.svg +5 -0
- data/app/assets/images/backend-border-left.svg +3 -0
- data/app/assets/images/backend-border-middle.svg +3 -0
- data/app/assets/images/backend-border-outer.svg +4 -0
- data/app/assets/images/backend-border-right.svg +3 -0
- data/app/assets/images/backend-border-style.svg +3 -0
- data/app/assets/images/backend-border-top.svg +3 -0
- data/app/assets/images/backend-border-width.svg +3 -0
- data/app/assets/images/backend-border.svg +3 -0
- data/app/assets/images/backend-bounding-box-circles.svg +3 -0
- data/app/assets/images/backend-bounding-box.svg +3 -0
- data/app/assets/images/backend-box-arrow-down-left.svg +4 -0
- data/app/assets/images/backend-box-arrow-down-right.svg +4 -0
- data/app/assets/images/backend-box-arrow-down.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-down-left.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-down-right.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-down.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-left.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-right.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-up-left.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-up-right.svg +4 -0
- data/app/assets/images/backend-box-arrow-in-up.svg +4 -0
- data/app/assets/images/backend-box-arrow-left.svg +4 -0
- data/app/assets/images/backend-box-arrow-right.svg +4 -0
- data/app/assets/images/backend-box-arrow-up-left.svg +4 -0
- data/app/assets/images/backend-box-arrow-up-right.svg +4 -0
- data/app/assets/images/backend-box-arrow-up.svg +4 -0
- data/app/assets/images/backend-box-seam.svg +3 -0
- data/app/assets/images/backend-box.svg +3 -0
- data/app/assets/images/backend-boxes.svg +3 -0
- data/app/assets/images/backend-braces.svg +3 -0
- data/app/assets/images/backend-bricks.svg +3 -0
- data/app/assets/images/backend-briefcase-fill.svg +4 -0
- data/app/assets/images/backend-briefcase.svg +3 -0
- data/app/assets/images/backend-brightness-alt-high-fill.svg +3 -0
- data/app/assets/images/backend-brightness-alt-high.svg +3 -0
- data/app/assets/images/backend-brightness-alt-low-fill.svg +3 -0
- data/app/assets/images/backend-brightness-alt-low.svg +3 -0
- data/app/assets/images/backend-brightness-high-fill.svg +3 -0
- data/app/assets/images/backend-brightness-high.svg +3 -0
- data/app/assets/images/backend-brightness-low-fill.svg +3 -0
- data/app/assets/images/backend-brightness-low.svg +3 -0
- data/app/assets/images/backend-broadcast-pin.svg +3 -0
- data/app/assets/images/backend-broadcast.svg +3 -0
- data/app/assets/images/backend-brush-fill.svg +3 -0
- data/app/assets/images/backend-brush.svg +3 -0
- data/app/assets/images/backend-bucket-fill.svg +3 -0
- data/app/assets/images/backend-bucket.svg +3 -0
- data/app/assets/images/backend-bug-fill.svg +4 -0
- data/app/assets/images/backend-bug.svg +3 -0
- data/app/assets/images/backend-building.svg +4 -0
- data/app/assets/images/backend-bullseye.svg +6 -0
- data/app/assets/images/backend-calculator-fill.svg +3 -0
- data/app/assets/images/backend-calculator.svg +4 -0
- data/app/assets/images/backend-calendar-check-fill.svg +3 -0
- data/app/assets/images/backend-calendar-check.svg +4 -0
- data/app/assets/images/backend-calendar-date-fill.svg +4 -0
- data/app/assets/images/backend-calendar-date.svg +4 -0
- data/app/assets/images/backend-calendar-day-fill.svg +3 -0
- data/app/assets/images/backend-calendar-day.svg +4 -0
- data/app/assets/images/backend-calendar-event-fill.svg +3 -0
- data/app/assets/images/backend-calendar-event.svg +4 -0
- data/app/assets/images/backend-calendar-fill.svg +3 -0
- data/app/assets/images/backend-calendar-minus-fill.svg +3 -0
- data/app/assets/images/backend-calendar-minus.svg +4 -0
- data/app/assets/images/backend-calendar-month-fill.svg +4 -0
- data/app/assets/images/backend-calendar-month.svg +4 -0
- data/app/assets/images/backend-calendar-plus-fill.svg +3 -0
- data/app/assets/images/backend-calendar-plus.svg +4 -0
- data/app/assets/images/backend-calendar-range-fill.svg +3 -0
- data/app/assets/images/backend-calendar-range.svg +4 -0
- data/app/assets/images/backend-calendar-week-fill.svg +3 -0
- data/app/assets/images/backend-calendar-week.svg +4 -0
- data/app/assets/images/backend-calendar-x-fill.svg +3 -0
- data/app/assets/images/backend-calendar-x.svg +4 -0
- data/app/assets/images/backend-calendar.svg +3 -0
- data/app/assets/images/backend-calendar2-check-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-check.svg +5 -0
- data/app/assets/images/backend-calendar2-date-fill.svg +4 -0
- data/app/assets/images/backend-calendar2-date.svg +5 -0
- data/app/assets/images/backend-calendar2-day-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-day.svg +5 -0
- data/app/assets/images/backend-calendar2-event-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-event.svg +5 -0
- data/app/assets/images/backend-calendar2-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-minus-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-minus.svg +5 -0
- data/app/assets/images/backend-calendar2-month-fill.svg +4 -0
- data/app/assets/images/backend-calendar2-month.svg +5 -0
- data/app/assets/images/backend-calendar2-plus-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-plus.svg +4 -0
- data/app/assets/images/backend-calendar2-range-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-range.svg +4 -0
- data/app/assets/images/backend-calendar2-week-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-week.svg +4 -0
- data/app/assets/images/backend-calendar2-x-fill.svg +3 -0
- data/app/assets/images/backend-calendar2-x.svg +5 -0
- data/app/assets/images/backend-calendar2.svg +4 -0
- data/app/assets/images/backend-calendar3-event-fill.svg +3 -0
- data/app/assets/images/backend-calendar3-event.svg +4 -0
- data/app/assets/images/backend-calendar3-fill.svg +3 -0
- data/app/assets/images/backend-calendar3-range-fill.svg +3 -0
- data/app/assets/images/backend-calendar3-range.svg +4 -0
- data/app/assets/images/backend-calendar3-week-fill.svg +3 -0
- data/app/assets/images/backend-calendar3-week.svg +4 -0
- data/app/assets/images/backend-calendar3.svg +4 -0
- data/app/assets/images/backend-calendar4-event.svg +4 -0
- data/app/assets/images/backend-calendar4-range.svg +4 -0
- data/app/assets/images/backend-calendar4-week.svg +4 -0
- data/app/assets/images/backend-calendar4.svg +3 -0
- data/app/assets/images/backend-camera-fill.svg +4 -0
- data/app/assets/images/backend-camera-reels-fill.svg +5 -0
- data/app/assets/images/backend-camera-reels.svg +5 -0
- data/app/assets/images/backend-camera-video-fill.svg +3 -0
- data/app/assets/images/backend-camera-video-off-fill.svg +3 -0
- data/app/assets/images/backend-camera-video-off.svg +3 -0
- data/app/assets/images/backend-camera-video.svg +3 -0
- data/app/assets/images/backend-camera.svg +4 -0
- data/app/assets/images/backend-camera2.svg +4 -0
- data/app/assets/images/backend-cancel.svg +7 -0
- data/app/assets/images/backend-capslock-fill.svg +3 -0
- data/app/assets/images/backend-capslock.svg +3 -0
- data/app/assets/images/backend-capture.svg +3 -0
- data/app/assets/images/backend-card-checklist.svg +4 -0
- data/app/assets/images/backend-card-heading.svg +4 -0
- data/app/assets/images/backend-card-image.svg +4 -0
- data/app/assets/images/backend-card-list.svg +4 -0
- data/app/assets/images/backend-card-text.svg +4 -0
- data/app/assets/images/backend-caret-down-fill.svg +3 -0
- data/app/assets/images/backend-caret-down-square-fill.svg +3 -0
- data/app/assets/images/backend-caret-down-square.svg +4 -0
- data/app/assets/images/backend-caret-down.svg +3 -0
- data/app/assets/images/backend-caret-left-fill.svg +3 -0
- data/app/assets/images/backend-caret-left-square-fill.svg +3 -0
- data/app/assets/images/backend-caret-left-square.svg +4 -0
- data/app/assets/images/backend-caret-left.svg +3 -0
- data/app/assets/images/backend-caret-right-fill.svg +3 -0
- data/app/assets/images/backend-caret-right-square-fill.svg +3 -0
- data/app/assets/images/backend-caret-right-square.svg +4 -0
- data/app/assets/images/backend-caret-right.svg +3 -0
- data/app/assets/images/backend-caret-up-fill.svg +3 -0
- data/app/assets/images/backend-caret-up-square-fill.svg +3 -0
- data/app/assets/images/backend-caret-up-square.svg +4 -0
- data/app/assets/images/backend-caret-up.svg +3 -0
- data/app/assets/images/backend-cart-check-fill.svg +3 -0
- data/app/assets/images/backend-cart-check.svg +4 -0
- data/app/assets/images/backend-cart-dash-fill.svg +3 -0
- data/app/assets/images/backend-cart-dash.svg +4 -0
- data/app/assets/images/backend-cart-fill.svg +3 -0
- data/app/assets/images/backend-cart-plus-fill.svg +3 -0
- data/app/assets/images/backend-cart-plus.svg +4 -0
- data/app/assets/images/backend-cart-x-fill.svg +3 -0
- data/app/assets/images/backend-cart-x.svg +4 -0
- data/app/assets/images/backend-cart.svg +3 -0
- data/app/assets/images/backend-cart2.svg +3 -0
- data/app/assets/images/backend-cart3.svg +3 -0
- data/app/assets/images/backend-cart4.svg +3 -0
- data/app/assets/images/backend-cash-coin.svg +6 -0
- data/app/assets/images/backend-cash-stack.svg +4 -0
- data/app/assets/images/backend-cash.svg +4 -0
- data/app/assets/images/backend-cast.svg +4 -0
- data/app/assets/images/backend-chat-dots-fill.svg +3 -0
- data/app/assets/images/backend-chat-dots.svg +4 -0
- data/app/assets/images/backend-chat-fill.svg +3 -0
- data/app/assets/images/backend-chat-left-dots-fill.svg +3 -0
- data/app/assets/images/backend-chat-left-dots.svg +4 -0
- data/app/assets/images/backend-chat-left-fill.svg +3 -0
- data/app/assets/images/backend-chat-left-quote-fill.svg +3 -0
- data/app/assets/images/backend-chat-left-quote.svg +4 -0
- data/app/assets/images/backend-chat-left-text-fill.svg +3 -0
- data/app/assets/images/backend-chat-left-text.svg +4 -0
- data/app/assets/images/backend-chat-left.svg +3 -0
- data/app/assets/images/backend-chat-quote-fill.svg +3 -0
- data/app/assets/images/backend-chat-quote.svg +4 -0
- data/app/assets/images/backend-chat-right-dots-fill.svg +3 -0
- data/app/assets/images/backend-chat-right-dots.svg +4 -0
- data/app/assets/images/backend-chat-right-fill.svg +3 -0
- data/app/assets/images/backend-chat-right-quote-fill.svg +3 -0
- data/app/assets/images/backend-chat-right-quote.svg +4 -0
- data/app/assets/images/backend-chat-right-text-fill.svg +3 -0
- data/app/assets/images/backend-chat-right-text.svg +4 -0
- data/app/assets/images/backend-chat-right.svg +3 -0
- data/app/assets/images/backend-chat-square-dots-fill.svg +3 -0
- data/app/assets/images/backend-chat-square-dots.svg +4 -0
- data/app/assets/images/backend-chat-square-fill.svg +3 -0
- data/app/assets/images/backend-chat-square-quote-fill.svg +3 -0
- data/app/assets/images/backend-chat-square-quote.svg +4 -0
- data/app/assets/images/backend-chat-square-text-fill.svg +3 -0
- data/app/assets/images/backend-chat-square-text.svg +4 -0
- data/app/assets/images/backend-chat-square.svg +3 -0
- data/app/assets/images/backend-chat-text-fill.svg +3 -0
- data/app/assets/images/backend-chat-text.svg +4 -0
- data/app/assets/images/backend-chat.svg +3 -0
- data/app/assets/images/backend-check-all.svg +3 -0
- data/app/assets/images/backend-check-circle-fill.svg +3 -0
- data/app/assets/images/backend-check-circle.svg +4 -0
- data/app/assets/images/backend-check-lg.svg +3 -0
- data/app/assets/images/backend-check-square-fill.svg +3 -0
- data/app/assets/images/backend-check-square.svg +4 -0
- data/app/assets/images/backend-check.svg +3 -0
- data/app/assets/images/backend-check2-all.svg +4 -0
- data/app/assets/images/backend-check2-circle.svg +4 -0
- data/app/assets/images/backend-check2-square.svg +4 -0
- data/app/assets/images/backend-check2.svg +3 -0
- data/app/assets/images/backend-chevron-bar-contract.svg +3 -0
- data/app/assets/images/backend-chevron-bar-down.svg +3 -0
- data/app/assets/images/backend-chevron-bar-expand.svg +3 -0
- data/app/assets/images/backend-chevron-bar-left.svg +3 -0
- data/app/assets/images/backend-chevron-bar-right.svg +3 -0
- data/app/assets/images/backend-chevron-bar-up.svg +3 -0
- data/app/assets/images/backend-chevron-compact-down.svg +3 -0
- data/app/assets/images/backend-chevron-compact-left.svg +3 -0
- data/app/assets/images/backend-chevron-compact-right.svg +3 -0
- data/app/assets/images/backend-chevron-compact-up.svg +3 -0
- data/app/assets/images/backend-chevron-contract.svg +3 -0
- data/app/assets/images/backend-chevron-double-down.svg +4 -0
- data/app/assets/images/backend-chevron-double-left.svg +4 -0
- data/app/assets/images/backend-chevron-double-right.svg +4 -0
- data/app/assets/images/backend-chevron-double-up.svg +4 -0
- data/app/assets/images/backend-chevron-down.svg +3 -0
- data/app/assets/images/backend-chevron-expand.svg +3 -0
- data/app/assets/images/backend-chevron-left.svg +3 -0
- data/app/assets/images/backend-chevron-right.svg +3 -0
- data/app/assets/images/backend-chevron-up.svg +3 -0
- data/app/assets/images/backend-circle-fill.svg +3 -0
- data/app/assets/images/backend-circle-half.svg +3 -0
- data/app/assets/images/backend-circle-square.svg +4 -0
- data/app/assets/images/backend-circle.svg +3 -0
- data/app/assets/images/backend-clipboard-check.svg +5 -0
- data/app/assets/images/backend-clipboard-data.svg +5 -0
- data/app/assets/images/backend-clipboard-minus.svg +5 -0
- data/app/assets/images/backend-clipboard-plus.svg +5 -0
- data/app/assets/images/backend-clipboard-x.svg +5 -0
- data/app/assets/images/backend-clipboard.svg +4 -0
- data/app/assets/images/backend-clock-fill.svg +3 -0
- data/app/assets/images/backend-clock-history.svg +5 -0
- data/app/assets/images/backend-clock.svg +4 -0
- data/app/assets/images/backend-clone.svg +7 -0
- data/app/assets/images/backend-close.svg +7 -0
- data/app/assets/images/backend-cloud-arrow-down-fill.svg +3 -0
- data/app/assets/images/backend-cloud-arrow-down.svg +4 -0
- data/app/assets/images/backend-cloud-arrow-up-fill.svg +3 -0
- data/app/assets/images/backend-cloud-arrow-up.svg +4 -0
- data/app/assets/images/backend-cloud-check-fill.svg +3 -0
- data/app/assets/images/backend-cloud-check.svg +4 -0
- data/app/assets/images/backend-cloud-download-fill.svg +3 -0
- data/app/assets/images/backend-cloud-download.svg +4 -0
- data/app/assets/images/backend-cloud-drizzle-fill.svg +3 -0
- data/app/assets/images/backend-cloud-drizzle.svg +3 -0
- data/app/assets/images/backend-cloud-fill.svg +3 -0
- data/app/assets/images/backend-cloud-fog-fill.svg +3 -0
- data/app/assets/images/backend-cloud-fog.svg +3 -0
- data/app/assets/images/backend-cloud-fog2-fill.svg +3 -0
- data/app/assets/images/backend-cloud-fog2.svg +3 -0
- data/app/assets/images/backend-cloud-hail-fill.svg +3 -0
- data/app/assets/images/backend-cloud-hail.svg +3 -0
- data/app/assets/images/backend-cloud-haze-fill.svg +3 -0
- data/app/assets/images/backend-cloud-haze.svg +3 -0
- data/app/assets/images/backend-cloud-haze2-fill.svg +3 -0
- data/app/assets/images/backend-cloud-haze2.svg +3 -0
- data/app/assets/images/backend-cloud-lightning-fill.svg +3 -0
- data/app/assets/images/backend-cloud-lightning-rain-fill.svg +3 -0
- data/app/assets/images/backend-cloud-lightning-rain.svg +3 -0
- data/app/assets/images/backend-cloud-lightning.svg +3 -0
- data/app/assets/images/backend-cloud-minus-fill.svg +3 -0
- data/app/assets/images/backend-cloud-minus.svg +4 -0
- data/app/assets/images/backend-cloud-moon-fill.svg +4 -0
- data/app/assets/images/backend-cloud-moon.svg +4 -0
- data/app/assets/images/backend-cloud-plus-fill.svg +3 -0
- data/app/assets/images/backend-cloud-plus.svg +4 -0
- data/app/assets/images/backend-cloud-rain-fill.svg +3 -0
- data/app/assets/images/backend-cloud-rain-heavy-fill.svg +3 -0
- data/app/assets/images/backend-cloud-rain-heavy.svg +3 -0
- data/app/assets/images/backend-cloud-rain.svg +3 -0
- data/app/assets/images/backend-cloud-slash-fill.svg +3 -0
- data/app/assets/images/backend-cloud-slash.svg +4 -0
- data/app/assets/images/backend-cloud-sleet-fill.svg +3 -0
- data/app/assets/images/backend-cloud-sleet.svg +3 -0
- data/app/assets/images/backend-cloud-snow-fill.svg +3 -0
- data/app/assets/images/backend-cloud-snow.svg +3 -0
- data/app/assets/images/backend-cloud-sun-fill.svg +4 -0
- data/app/assets/images/backend-cloud-sun.svg +4 -0
- data/app/assets/images/backend-cloud-upload-fill.svg +3 -0
- data/app/assets/images/backend-cloud-upload.svg +4 -0
- data/app/assets/images/backend-cloud.svg +3 -0
- data/app/assets/images/backend-clouds-fill.svg +4 -0
- data/app/assets/images/backend-clouds.svg +4 -0
- data/app/assets/images/backend-cloudy-fill.svg +3 -0
- data/app/assets/images/backend-cloudy.svg +3 -0
- data/app/assets/images/backend-code-slash.svg +3 -0
- data/app/assets/images/backend-code-square.svg +4 -0
- data/app/assets/images/backend-code.svg +3 -0
- data/app/assets/images/backend-coin.svg +5 -0
- data/app/assets/images/backend-collection-fill.svg +3 -0
- data/app/assets/images/backend-collection-play-fill.svg +3 -0
- data/app/assets/images/backend-collection-play.svg +4 -0
- data/app/assets/images/backend-collection.svg +3 -0
- data/app/assets/images/backend-columns-gap.svg +3 -0
- data/app/assets/images/backend-columns.svg +3 -0
- data/app/assets/images/backend-command.svg +3 -0
- data/app/assets/images/backend-compass-fill.svg +3 -0
- data/app/assets/images/backend-compass.svg +4 -0
- data/app/assets/images/backend-cone-striped.svg +3 -0
- data/app/assets/images/backend-cone.svg +3 -0
- data/app/assets/images/backend-controller.svg +4 -0
- data/app/assets/images/backend-cpu-fill.svg +4 -0
- data/app/assets/images/backend-cpu.svg +3 -0
- data/app/assets/images/backend-credit-card-2-back-fill.svg +3 -0
- data/app/assets/images/backend-credit-card-2-back.svg +4 -0
- data/app/assets/images/backend-credit-card-2-front-fill.svg +3 -0
- data/app/assets/images/backend-credit-card-2-front.svg +4 -0
- data/app/assets/images/backend-credit-card-fill.svg +3 -0
- data/app/assets/images/backend-credit-card.svg +4 -0
- data/app/assets/images/backend-crop.svg +3 -0
- data/app/assets/images/backend-cup-fill.svg +3 -0
- data/app/assets/images/backend-cup-straw.svg +3 -0
- data/app/assets/images/backend-cup.svg +3 -0
- data/app/assets/images/backend-currency-bitcoin.svg +3 -0
- data/app/assets/images/backend-currency-dollar.svg +3 -0
- data/app/assets/images/backend-currency-euro.svg +3 -0
- data/app/assets/images/backend-currency-exchange.svg +3 -0
- data/app/assets/images/backend-currency-pound.svg +3 -0
- data/app/assets/images/backend-currency-yen.svg +3 -0
- data/app/assets/images/backend-cursor-fill.svg +3 -0
- data/app/assets/images/backend-cursor-text.svg +3 -0
- data/app/assets/images/backend-cursor.svg +3 -0
- data/app/assets/images/backend-dash-circle-dotted.svg +3 -0
- data/app/assets/images/backend-dash-circle-fill.svg +3 -0
- data/app/assets/images/backend-dash-circle.svg +4 -0
- data/app/assets/images/backend-dash-lg.svg +3 -0
- data/app/assets/images/backend-dash-square-dotted.svg +3 -0
- data/app/assets/images/backend-dash-square-fill.svg +3 -0
- data/app/assets/images/backend-dash-square.svg +4 -0
- data/app/assets/images/backend-dash.svg +3 -0
- data/app/assets/images/backend-default-layout.svg +6 -0
- data/app/assets/images/backend-delete.svg +6 -0
- data/app/assets/images/backend-device-hdd-fill.svg +4 -0
- data/app/assets/images/backend-device-hdd.svg +5 -0
- data/app/assets/images/backend-device-ssd-fill.svg +4 -0
- data/app/assets/images/backend-device-ssd.svg +4 -0
- data/app/assets/images/backend-diagram-2-fill.svg +3 -0
- data/app/assets/images/backend-diagram-2.svg +3 -0
- data/app/assets/images/backend-diagram-3-fill.svg +3 -0
- data/app/assets/images/backend-diagram-3.svg +3 -0
- data/app/assets/images/backend-diamond-fill.svg +3 -0
- data/app/assets/images/backend-diamond-half.svg +3 -0
- data/app/assets/images/backend-diamond.svg +3 -0
- data/app/assets/images/backend-dice-1-fill.svg +3 -0
- data/app/assets/images/backend-dice-1.svg +4 -0
- data/app/assets/images/backend-dice-2-fill.svg +3 -0
- data/app/assets/images/backend-dice-2.svg +4 -0
- data/app/assets/images/backend-dice-3-fill.svg +3 -0
- data/app/assets/images/backend-dice-3.svg +4 -0
- data/app/assets/images/backend-dice-4-fill.svg +3 -0
- data/app/assets/images/backend-dice-4.svg +4 -0
- data/app/assets/images/backend-dice-5-fill.svg +3 -0
- data/app/assets/images/backend-dice-5.svg +4 -0
- data/app/assets/images/backend-dice-6-fill.svg +3 -0
- data/app/assets/images/backend-dice-6.svg +4 -0
- data/app/assets/images/backend-disc-fill.svg +3 -0
- data/app/assets/images/backend-disc.svg +4 -0
- data/app/assets/images/backend-discord.svg +3 -0
- data/app/assets/images/backend-display-fill.svg +3 -0
- data/app/assets/images/backend-display.svg +3 -0
- data/app/assets/images/backend-displayport-fill.svg +3 -0
- data/app/assets/images/backend-displayport.svg +4 -0
- data/app/assets/images/backend-distribute-horizontal.svg +4 -0
- data/app/assets/images/backend-distribute-vertical.svg +4 -0
- data/app/assets/images/backend-door-closed-fill.svg +3 -0
- data/app/assets/images/backend-door-closed.svg +4 -0
- data/app/assets/images/backend-door-open-fill.svg +3 -0
- data/app/assets/images/backend-door-open.svg +4 -0
- data/app/assets/images/backend-dot.svg +3 -0
- data/app/assets/images/backend-double-chevron-left.svg +15 -0
- data/app/assets/images/backend-double-chevron-right.svg +17 -0
- data/app/assets/images/backend-download.svg +4 -0
- data/app/assets/images/backend-dpad-fill.svg +3 -0
- data/app/assets/images/backend-dpad.svg +4 -0
- data/app/assets/images/backend-dribbble.svg +3 -0
- data/app/assets/images/backend-droplet-fill.svg +3 -0
- data/app/assets/images/backend-droplet-half.svg +4 -0
- data/app/assets/images/backend-droplet.svg +4 -0
- data/app/assets/images/backend-ear-fill.svg +3 -0
- data/app/assets/images/backend-ear.svg +3 -0
- data/app/assets/images/backend-earbuds.svg +3 -0
- data/app/assets/images/backend-easel-fill.svg +3 -0
- data/app/assets/images/backend-easel.svg +3 -0
- data/app/assets/images/backend-easel2-fill.svg +4 -0
- data/app/assets/images/backend-easel2.svg +3 -0
- data/app/assets/images/backend-easel3-fill.svg +3 -0
- data/app/assets/images/backend-easel3.svg +3 -0
- data/app/assets/images/backend-edit.svg +14 -0
- data/app/assets/images/backend-egg-fill.svg +3 -0
- data/app/assets/images/backend-egg-fried.svg +4 -0
- data/app/assets/images/backend-egg.svg +3 -0
- data/app/assets/images/backend-eject-fill.svg +3 -0
- data/app/assets/images/backend-eject.svg +3 -0
- data/app/assets/images/backend-emoji-angry-fill.svg +3 -0
- data/app/assets/images/backend-emoji-angry.svg +4 -0
- data/app/assets/images/backend-emoji-dizzy-fill.svg +3 -0
- data/app/assets/images/backend-emoji-dizzy.svg +4 -0
- data/app/assets/images/backend-emoji-expressionless-fill.svg +3 -0
- data/app/assets/images/backend-emoji-expressionless.svg +4 -0
- data/app/assets/images/backend-emoji-frown-fill.svg +3 -0
- data/app/assets/images/backend-emoji-frown.svg +4 -0
- data/app/assets/images/backend-emoji-heart-eyes-fill.svg +3 -0
- data/app/assets/images/backend-emoji-heart-eyes.svg +4 -0
- data/app/assets/images/backend-emoji-laughing-fill.svg +3 -0
- data/app/assets/images/backend-emoji-laughing.svg +4 -0
- data/app/assets/images/backend-emoji-neutral-fill.svg +3 -0
- data/app/assets/images/backend-emoji-neutral.svg +4 -0
- data/app/assets/images/backend-emoji-smile-fill.svg +3 -0
- data/app/assets/images/backend-emoji-smile-upside-down-fill.svg +3 -0
- data/app/assets/images/backend-emoji-smile-upside-down.svg +4 -0
- data/app/assets/images/backend-emoji-smile.svg +4 -0
- data/app/assets/images/backend-emoji-sunglasses-fill.svg +3 -0
- data/app/assets/images/backend-emoji-sunglasses.svg +4 -0
- data/app/assets/images/backend-emoji-wink-fill.svg +3 -0
- data/app/assets/images/backend-emoji-wink.svg +4 -0
- data/app/assets/images/backend-enter.svg +6 -0
- data/app/assets/images/backend-envelope-check-fill.svg +4 -0
- data/app/assets/images/backend-envelope-check.svg +4 -0
- data/app/assets/images/backend-envelope-dash-fill.svg +4 -0
- data/app/assets/images/backend-envelope-dash.svg +4 -0
- data/app/assets/images/backend-envelope-exclamation-fill.svg +4 -0
- data/app/assets/images/backend-envelope-exclamation.svg +4 -0
- data/app/assets/images/backend-envelope-fill.svg +3 -0
- data/app/assets/images/backend-envelope-open-fill.svg +3 -0
- data/app/assets/images/backend-envelope-open.svg +3 -0
- data/app/assets/images/backend-envelope-plus-fill.svg +4 -0
- data/app/assets/images/backend-envelope-plus.svg +4 -0
- data/app/assets/images/backend-envelope-slash-fill.svg +4 -0
- data/app/assets/images/backend-envelope-slash.svg +4 -0
- data/app/assets/images/backend-envelope-x-fill.svg +4 -0
- data/app/assets/images/backend-envelope-x.svg +4 -0
- data/app/assets/images/backend-envelope.svg +3 -0
- data/app/assets/images/backend-eraser-fill.svg +3 -0
- data/app/assets/images/backend-eraser.svg +3 -0
- data/app/assets/images/backend-ethernet.svg +4 -0
- data/app/assets/images/backend-exclamation-circle-fill.svg +3 -0
- data/app/assets/images/backend-exclamation-circle.svg +4 -0
- data/app/assets/images/backend-exclamation-diamond-fill.svg +3 -0
- data/app/assets/images/backend-exclamation-diamond.svg +4 -0
- data/app/assets/images/backend-exclamation-lg.svg +3 -0
- data/app/assets/images/backend-exclamation-octagon-fill.svg +3 -0
- data/app/assets/images/backend-exclamation-octagon.svg +4 -0
- data/app/assets/images/backend-exclamation-square-fill.svg +3 -0
- data/app/assets/images/backend-exclamation-square.svg +4 -0
- data/app/assets/images/backend-exclamation-triangle-fill.svg +3 -0
- data/app/assets/images/backend-exclamation-triangle.svg +4 -0
- data/app/assets/images/backend-exclamation.svg +3 -0
- data/app/assets/images/backend-exclude.svg +3 -0
- data/app/assets/images/backend-exit.svg +13 -0
- data/app/assets/images/backend-explicit-fill.svg +3 -0
- data/app/assets/images/backend-explicit.svg +4 -0
- data/app/assets/images/backend-extensions.svg +4 -0
- data/app/assets/images/backend-eye-fill.svg +4 -0
- data/app/assets/images/backend-eye-open.svg +8 -0
- data/app/assets/images/backend-eye-slash-fill.svg +4 -0
- data/app/assets/images/backend-eye-slash.svg +5 -0
- data/app/assets/images/backend-eye.svg +4 -0
- data/app/assets/images/backend-eyedropper.svg +3 -0
- data/app/assets/images/backend-eyeglasses.svg +3 -0
- data/app/assets/images/backend-facebook.svg +3 -0
- data/app/assets/images/backend-fan.svg +4 -0
- data/app/assets/images/backend-file-arrow-down-fill.svg +3 -0
- data/app/assets/images/backend-file-arrow-down.svg +4 -0
- data/app/assets/images/backend-file-arrow-up-fill.svg +3 -0
- data/app/assets/images/backend-file-arrow-up.svg +4 -0
- data/app/assets/images/backend-file-bar-graph-fill.svg +3 -0
- data/app/assets/images/backend-file-bar-graph.svg +4 -0
- data/app/assets/images/backend-file-binary-fill.svg +4 -0
- data/app/assets/images/backend-file-binary.svg +4 -0
- data/app/assets/images/backend-file-break-fill.svg +3 -0
- data/app/assets/images/backend-file-break.svg +3 -0
- data/app/assets/images/backend-file-check-fill.svg +3 -0
- data/app/assets/images/backend-file-check.svg +4 -0
- data/app/assets/images/backend-file-code-fill.svg +3 -0
- data/app/assets/images/backend-file-code.svg +4 -0
- data/app/assets/images/backend-file-diff-fill.svg +3 -0
- data/app/assets/images/backend-file-diff.svg +4 -0
- data/app/assets/images/backend-file-earmark-arrow-down-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-arrow-down.svg +4 -0
- data/app/assets/images/backend-file-earmark-arrow-up-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-arrow-up.svg +4 -0
- data/app/assets/images/backend-file-earmark-bar-graph-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-bar-graph.svg +4 -0
- data/app/assets/images/backend-file-earmark-binary-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-binary.svg +4 -0
- data/app/assets/images/backend-file-earmark-break-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-break.svg +3 -0
- data/app/assets/images/backend-file-earmark-check-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-check.svg +4 -0
- data/app/assets/images/backend-file-earmark-code-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-code.svg +4 -0
- data/app/assets/images/backend-file-earmark-diff-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-diff.svg +4 -0
- data/app/assets/images/backend-file-earmark-easel-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-easel.svg +4 -0
- data/app/assets/images/backend-file-earmark-excel-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-excel.svg +4 -0
- data/app/assets/images/backend-file-earmark-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-font-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-font.svg +4 -0
- data/app/assets/images/backend-file-earmark-image-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-image.svg +4 -0
- data/app/assets/images/backend-file-earmark-lock-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-lock.svg +4 -0
- data/app/assets/images/backend-file-earmark-lock2-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-lock2.svg +4 -0
- data/app/assets/images/backend-file-earmark-medical-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-medical.svg +4 -0
- data/app/assets/images/backend-file-earmark-minus-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-minus.svg +4 -0
- data/app/assets/images/backend-file-earmark-music-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-music.svg +4 -0
- data/app/assets/images/backend-file-earmark-pdf-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-pdf.svg +4 -0
- data/app/assets/images/backend-file-earmark-person-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-person.svg +4 -0
- data/app/assets/images/backend-file-earmark-play-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-play.svg +4 -0
- data/app/assets/images/backend-file-earmark-plus-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-plus.svg +4 -0
- data/app/assets/images/backend-file-earmark-post-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-post.svg +4 -0
- data/app/assets/images/backend-file-earmark-ppt-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-ppt.svg +4 -0
- data/app/assets/images/backend-file-earmark-richtext-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-richtext.svg +4 -0
- data/app/assets/images/backend-file-earmark-ruled-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-ruled.svg +3 -0
- data/app/assets/images/backend-file-earmark-slides-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-slides.svg +4 -0
- data/app/assets/images/backend-file-earmark-spreadsheet-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-spreadsheet.svg +3 -0
- data/app/assets/images/backend-file-earmark-text-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-text.svg +4 -0
- data/app/assets/images/backend-file-earmark-word-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-word.svg +4 -0
- data/app/assets/images/backend-file-earmark-x-fill.svg +3 -0
- data/app/assets/images/backend-file-earmark-x.svg +4 -0
- data/app/assets/images/backend-file-earmark-zip-fill.svg +4 -0
- data/app/assets/images/backend-file-earmark-zip.svg +4 -0
- data/app/assets/images/backend-file-earmark.svg +3 -0
- data/app/assets/images/backend-file-easel-fill.svg +4 -0
- data/app/assets/images/backend-file-easel.svg +4 -0
- data/app/assets/images/backend-file-excel-fill.svg +3 -0
- data/app/assets/images/backend-file-excel.svg +4 -0
- data/app/assets/images/backend-file-fill.svg +3 -0
- data/app/assets/images/backend-file-font-fill.svg +3 -0
- data/app/assets/images/backend-file-font.svg +4 -0
- data/app/assets/images/backend-file-image-fill.svg +4 -0
- data/app/assets/images/backend-file-image.svg +4 -0
- data/app/assets/images/backend-file-lock-fill.svg +4 -0
- data/app/assets/images/backend-file-lock.svg +4 -0
- data/app/assets/images/backend-file-lock2-fill.svg +4 -0
- data/app/assets/images/backend-file-lock2.svg +4 -0
- data/app/assets/images/backend-file-medical-fill.svg +3 -0
- data/app/assets/images/backend-file-medical.svg +4 -0
- data/app/assets/images/backend-file-minus-fill.svg +3 -0
- data/app/assets/images/backend-file-minus.svg +4 -0
- data/app/assets/images/backend-file-music-fill.svg +3 -0
- data/app/assets/images/backend-file-music.svg +4 -0
- data/app/assets/images/backend-file-pdf-fill.svg +4 -0
- data/app/assets/images/backend-file-pdf.svg +4 -0
- data/app/assets/images/backend-file-person-fill.svg +3 -0
- data/app/assets/images/backend-file-person.svg +4 -0
- data/app/assets/images/backend-file-play-fill.svg +3 -0
- data/app/assets/images/backend-file-play.svg +4 -0
- data/app/assets/images/backend-file-plus-fill.svg +3 -0
- data/app/assets/images/backend-file-plus.svg +4 -0
- data/app/assets/images/backend-file-post-fill.svg +3 -0
- data/app/assets/images/backend-file-post.svg +4 -0
- data/app/assets/images/backend-file-ppt-fill.svg +4 -0
- data/app/assets/images/backend-file-ppt.svg +4 -0
- data/app/assets/images/backend-file-richtext-fill.svg +3 -0
- data/app/assets/images/backend-file-richtext.svg +4 -0
- data/app/assets/images/backend-file-ruled-fill.svg +3 -0
- data/app/assets/images/backend-file-ruled.svg +3 -0
- data/app/assets/images/backend-file-slides-fill.svg +4 -0
- data/app/assets/images/backend-file-slides.svg +4 -0
- data/app/assets/images/backend-file-spreadsheet-fill.svg +3 -0
- data/app/assets/images/backend-file-spreadsheet.svg +3 -0
- data/app/assets/images/backend-file-text-fill.svg +3 -0
- data/app/assets/images/backend-file-text.svg +4 -0
- data/app/assets/images/backend-file-word-fill.svg +3 -0
- data/app/assets/images/backend-file-word.svg +4 -0
- data/app/assets/images/backend-file-x-fill.svg +3 -0
- data/app/assets/images/backend-file-x.svg +4 -0
- data/app/assets/images/backend-file-zip-fill.svg +4 -0
- data/app/assets/images/backend-file-zip.svg +4 -0
- data/app/assets/images/backend-file.svg +3 -0
- data/app/assets/images/backend-files-alt.svg +3 -0
- data/app/assets/images/backend-files.svg +3 -0
- data/app/assets/images/backend-film.svg +3 -0
- data/app/assets/images/backend-filter-circle-fill.svg +3 -0
- data/app/assets/images/backend-filter-circle.svg +4 -0
- data/app/assets/images/backend-filter-left.svg +3 -0
- data/app/assets/images/backend-filter-right.svg +3 -0
- data/app/assets/images/backend-filter-square-fill.svg +3 -0
- data/app/assets/images/backend-filter-square.svg +4 -0
- data/app/assets/images/backend-filter.svg +3 -0
- data/app/assets/images/backend-fingerprint.svg +7 -0
- data/app/assets/images/backend-flag-fill.svg +3 -0
- data/app/assets/images/backend-flag.svg +3 -0
- data/app/assets/images/backend-flower1.svg +3 -0
- data/app/assets/images/backend-flower2.svg +3 -0
- data/app/assets/images/backend-flower3.svg +3 -0
- data/app/assets/images/backend-folder-check.svg +4 -0
- data/app/assets/images/backend-folder-fill.svg +3 -0
- data/app/assets/images/backend-folder-minus.svg +4 -0
- data/app/assets/images/backend-folder-plus.svg +4 -0
- data/app/assets/images/backend-folder-symlink-fill.svg +3 -0
- data/app/assets/images/backend-folder-symlink.svg +4 -0
- data/app/assets/images/backend-folder-x.svg +4 -0
- data/app/assets/images/backend-folder.svg +3 -0
- data/app/assets/images/backend-folder2-open.svg +3 -0
- data/app/assets/images/backend-folder2.svg +3 -0
- data/app/assets/images/backend-fonts.svg +3 -0
- data/app/assets/images/backend-forward-fill.svg +3 -0
- data/app/assets/images/backend-forward.svg +3 -0
- data/app/assets/images/backend-front.svg +3 -0
- data/app/assets/images/backend-fullscreen-exit.svg +3 -0
- data/app/assets/images/backend-fullscreen.svg +3 -0
- data/app/assets/images/backend-funnel-fill.svg +3 -0
- data/app/assets/images/backend-funnel.svg +3 -0
- data/app/assets/images/backend-gear-fill.svg +3 -0
- data/app/assets/images/backend-gear-wide-connected.svg +3 -0
- data/app/assets/images/backend-gear-wide.svg +3 -0
- data/app/assets/images/backend-gear.svg +4 -0
- data/app/assets/images/backend-gem.svg +3 -0
- data/app/assets/images/backend-gender-ambiguous.svg +3 -0
- data/app/assets/images/backend-gender-female.svg +3 -0
- data/app/assets/images/backend-gender-male.svg +3 -0
- data/app/assets/images/backend-gender-trans.svg +3 -0
- data/app/assets/images/backend-geo-alt-fill.svg +3 -0
- data/app/assets/images/backend-geo-alt.svg +4 -0
- data/app/assets/images/backend-geo-fill.svg +3 -0
- data/app/assets/images/backend-geo.svg +3 -0
- data/app/assets/images/backend-gift-fill.svg +3 -0
- data/app/assets/images/backend-gift.svg +3 -0
- data/app/assets/images/backend-git.svg +3 -0
- data/app/assets/images/backend-github.svg +3 -0
- data/app/assets/images/backend-globe.svg +3 -0
- data/app/assets/images/backend-globe2.svg +3 -0
- data/app/assets/images/backend-google.svg +3 -0
- data/app/assets/images/backend-gpu-card.svg +5 -0
- data/app/assets/images/backend-graph-down-arrow.svg +3 -0
- data/app/assets/images/backend-graph-down.svg +3 -0
- data/app/assets/images/backend-graph-up-arrow.svg +3 -0
- data/app/assets/images/backend-graph-up.svg +3 -0
- data/app/assets/images/backend-grid-1x2-fill.svg +3 -0
- data/app/assets/images/backend-grid-1x2.svg +3 -0
- data/app/assets/images/backend-grid-3x2-gap-fill.svg +3 -0
- data/app/assets/images/backend-grid-3x2-gap.svg +3 -0
- data/app/assets/images/backend-grid-3x2.svg +3 -0
- data/app/assets/images/backend-grid-3x3-gap-fill.svg +3 -0
- data/app/assets/images/backend-grid-3x3-gap.svg +3 -0
- data/app/assets/images/backend-grid-3x3.svg +3 -0
- data/app/assets/images/backend-grid-fill.svg +3 -0
- data/app/assets/images/backend-grid.svg +3 -0
- data/app/assets/images/backend-grip-horizontal.svg +3 -0
- data/app/assets/images/backend-grip-vertical.svg +3 -0
- data/app/assets/images/backend-hammer.svg +3 -0
- data/app/assets/images/backend-hand-index-fill.svg +3 -0
- data/app/assets/images/backend-hand-index-thumb-fill.svg +3 -0
- data/app/assets/images/backend-hand-index-thumb.svg +3 -0
- data/app/assets/images/backend-hand-index.svg +3 -0
- data/app/assets/images/backend-hand-thumbs-down-fill.svg +3 -0
- data/app/assets/images/backend-hand-thumbs-down.svg +3 -0
- data/app/assets/images/backend-hand-thumbs-up-fill.svg +3 -0
- data/app/assets/images/backend-hand-thumbs-up.svg +3 -0
- data/app/assets/images/backend-handbag-fill.svg +3 -0
- data/app/assets/images/backend-handbag.svg +3 -0
- data/app/assets/images/backend-hash.svg +3 -0
- data/app/assets/images/backend-hdd-fill.svg +3 -0
- data/app/assets/images/backend-hdd-network-fill.svg +3 -0
- data/app/assets/images/backend-hdd-network.svg +4 -0
- data/app/assets/images/backend-hdd-rack-fill.svg +3 -0
- data/app/assets/images/backend-hdd-rack.svg +4 -0
- data/app/assets/images/backend-hdd-stack-fill.svg +3 -0
- data/app/assets/images/backend-hdd-stack.svg +5 -0
- data/app/assets/images/backend-hdd.svg +4 -0
- data/app/assets/images/backend-hdmi-fill.svg +3 -0
- data/app/assets/images/backend-hdmi.svg +4 -0
- data/app/assets/images/backend-headphones.svg +3 -0
- data/app/assets/images/backend-headset-vr.svg +4 -0
- data/app/assets/images/backend-headset.svg +3 -0
- data/app/assets/images/backend-heart-fill.svg +3 -0
- data/app/assets/images/backend-heart-half.svg +3 -0
- data/app/assets/images/backend-heart.svg +3 -0
- data/app/assets/images/backend-heptagon-fill.svg +3 -0
- data/app/assets/images/backend-heptagon-half.svg +3 -0
- data/app/assets/images/backend-heptagon.svg +3 -0
- data/app/assets/images/backend-hexagon-fill.svg +3 -0
- data/app/assets/images/backend-hexagon-half.svg +3 -0
- data/app/assets/images/backend-hexagon.svg +3 -0
- data/app/assets/images/backend-hourglass-bottom.svg +3 -0
- data/app/assets/images/backend-hourglass-split.svg +3 -0
- data/app/assets/images/backend-hourglass-top.svg +3 -0
- data/app/assets/images/backend-hourglass.svg +3 -0
- data/app/assets/images/backend-house-door-fill.svg +3 -0
- data/app/assets/images/backend-house-door.svg +3 -0
- data/app/assets/images/backend-house-fill.svg +4 -0
- data/app/assets/images/backend-house.svg +4 -0
- data/app/assets/images/backend-hr.svg +3 -0
- data/app/assets/images/backend-hurricane.svg +3 -0
- data/app/assets/images/backend-hypnotize.svg +4 -0
- data/app/assets/images/backend-image-alt.svg +3 -0
- data/app/assets/images/backend-image-fill.svg +3 -0
- data/app/assets/images/backend-image.svg +4 -0
- data/app/assets/images/backend-images.svg +4 -0
- data/app/assets/images/backend-inbox-fill.svg +3 -0
- data/app/assets/images/backend-inbox.svg +3 -0
- data/app/assets/images/backend-inboxes-fill.svg +3 -0
- data/app/assets/images/backend-inboxes.svg +3 -0
- data/app/assets/images/backend-infinity.svg +3 -0
- data/app/assets/images/backend-info-circle-fill.svg +3 -0
- data/app/assets/images/backend-info-circle.svg +4 -0
- data/app/assets/images/backend-info-lg.svg +3 -0
- data/app/assets/images/backend-info-square-fill.svg +3 -0
- data/app/assets/images/backend-info-square.svg +4 -0
- data/app/assets/images/backend-info.svg +3 -0
- data/app/assets/images/backend-input-cursor-text.svg +4 -0
- data/app/assets/images/backend-input-cursor.svg +4 -0
- data/app/assets/images/backend-instagram.svg +3 -0
- data/app/assets/images/backend-intersect.svg +3 -0
- data/app/assets/images/backend-items.svg +5 -0
- data/app/assets/images/backend-journal-album.svg +5 -0
- data/app/assets/images/backend-journal-arrow-down.svg +5 -0
- data/app/assets/images/backend-journal-arrow-up.svg +5 -0
- data/app/assets/images/backend-journal-bookmark-fill.svg +5 -0
- data/app/assets/images/backend-journal-bookmark.svg +5 -0
- data/app/assets/images/backend-journal-check.svg +5 -0
- data/app/assets/images/backend-journal-code.svg +5 -0
- data/app/assets/images/backend-journal-medical.svg +5 -0
- data/app/assets/images/backend-journal-minus.svg +5 -0
- data/app/assets/images/backend-journal-plus.svg +5 -0
- data/app/assets/images/backend-journal-richtext.svg +5 -0
- data/app/assets/images/backend-journal-text.svg +5 -0
- data/app/assets/images/backend-journal-x.svg +5 -0
- data/app/assets/images/backend-journal.svg +4 -0
- data/app/assets/images/backend-journals.svg +4 -0
- data/app/assets/images/backend-joystick.svg +4 -0
- data/app/assets/images/backend-justify-left.svg +3 -0
- data/app/assets/images/backend-justify-right.svg +3 -0
- data/app/assets/images/backend-justify.svg +3 -0
- data/app/assets/images/backend-kanban-fill.svg +3 -0
- data/app/assets/images/backend-kanban.svg +4 -0
- data/app/assets/images/backend-key-fill.svg +3 -0
- data/app/assets/images/backend-key.svg +4 -0
- data/app/assets/images/backend-keyboard-fill.svg +3 -0
- data/app/assets/images/backend-keyboard.svg +4 -0
- data/app/assets/images/backend-ladder.svg +3 -0
- data/app/assets/images/backend-lamp-fill.svg +4 -0
- data/app/assets/images/backend-lamp.svg +4 -0
- data/app/assets/images/backend-laptop-fill.svg +3 -0
- data/app/assets/images/backend-laptop.svg +3 -0
- data/app/assets/images/backend-layer-backward.svg +4 -0
- data/app/assets/images/backend-layer-forward.svg +4 -0
- data/app/assets/images/backend-layers-fill.svg +4 -0
- data/app/assets/images/backend-layers-half.svg +3 -0
- data/app/assets/images/backend-layers.svg +3 -0
- data/app/assets/images/backend-layout-sidebar-inset-reverse.svg +4 -0
- data/app/assets/images/backend-layout-sidebar-inset.svg +4 -0
- data/app/assets/images/backend-layout-sidebar-reverse.svg +3 -0
- data/app/assets/images/backend-layout-sidebar.svg +3 -0
- data/app/assets/images/backend-layout-split.svg +3 -0
- data/app/assets/images/backend-layout-text-sidebar-reverse.svg +4 -0
- data/app/assets/images/backend-layout-text-sidebar.svg +4 -0
- data/app/assets/images/backend-layout-text-window-reverse.svg +4 -0
- data/app/assets/images/backend-layout-text-window.svg +4 -0
- data/app/assets/images/backend-layout-three-columns.svg +3 -0
- data/app/assets/images/backend-layout-wtf.svg +3 -0
- data/app/assets/images/backend-leaf.svg +7 -0
- data/app/assets/images/backend-life-preserver.svg +3 -0
- data/app/assets/images/backend-lightbulb-fill.svg +3 -0
- data/app/assets/images/backend-lightbulb-off-fill.svg +3 -0
- data/app/assets/images/backend-lightbulb-off.svg +3 -0
- data/app/assets/images/backend-lightbulb.svg +3 -0
- data/app/assets/images/backend-lightning-charge-fill.svg +3 -0
- data/app/assets/images/backend-lightning-charge.svg +3 -0
- data/app/assets/images/backend-lightning-fill.svg +3 -0
- data/app/assets/images/backend-lightning.svg +3 -0
- data/app/assets/images/backend-line.svg +3 -0
- data/app/assets/images/backend-link-45deg.svg +4 -0
- data/app/assets/images/backend-link.svg +4 -0
- data/app/assets/images/backend-linkedin.svg +3 -0
- data/app/assets/images/backend-list-check.svg +3 -0
- data/app/assets/images/backend-list-columns-reverse.svg +3 -0
- data/app/assets/images/backend-list-columns.svg +3 -0
- data/app/assets/images/backend-list-nested.svg +3 -0
- data/app/assets/images/backend-list-ol.svg +4 -0
- data/app/assets/images/backend-list-stars.svg +4 -0
- data/app/assets/images/backend-list-task.svg +5 -0
- data/app/assets/images/backend-list-ul.svg +3 -0
- data/app/assets/images/backend-list.svg +3 -0
- data/app/assets/images/backend-location.svg +4 -0
- data/app/assets/images/backend-lock-fill.svg +3 -0
- data/app/assets/images/backend-lock.svg +3 -0
- data/app/assets/images/backend-magic.svg +3 -0
- data/app/assets/images/backend-mailbox.svg +4 -0
- data/app/assets/images/backend-mailbox2.svg +4 -0
- data/app/assets/images/backend-map-fill.svg +3 -0
- data/app/assets/images/backend-map.svg +3 -0
- data/app/assets/images/backend-markdown-fill.svg +3 -0
- data/app/assets/images/backend-markdown.svg +6 -0
- data/app/assets/images/backend-mask.svg +3 -0
- data/app/assets/images/backend-mastodon.svg +3 -0
- data/app/assets/images/backend-medium.svg +3 -0
- data/app/assets/images/backend-megaphone-fill.svg +3 -0
- data/app/assets/images/backend-megaphone.svg +3 -0
- data/app/assets/images/backend-memory.svg +3 -0
- data/app/assets/images/backend-menu-app-fill.svg +3 -0
- data/app/assets/images/backend-menu-app.svg +3 -0
- data/app/assets/images/backend-menu-button-fill.svg +3 -0
- data/app/assets/images/backend-menu-button-wide-fill.svg +3 -0
- data/app/assets/images/backend-menu-button-wide.svg +4 -0
- data/app/assets/images/backend-menu-button.svg +4 -0
- data/app/assets/images/backend-menu-down.svg +3 -0
- data/app/assets/images/backend-menu-up.svg +3 -0
- data/app/assets/images/backend-menu.svg +5 -0
- data/app/assets/images/backend-messenger.svg +3 -0
- data/app/assets/images/backend-meta.svg +3 -0
- data/app/assets/images/backend-mic-fill.svg +4 -0
- data/app/assets/images/backend-mic-mute-fill.svg +4 -0
- data/app/assets/images/backend-mic-mute.svg +4 -0
- data/app/assets/images/backend-mic.svg +4 -0
- data/app/assets/images/backend-microsoft.svg +3 -0
- data/app/assets/images/backend-minecart-loaded.svg +4 -0
- data/app/assets/images/backend-minecart.svg +3 -0
- data/app/assets/images/backend-mobile.svg +5 -0
- data/app/assets/images/backend-modem-fill.svg +3 -0
- data/app/assets/images/backend-modem.svg +4 -0
- data/app/assets/images/backend-moisture.svg +3 -0
- data/app/assets/images/backend-money.svg +1 -0
- data/app/assets/images/backend-moon-fill.svg +3 -0
- data/app/assets/images/backend-moon-stars-fill.svg +4 -0
- data/app/assets/images/backend-moon-stars.svg +4 -0
- data/app/assets/images/backend-moon.svg +3 -0
- data/app/assets/images/backend-mortarboard-fill.svg +4 -0
- data/app/assets/images/backend-mortarboard.svg +4 -0
- data/app/assets/images/backend-motherboard-fill.svg +4 -0
- data/app/assets/images/backend-motherboard.svg +4 -0
- data/app/assets/images/backend-mouse-fill.svg +3 -0
- data/app/assets/images/backend-mouse.svg +3 -0
- data/app/assets/images/backend-mouse2-fill.svg +3 -0
- data/app/assets/images/backend-mouse2.svg +3 -0
- data/app/assets/images/backend-mouse3-fill.svg +3 -0
- data/app/assets/images/backend-mouse3.svg +3 -0
- data/app/assets/images/backend-move.svg +5 -0
- data/app/assets/images/backend-music-note-beamed.svg +5 -0
- data/app/assets/images/backend-music-note-list.svg +6 -0
- data/app/assets/images/backend-music-note.svg +5 -0
- data/app/assets/images/backend-music-player-fill.svg +4 -0
- data/app/assets/images/backend-music-player.svg +5 -0
- data/app/assets/images/backend-newspaper.svg +4 -0
- data/app/assets/images/backend-nintendo-switch.svg +4 -0
- data/app/assets/images/backend-node-minus-fill.svg +3 -0
- data/app/assets/images/backend-node-minus.svg +3 -0
- data/app/assets/images/backend-node-plus-fill.svg +3 -0
- data/app/assets/images/backend-node-plus.svg +3 -0
- data/app/assets/images/backend-nut-fill.svg +3 -0
- data/app/assets/images/backend-nut.svg +4 -0
- data/app/assets/images/backend-octagon-fill.svg +3 -0
- data/app/assets/images/backend-octagon-half.svg +3 -0
- data/app/assets/images/backend-octagon.svg +3 -0
- data/app/assets/images/backend-ok.svg +3 -0
- data/app/assets/images/backend-optical-audio-fill.svg +4 -0
- data/app/assets/images/backend-optical-audio.svg +5 -0
- data/app/assets/images/backend-option.svg +3 -0
- data/app/assets/images/backend-outlet.svg +4 -0
- data/app/assets/images/backend-pages.svg +10 -0
- data/app/assets/images/backend-pagination-double-arrow-right.svg +8 -0
- data/app/assets/images/backend-paint-bucket.svg +3 -0
- data/app/assets/images/backend-palette-fill.svg +3 -0
- data/app/assets/images/backend-palette.svg +4 -0
- data/app/assets/images/backend-palette2.svg +4 -0
- data/app/assets/images/backend-paperclip.svg +3 -0
- data/app/assets/images/backend-paragraph.svg +3 -0
- data/app/assets/images/backend-patch-check-fill.svg +3 -0
- data/app/assets/images/backend-patch-check.svg +4 -0
- data/app/assets/images/backend-patch-exclamation-fill.svg +3 -0
- data/app/assets/images/backend-patch-exclamation.svg +4 -0
- data/app/assets/images/backend-patch-minus-fill.svg +3 -0
- data/app/assets/images/backend-patch-minus.svg +4 -0
- data/app/assets/images/backend-patch-plus-fill.svg +3 -0
- data/app/assets/images/backend-patch-plus.svg +4 -0
- data/app/assets/images/backend-patch-question-fill.svg +3 -0
- data/app/assets/images/backend-patch-question.svg +5 -0
- data/app/assets/images/backend-pause-btn-fill.svg +3 -0
- data/app/assets/images/backend-pause-btn.svg +4 -0
- data/app/assets/images/backend-pause-circle-fill.svg +3 -0
- data/app/assets/images/backend-pause-circle.svg +4 -0
- data/app/assets/images/backend-pause-fill.svg +3 -0
- data/app/assets/images/backend-pause.svg +3 -0
- data/app/assets/images/backend-payments.svg +8 -0
- data/app/assets/images/backend-paypal.svg +3 -0
- data/app/assets/images/backend-pc-display-horizontal.svg +3 -0
- data/app/assets/images/backend-pc-display.svg +3 -0
- data/app/assets/images/backend-pc-horizontal.svg +3 -0
- data/app/assets/images/backend-pc.svg +3 -0
- data/app/assets/images/backend-pci-card.svg +4 -0
- data/app/assets/images/backend-peace-fill.svg +3 -0
- data/app/assets/images/backend-peace.svg +3 -0
- data/app/assets/images/backend-pen-fill.svg +3 -0
- data/app/assets/images/backend-pen.svg +3 -0
- data/app/assets/images/backend-pencil-fill.svg +3 -0
- data/app/assets/images/backend-pencil-square.svg +4 -0
- data/app/assets/images/backend-pencil.svg +3 -0
- data/app/assets/images/backend-pentagon-fill.svg +3 -0
- data/app/assets/images/backend-pentagon-half.svg +3 -0
- data/app/assets/images/backend-pentagon.svg +3 -0
- data/app/assets/images/backend-people-fill.svg +5 -0
- data/app/assets/images/backend-people.svg +3 -0
- data/app/assets/images/backend-percent.svg +3 -0
- data/app/assets/images/backend-person-badge-fill.svg +3 -0
- data/app/assets/images/backend-person-badge.svg +4 -0
- data/app/assets/images/backend-person-bounding-box.svg +4 -0
- data/app/assets/images/backend-person-check-fill.svg +4 -0
- data/app/assets/images/backend-person-check.svg +4 -0
- data/app/assets/images/backend-person-circle.svg +4 -0
- data/app/assets/images/backend-person-dash-fill.svg +4 -0
- data/app/assets/images/backend-person-dash.svg +4 -0
- data/app/assets/images/backend-person-fill.svg +3 -0
- data/app/assets/images/backend-person-lines-fill.svg +3 -0
- data/app/assets/images/backend-person-plus-fill.svg +4 -0
- data/app/assets/images/backend-person-plus.svg +4 -0
- data/app/assets/images/backend-person-rolodex.svg +4 -0
- data/app/assets/images/backend-person-square.svg +4 -0
- data/app/assets/images/backend-person-video.svg +4 -0
- data/app/assets/images/backend-person-video2.svg +4 -0
- data/app/assets/images/backend-person-video3.svg +4 -0
- data/app/assets/images/backend-person-workspace.svg +4 -0
- data/app/assets/images/backend-person-x-fill.svg +3 -0
- data/app/assets/images/backend-person-x.svg +4 -0
- data/app/assets/images/backend-person.svg +3 -0
- data/app/assets/images/backend-phone-fill.svg +3 -0
- data/app/assets/images/backend-phone-landscape-fill.svg +3 -0
- data/app/assets/images/backend-phone-landscape.svg +4 -0
- data/app/assets/images/backend-phone-vibrate-fill.svg +3 -0
- data/app/assets/images/backend-phone-vibrate.svg +4 -0
- data/app/assets/images/backend-phone.svg +4 -0
- data/app/assets/images/backend-pie-chart-fill.svg +3 -0
- data/app/assets/images/backend-pie-chart.svg +3 -0
- data/app/assets/images/backend-piggy-bank-fill.svg +3 -0
- data/app/assets/images/backend-piggy-bank.svg +4 -0
- data/app/assets/images/backend-pin-angle-fill.svg +3 -0
- data/app/assets/images/backend-pin-angle.svg +3 -0
- data/app/assets/images/backend-pin-fill.svg +3 -0
- data/app/assets/images/backend-pin-map-fill.svg +4 -0
- data/app/assets/images/backend-pin-map.svg +4 -0
- data/app/assets/images/backend-pin.svg +3 -0
- data/app/assets/images/backend-pinterest.svg +3 -0
- data/app/assets/images/backend-pip-fill.svg +3 -0
- data/app/assets/images/backend-pip.svg +4 -0
- data/app/assets/images/backend-play-btn-fill.svg +3 -0
- data/app/assets/images/backend-play-btn.svg +4 -0
- data/app/assets/images/backend-play-circle-fill.svg +3 -0
- data/app/assets/images/backend-play-circle.svg +4 -0
- data/app/assets/images/backend-play-fill.svg +3 -0
- data/app/assets/images/backend-play.svg +3 -0
- data/app/assets/images/backend-playstation.svg +3 -0
- data/app/assets/images/backend-plug-fill.svg +3 -0
- data/app/assets/images/backend-plug.svg +3 -0
- data/app/assets/images/backend-plus-circle-dotted.svg +3 -0
- data/app/assets/images/backend-plus-circle-fill.svg +3 -0
- data/app/assets/images/backend-plus-circle.svg +4 -0
- data/app/assets/images/backend-plus-lg.svg +3 -0
- data/app/assets/images/backend-plus-slash-minus.svg +3 -0
- data/app/assets/images/backend-plus-square-dotted.svg +3 -0
- data/app/assets/images/backend-plus-square-fill.svg +3 -0
- data/app/assets/images/backend-plus-square.svg +4 -0
- data/app/assets/images/backend-plus.svg +3 -0
- data/app/assets/images/backend-power.svg +4 -0
- data/app/assets/images/backend-printer-fill.svg +4 -0
- data/app/assets/images/backend-printer.svg +4 -0
- data/app/assets/images/backend-products.svg +5 -0
- data/app/assets/images/backend-projector-fill.svg +3 -0
- data/app/assets/images/backend-projector.svg +4 -0
- data/app/assets/images/backend-promotion.svg +8 -0
- data/app/assets/images/backend-puzzle-fill.svg +3 -0
- data/app/assets/images/backend-puzzle.svg +3 -0
- data/app/assets/images/backend-qr-code-scan.svg +7 -0
- data/app/assets/images/backend-qr-code.svg +7 -0
- data/app/assets/images/backend-question-circle-fill.svg +3 -0
- data/app/assets/images/backend-question-circle.svg +4 -0
- data/app/assets/images/backend-question-diamond-fill.svg +3 -0
- data/app/assets/images/backend-question-diamond.svg +4 -0
- data/app/assets/images/backend-question-lg.svg +3 -0
- data/app/assets/images/backend-question-octagon-fill.svg +3 -0
- data/app/assets/images/backend-question-octagon.svg +4 -0
- data/app/assets/images/backend-question-square-fill.svg +3 -0
- data/app/assets/images/backend-question-square.svg +4 -0
- data/app/assets/images/backend-question.svg +3 -0
- data/app/assets/images/backend-quora.svg +3 -0
- data/app/assets/images/backend-quote.svg +3 -0
- data/app/assets/images/backend-radioactive.svg +4 -0
- data/app/assets/images/backend-rainbow.svg +3 -0
- data/app/assets/images/backend-receipt-cutoff.svg +4 -0
- data/app/assets/images/backend-receipt.svg +4 -0
- data/app/assets/images/backend-reception-0.svg +3 -0
- data/app/assets/images/backend-reception-1.svg +3 -0
- data/app/assets/images/backend-reception-2.svg +3 -0
- data/app/assets/images/backend-reception-3.svg +3 -0
- data/app/assets/images/backend-reception-4.svg +3 -0
- data/app/assets/images/backend-record-btn-fill.svg +3 -0
- data/app/assets/images/backend-record-btn.svg +4 -0
- data/app/assets/images/backend-record-circle-fill.svg +3 -0
- data/app/assets/images/backend-record-circle.svg +4 -0
- data/app/assets/images/backend-record-fill.svg +3 -0
- data/app/assets/images/backend-record.svg +3 -0
- data/app/assets/images/backend-record2-fill.svg +4 -0
- data/app/assets/images/backend-record2.svg +4 -0
- data/app/assets/images/backend-recycle.svg +3 -0
- data/app/assets/images/backend-reddit.svg +4 -0
- data/app/assets/images/backend-remove.svg +6 -0
- data/app/assets/images/backend-reply-all-fill.svg +4 -0
- data/app/assets/images/backend-reply-all.svg +4 -0
- data/app/assets/images/backend-reply-fill.svg +3 -0
- data/app/assets/images/backend-reply.svg +3 -0
- data/app/assets/images/backend-report.svg +6 -0
- data/app/assets/images/backend-resume.svg +5 -0
- data/app/assets/images/backend-returns.svg +3 -0
- data/app/assets/images/backend-reversed-layout.svg +6 -0
- data/app/assets/images/backend-robot.svg +4 -0
- data/app/assets/images/backend-router-fill.svg +6 -0
- data/app/assets/images/backend-router.svg +6 -0
- data/app/assets/images/backend-rss-fill.svg +3 -0
- data/app/assets/images/backend-rss.svg +4 -0
- data/app/assets/images/backend-rulers.svg +3 -0
- data/app/assets/images/backend-safe-fill.svg +4 -0
- data/app/assets/images/backend-safe.svg +4 -0
- data/app/assets/images/backend-safe2-fill.svg +4 -0
- data/app/assets/images/backend-safe2.svg +4 -0
- data/app/assets/images/backend-save-fill.svg +3 -0
- data/app/assets/images/backend-save.svg +3 -0
- data/app/assets/images/backend-save2-fill.svg +3 -0
- data/app/assets/images/backend-save2.svg +3 -0
- data/app/assets/images/backend-scissors.svg +3 -0
- data/app/assets/images/backend-screwdriver.svg +3 -0
- data/app/assets/images/backend-sd-card-fill.svg +3 -0
- data/app/assets/images/backend-sd-card.svg +4 -0
- data/app/assets/images/backend-search.svg +3 -0
- data/app/assets/images/backend-segmented-nav.svg +3 -0
- data/app/assets/images/backend-send-check-fill.svg +4 -0
- data/app/assets/images/backend-send-check.svg +4 -0
- data/app/assets/images/backend-send-dash-fill.svg +4 -0
- data/app/assets/images/backend-send-dash.svg +4 -0
- data/app/assets/images/backend-send-exclamation-fill.svg +4 -0
- data/app/assets/images/backend-send-exclamation.svg +4 -0
- data/app/assets/images/backend-send-fill.svg +3 -0
- data/app/assets/images/backend-send-plus-fill.svg +4 -0
- data/app/assets/images/backend-send-plus.svg +4 -0
- data/app/assets/images/backend-send-slash-fill.svg +4 -0
- data/app/assets/images/backend-send-slash.svg +4 -0
- data/app/assets/images/backend-send-x-fill.svg +4 -0
- data/app/assets/images/backend-send-x.svg +4 -0
- data/app/assets/images/backend-send.svg +3 -0
- data/app/assets/images/backend-server.svg +5 -0
- data/app/assets/images/backend-settings.svg +6 -0
- data/app/assets/images/backend-share-fill.svg +3 -0
- data/app/assets/images/backend-share.svg +3 -0
- data/app/assets/images/backend-shield-check.svg +4 -0
- data/app/assets/images/backend-shield-exclamation.svg +4 -0
- data/app/assets/images/backend-shield-fill-check.svg +3 -0
- data/app/assets/images/backend-shield-fill-exclamation.svg +3 -0
- data/app/assets/images/backend-shield-fill-minus.svg +3 -0
- data/app/assets/images/backend-shield-fill-plus.svg +3 -0
- data/app/assets/images/backend-shield-fill-x.svg +3 -0
- data/app/assets/images/backend-shield-fill.svg +3 -0
- data/app/assets/images/backend-shield-lock-fill.svg +3 -0
- data/app/assets/images/backend-shield-lock.svg +4 -0
- data/app/assets/images/backend-shield-minus.svg +4 -0
- data/app/assets/images/backend-shield-plus.svg +4 -0
- data/app/assets/images/backend-shield-shaded.svg +3 -0
- data/app/assets/images/backend-shield-slash-fill.svg +3 -0
- data/app/assets/images/backend-shield-slash.svg +3 -0
- data/app/assets/images/backend-shield-x.svg +4 -0
- data/app/assets/images/backend-shield.svg +3 -0
- data/app/assets/images/backend-shift-fill.svg +3 -0
- data/app/assets/images/backend-shift.svg +3 -0
- data/app/assets/images/backend-shipping.svg +3 -0
- data/app/assets/images/backend-shop-window.svg +3 -0
- data/app/assets/images/backend-shop.svg +3 -0
- data/app/assets/images/backend-shuffle.svg +4 -0
- data/app/assets/images/backend-signal.svg +3 -0
- data/app/assets/images/backend-signpost-2-fill.svg +3 -0
- data/app/assets/images/backend-signpost-2.svg +3 -0
- data/app/assets/images/backend-signpost-fill.svg +3 -0
- data/app/assets/images/backend-signpost-split-fill.svg +3 -0
- data/app/assets/images/backend-signpost-split.svg +3 -0
- data/app/assets/images/backend-signpost.svg +3 -0
- data/app/assets/images/backend-sim-fill.svg +4 -0
- data/app/assets/images/backend-sim.svg +4 -0
- data/app/assets/images/backend-skip-backward-btn-fill.svg +3 -0
- data/app/assets/images/backend-skip-backward-btn.svg +4 -0
- data/app/assets/images/backend-skip-backward-circle-fill.svg +3 -0
- data/app/assets/images/backend-skip-backward-circle.svg +4 -0
- data/app/assets/images/backend-skip-backward-fill.svg +3 -0
- data/app/assets/images/backend-skip-backward.svg +3 -0
- data/app/assets/images/backend-skip-end-btn-fill.svg +3 -0
- data/app/assets/images/backend-skip-end-btn.svg +4 -0
- data/app/assets/images/backend-skip-end-circle-fill.svg +3 -0
- data/app/assets/images/backend-skip-end-circle.svg +4 -0
- data/app/assets/images/backend-skip-end-fill.svg +3 -0
- data/app/assets/images/backend-skip-end.svg +3 -0
- data/app/assets/images/backend-skip-forward-btn-fill.svg +3 -0
- data/app/assets/images/backend-skip-forward-btn.svg +4 -0
- data/app/assets/images/backend-skip-forward-circle-fill.svg +3 -0
- data/app/assets/images/backend-skip-forward-circle.svg +4 -0
- data/app/assets/images/backend-skip-forward-fill.svg +3 -0
- data/app/assets/images/backend-skip-forward.svg +3 -0
- data/app/assets/images/backend-skip-start-btn-fill.svg +3 -0
- data/app/assets/images/backend-skip-start-btn.svg +4 -0
- data/app/assets/images/backend-skip-start-circle-fill.svg +3 -0
- data/app/assets/images/backend-skip-start-circle.svg +4 -0
- data/app/assets/images/backend-skip-start-fill.svg +3 -0
- data/app/assets/images/backend-skip-start.svg +3 -0
- data/app/assets/images/backend-skype.svg +3 -0
- data/app/assets/images/backend-slack.svg +3 -0
- data/app/assets/images/backend-slash-circle-fill.svg +3 -0
- data/app/assets/images/backend-slash-circle.svg +4 -0
- data/app/assets/images/backend-slash-lg.svg +3 -0
- data/app/assets/images/backend-slash-square-fill.svg +3 -0
- data/app/assets/images/backend-slash-square.svg +4 -0
- data/app/assets/images/backend-slash.svg +3 -0
- data/app/assets/images/backend-sliders.svg +3 -0
- data/app/assets/images/backend-smartwatch.svg +4 -0
- data/app/assets/images/backend-snapchat.svg +3 -0
- data/app/assets/images/backend-snow.svg +3 -0
- data/app/assets/images/backend-snow2.svg +3 -0
- data/app/assets/images/backend-snow3.svg +4 -0
- data/app/assets/images/backend-sort-alpha-down-alt.svg +5 -0
- data/app/assets/images/backend-sort-alpha-down.svg +4 -0
- data/app/assets/images/backend-sort-alpha-up-alt.svg +5 -0
- data/app/assets/images/backend-sort-alpha-up.svg +4 -0
- data/app/assets/images/backend-sort-down-alt.svg +3 -0
- data/app/assets/images/backend-sort-down.svg +3 -0
- data/app/assets/images/backend-sort-numeric-down-alt.svg +4 -0
- data/app/assets/images/backend-sort-numeric-down.svg +5 -0
- data/app/assets/images/backend-sort-numeric-up-alt.svg +4 -0
- data/app/assets/images/backend-sort-numeric-up.svg +5 -0
- data/app/assets/images/backend-sort-up-alt.svg +3 -0
- data/app/assets/images/backend-sort-up.svg +3 -0
- data/app/assets/images/backend-sort.svg +5 -0
- data/app/assets/images/backend-soundwave.svg +3 -0
- data/app/assets/images/backend-speaker-fill.svg +4 -0
- data/app/assets/images/backend-speaker.svg +4 -0
- data/app/assets/images/backend-speedometer.svg +4 -0
- data/app/assets/images/backend-speedometer2.svg +4 -0
- data/app/assets/images/backend-spellcheck.svg +4 -0
- data/app/assets/images/backend-split.svg +3 -0
- data/app/assets/images/backend-spotify.svg +3 -0
- data/app/assets/images/backend-spree-icon.svg +1 -0
- data/app/assets/images/backend-spree-logo.svg +6 -0
- data/app/assets/images/backend-square-fill.svg +3 -0
- data/app/assets/images/backend-square-half.svg +3 -0
- data/app/assets/images/backend-square.svg +3 -0
- data/app/assets/images/backend-stack-overflow.svg +4 -0
- data/app/assets/images/backend-stack.svg +4 -0
- data/app/assets/images/backend-star-fill.svg +3 -0
- data/app/assets/images/backend-star-half.svg +3 -0
- data/app/assets/images/backend-star.svg +3 -0
- data/app/assets/images/backend-stars.svg +3 -0
- data/app/assets/images/backend-steam.svg +4 -0
- data/app/assets/images/backend-stickies-fill.svg +4 -0
- data/app/assets/images/backend-stickies.svg +4 -0
- data/app/assets/images/backend-sticky-fill.svg +3 -0
- data/app/assets/images/backend-sticky.svg +3 -0
- data/app/assets/images/backend-stop-btn-fill.svg +3 -0
- data/app/assets/images/backend-stop-btn.svg +4 -0
- data/app/assets/images/backend-stop-circle-fill.svg +3 -0
- data/app/assets/images/backend-stop-circle.svg +4 -0
- data/app/assets/images/backend-stop-fill.svg +3 -0
- data/app/assets/images/backend-stop.svg +3 -0
- data/app/assets/images/backend-stoplights-fill.svg +3 -0
- data/app/assets/images/backend-stoplights.svg +4 -0
- data/app/assets/images/backend-stopwatch-fill.svg +3 -0
- data/app/assets/images/backend-stopwatch.svg +4 -0
- data/app/assets/images/backend-store.svg +3 -0
- data/app/assets/images/backend-strava.svg +3 -0
- data/app/assets/images/backend-subtract.svg +3 -0
- data/app/assets/images/backend-suit-club-fill.svg +3 -0
- data/app/assets/images/backend-suit-club.svg +3 -0
- data/app/assets/images/backend-suit-diamond-fill.svg +3 -0
- data/app/assets/images/backend-suit-diamond.svg +3 -0
- data/app/assets/images/backend-suit-heart-fill.svg +3 -0
- data/app/assets/images/backend-suit-heart.svg +3 -0
- data/app/assets/images/backend-suit-spade-fill.svg +3 -0
- data/app/assets/images/backend-suit-spade.svg +3 -0
- data/app/assets/images/backend-sun-fill.svg +3 -0
- data/app/assets/images/backend-sun.svg +3 -0
- data/app/assets/images/backend-sunglasses.svg +3 -0
- data/app/assets/images/backend-sunrise-fill.svg +3 -0
- data/app/assets/images/backend-sunrise.svg +3 -0
- data/app/assets/images/backend-sunset-fill.svg +3 -0
- data/app/assets/images/backend-sunset.svg +3 -0
- data/app/assets/images/backend-symmetry-horizontal.svg +3 -0
- data/app/assets/images/backend-symmetry-vertical.svg +3 -0
- data/app/assets/images/backend-table.svg +3 -0
- data/app/assets/images/backend-tablet-fill.svg +3 -0
- data/app/assets/images/backend-tablet-landscape-fill.svg +3 -0
- data/app/assets/images/backend-tablet-landscape.svg +4 -0
- data/app/assets/images/backend-tablet.svg +4 -0
- data/app/assets/images/backend-tag-fill.svg +3 -0
- data/app/assets/images/backend-tag.svg +4 -0
- data/app/assets/images/backend-tags-fill.svg +4 -0
- data/app/assets/images/backend-tags.svg +4 -0
- data/app/assets/images/backend-telegram.svg +3 -0
- data/app/assets/images/backend-telephone-fill.svg +3 -0
- data/app/assets/images/backend-telephone-forward-fill.svg +3 -0
- data/app/assets/images/backend-telephone-forward.svg +3 -0
- data/app/assets/images/backend-telephone-inbound-fill.svg +3 -0
- data/app/assets/images/backend-telephone-inbound.svg +3 -0
- data/app/assets/images/backend-telephone-minus-fill.svg +3 -0
- data/app/assets/images/backend-telephone-minus.svg +4 -0
- data/app/assets/images/backend-telephone-outbound-fill.svg +3 -0
- data/app/assets/images/backend-telephone-outbound.svg +3 -0
- data/app/assets/images/backend-telephone-plus-fill.svg +3 -0
- data/app/assets/images/backend-telephone-plus.svg +4 -0
- data/app/assets/images/backend-telephone-x-fill.svg +3 -0
- data/app/assets/images/backend-telephone-x.svg +4 -0
- data/app/assets/images/backend-telephone.svg +3 -0
- data/app/assets/images/backend-terminal-dash.svg +4 -0
- data/app/assets/images/backend-terminal-fill.svg +3 -0
- data/app/assets/images/backend-terminal-plus.svg +4 -0
- data/app/assets/images/backend-terminal-split.svg +4 -0
- data/app/assets/images/backend-terminal-x.svg +4 -0
- data/app/assets/images/backend-terminal.svg +4 -0
- data/app/assets/images/backend-text-center.svg +3 -0
- data/app/assets/images/backend-text-indent-left.svg +3 -0
- data/app/assets/images/backend-text-indent-right.svg +3 -0
- data/app/assets/images/backend-text-left.svg +3 -0
- data/app/assets/images/backend-text-paragraph.svg +3 -0
- data/app/assets/images/backend-text-right.svg +3 -0
- data/app/assets/images/backend-textarea-resize.svg +3 -0
- data/app/assets/images/backend-textarea-t.svg +4 -0
- data/app/assets/images/backend-textarea.svg +3 -0
- data/app/assets/images/backend-thermometer-half.svg +4 -0
- data/app/assets/images/backend-thermometer-high.svg +4 -0
- data/app/assets/images/backend-thermometer-low.svg +4 -0
- data/app/assets/images/backend-thermometer-snow.svg +4 -0
- data/app/assets/images/backend-thermometer-sun.svg +4 -0
- data/app/assets/images/backend-thermometer.svg +4 -0
- data/app/assets/images/backend-three-dots-vertical.svg +3 -0
- data/app/assets/images/backend-three-dots.svg +3 -0
- data/app/assets/images/backend-thunderbolt-fill.svg +3 -0
- data/app/assets/images/backend-thunderbolt.svg +4 -0
- data/app/assets/images/backend-tick.svg +3 -0
- data/app/assets/images/backend-ticket-detailed-fill.svg +3 -0
- data/app/assets/images/backend-ticket-detailed.svg +4 -0
- data/app/assets/images/backend-ticket-fill.svg +3 -0
- data/app/assets/images/backend-ticket-perforated-fill.svg +3 -0
- data/app/assets/images/backend-ticket-perforated.svg +4 -0
- data/app/assets/images/backend-ticket.svg +3 -0
- data/app/assets/images/backend-tiktok.svg +3 -0
- data/app/assets/images/backend-toggle-off.svg +3 -0
- data/app/assets/images/backend-toggle-on.svg +3 -0
- data/app/assets/images/backend-toggle2-off.svg +4 -0
- data/app/assets/images/backend-toggle2-on.svg +4 -0
- data/app/assets/images/backend-toggles.svg +3 -0
- data/app/assets/images/backend-toggles2.svg +5 -0
- data/app/assets/images/backend-tools.svg +3 -0
- data/app/assets/images/backend-tornado.svg +3 -0
- data/app/assets/images/backend-translate.svg +4 -0
- data/app/assets/images/backend-trash-fill.svg +3 -0
- data/app/assets/images/backend-trash.svg +4 -0
- data/app/assets/images/backend-trash2-fill.svg +3 -0
- data/app/assets/images/backend-trash2.svg +3 -0
- data/app/assets/images/backend-tree-fill.svg +3 -0
- data/app/assets/images/backend-tree.svg +3 -0
- data/app/assets/images/backend-triangle-fill.svg +3 -0
- data/app/assets/images/backend-triangle-half.svg +3 -0
- data/app/assets/images/backend-triangle.svg +3 -0
- data/app/assets/images/backend-trophy-fill.svg +3 -0
- data/app/assets/images/backend-trophy.svg +3 -0
- data/app/assets/images/backend-tropical-storm.svg +4 -0
- data/app/assets/images/backend-truck-flatbed.svg +3 -0
- data/app/assets/images/backend-truck.svg +3 -0
- data/app/assets/images/backend-tsunami.svg +3 -0
- data/app/assets/images/backend-tv-fill.svg +3 -0
- data/app/assets/images/backend-tv.svg +3 -0
- data/app/assets/images/backend-twitch.svg +4 -0
- data/app/assets/images/backend-twitter.svg +3 -0
- data/app/assets/images/backend-type-bold.svg +3 -0
- data/app/assets/images/backend-type-h1.svg +3 -0
- data/app/assets/images/backend-type-h2.svg +3 -0
- data/app/assets/images/backend-type-h3.svg +3 -0
- data/app/assets/images/backend-type-italic.svg +3 -0
- data/app/assets/images/backend-type-strikethrough.svg +3 -0
- data/app/assets/images/backend-type-underline.svg +3 -0
- data/app/assets/images/backend-type.svg +3 -0
- data/app/assets/images/backend-ui-checks-grid.svg +3 -0
- data/app/assets/images/backend-ui-checks.svg +3 -0
- data/app/assets/images/backend-ui-radios-grid.svg +3 -0
- data/app/assets/images/backend-ui-radios.svg +3 -0
- data/app/assets/images/backend-umbrella-fill.svg +3 -0
- data/app/assets/images/backend-umbrella.svg +3 -0
- data/app/assets/images/backend-union.svg +3 -0
- data/app/assets/images/backend-unlock-fill.svg +3 -0
- data/app/assets/images/backend-unlock.svg +3 -0
- data/app/assets/images/backend-upc-scan.svg +3 -0
- data/app/assets/images/backend-upc.svg +3 -0
- data/app/assets/images/backend-update.svg +3 -0
- data/app/assets/images/backend-upload.svg +4 -0
- data/app/assets/images/backend-usb-c-fill.svg +3 -0
- data/app/assets/images/backend-usb-c.svg +4 -0
- data/app/assets/images/backend-usb-drive-fill.svg +3 -0
- data/app/assets/images/backend-usb-drive.svg +3 -0
- data/app/assets/images/backend-usb-fill.svg +3 -0
- data/app/assets/images/backend-usb-micro-fill.svg +3 -0
- data/app/assets/images/backend-usb-micro.svg +4 -0
- data/app/assets/images/backend-usb-mini-fill.svg +3 -0
- data/app/assets/images/backend-usb-mini.svg +4 -0
- data/app/assets/images/backend-usb-plug-fill.svg +3 -0
- data/app/assets/images/backend-usb-plug.svg +3 -0
- data/app/assets/images/backend-usb-symbol.svg +3 -0
- data/app/assets/images/backend-usb.svg +4 -0
- data/app/assets/images/backend-user.svg +3 -0
- data/app/assets/images/backend-users.svg +3 -0
- data/app/assets/images/backend-vector-pen.svg +4 -0
- data/app/assets/images/backend-view-list.svg +3 -0
- data/app/assets/images/backend-view-stacked.svg +3 -0
- data/app/assets/images/backend-view.svg +8 -0
- data/app/assets/images/backend-vimeo.svg +3 -0
- data/app/assets/images/backend-vinyl-fill.svg +4 -0
- data/app/assets/images/backend-vinyl.svg +5 -0
- data/app/assets/images/backend-voicemail.svg +3 -0
- data/app/assets/images/backend-void.svg +7 -0
- data/app/assets/images/backend-volume-down-fill.svg +3 -0
- data/app/assets/images/backend-volume-down.svg +3 -0
- data/app/assets/images/backend-volume-mute-fill.svg +3 -0
- data/app/assets/images/backend-volume-mute.svg +3 -0
- data/app/assets/images/backend-volume-off-fill.svg +3 -0
- data/app/assets/images/backend-volume-off.svg +3 -0
- data/app/assets/images/backend-volume-up-fill.svg +5 -0
- data/app/assets/images/backend-volume-up.svg +5 -0
- data/app/assets/images/backend-vr.svg +3 -0
- data/app/assets/images/backend-wallet-fill.svg +4 -0
- data/app/assets/images/backend-wallet.svg +3 -0
- data/app/assets/images/backend-wallet2.svg +3 -0
- data/app/assets/images/backend-watch.svg +4 -0
- data/app/assets/images/backend-water.svg +3 -0
- data/app/assets/images/backend-webcam-fill.svg +4 -0
- data/app/assets/images/backend-webcam.svg +4 -0
- data/app/assets/images/backend-whatsapp.svg +3 -0
- data/app/assets/images/backend-wifi-1.svg +3 -0
- data/app/assets/images/backend-wifi-2.svg +3 -0
- data/app/assets/images/backend-wifi-off.svg +3 -0
- data/app/assets/images/backend-wifi.svg +4 -0
- data/app/assets/images/backend-wind.svg +3 -0
- data/app/assets/images/backend-window-dash.svg +5 -0
- data/app/assets/images/backend-window-desktop.svg +4 -0
- data/app/assets/images/backend-window-dock.svg +4 -0
- data/app/assets/images/backend-window-fullscreen.svg +4 -0
- data/app/assets/images/backend-window-plus.svg +5 -0
- data/app/assets/images/backend-window-sidebar.svg +4 -0
- data/app/assets/images/backend-window-split.svg +4 -0
- data/app/assets/images/backend-window-stack.svg +4 -0
- data/app/assets/images/backend-window-x.svg +5 -0
- data/app/assets/images/backend-window.svg +4 -0
- data/app/assets/images/backend-windows.svg +3 -0
- data/app/assets/images/backend-wordpress.svg +5 -0
- data/app/assets/images/backend-wrench.svg +3 -0
- data/app/assets/images/backend-x-circle-fill.svg +3 -0
- data/app/assets/images/backend-x-circle.svg +4 -0
- data/app/assets/images/backend-x-diamond-fill.svg +3 -0
- data/app/assets/images/backend-x-diamond.svg +3 -0
- data/app/assets/images/backend-x-lg.svg +4 -0
- data/app/assets/images/backend-x-octagon-fill.svg +3 -0
- data/app/assets/images/backend-x-octagon.svg +4 -0
- data/app/assets/images/backend-x-square-fill.svg +3 -0
- data/app/assets/images/backend-x-square.svg +4 -0
- data/app/assets/images/backend-x.svg +3 -0
- data/app/assets/images/backend-xbox.svg +3 -0
- data/app/assets/images/backend-yin-yang.svg +4 -0
- data/app/assets/images/backend-youtube.svg +3 -0
- data/app/assets/images/backend-zoom-in.svg +5 -0
- data/app/assets/images/backend-zoom-out.svg +5 -0
- data/app/assets/images/noimage/backend-missing-image.svg +4 -0
- data/app/assets/images/noimage/large.png +0 -0
- data/app/assets/images/noimage/mini.png +0 -0
- data/app/assets/images/noimage/product.png +0 -0
- data/app/assets/images/noimage/small.png +0 -0
- data/app/assets/javascripts/spree/backend/address_states.es6 +50 -0
- data/app/assets/javascripts/spree/backend/adjustments.js +5 -5
- data/app/assets/javascripts/spree/backend/admin.js +57 -316
- data/app/assets/javascripts/spree/backend/calculator.js +3 -1
- data/app/assets/javascripts/spree/backend/checkouts/edit.js +108 -70
- data/app/assets/javascripts/spree/backend/cms/_index.es6 +4 -0
- data/app/assets/javascripts/spree/backend/cms/links.es6 +25 -0
- data/app/assets/javascripts/spree/backend/cms/live_preview.es6 +34 -0
- data/app/assets/javascripts/spree/backend/cms/page.es6 +115 -0
- data/app/assets/javascripts/spree/backend/cms/section.es6 +43 -0
- data/app/assets/javascripts/spree/backend/gateway.js +1 -1
- data/app/assets/javascripts/spree/backend/global/_index.js +13 -0
- data/app/assets/javascripts/spree/backend/global/alerts.es6 +66 -0
- data/app/assets/javascripts/spree/backend/global/animate_css.es6 +19 -0
- data/app/assets/javascripts/spree/backend/global/api_functions.es6 +5 -0
- data/app/assets/javascripts/spree/backend/global/fetch_request_utility.es6 +114 -0
- data/app/assets/javascripts/spree/backend/global/flatpickr.es6 +29 -0
- data/app/assets/javascripts/spree/backend/global/info_alert.es6 +38 -0
- data/app/assets/javascripts/spree/backend/global/radio_panel_toggle.es6 +18 -0
- data/app/assets/javascripts/spree/backend/global/ransack.es6 +110 -0
- data/app/assets/javascripts/spree/backend/global/responsive_menus.es6 +56 -0
- data/app/assets/javascripts/spree/backend/global/select2_autocomplete.es6 +139 -0
- data/app/assets/javascripts/spree/backend/global/select2_populate.es6 +87 -0
- data/app/assets/javascripts/spree/backend/global/side_scroll_indication.es6 +137 -0
- data/app/assets/javascripts/spree/backend/global/sortable.es6 +35 -0
- data/app/assets/javascripts/spree/backend/global/tinymce.es6 +21 -0
- data/app/assets/javascripts/spree/backend/handlebar_extensions.js +1 -1
- data/app/assets/javascripts/spree/backend/line_items.js +7 -9
- data/app/assets/javascripts/spree/backend/line_items_on_order_edit.js +24 -29
- data/app/assets/javascripts/spree/backend/menus/_index.es6 +1 -0
- data/app/assets/javascripts/spree/backend/menus/menu_item.es6 +26 -0
- data/app/assets/javascripts/spree/backend/multi_currency.js +38 -0
- data/app/assets/javascripts/spree/backend/option_type_autocomplete.js +26 -36
- data/app/assets/javascripts/spree/backend/option_value_picker.js +41 -26
- data/app/assets/javascripts/spree/backend/orders/edit.js +1 -1
- data/app/assets/javascripts/spree/backend/payments/edit.js +37 -26
- data/app/assets/javascripts/spree/backend/payments/new.js +31 -18
- data/app/assets/javascripts/spree/backend/product_picker.js +35 -28
- data/app/assets/javascripts/spree/backend/progress.js +5 -3
- data/app/assets/javascripts/spree/backend/promotions.js +36 -29
- data/app/assets/javascripts/spree/backend/returns/expedited_exchanges_warning.js +1 -1
- data/app/assets/javascripts/spree/backend/returns/return_item_selection.js +1 -1
- data/app/assets/javascripts/spree/backend/shipments.js +101 -109
- data/app/assets/javascripts/spree/backend/spree-select2.js +63 -5
- data/app/assets/javascripts/spree/backend/states.js +3 -3
- data/app/assets/javascripts/spree/backend/stock_location.js +2 -3
- data/app/assets/javascripts/spree/backend/stock_management.js +3 -2
- data/app/assets/javascripts/spree/backend/stock_movement.js +58 -13
- data/app/assets/javascripts/spree/backend/stock_transfer.js +78 -29
- data/app/assets/javascripts/spree/backend/taxon_autocomplete.js +38 -44
- data/app/assets/javascripts/spree/backend/taxons.js +110 -84
- data/app/assets/javascripts/spree/backend/user_picker.js +19 -24
- data/app/assets/javascripts/spree/backend/users/edit.js +1 -1
- data/app/assets/javascripts/spree/backend/variant_autocomplete.js +40 -31
- data/app/assets/javascripts/spree/backend/variant_management.js +3 -2
- data/app/assets/javascripts/spree/backend/zone.js +1 -1
- data/app/assets/javascripts/spree/backend.js +40 -34
- data/app/assets/javascripts/spree.js +71 -0
- data/app/assets/stylesheets/spree/backend/components/_badges.scss +25 -4
- data/app/assets/stylesheets/spree/backend/components/_buttons.scss +31 -11
- data/app/assets/stylesheets/spree/backend/components/_filters.scss +25 -26
- data/app/assets/stylesheets/spree/backend/components/_icons.scss +39 -4
- data/app/assets/stylesheets/spree/backend/components/_main.scss +52 -7
- data/app/assets/stylesheets/spree/backend/components/_navbar.scss +49 -9
- data/app/assets/stylesheets/spree/backend/components/_navigation.scss +10 -0
- data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +128 -58
- data/app/assets/stylesheets/spree/backend/components/_tables.scss +51 -21
- data/app/assets/stylesheets/spree/backend/components/_taxon_products_view.scss +26 -63
- data/app/assets/stylesheets/spree/backend/global/_mixins.scss +78 -0
- data/app/assets/stylesheets/spree/backend/global/_variables.scss +9 -32
- data/app/assets/stylesheets/spree/backend/plugins/_flatpickr.scss +113 -0
- data/app/assets/stylesheets/spree/backend/plugins/_jquery_ui.scss +0 -117
- data/app/assets/stylesheets/spree/backend/plugins/_nav_x.scss +95 -0
- data/app/assets/stylesheets/spree/backend/plugins/_select2_bootstrap4.scss +622 -0
- data/app/assets/stylesheets/spree/backend/plugins/_select2_custom.scss +11 -0
- data/app/assets/stylesheets/spree/backend/plugins/_sweetalert2_custom.scss +100 -0
- data/app/assets/stylesheets/spree/backend/plugins/_tinymce_custom.scss +4 -0
- data/app/assets/stylesheets/spree/backend/shared/_base.scss +104 -6
- data/app/assets/stylesheets/spree/backend/shared/_forms.scss +27 -2
- data/app/assets/stylesheets/spree/backend/shared/_sortable_tree.scss +62 -0
- data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +33 -19
- data/app/assets/stylesheets/spree/backend/views/_cms_pages.scss +148 -0
- data/app/assets/stylesheets/spree/backend/views/_digitals.scss +33 -0
- data/app/assets/stylesheets/spree/backend/views/_menus.scss +61 -0
- data/app/assets/stylesheets/spree/backend/views/_order_payments.scss +12 -0
- data/app/assets/stylesheets/spree/backend/views/_product_properties.scss +11 -0
- data/app/assets/stylesheets/spree/backend/views/_prototypes.scss +42 -0
- data/app/assets/stylesheets/spree/backend/views/_taxonomies.scss +3 -0
- data/app/assets/stylesheets/spree/backend.css +1 -1
- data/app/controllers/concerns/spree/admin/order_concern.rb +24 -0
- data/app/controllers/concerns/spree/admin/product_concern.rb +11 -0
- data/app/controllers/spree/admin/adjustments_controller.rb +8 -0
- data/app/controllers/spree/admin/base_controller.rb +62 -9
- data/app/controllers/spree/admin/cms_pages_controller.rb +29 -0
- data/app/controllers/spree/admin/cms_sections_controller.rb +15 -0
- data/app/controllers/spree/admin/customer_returns_controller.rb +4 -5
- data/app/controllers/spree/admin/dashboard_controller.rb +26 -0
- data/app/controllers/spree/admin/digitals_controller.rb +33 -0
- data/app/controllers/spree/admin/errors_controller.rb +11 -0
- data/app/controllers/spree/admin/images_controller.rb +20 -17
- data/app/controllers/spree/admin/log_entries_controller.rb +4 -3
- data/app/controllers/spree/admin/menu_items_controller.rb +33 -0
- data/app/controllers/spree/admin/menus_controller.rb +32 -0
- data/app/controllers/spree/admin/oauth_applications_controller.rb +17 -0
- data/app/controllers/spree/admin/option_types_controller.rb +2 -6
- data/app/controllers/spree/admin/orders/customer_details_controller.rb +8 -13
- data/app/controllers/spree/admin/orders_controller.rb +42 -29
- data/app/controllers/spree/admin/payment_methods_controller.rb +23 -6
- data/app/controllers/spree/admin/payments_controller.rb +6 -11
- data/app/controllers/spree/admin/prices_controller.rb +26 -0
- data/app/controllers/spree/admin/products_controller.rb +61 -17
- data/app/controllers/spree/admin/promotion_actions_controller.rb +1 -1
- data/app/controllers/spree/admin/promotion_rules_controller.rb +1 -1
- data/app/controllers/spree/admin/promotions_controller.rb +6 -4
- data/app/controllers/spree/admin/properties_controller.rb +1 -1
- data/app/controllers/spree/admin/prototypes_controller.rb +1 -1
- data/app/controllers/spree/admin/reimbursements_controller.rb +1 -1
- data/app/controllers/spree/admin/reports_controller.rb +5 -1
- data/app/controllers/spree/admin/resource_controller.rb +47 -10
- data/app/controllers/spree/admin/return_index_controller.rb +9 -5
- data/app/controllers/spree/admin/state_changes_controller.rb +2 -7
- data/app/controllers/spree/admin/states_controller.rb +1 -1
- data/app/controllers/spree/admin/stock_items_controller.rb +2 -2
- data/app/controllers/spree/admin/stock_locations_controller.rb +2 -2
- data/app/controllers/spree/admin/stock_movements_controller.rb +1 -1
- data/app/controllers/spree/admin/stock_transfers_controller.rb +17 -7
- data/app/controllers/spree/admin/store_credits_controller.rb +15 -10
- data/app/controllers/spree/admin/stores_controller.rb +43 -34
- data/app/controllers/spree/admin/taxonomies_controller.rb +1 -1
- data/app/controllers/spree/admin/taxons_controller.rb +39 -36
- data/app/controllers/spree/admin/users_controller.rb +13 -24
- data/app/controllers/spree/admin/variants_controller.rb +15 -15
- data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +48 -0
- data/app/helpers/spree/admin/base_helper.rb +141 -23
- data/app/helpers/spree/admin/cms_helper.rb +11 -0
- data/app/helpers/spree/admin/digital_helper.rb +28 -0
- data/app/helpers/spree/admin/menu_helper.rb +9 -0
- data/app/helpers/spree/admin/navigation_helper.rb +111 -44
- data/app/helpers/spree/admin/orders_helper.rb +5 -4
- data/app/helpers/spree/admin/payments_helper.rb +7 -3
- data/app/helpers/spree/admin/products_helper.rb +17 -0
- data/app/helpers/spree/admin/sortable_tree_helper.rb +31 -0
- data/app/helpers/spree/admin/stock_movements_helper.rb +2 -0
- data/app/helpers/spree/admin/stores_helper.rb +30 -0
- data/app/helpers/spree/admin/webhooks_subscribers_helper.rb +31 -0
- data/app/javascript/spree/dashboard/controllers/clipboard_controller.js +12 -0
- data/app/javascript/spree/dashboard/controllers/password_toggle_controller.js +14 -0
- data/app/javascript/spree/dashboard/controllers/product_edit_controller.js +38 -0
- data/app/javascript/spree/dashboard/controllers/sortable_tree_controller.js +55 -0
- data/app/javascript/spree/dashboard/controllers/spree_controller.js +25 -0
- data/app/javascript/spree/dashboard/controllers/upload_button_controller.js +13 -0
- data/app/javascript/spree/dashboard/controllers/webhooks_subscriber_events_controller.js +19 -0
- data/app/javascript/spree/dashboard/index.js +54 -0
- data/app/javascript/spree/dashboard/utilities/bootstrap.js +17 -0
- data/app/javascript/spree/dashboard/utilities/request_utility.js +53 -0
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_first_page.html.erb +3 -3
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_gap.html.erb +3 -3
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_last_page.html.erb +3 -3
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_next_page.html.erb +3 -3
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_page.html.erb +2 -2
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_paginator.html.erb +3 -3
- data/app/views/kaminari/{twitter-bootstrap-4 → admin-twitter-bootstrap-4}/_prev_page.html.erb +3 -3
- data/app/views/spree/admin/adjustments/_adjustment.html.erb +9 -7
- data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +19 -19
- data/app/views/spree/admin/adjustments/_form.html.erb +2 -2
- data/app/views/spree/admin/adjustments/edit.html.erb +2 -6
- data/app/views/spree/admin/adjustments/index.html.erb +6 -9
- data/app/views/spree/admin/adjustments/new.html.erb +2 -6
- data/app/views/spree/admin/cms_pages/_form.html.erb +135 -0
- data/app/views/spree/admin/cms_pages/_live_preview_area.html.erb +61 -0
- data/app/views/spree/admin/cms_pages/_section_template.html.erb +16 -0
- data/app/views/spree/admin/cms_pages/edit.html.erb +16 -0
- data/app/views/spree/admin/cms_pages/index.html.erb +84 -0
- data/app/views/spree/admin/cms_pages/new.html.erb +8 -0
- data/app/views/spree/admin/cms_sections/_form.html.erb +69 -0
- data/app/views/spree/admin/cms_sections/_image_upload_form.html.erb +18 -0
- data/app/views/spree/admin/cms_sections/edit.html.erb +19 -0
- data/app/views/spree/admin/cms_sections/new.html.erb +11 -0
- data/app/views/spree/admin/cms_sections/types/_featured_article.html.erb +50 -0
- data/app/views/spree/admin/cms_sections/types/_hero_image.html.erb +49 -0
- data/app/views/spree/admin/cms_sections/types/_image_gallery.html.erb +138 -0
- data/app/views/spree/admin/cms_sections/types/_product_carousel.html.erb +5 -0
- data/app/views/spree/admin/cms_sections/types/_rich_text_content.html.erb +4 -0
- data/app/views/spree/admin/cms_sections/types/_side_by_side_images.html.erb +95 -0
- data/app/views/spree/admin/countries/_form.html.erb +13 -8
- data/app/views/spree/admin/countries/index.html.erb +29 -24
- data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +39 -35
- data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +52 -46
- data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +47 -43
- data/app/views/spree/admin/customer_returns/edit.html.erb +3 -7
- data/app/views/spree/admin/customer_returns/index.html.erb +11 -11
- data/app/views/spree/admin/customer_returns/new.html.erb +6 -6
- data/app/views/spree/admin/dashboard/_apis.html.erb +30 -0
- data/app/views/spree/admin/dashboard/_getting_started.html.erb +101 -0
- data/app/views/spree/admin/dashboard/show.html.erb +3 -0
- data/app/views/spree/admin/digitals/_form.html.erb +35 -0
- data/app/views/spree/admin/digitals/index.html.erb +23 -0
- data/app/views/spree/admin/errors/forbidden.html.erb +0 -0
- data/app/views/spree/admin/images/edit.html.erb +6 -6
- data/app/views/spree/admin/images/index.html.erb +22 -17
- data/app/views/spree/admin/images/new.html.erb +2 -2
- data/app/views/spree/admin/log_entries/index.html.erb +6 -5
- data/app/views/spree/admin/menu_items/_form.html.erb +102 -0
- data/app/views/spree/admin/menu_items/_icon_upload_form.html.erb +14 -0
- data/app/views/spree/admin/menu_items/edit.html.erb +11 -0
- data/app/views/spree/admin/menu_items/new.html.erb +11 -0
- data/app/views/spree/admin/menus/_form.html.erb +19 -0
- data/app/views/spree/admin/menus/edit.html.erb +57 -0
- data/app/views/spree/admin/menus/index.html.erb +90 -0
- data/app/views/spree/admin/menus/new.html.erb +22 -0
- data/app/views/spree/admin/oauth_applications/_form.html.erb +22 -0
- data/app/views/spree/admin/oauth_applications/create.turbo_stream.erb +38 -0
- data/app/views/spree/admin/oauth_applications/edit.html.erb +13 -0
- data/app/views/spree/admin/oauth_applications/index.html.erb +51 -0
- data/app/views/spree/admin/oauth_applications/new.html.erb +15 -0
- data/app/views/spree/admin/option_types/_form.html.erb +16 -4
- data/app/views/spree/admin/option_types/_option_value_fields.html.erb +8 -4
- data/app/views/spree/admin/option_types/edit.html.erb +36 -29
- data/app/views/spree/admin/option_types/index.html.erb +32 -26
- data/app/views/spree/admin/orders/_add_line_item.html.erb +2 -2
- data/app/views/spree/admin/orders/_add_product.html.erb +3 -3
- data/app/views/spree/admin/orders/_adjustments.html.erb +28 -28
- data/app/views/spree/admin/orders/_channel_form.html.erb +18 -0
- data/app/views/spree/admin/orders/_form.html.erb +7 -19
- data/app/views/spree/admin/orders/_line_items.html.erb +18 -16
- data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +6 -14
- data/app/views/spree/admin/orders/_order_actions.html.erb +8 -2
- data/app/views/spree/admin/orders/_risk_analysis.html.erb +44 -42
- data/app/views/spree/admin/orders/_search.html.erb +135 -0
- data/app/views/spree/admin/orders/_shipment.html.erb +34 -25
- data/app/views/spree/admin/orders/_shipment_manifest.html.erb +12 -10
- data/app/views/spree/admin/orders/cart.html.erb +1 -1
- data/app/views/spree/admin/orders/channel.html.erb +7 -0
- data/app/views/spree/admin/orders/customer_details/_autocomplete.js.erb +35 -12
- data/app/views/spree/admin/orders/customer_details/_form.html.erb +9 -9
- data/app/views/spree/admin/orders/customer_details/edit.html.erb +3 -7
- data/app/views/spree/admin/orders/edit.html.erb +1 -5
- data/app/views/spree/admin/orders/index.html.erb +110 -240
- data/app/views/spree/admin/payment_methods/_form.html.erb +66 -45
- data/app/views/spree/admin/payment_methods/edit.html.erb +1 -1
- data/app/views/spree/admin/payment_methods/index.html.erb +33 -12
- data/app/views/spree/admin/payment_methods/new.html.erb +1 -1
- data/app/views/spree/admin/payments/_capture_events.html.erb +18 -16
- data/app/views/spree/admin/payments/_form.html.erb +3 -4
- data/app/views/spree/admin/payments/_list.html.erb +41 -37
- data/app/views/spree/admin/payments/index.html.erb +3 -8
- data/app/views/spree/admin/payments/new.html.erb +3 -6
- data/app/views/spree/admin/payments/show.html.erb +2 -3
- data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +30 -31
- data/app/views/spree/admin/payments/source_views/_gateway.html.erb +20 -18
- data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +28 -26
- data/app/views/spree/admin/prices/_variant_prices.html.erb +36 -0
- data/app/views/spree/admin/prices/index.html.erb +21 -0
- data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +24 -10
- data/app/views/spree/admin/product_properties/index.html.erb +31 -26
- data/app/views/spree/admin/products/_add_stock_form.html.erb +4 -4
- data/app/views/spree/admin/products/_autocomplete.js.erb +31 -21
- data/app/views/spree/admin/products/_filters.html.erb +31 -0
- data/app/views/spree/admin/products/_form.html.erb +152 -47
- data/app/views/spree/admin/products/edit.html.erb +1 -4
- data/app/views/spree/admin/products/index.html.erb +72 -60
- data/app/views/spree/admin/products/new.html.erb +52 -51
- data/app/views/spree/admin/products/stock.html.erb +69 -68
- data/app/views/spree/admin/promotion_actions/create.js.erb +1 -1
- data/app/views/spree/admin/promotion_categories/_form.html.erb +2 -2
- data/app/views/spree/admin/promotion_categories/index.html.erb +11 -6
- data/app/views/spree/admin/promotion_rules/create.js.erb +1 -1
- data/app/views/spree/admin/promotions/_actions.html.erb +7 -8
- data/app/views/spree/admin/promotions/_form.html.erb +58 -25
- data/app/views/spree/admin/promotions/_promotion_action.html.erb +2 -2
- data/app/views/spree/admin/promotions/_promotion_rule.html.erb +3 -3
- data/app/views/spree/admin/promotions/_rules.html.erb +7 -7
- data/app/views/spree/admin/promotions/actions/_create_adjustment.html.erb +1 -1
- data/app/views/spree/admin/promotions/actions/_create_item_adjustments.html.erb +2 -1
- data/app/views/spree/admin/promotions/actions/_create_line_items.html.erb +1 -1
- data/app/views/spree/admin/promotions/calculators/_default_fields.html.erb +2 -1
- data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +1 -1
- data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +1 -1
- data/app/views/spree/admin/promotions/edit.html.erb +2 -2
- data/app/views/spree/admin/promotions/index.html.erb +37 -34
- data/app/views/spree/admin/promotions/new.html.erb +7 -6
- data/app/views/spree/admin/promotions/rules/_country.html.erb +1 -1
- data/app/views/spree/admin/promotions/rules/_item_total.html.erb +5 -5
- data/app/views/spree/admin/promotions/rules/_option_value.html.erb +13 -19
- data/app/views/spree/admin/promotions/rules/_product.html.erb +2 -2
- data/app/views/spree/admin/promotions/rules/_taxon.html.erb +3 -3
- data/app/views/spree/admin/promotions/rules/_user.html.erb +1 -1
- data/app/views/spree/admin/properties/_form.html.erb +10 -4
- data/app/views/spree/admin/properties/index.html.erb +26 -8
- data/app/views/spree/admin/prototypes/_form.html.erb +6 -6
- data/app/views/spree/admin/prototypes/_prototypes.html.erb +32 -28
- data/app/views/spree/admin/prototypes/index.html.erb +24 -20
- data/app/views/spree/admin/prototypes/show.html.erb +21 -8
- data/app/views/spree/admin/refunds/edit.html.erb +4 -4
- data/app/views/spree/admin/refunds/new.html.erb +7 -7
- data/app/views/spree/admin/reimbursement_types/_form.html.erb +6 -6
- data/app/views/spree/admin/reimbursement_types/index.html.erb +11 -7
- data/app/views/spree/admin/reimbursements/edit.html.erb +69 -65
- data/app/views/spree/admin/reimbursements/index.html.erb +21 -20
- data/app/views/spree/admin/reimbursements/show.html.erb +69 -61
- data/app/views/spree/admin/reports/index.html.erb +19 -18
- data/app/views/spree/admin/reports/sales_total.html.erb +21 -20
- data/app/views/spree/admin/return_authorizations/_form.html.erb +18 -15
- data/app/views/spree/admin/return_authorizations/edit.html.erb +3 -3
- data/app/views/spree/admin/return_authorizations/index.html.erb +14 -14
- data/app/views/spree/admin/return_authorizations/new.html.erb +2 -2
- data/app/views/spree/admin/return_index/customer_returns.html.erb +12 -10
- data/app/views/spree/admin/return_index/return_authorizations.html.erb +13 -11
- data/app/views/spree/admin/roles/_form.html.erb +2 -2
- data/app/views/spree/admin/roles/index.html.erb +23 -19
- data/app/views/spree/admin/shared/_account_nav.html.erb +51 -65
- data/app/views/spree/admin/shared/_address_form.html.erb +35 -77
- data/app/views/spree/admin/shared/_cal_close.html.erb +10 -0
- data/app/views/spree/admin/shared/_calculator_fields.html.erb +2 -2
- data/app/views/spree/admin/shared/_content_header.html.erb +54 -21
- data/app/views/spree/admin/shared/_edit_resource_links.html.erb +2 -2
- data/app/views/spree/admin/shared/_error_messages.html.erb +1 -1
- data/app/views/spree/admin/shared/_head.html.erb +9 -7
- data/app/views/spree/admin/shared/_header.html.erb +11 -13
- data/app/views/spree/admin/shared/_index_table_options.html.erb +5 -7
- data/app/views/spree/admin/shared/_link_fields.html.erb +22 -0
- data/app/views/spree/admin/shared/_main_menu.html.erb +65 -15
- data/app/views/spree/admin/shared/_new_resource_links.html.erb +2 -2
- data/app/views/spree/admin/shared/_order_summary.html.erb +109 -111
- data/app/views/spree/admin/shared/_order_tabs.html.erb +77 -79
- data/app/views/spree/admin/shared/_paths.html.erb +8 -0
- data/app/views/spree/admin/shared/_product_tabs.html.erb +48 -34
- data/app/views/spree/admin/shared/_refunds.html.erb +33 -29
- data/app/views/spree/admin/shared/_report_order_criteria.html.erb +29 -6
- data/app/views/spree/admin/shared/_sidebar.html.erb +19 -1
- data/app/views/spree/admin/shared/_store_switcher.html.erb +23 -0
- data/app/views/spree/admin/shared/_table_filter.html.erb +11 -12
- data/app/views/spree/admin/shared/_translations.html.erb +11 -6
- data/app/views/spree/admin/shared/_update_order_state.js.erb +8 -4
- data/app/views/spree/admin/shared/_version.html.erb +6 -4
- data/app/views/spree/admin/shared/cms/_spree_product.html.erb +27 -0
- data/app/views/spree/admin/shared/cms/_spree_taxon.html.erb +27 -0
- data/app/views/spree/admin/shared/linkables/_spree_cms_page.erb +23 -0
- data/app/views/spree/admin/shared/linkables/_spree_linkable_homepage.html.erb +3 -0
- data/app/views/spree/admin/shared/linkables/_spree_linkable_uri.html.erb +16 -0
- data/app/views/spree/admin/shared/linkables/_spree_product.html.erb +20 -0
- data/app/views/spree/admin/shared/linkables/_spree_taxon.html.erb +22 -0
- data/app/views/spree/admin/shared/linkables/_url.html.erb +18 -0
- data/app/views/spree/admin/shared/named_types/_form.html.erb +2 -2
- data/app/views/spree/admin/shared/named_types/_index.html.erb +13 -9
- data/app/views/spree/admin/shared/sortable_tree/_menu.html.erb +33 -0
- data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +34 -0
- data/app/views/spree/admin/shared/sub_menu/_apps.html.erb +3 -0
- data/app/views/spree/admin/shared/sub_menu/_configuration.html.erb +3 -7
- data/app/views/spree/admin/shared/sub_menu/_content.html.erb +4 -0
- data/app/views/spree/admin/shared/sub_menu/_integrations.html.erb +4 -0
- data/app/views/spree/admin/shared/sub_menu/_orders.html.erb +5 -0
- data/app/views/spree/admin/shared/sub_menu/_organizations.html.erb +3 -0
- data/app/views/spree/admin/shared/sub_menu/_product.html.erb +1 -1
- data/app/views/spree/admin/shared/sub_menu/_promotion.html.erb +1 -1
- data/app/views/spree/admin/shared/sub_menu/_returns.html.erb +1 -1
- data/app/views/spree/admin/shared/sub_menu/_stock.html.erb +4 -0
- data/app/views/spree/admin/shipping_categories/_form.html.erb +1 -1
- data/app/views/spree/admin/shipping_categories/index.html.erb +11 -7
- data/app/views/spree/admin/shipping_methods/_form.html.erb +21 -17
- data/app/views/spree/admin/shipping_methods/index.html.erb +48 -14
- data/app/views/spree/admin/state_changes/index.html.erb +9 -8
- data/app/views/spree/admin/states/_form.html.erb +2 -2
- data/app/views/spree/admin/states/_state_list.html.erb +27 -24
- data/app/views/spree/admin/states/index.html.erb +3 -3
- data/app/views/spree/admin/stock_locations/_form.html.erb +4 -4
- data/app/views/spree/admin/stock_locations/_transfer_stock_form.html.erb +3 -3
- data/app/views/spree/admin/stock_locations/index.html.erb +16 -12
- data/app/views/spree/admin/stock_movements/_form.html.erb +3 -3
- data/app/views/spree/admin/stock_movements/index.html.erb +29 -27
- data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +20 -18
- data/app/views/spree/admin/stock_transfers/index.html.erb +52 -44
- data/app/views/spree/admin/stock_transfers/new.html.erb +19 -17
- data/app/views/spree/admin/stock_transfers/show.html.erb +4 -5
- data/app/views/spree/admin/store_credit_categories/_form.html.erb +2 -2
- data/app/views/spree/admin/store_credit_categories/index.html.erb +9 -5
- data/app/views/spree/admin/store_credits/_form.html.erb +5 -5
- data/app/views/spree/admin/store_credits/edit.html.erb +10 -11
- data/app/views/spree/admin/store_credits/index.html.erb +14 -15
- data/app/views/spree/admin/store_credits/new.html.erb +10 -11
- data/app/views/spree/admin/stores/_form.html.erb +11 -114
- data/app/views/spree/admin/stores/edit.html.erb +6 -3
- data/app/views/spree/admin/stores/form/_basic.html.erb +32 -0
- data/app/views/spree/admin/stores/form/_digitals.html.erb +53 -0
- data/app/views/spree/admin/stores/form/_emails.html.erb +37 -0
- data/app/views/spree/admin/stores/form/_footer.html.erb +28 -0
- data/app/views/spree/admin/stores/form/_internationalization.html.erb +55 -0
- data/app/views/spree/admin/stores/form/_layout.html.erb +48 -0
- data/app/views/spree/admin/stores/form/_seo.html.erb +32 -0
- data/app/views/spree/admin/stores/form/_social.html.erb +43 -0
- data/app/views/spree/admin/stores/index.html.erb +27 -16
- data/app/views/spree/admin/stores/new.html.erb +1 -2
- data/app/views/spree/admin/tax_categories/_form.html.erb +4 -4
- data/app/views/spree/admin/tax_categories/index.html.erb +32 -28
- data/app/views/spree/admin/tax_rates/_form.html.erb +6 -5
- data/app/views/spree/admin/tax_rates/index.html.erb +18 -14
- data/app/views/spree/admin/taxonomies/_form.html.erb +3 -3
- data/app/views/spree/admin/taxonomies/_list.html.erb +26 -22
- data/app/views/spree/admin/taxonomies/edit.html.erb +34 -29
- data/app/views/spree/admin/taxonomies/index.html.erb +2 -2
- data/app/views/spree/admin/taxons/_assets_form.html.erb +8 -0
- data/app/views/spree/admin/taxons/_form.html.erb +75 -35
- data/app/views/spree/admin/taxons/_taxon_table.html.erb +24 -22
- data/app/views/spree/admin/taxons/edit.html.erb +11 -4
- data/app/views/spree/admin/taxons/index.html.erb +3 -3
- data/app/views/spree/admin/taxons/new.html.erb +16 -0
- data/app/views/spree/admin/users/_addresses_form.html.erb +10 -14
- data/app/views/spree/admin/users/_form.html.erb +3 -4
- data/app/views/spree/admin/users/_lifetime_stats.html.erb +40 -25
- data/app/views/spree/admin/users/_tabs.html.erb +37 -0
- data/app/views/spree/admin/users/_user_page_actions.html.erb +1 -1
- data/app/views/spree/admin/users/addresses.html.erb +1 -6
- data/app/views/spree/admin/users/edit.html.erb +3 -47
- data/app/views/spree/admin/users/index.html.erb +29 -25
- data/app/views/spree/admin/users/items.html.erb +9 -13
- data/app/views/spree/admin/users/new.html.erb +1 -1
- data/app/views/spree/admin/users/orders.html.erb +32 -36
- data/app/views/spree/admin/variants/_autocomplete.js.erb +11 -7
- data/app/views/spree/admin/variants/_autocomplete_line_items_stock.js.erb +22 -16
- data/app/views/spree/admin/variants/_autocomplete_stock.js.erb +18 -14
- data/app/views/spree/admin/variants/_form.html.erb +18 -4
- data/app/views/spree/admin/variants/_split.js.erb +10 -8
- data/app/views/spree/admin/variants/edit.html.erb +9 -5
- data/app/views/spree/admin/variants/index.html.erb +23 -17
- data/app/views/spree/admin/variants/new.html.erb +6 -4
- data/app/views/spree/admin/webhooks_subscribers/_form.html.erb +102 -0
- data/app/views/spree/admin/webhooks_subscribers/edit.html.erb +13 -0
- data/app/views/spree/admin/webhooks_subscribers/index.html.erb +55 -0
- data/app/views/spree/admin/webhooks_subscribers/new.html.erb +13 -0
- data/app/views/spree/admin/webhooks_subscribers/show.html.erb +59 -0
- data/app/views/spree/admin/zones/_country_members.html.erb +4 -4
- data/app/views/spree/admin/zones/_form.html.erb +4 -4
- data/app/views/spree/admin/zones/_state_members.html.erb +3 -3
- data/app/views/spree/admin/zones/index.html.erb +12 -10
- data/app/views/spree/admin/zones/new.html.erb +1 -1
- data/app/views/spree/layouts/admin.html.erb +37 -40
- data/codespell.txt +8 -0
- data/config/initializers/assets.rb +6 -1
- data/config/initializers/ransack.rb +31 -0
- data/config/locales/en.yml +311 -0
- data/config/routes.rb +35 -20
- data/lib/generators/spree/backend/install/install_generator.rb +24 -0
- data/lib/generators/spree/backend/install/templates/app/javascript/spree-dashboard.js +6 -0
- data/lib/generators/spree/backend/install/templates/vendor/assets/javascripts/spree/backend/all.js +8 -0
- data/lib/generators/spree/backend/install/templates/vendor/assets/stylesheets/spree/backend/all.css +9 -0
- data/lib/spree/backend/configuration.rb +37 -0
- data/lib/spree/backend/engine.rb +8 -12
- data/lib/spree/backend/testing_support/capybara_utils.rb +59 -0
- data/lib/spree/backend/testing_support/flash.rb +38 -0
- data/lib/spree/backend/testing_support/flatpickr_capybara.rb +126 -0
- data/lib/spree/backend/version.rb +9 -0
- data/lib/spree/backend.rb +12 -5
- data/lib/spree_backend.rb +17 -3
- data/license.md +13 -0
- data/package.json +46 -0
- data/rollup.config.js +43 -0
- data/spec/fixtures/files/favicon.ico +0 -0
- data/spec/fixtures/files/icon_512x512.png +0 -0
- data/spec/fixtures/thinking-cat.jpg +0 -0
- data/spree_backend.gemspec +31 -16
- data/vendor/assets/javascripts/cleave.js +8 -0
- data/vendor/assets/javascripts/jsonapi-serializer.min.js +8 -0
- data/vendor/assets/javascripts/jsuri.js +458 -0
- data/vendor/assets/javascripts/purify.js +1217 -0
- data/vendor/assets/javascripts/sortable.js +2 -0
- data/vendor/assets/javascripts/sweetalert2.js +2 -0
- data/vendor/assets/stylesheets/animate.css +7 -3158
- data/yarn.lock +976 -0
- metadata +1934 -60
- data/app/assets/javascripts/spree/backend/address_states.js +0 -33
- data/app/assets/javascripts/spree/backend/general_settings.js +0 -24
- data/app/assets/javascripts/spree/backend/tag_picker.js +0 -52
- data/app/assets/javascripts/spree/backend/taxon_permalink_preview.js +0 -11
- data/app/assets/javascripts/spree/backend/taxon_tree_menu.js +0 -35
- data/app/assets/javascripts/spree/backend/taxonomy.js +0 -171
- data/app/assets/javascripts/spree/frontend/backend.js +0 -1
- data/app/assets/stylesheets/spree/backend/components/_progress.scss +0 -22
- data/app/assets/stylesheets/spree/backend/components/_spinner.scss +0 -95
- data/app/assets/stylesheets/spree/backend/plugins/_select2.scss +0 -141
- data/app/assets/stylesheets/spree/frontend/backend.css +0 -1
- data/app/controllers/spree/admin/general_settings_controller.rb +0 -28
- data/app/helpers/spree/admin/currency_helper.rb +0 -14
- data/app/models/spree/backend_configuration.rb +0 -22
- data/app/views/spree/admin/general_settings/edit.html.erb +0 -93
- data/app/views/spree/admin/orders/_store_form.html.erb +0 -18
- data/app/views/spree/admin/taxonomies/_js_head.html.erb +0 -8
- data/app/views/spree/admin/users/_sidebar.html.erb +0 -38
- data/vendor/assets/javascripts/jquery.jstree/jquery.jstree.js +0 -4564
- data/vendor/assets/javascripts/js.cookie.js +0 -165
- data/vendor/assets/javascripts/modernizr.js +0 -3
- data/vendor/assets/stylesheets/jquery.jstree/themes/spree/style.scss +0 -216
- data/vendor/assets/stylesheets/jquery.jstree/themes/spree/throbber.gif +0 -0
@@ -3,7 +3,7 @@ module Spree
|
|
3
3
|
module NavigationHelper
|
4
4
|
# Makes an admin navigation tab (<li> tag) that links to a routing resource under /admin.
|
5
5
|
# The arguments should be a list of symbolized controller names that will cause this tab to
|
6
|
-
# be highlighted, with the first being the name of the
|
6
|
+
# be highlighted, with the first being the name of the resource to link (uses URL helpers).
|
7
7
|
#
|
8
8
|
# Option hash may follow. Valid options are
|
9
9
|
# * :label to override link text, otherwise based on the first resource name (translated)
|
@@ -15,40 +15,53 @@ module Spree
|
|
15
15
|
# Example:
|
16
16
|
# # Link to /admin/orders, also highlight tab for ProductsController and ShipmentsController
|
17
17
|
# tab :orders, :products, :shipments
|
18
|
+
|
19
|
+
ICON_SIZE = 14
|
20
|
+
MENU_ICON_SIZE = 18
|
21
|
+
|
18
22
|
def tab(*args)
|
19
23
|
options = { label: args.first.to_s }
|
20
24
|
|
21
25
|
# Return if resource is found and user is not allowed to :admin
|
22
|
-
return '' if (klass = klass_for(
|
26
|
+
return '' if (klass = klass_for(args.first.to_s)) && cannot?(:admin, klass)
|
23
27
|
|
24
28
|
options = options.merge(args.pop) if args.last.is_a?(Hash)
|
25
29
|
options[:route] ||= "admin_#{args.first}"
|
26
30
|
|
27
31
|
destination_url = options[:url] || spree.send("#{options[:route]}_path")
|
28
|
-
|
32
|
+
|
33
|
+
if options[:do_not_titleize] == true
|
34
|
+
titleized_label = options[:label]
|
35
|
+
else
|
36
|
+
titleized_label = Spree.t(options[:label], default: options[:label], scope: [:admin, :tab]).titleize
|
37
|
+
end
|
29
38
|
|
30
39
|
css_classes = ['sidebar-menu-item d-block w-100 position-relative']
|
31
40
|
|
32
|
-
selected =
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
41
|
+
if (selected = options[:selected]).nil?
|
42
|
+
selected = if options[:match_path].is_a? Regexp
|
43
|
+
request.fullpath =~ options[:match_path]
|
44
|
+
elsif options[:match_path]
|
45
|
+
request.fullpath.starts_with?("#{spree.admin_path}#{options[:match_path]}")
|
46
|
+
else
|
47
|
+
args.include?(controller.controller_name.to_sym)
|
48
|
+
end
|
49
|
+
end
|
39
50
|
|
40
51
|
link = if options[:icon]
|
41
52
|
link_to_with_icon(
|
42
53
|
options[:icon],
|
43
54
|
titleized_label,
|
44
55
|
destination_url,
|
45
|
-
class: 'w-100
|
56
|
+
class: 'w-100 px-3 py-2 d-flex align-items-center text-muted',
|
57
|
+
width: MENU_ICON_SIZE,
|
58
|
+
height: MENU_ICON_SIZE
|
46
59
|
)
|
47
60
|
else
|
48
61
|
link_to(
|
49
62
|
titleized_label,
|
50
63
|
destination_url,
|
51
|
-
class: "sidebar-submenu-item w-100 py-1
|
64
|
+
class: "sidebar-submenu-item w-100 py-2 py-md-1 pl-5 d-block #{selected ? 'font-weight-bold' : 'text-muted'}"
|
52
65
|
)
|
53
66
|
end
|
54
67
|
|
@@ -60,16 +73,22 @@ module Spree
|
|
60
73
|
|
61
74
|
# Single main menu item
|
62
75
|
def main_menu_item(text, url: nil, icon: nil)
|
63
|
-
link_to url, 'data-toggle': 'collapse', class: 'd-flex w-100
|
64
|
-
|
65
|
-
|
66
|
-
|
76
|
+
link_to url, 'data-toggle': 'collapse', class: 'd-flex w-100 px-3 py-2 position-relative align-items-center' do
|
77
|
+
if icon.ends_with?('.svg')
|
78
|
+
svg_icon(name: icon, classes: 'mr-2 text-muted', width: MENU_ICON_SIZE, height: MENU_ICON_SIZE) +
|
79
|
+
content_tag(:span, raw(" #{text}"), class: 'text-muted') +
|
80
|
+
svg_icon(name: 'chevron-right.svg', classes: 'drop-menu-indicator text-muted position-absolute', width: (MENU_ICON_SIZE - 8), height: (MENU_ICON_SIZE - 8))
|
81
|
+
else
|
82
|
+
content_tag(:span, nil, class: "icon text-muted icon-#{icon} mr-2") +
|
83
|
+
content_tag(:span, raw(" #{text}"), class: 'text-muted') +
|
84
|
+
svg_icon(name: 'chevron-right.svg', classes: 'drop-menu-indicator text-muted position-absolute', width: (MENU_ICON_SIZE - 8), height: (MENU_ICON_SIZE - 8))
|
85
|
+
end
|
67
86
|
end
|
68
87
|
end
|
69
88
|
|
70
89
|
# Main menu tree menu
|
71
90
|
def main_menu_tree(text, icon: nil, sub_menu: nil, url: '#')
|
72
|
-
content_tag :li, class: 'sidebar-menu-item d-block w-100' do
|
91
|
+
content_tag :li, class: 'sidebar-menu-item d-block w-100 text-muted' do
|
73
92
|
main_menu_item(text, url: url, icon: icon) +
|
74
93
|
render(partial: "spree/admin/shared/sub_menu/#{sub_menu}")
|
75
94
|
end
|
@@ -79,24 +98,24 @@ module Spree
|
|
79
98
|
# this method generates the select_tag
|
80
99
|
def per_page_dropdown
|
81
100
|
# there is a config setting for admin_products_per_page, only for the orders page
|
82
|
-
if @products && per_page_default = Spree::Config.admin_products_per_page
|
101
|
+
if @products && per_page_default = Spree::Backend::Config.admin_products_per_page
|
83
102
|
per_page_options = []
|
84
103
|
5.times do |amount|
|
85
|
-
per_page_options << (amount + 1) * Spree::Config.admin_products_per_page
|
104
|
+
per_page_options << (amount + 1) * Spree::Backend::Config.admin_products_per_page
|
86
105
|
end
|
87
106
|
else
|
88
|
-
per_page_default = Spree::Config.admin_orders_per_page
|
89
|
-
per_page_options = %w{
|
107
|
+
per_page_default = Spree::Backend::Config.admin_orders_per_page
|
108
|
+
per_page_options = %w{25 50 75}
|
90
109
|
end
|
91
110
|
|
92
111
|
selected_option = params[:per_page].try(:to_i) || per_page_default
|
93
112
|
|
94
113
|
select_tag(:per_page,
|
95
114
|
options_for_select(per_page_options, selected_option),
|
96
|
-
class: "form-control
|
115
|
+
class: "w-auto form-control js-per-page-select per-page-selected-#{selected_option} custom-select custom-select-sm")
|
97
116
|
end
|
98
117
|
|
99
|
-
# helper method to create proper url to apply per page
|
118
|
+
# helper method to create proper url to apply per page ing
|
100
119
|
# fixes https://github.com/spree/spree/issues/6888
|
101
120
|
def per_page_dropdown_params(args = nil)
|
102
121
|
args = params.permit!.to_h.clone
|
@@ -121,31 +140,31 @@ module Spree
|
|
121
140
|
|
122
141
|
def link_to_clone(resource, options = {})
|
123
142
|
options[:data] = { action: 'clone', 'original-title': Spree.t(:clone) }
|
124
|
-
options[:class] = 'btn btn-
|
143
|
+
options[:class] = 'btn btn-light btn-sm with-tip icon-link'
|
125
144
|
options[:method] = :post
|
126
|
-
options[:icon] =
|
145
|
+
options[:icon] = 'clone.svg'
|
127
146
|
button_link_to '', clone_object_url(resource), options
|
128
147
|
end
|
129
148
|
|
130
149
|
def link_to_clone_promotion(promotion, options = {})
|
131
150
|
options[:data] = { action: 'clone', 'original-title': Spree.t(:clone) }
|
132
|
-
options[:class] = 'btn btn-
|
151
|
+
options[:class] = 'btn btn-light btn-sm with-tip'
|
133
152
|
options[:method] = :post
|
134
|
-
options[:icon] =
|
153
|
+
options[:icon] = 'clone.svg'
|
135
154
|
button_link_to '', clone_admin_promotion_path(promotion), options
|
136
155
|
end
|
137
156
|
|
138
157
|
def link_to_edit(resource, options = {})
|
139
158
|
url = options[:url] || edit_object_url(resource)
|
140
159
|
options[:data] = { action: 'edit' }
|
141
|
-
options[:class] = 'btn btn-
|
142
|
-
link_to_with_icon('edit', Spree.t(:edit), url, options)
|
160
|
+
options[:class] = 'btn btn-light btn-sm'
|
161
|
+
link_to_with_icon('edit.svg', Spree.t(:edit), url, options)
|
143
162
|
end
|
144
163
|
|
145
164
|
def link_to_edit_url(url, options = {})
|
146
165
|
options[:data] = { action: 'edit' }
|
147
|
-
options[:class] = 'btn btn-
|
148
|
-
link_to_with_icon('edit', Spree.t(:edit), url, options)
|
166
|
+
options[:class] = 'btn btn-light btn-sm'
|
167
|
+
link_to_with_icon('edit.svg', Spree.t(:edit), url, options)
|
149
168
|
end
|
150
169
|
|
151
170
|
def link_to_delete(resource, options = {})
|
@@ -153,36 +172,52 @@ module Spree
|
|
153
172
|
name = options[:name] || Spree.t(:delete)
|
154
173
|
options[:class] = 'btn btn-danger btn-sm delete-resource'
|
155
174
|
options[:data] = { confirm: Spree.t(:are_you_sure), action: 'remove' }
|
156
|
-
link_to_with_icon 'delete', name, url, options
|
175
|
+
link_to_with_icon 'delete.svg', name, url, options
|
157
176
|
end
|
158
177
|
|
159
178
|
def link_to_with_icon(icon_name, text, url, options = {})
|
160
179
|
options[:class] = (options[:class].to_s + " icon-link with-tip action-#{icon_name}").strip
|
161
180
|
options[:title] = text if options[:no_text]
|
162
|
-
text = options[:no_text] ? '' : content_tag(:span, text
|
181
|
+
text = options[:no_text] ? '' : content_tag(:span, text)
|
163
182
|
options.delete(:no_text)
|
183
|
+
options[:width] ||= ICON_SIZE
|
184
|
+
options[:height] ||= ICON_SIZE
|
164
185
|
if icon_name
|
165
|
-
icon =
|
186
|
+
icon = if icon_name.ends_with?('.svg')
|
187
|
+
svg_icon(name: icon_name, classes: "#{'mr-2' unless text.empty?} icon icon-#{icon_name}", width: options[:width], height: options[:height])
|
188
|
+
else
|
189
|
+
content_tag(:span, '', class: "#{'mr-2' unless text.empty?} icon icon-#{icon_name}")
|
190
|
+
end
|
166
191
|
text = "#{icon} #{text}"
|
167
192
|
end
|
168
193
|
link_to(text.html_safe, url, options)
|
169
194
|
end
|
170
195
|
|
171
196
|
def spree_icon(icon_name)
|
172
|
-
icon_name
|
197
|
+
if icon_name.ends_with?('.svg')
|
198
|
+
icon_name ? svg_icon(name: icon_name, classes: icon_name, width: MENU_ICON_SIZE, height: MENU_ICON_SIZE) : ''
|
199
|
+
else
|
200
|
+
icon_name ? content_tag(:span, '', class: icon_name) : ''
|
201
|
+
end
|
173
202
|
end
|
174
203
|
|
175
204
|
# Override: Add disable_with option to prevent multiple request on consecutive clicks
|
176
205
|
def button(text, icon_name = nil, button_type = 'submit', options = {})
|
177
206
|
if icon_name
|
178
|
-
icon =
|
207
|
+
icon = if icon_name.ends_with?('.svg')
|
208
|
+
svg_icon(name: icon_name, classes: "icon icon-#{icon_name}", width: ICON_SIZE, height: ICON_SIZE)
|
209
|
+
else
|
210
|
+
content_tag(:span, '', class: "icon icon-#{icon_name}")
|
211
|
+
end
|
179
212
|
text = "#{icon} #{text}"
|
180
213
|
end
|
214
|
+
|
215
|
+
css_classes = options[:class] || 'btn-primary'
|
181
216
|
button_tag(
|
182
217
|
text.html_safe,
|
183
218
|
options.merge(
|
184
219
|
type: button_type,
|
185
|
-
class: "btn
|
220
|
+
class: "btn #{css_classes}",
|
186
221
|
'data-disable-with' => "#{Spree.t(:saving)}..."
|
187
222
|
)
|
188
223
|
)
|
@@ -192,7 +227,10 @@ module Spree
|
|
192
227
|
if html_options[:method] &&
|
193
228
|
!html_options[:method].to_s.casecmp('get').zero? &&
|
194
229
|
!html_options[:remote]
|
195
|
-
|
230
|
+
|
231
|
+
html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : 'btn btn-primary'
|
232
|
+
|
233
|
+
form_tag(url, method: html_options.delete(:method)) do
|
196
234
|
button(text, html_options.delete(:icon), nil, html_options)
|
197
235
|
end
|
198
236
|
else
|
@@ -203,30 +241,47 @@ module Spree
|
|
203
241
|
|
204
242
|
html_options.delete('data-update') unless html_options['data-update']
|
205
243
|
|
206
|
-
html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : 'btn btn-
|
244
|
+
html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : 'btn btn-light'
|
207
245
|
|
208
246
|
if html_options[:icon]
|
209
|
-
icon =
|
247
|
+
icon = if html_options[:icon].ends_with?('.svg')
|
248
|
+
svg_icon(name: html_options[:icon], classes: "icon icon-#{html_options[:icon]}", width: ICON_SIZE, height: ICON_SIZE)
|
249
|
+
else
|
250
|
+
content_tag(:span, '', class: "icon icon-#{html_options[:icon]}")
|
251
|
+
end
|
210
252
|
text = "#{icon} #{text}"
|
211
253
|
end
|
212
254
|
|
213
|
-
link_to(text.html_safe, url, html_options)
|
255
|
+
link_to(text.html_safe, url, html_options.except(:icon))
|
214
256
|
end
|
215
257
|
end
|
216
258
|
|
217
259
|
def configurations_sidebar_menu_item(link_text, url, options = {})
|
218
|
-
is_selected
|
260
|
+
options[:is_selected] ||= url.ends_with?(controller.controller_name) ||
|
219
261
|
url.ends_with?("#{controller.controller_name}/edit") ||
|
220
262
|
url.ends_with?("#{controller.controller_name.singularize}/edit")
|
221
263
|
|
222
264
|
options[:class] = 'sidebar-menu-item d-block w-100'
|
223
|
-
options[:class] << ' selected' if is_selected
|
265
|
+
options[:class] << ' selected font-weight-bold' if options[:is_selected]
|
224
266
|
content_tag(:li, options) do
|
225
|
-
link_to(link_text, url, class: "#{'text-
|
267
|
+
link_to(link_text, url, class: "#{'text-muted' unless options[:is_selected]} sidebar-submenu-item w-100 py-2 py-md-1 pl-5 d-block")
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
def active_badge(condition, options = {})
|
272
|
+
label = options[:label]
|
273
|
+
label ||= condition ? Spree.t(:say_yes) : Spree.t(:say_no)
|
274
|
+
css_class = condition ? 'badge-active' : 'badge-inactive'
|
275
|
+
|
276
|
+
content_tag(:small, class: "badge badge-pill #{css_class}") do
|
277
|
+
label
|
226
278
|
end
|
227
279
|
end
|
228
280
|
|
229
281
|
def main_part_classes
|
282
|
+
ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
|
283
|
+
Admin::NavigationHelper#main_part_classes is deprecated and will be removed in Spree 5.0.
|
284
|
+
DEPRECATION
|
230
285
|
if cookies['sidebar-minimized'] == 'true'
|
231
286
|
'col-12 sidebar-collapsed'
|
232
287
|
else
|
@@ -235,6 +290,9 @@ module Spree
|
|
235
290
|
end
|
236
291
|
|
237
292
|
def main_sidebar_classes
|
293
|
+
ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
|
294
|
+
Admin::NavigationHelper#main_sidebar_classes is deprecated and will be removed in Spree 5.0.
|
295
|
+
DEPRECATION
|
238
296
|
if cookies['sidebar-minimized'] == 'true'
|
239
297
|
'col-3 col-md-2 sidebar'
|
240
298
|
else
|
@@ -243,8 +301,17 @@ module Spree
|
|
243
301
|
end
|
244
302
|
|
245
303
|
def wrapper_classes
|
304
|
+
ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
|
305
|
+
Admin::NavigationHelper#wrapper_classes is deprecated and will be removed in Spree 5.0.
|
306
|
+
DEPRECATION
|
246
307
|
'sidebar-minimized' if cookies['sidebar-minimized'] == 'true'
|
247
308
|
end
|
309
|
+
|
310
|
+
def page_header_back_button(url)
|
311
|
+
link_to url, class: 'btn btn-outline-info mr-3 pr-1' do
|
312
|
+
svg_icon name: 'chevron-left.svg', width: 15, height: 15
|
313
|
+
end
|
314
|
+
end
|
248
315
|
end
|
249
316
|
end
|
250
317
|
end
|
@@ -10,13 +10,14 @@ module Spree
|
|
10
10
|
label = Spree.t(event, scope: 'admin.order.events', default: Spree.t(event))
|
11
11
|
links << button_link_to(
|
12
12
|
label.capitalize,
|
13
|
-
[event, :admin, order],
|
13
|
+
[event.to_sym, :admin, order],
|
14
14
|
method: :put,
|
15
|
-
icon: event.to_s,
|
16
|
-
data: { confirm: Spree.t(:order_sure_want_to, event: label) }
|
15
|
+
icon: event.to_s + '.svg',
|
16
|
+
data: { confirm: Spree.t(:order_sure_want_to, event: label) },
|
17
|
+
class: 'btn-light'
|
17
18
|
)
|
18
19
|
end
|
19
|
-
safe_join(links, '
|
20
|
+
safe_join(links, ''.html_safe)
|
20
21
|
end
|
21
22
|
|
22
23
|
def line_item_shipment_price(line_item, quantity)
|
@@ -2,9 +2,13 @@ module Spree
|
|
2
2
|
module Admin
|
3
3
|
module PaymentsHelper
|
4
4
|
def payment_method_name(payment)
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
payment_method = payment.payment_method
|
6
|
+
|
7
|
+
if can?(:update, payment_method)
|
8
|
+
link_to payment_method.name, spree.edit_admin_payment_method_path(payment_method)
|
9
|
+
else
|
10
|
+
payment_method.name
|
11
|
+
end
|
8
12
|
end
|
9
13
|
end
|
10
14
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
module ProductsHelper
|
4
|
+
# will return a human readable string
|
5
|
+
def available_status(product)
|
6
|
+
return Spree.t('admin.product.archived') if product.status == 'archived'
|
7
|
+
return Spree.t('admin.product.deleted') if product.deleted?
|
8
|
+
|
9
|
+
if product.available?
|
10
|
+
Spree.t('admin.product.active')
|
11
|
+
else
|
12
|
+
Spree.t('admin.product.draft')
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
module SortableTreeHelper
|
4
|
+
def sortable_tree_bar(parent_resource, child_resource)
|
5
|
+
partial_name = parent_resource.class.name.demodulize.underscore
|
6
|
+
render "spree/admin/shared/sortable_tree/#{partial_name}", parent_resource: parent_resource, child_resource: child_resource
|
7
|
+
end
|
8
|
+
|
9
|
+
def build_sortable_tree(parent_resource, child_resource)
|
10
|
+
child_resource_name = child_resource.class.name.demodulize.underscore
|
11
|
+
descendants = []
|
12
|
+
|
13
|
+
unless child_resource.leaf?
|
14
|
+
child_resource.children.each do |child_item|
|
15
|
+
descendants << build_sortable_tree(parent_resource, child_item) unless child_resource.leaf?
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
row = sortable_tree_bar(parent_resource, child_resource)
|
20
|
+
container = content_tag(:div, raw(descendants.join), data: { sortable_tree_parent_id_value: child_resource.id })
|
21
|
+
|
22
|
+
content_tag(:div, row + container,
|
23
|
+
class: 'sortable-tree-item draggable removable-dom-element',
|
24
|
+
data: {
|
25
|
+
sortable_tree_resource_name_value: child_resource_name.singularize,
|
26
|
+
sortable_tree_update_url_value: "/api/v2/platform/#{child_resource_name.pluralize}/#{child_resource.id}/reposition"
|
27
|
+
})
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -5,6 +5,8 @@ module Spree
|
|
5
5
|
if stock_movement.originator.respond_to?(:number)
|
6
6
|
if stock_movement.originator.respond_to?(:order)
|
7
7
|
link_to stock_movement.originator.number, [:edit, :admin, stock_movement.originator.order]
|
8
|
+
elsif stock_movement.originator.is_a?(Spree::StockTransfer)
|
9
|
+
link_to stock_movement.originator.number, spree.admin_stock_transfer_url(stock_movement.originator)
|
8
10
|
else
|
9
11
|
stock_movement.originator.number
|
10
12
|
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
module StoresHelper
|
4
|
+
def selected_checkout_zone(store)
|
5
|
+
store&.checkout_zone || Spree::Zone.default_checkout_zone
|
6
|
+
end
|
7
|
+
|
8
|
+
def stores_dropdown_values
|
9
|
+
formatted_stores = []
|
10
|
+
|
11
|
+
@stores.map { |store| formatted_stores << [store.unique_name, store.id] }
|
12
|
+
|
13
|
+
formatted_stores
|
14
|
+
end
|
15
|
+
|
16
|
+
def store_switcher_link(store)
|
17
|
+
if current_store.id == store.id
|
18
|
+
classes = 'disabled bg-light'
|
19
|
+
icon = svg_icon name: 'circle-fill.svg', width: '18', height: '18'
|
20
|
+
else
|
21
|
+
classes = nil
|
22
|
+
icon = svg_icon name: 'circle.svg', width: '18', height: '18'
|
23
|
+
end
|
24
|
+
|
25
|
+
link_to icon + store.unique_name, spree.admin_url(host: store.formatted_url),
|
26
|
+
class: "#{classes} py-3 px-4 dropdown-item rounded", id: store.code, data: { turbo: false }
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Spree
|
2
|
+
module Admin
|
3
|
+
module WebhooksSubscribersHelper
|
4
|
+
def event_checkbox_for(resource_name, form)
|
5
|
+
content_tag :div, class: 'col-xs-12 col-sm-6 col-md-4 col-lg-4 form-group' do
|
6
|
+
content_tag :div, class: 'custom-control custom-switch' do
|
7
|
+
(form.check_box resource_name, event_checkbox_opts(resource_name), true, nil) + ' ' +
|
8
|
+
form.label(resource_name, Spree.t("admin.webhooks_subscribers.#{resource_name.to_s.pluralize}"), class: 'custom-control-label')
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def subscribe_to_all_events?
|
14
|
+
@webhooks_subscriber.new_record? || @webhooks_subscriber.subscriptions == ['*']
|
15
|
+
end
|
16
|
+
|
17
|
+
private
|
18
|
+
|
19
|
+
def event_checkbox_opts(resource_name)
|
20
|
+
{
|
21
|
+
class: 'events-checkbox custom-control-input',
|
22
|
+
checked: subscribed_to_resource?(resource_name)
|
23
|
+
}
|
24
|
+
end
|
25
|
+
|
26
|
+
def subscribed_to_resource?(resource_name)
|
27
|
+
@webhooks_subscriber.subscriptions&.any? { |event| event.include? "#{resource_name}." }
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
static targets = [ "source" ]
|
5
|
+
|
6
|
+
copy(event) {
|
7
|
+
console.log(event)
|
8
|
+
event.preventDefault()
|
9
|
+
this.sourceTarget.select()
|
10
|
+
document.execCommand("copy")
|
11
|
+
}
|
12
|
+
}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
static targets = ["unhide"]
|
5
|
+
|
6
|
+
password(e) {
|
7
|
+
if (this.unhideTarget.type === "password") {
|
8
|
+
this.unhideTarget.type = "text"
|
9
|
+
} else {
|
10
|
+
this.unhideTarget.type = "password"
|
11
|
+
}
|
12
|
+
}
|
13
|
+
}
|
14
|
+
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
static targets = ["availableOn", "makeActiveAt", "discontinueOn", "status"]
|
5
|
+
|
6
|
+
initialize() {
|
7
|
+
$(this.statusTarget).on("select2:select", function (e) {
|
8
|
+
let event = new Event("change")
|
9
|
+
e.target.dispatchEvent(event)
|
10
|
+
})
|
11
|
+
}
|
12
|
+
|
13
|
+
connect() {
|
14
|
+
this.statusTarget.dispatchEvent(new Event("change"))
|
15
|
+
}
|
16
|
+
|
17
|
+
switchAvailabilityDatesFields(event) {
|
18
|
+
let status = event.target.value
|
19
|
+
if (status === "draft") {
|
20
|
+
this.show(this.availableOnTarget)
|
21
|
+
this.show(this.makeActiveAtTarget)
|
22
|
+
} else if (status === "active") {
|
23
|
+
this.show(this.availableOnTarget)
|
24
|
+
this.hide(this.makeActiveAtTarget)
|
25
|
+
} else {
|
26
|
+
this.hide(this.availableOnTarget)
|
27
|
+
this.hide(this.makeActiveAtTarget)
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
show(element) {
|
32
|
+
element.style.display = "block"
|
33
|
+
}
|
34
|
+
|
35
|
+
hide(element) {
|
36
|
+
element.style.display = "none"
|
37
|
+
}
|
38
|
+
}
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
import { Sortable } from "sortablejs"
|
3
|
+
import { patch } from "../utilities/request_utility"
|
4
|
+
|
5
|
+
export default class extends Controller {
|
6
|
+
static values = { handle: String }
|
7
|
+
|
8
|
+
connect() {
|
9
|
+
const itemSortable = {
|
10
|
+
...this.options
|
11
|
+
}
|
12
|
+
|
13
|
+
let containers = null
|
14
|
+
containers = this.element.querySelectorAll("[data-sortable-tree-parent-id-value]")
|
15
|
+
|
16
|
+
for (let i = 0; i < containers.length; i++) {
|
17
|
+
new Sortable(containers[i], itemSortable)
|
18
|
+
}
|
19
|
+
}
|
20
|
+
|
21
|
+
async end({ item, newIndex, to }) {
|
22
|
+
if (!item.dataset.sortableTreeUpdateUrlValue) return
|
23
|
+
|
24
|
+
const data = {
|
25
|
+
[item.dataset.sortableTreeResourceNameValue]: {
|
26
|
+
new_parent_id: to.dataset.sortableTreeParentIdValue,
|
27
|
+
new_position_idx: newIndex
|
28
|
+
}
|
29
|
+
}
|
30
|
+
|
31
|
+
const response = await patch(item.dataset.sortableTreeUpdateUrlValue, { body: data })
|
32
|
+
|
33
|
+
if (!response.ok) {
|
34
|
+
show_flash("error", "This move could not be saved.")
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
get options() {
|
39
|
+
return {
|
40
|
+
group: {
|
41
|
+
name: "sortable-tree",
|
42
|
+
pull: true,
|
43
|
+
put: true
|
44
|
+
},
|
45
|
+
handle: this.handleValue || undefined,
|
46
|
+
swapThreshold: 0.5,
|
47
|
+
emptyInsertThreshold: 8,
|
48
|
+
dragClass: "item-dragged",
|
49
|
+
draggable: ".draggable",
|
50
|
+
animation: 350,
|
51
|
+
forceFallback: false,
|
52
|
+
onEnd: this.end
|
53
|
+
}
|
54
|
+
}
|
55
|
+
}
|
@@ -0,0 +1,25 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
connect() {
|
5
|
+
|
6
|
+
// This is a hack to allow legacy JavaScript to run in a Turbo enabled environment.
|
7
|
+
// Once all JavaScript is reduced to Stimulus controllers, this can be removed.
|
8
|
+
const event = new Event("spree:load")
|
9
|
+
document.dispatchEvent(event)
|
10
|
+
|
11
|
+
// The Issue
|
12
|
+
// If you initiate common JavaScript with an event listener of "turbo:load"
|
13
|
+
// This will work, but if someone submits an update to a field that is required,
|
14
|
+
// a 442 Unprocessable entity is returned, and a render event is used render the errors in place.
|
15
|
+
|
16
|
+
// Because this in not a successful "turbo:load" event, all common JavaScript will fail.
|
17
|
+
// You could set up a separate listener for "turbo:render", but this can cause duplicate loading.
|
18
|
+
// Using a Stimulus connect() is the correct way to go, but should be phased out as JavaScript is replaced
|
19
|
+
// With Hotwire Frames and dedicated Stimulus controllers for the JavaScript you have remaining.
|
20
|
+
|
21
|
+
// References:
|
22
|
+
// https://github.com/hotwired/turbo-rails/issues/12#issuecomment-915893233
|
23
|
+
// https://github.com/hotwired/turbo/issues/85#issuecomment-756259687
|
24
|
+
}
|
25
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { Controller } from "@hotwired/stimulus"
|
2
|
+
|
3
|
+
export default class extends Controller {
|
4
|
+
static targets = [ "uploadButton"]
|
5
|
+
|
6
|
+
initialize() {
|
7
|
+
this.uploadButtonTarget.disabled = true
|
8
|
+
}
|
9
|
+
|
10
|
+
buttonState() {
|
11
|
+
this.uploadButtonTarget.disabled = false
|
12
|
+
}
|
13
|
+
}
|