spree_backend 4.4.0 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1775) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +41 -66
  3. data/Gemfile +13 -6
  4. data/README.md +4 -3
  5. data/app/assets/images/backend-123.svg +3 -0
  6. data/app/assets/images/backend-activity.svg +3 -0
  7. data/app/assets/images/backend-add.svg +4 -5
  8. data/app/assets/images/backend-alarm-fill.svg +3 -0
  9. data/app/assets/images/backend-alarm.svg +4 -0
  10. data/app/assets/images/backend-align-bottom.svg +4 -0
  11. data/app/assets/images/backend-align-center.svg +3 -0
  12. data/app/assets/images/backend-align-end.svg +4 -0
  13. data/app/assets/images/backend-align-middle.svg +3 -0
  14. data/app/assets/images/backend-align-start.svg +4 -0
  15. data/app/assets/images/backend-align-top.svg +4 -0
  16. data/app/assets/images/backend-alt.svg +3 -0
  17. data/app/assets/images/backend-app-indicator.svg +4 -0
  18. data/app/assets/images/backend-app.svg +3 -0
  19. data/app/assets/images/backend-apple.svg +4 -0
  20. data/app/assets/images/backend-archive-fill.svg +3 -0
  21. data/app/assets/images/backend-archive.svg +3 -0
  22. data/app/assets/images/backend-arrow-90deg-down.svg +3 -0
  23. data/app/assets/images/backend-arrow-90deg-left.svg +3 -0
  24. data/app/assets/images/backend-arrow-90deg-right.svg +3 -0
  25. data/app/assets/images/backend-arrow-90deg-up.svg +3 -0
  26. data/app/assets/images/backend-arrow-bar-down.svg +3 -0
  27. data/app/assets/images/backend-arrow-bar-left.svg +3 -0
  28. data/app/assets/images/backend-arrow-bar-right.svg +3 -0
  29. data/app/assets/images/backend-arrow-bar-up.svg +3 -0
  30. data/app/assets/images/backend-arrow-clockwise.svg +4 -0
  31. data/app/assets/images/backend-arrow-counterclockwise.svg +4 -0
  32. data/app/assets/images/backend-arrow-down-circle-fill.svg +3 -0
  33. data/app/assets/images/backend-arrow-down-circle.svg +3 -0
  34. data/app/assets/images/backend-arrow-down-left-circle-fill.svg +3 -0
  35. data/app/assets/images/backend-arrow-down-left-circle.svg +3 -0
  36. data/app/assets/images/backend-arrow-down-left-square-fill.svg +3 -0
  37. data/app/assets/images/backend-arrow-down-left-square.svg +3 -0
  38. data/app/assets/images/backend-arrow-down-left.svg +3 -0
  39. data/app/assets/images/backend-arrow-down-right-circle-fill.svg +3 -0
  40. data/app/assets/images/backend-arrow-down-right-circle.svg +3 -0
  41. data/app/assets/images/backend-arrow-down-right-square-fill.svg +3 -0
  42. data/app/assets/images/backend-arrow-down-right-square.svg +3 -0
  43. data/app/assets/images/backend-arrow-down-right.svg +3 -0
  44. data/app/assets/images/backend-arrow-down-short.svg +3 -0
  45. data/app/assets/images/backend-arrow-down-square-fill.svg +3 -0
  46. data/app/assets/images/backend-arrow-down-square.svg +3 -0
  47. data/app/assets/images/backend-arrow-down-up.svg +3 -0
  48. data/app/assets/images/backend-arrow-down.svg +3 -1
  49. data/app/assets/images/backend-arrow-left-circle-fill.svg +3 -0
  50. data/app/assets/images/backend-arrow-left-circle.svg +3 -0
  51. data/app/assets/images/backend-arrow-left-right.svg +3 -0
  52. data/app/assets/images/backend-arrow-left-short.svg +3 -0
  53. data/app/assets/images/backend-arrow-left-square-fill.svg +3 -0
  54. data/app/assets/images/backend-arrow-left-square.svg +3 -0
  55. data/app/assets/images/backend-arrow-left.svg +3 -1
  56. data/app/assets/images/backend-arrow-repeat.svg +4 -0
  57. data/app/assets/images/backend-arrow-return-left.svg +3 -0
  58. data/app/assets/images/backend-arrow-return-right.svg +3 -0
  59. data/app/assets/images/backend-arrow-right-circle-fill.svg +3 -0
  60. data/app/assets/images/backend-arrow-right-circle.svg +3 -0
  61. data/app/assets/images/backend-arrow-right-short.svg +3 -0
  62. data/app/assets/images/backend-arrow-right-square-fill.svg +3 -0
  63. data/app/assets/images/backend-arrow-right-square.svg +3 -0
  64. data/app/assets/images/backend-arrow-right.svg +3 -1
  65. data/app/assets/images/backend-arrow-up-circle-fill.svg +3 -0
  66. data/app/assets/images/backend-arrow-up-circle.svg +3 -0
  67. data/app/assets/images/backend-arrow-up-left-circle-fill.svg +3 -0
  68. data/app/assets/images/backend-arrow-up-left-circle.svg +3 -0
  69. data/app/assets/images/backend-arrow-up-left-square-fill.svg +3 -0
  70. data/app/assets/images/backend-arrow-up-left-square.svg +3 -0
  71. data/app/assets/images/backend-arrow-up-left.svg +3 -0
  72. data/app/assets/images/backend-arrow-up-right-circle-fill.svg +3 -0
  73. data/app/assets/images/backend-arrow-up-right-circle.svg +3 -0
  74. data/app/assets/images/backend-arrow-up-right-square-fill.svg +3 -0
  75. data/app/assets/images/backend-arrow-up-right-square.svg +3 -0
  76. data/app/assets/images/backend-arrow-up-right.svg +3 -0
  77. data/app/assets/images/backend-arrow-up-short.svg +3 -0
  78. data/app/assets/images/backend-arrow-up-square-fill.svg +3 -0
  79. data/app/assets/images/backend-arrow-up-square.svg +3 -0
  80. data/app/assets/images/backend-arrow-up.svg +3 -1
  81. data/app/assets/images/backend-arrows-angle-contract.svg +3 -0
  82. data/app/assets/images/backend-arrows-angle-expand.svg +3 -0
  83. data/app/assets/images/backend-arrows-collapse.svg +3 -0
  84. data/app/assets/images/backend-arrows-expand.svg +3 -0
  85. data/app/assets/images/backend-arrows-move.svg +3 -0
  86. data/app/assets/images/backend-aspect-ratio-fill.svg +3 -0
  87. data/app/assets/images/backend-aspect-ratio.svg +4 -0
  88. data/app/assets/images/backend-asterisk.svg +3 -0
  89. data/app/assets/images/backend-at.svg +3 -0
  90. data/app/assets/images/backend-award-fill.svg +4 -0
  91. data/app/assets/images/backend-award.svg +4 -0
  92. data/app/assets/images/backend-back.svg +3 -0
  93. data/app/assets/images/backend-backspace-fill.svg +3 -0
  94. data/app/assets/images/backend-backspace-reverse-fill.svg +3 -0
  95. data/app/assets/images/backend-backspace-reverse.svg +4 -0
  96. data/app/assets/images/backend-backspace.svg +4 -0
  97. data/app/assets/images/backend-badge-3d-fill.svg +4 -0
  98. data/app/assets/images/backend-badge-3d.svg +4 -0
  99. data/app/assets/images/backend-badge-4k-fill.svg +4 -0
  100. data/app/assets/images/backend-badge-4k.svg +4 -0
  101. data/app/assets/images/backend-badge-8k-fill.svg +4 -0
  102. data/app/assets/images/backend-badge-8k.svg +4 -0
  103. data/app/assets/images/backend-badge-ad-fill.svg +4 -0
  104. data/app/assets/images/backend-badge-ad.svg +4 -0
  105. data/app/assets/images/backend-badge-ar-fill.svg +4 -0
  106. data/app/assets/images/backend-badge-ar.svg +4 -0
  107. data/app/assets/images/backend-badge-cc-fill.svg +3 -0
  108. data/app/assets/images/backend-badge-cc.svg +4 -0
  109. data/app/assets/images/backend-badge-hd-fill.svg +4 -0
  110. data/app/assets/images/backend-badge-hd.svg +4 -0
  111. data/app/assets/images/backend-badge-tm-fill.svg +3 -0
  112. data/app/assets/images/backend-badge-tm.svg +4 -0
  113. data/app/assets/images/backend-badge-vo-fill.svg +4 -0
  114. data/app/assets/images/backend-badge-vo.svg +4 -0
  115. data/app/assets/images/backend-badge-vr-fill.svg +4 -0
  116. data/app/assets/images/backend-badge-vr.svg +4 -0
  117. data/app/assets/images/backend-badge-wc-fill.svg +3 -0
  118. data/app/assets/images/backend-badge-wc.svg +4 -0
  119. data/app/assets/images/backend-bag-check-fill.svg +3 -0
  120. data/app/assets/images/backend-bag-check.svg +4 -0
  121. data/app/assets/images/backend-bag-dash-fill.svg +3 -0
  122. data/app/assets/images/backend-bag-dash.svg +4 -0
  123. data/app/assets/images/backend-bag-fill.svg +3 -0
  124. data/app/assets/images/backend-bag-plus-fill.svg +3 -0
  125. data/app/assets/images/backend-bag-plus.svg +4 -0
  126. data/app/assets/images/backend-bag-x-fill.svg +3 -0
  127. data/app/assets/images/backend-bag-x.svg +4 -0
  128. data/app/assets/images/backend-bag.svg +3 -0
  129. data/app/assets/images/backend-bandaid-fill.svg +3 -0
  130. data/app/assets/images/backend-bandaid.svg +4 -0
  131. data/app/assets/images/backend-bank.svg +3 -0
  132. data/app/assets/images/backend-bank2.svg +3 -0
  133. data/app/assets/images/backend-bar-chart-fill.svg +3 -0
  134. data/app/assets/images/backend-bar-chart-line-fill.svg +3 -0
  135. data/app/assets/images/backend-bar-chart-line.svg +3 -0
  136. data/app/assets/images/backend-bar-chart-steps.svg +3 -0
  137. data/app/assets/images/backend-bar-chart.svg +3 -0
  138. data/app/assets/images/backend-basket-fill.svg +3 -0
  139. data/app/assets/images/backend-basket.svg +3 -0
  140. data/app/assets/images/backend-basket2-fill.svg +3 -0
  141. data/app/assets/images/backend-basket2.svg +4 -0
  142. data/app/assets/images/backend-basket3-fill.svg +3 -0
  143. data/app/assets/images/backend-basket3.svg +3 -0
  144. data/app/assets/images/backend-battery-charging.svg +6 -0
  145. data/app/assets/images/backend-battery-full.svg +4 -0
  146. data/app/assets/images/backend-battery-half.svg +4 -0
  147. data/app/assets/images/backend-battery.svg +3 -0
  148. data/app/assets/images/backend-behance.svg +3 -0
  149. data/app/assets/images/backend-bell-fill.svg +3 -0
  150. data/app/assets/images/backend-bell-slash-fill.svg +3 -0
  151. data/app/assets/images/backend-bell-slash.svg +3 -0
  152. data/app/assets/images/backend-bell.svg +3 -0
  153. data/app/assets/images/backend-bezier.svg +4 -0
  154. data/app/assets/images/backend-bezier2.svg +3 -0
  155. data/app/assets/images/backend-bicycle.svg +3 -0
  156. data/app/assets/images/backend-binoculars-fill.svg +3 -0
  157. data/app/assets/images/backend-binoculars.svg +3 -0
  158. data/app/assets/images/backend-blockquote-left.svg +3 -0
  159. data/app/assets/images/backend-blockquote-right.svg +3 -0
  160. data/app/assets/images/backend-bluetooth.svg +3 -0
  161. data/app/assets/images/backend-body-text.svg +3 -0
  162. data/app/assets/images/backend-book-fill.svg +3 -0
  163. data/app/assets/images/backend-book-half.svg +3 -0
  164. data/app/assets/images/backend-book.svg +3 -0
  165. data/app/assets/images/backend-bookmark-check-fill.svg +3 -0
  166. data/app/assets/images/backend-bookmark-check.svg +4 -0
  167. data/app/assets/images/backend-bookmark-dash-fill.svg +3 -0
  168. data/app/assets/images/backend-bookmark-dash.svg +4 -0
  169. data/app/assets/images/backend-bookmark-fill.svg +3 -0
  170. data/app/assets/images/backend-bookmark-heart-fill.svg +3 -0
  171. data/app/assets/images/backend-bookmark-heart.svg +4 -0
  172. data/app/assets/images/backend-bookmark-plus-fill.svg +3 -0
  173. data/app/assets/images/backend-bookmark-plus.svg +4 -0
  174. data/app/assets/images/backend-bookmark-star-fill.svg +3 -0
  175. data/app/assets/images/backend-bookmark-star.svg +4 -0
  176. data/app/assets/images/backend-bookmark-x-fill.svg +3 -0
  177. data/app/assets/images/backend-bookmark-x.svg +4 -0
  178. data/app/assets/images/backend-bookmark.svg +3 -0
  179. data/app/assets/images/backend-bookmarks-fill.svg +4 -0
  180. data/app/assets/images/backend-bookmarks.svg +4 -0
  181. data/app/assets/images/backend-bookshelf.svg +3 -0
  182. data/app/assets/images/backend-boombox-fill.svg +4 -0
  183. data/app/assets/images/backend-boombox.svg +6 -0
  184. data/app/assets/images/backend-bootstrap-fill.svg +4 -0
  185. data/app/assets/images/backend-bootstrap-reboot.svg +4 -0
  186. data/app/assets/images/backend-bootstrap.svg +4 -0
  187. data/app/assets/images/backend-border-all.svg +3 -0
  188. data/app/assets/images/backend-border-bottom.svg +3 -0
  189. data/app/assets/images/backend-border-center.svg +3 -0
  190. data/app/assets/images/backend-border-inner.svg +5 -0
  191. data/app/assets/images/backend-border-left.svg +3 -0
  192. data/app/assets/images/backend-border-middle.svg +3 -0
  193. data/app/assets/images/backend-border-outer.svg +4 -0
  194. data/app/assets/images/backend-border-right.svg +3 -0
  195. data/app/assets/images/backend-border-style.svg +3 -0
  196. data/app/assets/images/backend-border-top.svg +3 -0
  197. data/app/assets/images/backend-border-width.svg +3 -0
  198. data/app/assets/images/backend-border.svg +3 -0
  199. data/app/assets/images/backend-bounding-box-circles.svg +3 -0
  200. data/app/assets/images/backend-bounding-box.svg +3 -0
  201. data/app/assets/images/backend-box-arrow-down-left.svg +4 -0
  202. data/app/assets/images/backend-box-arrow-down-right.svg +4 -0
  203. data/app/assets/images/backend-box-arrow-down.svg +4 -0
  204. data/app/assets/images/backend-box-arrow-in-down-left.svg +4 -0
  205. data/app/assets/images/backend-box-arrow-in-down-right.svg +4 -0
  206. data/app/assets/images/backend-box-arrow-in-down.svg +4 -0
  207. data/app/assets/images/backend-box-arrow-in-left.svg +4 -0
  208. data/app/assets/images/backend-box-arrow-in-right.svg +4 -0
  209. data/app/assets/images/backend-box-arrow-in-up-left.svg +4 -0
  210. data/app/assets/images/backend-box-arrow-in-up-right.svg +4 -0
  211. data/app/assets/images/backend-box-arrow-in-up.svg +4 -0
  212. data/app/assets/images/backend-box-arrow-left.svg +4 -0
  213. data/app/assets/images/backend-box-arrow-right.svg +4 -0
  214. data/app/assets/images/backend-box-arrow-up-left.svg +4 -0
  215. data/app/assets/images/backend-box-arrow-up-right.svg +4 -0
  216. data/app/assets/images/backend-box-arrow-up.svg +4 -0
  217. data/app/assets/images/backend-box-seam.svg +3 -0
  218. data/app/assets/images/backend-box.svg +2 -2
  219. data/app/assets/images/backend-boxes.svg +3 -0
  220. data/app/assets/images/backend-braces.svg +3 -0
  221. data/app/assets/images/backend-bricks.svg +3 -0
  222. data/app/assets/images/backend-briefcase-fill.svg +4 -0
  223. data/app/assets/images/backend-briefcase.svg +3 -0
  224. data/app/assets/images/backend-brightness-alt-high-fill.svg +3 -0
  225. data/app/assets/images/backend-brightness-alt-high.svg +3 -0
  226. data/app/assets/images/backend-brightness-alt-low-fill.svg +3 -0
  227. data/app/assets/images/backend-brightness-alt-low.svg +3 -0
  228. data/app/assets/images/backend-brightness-high-fill.svg +3 -0
  229. data/app/assets/images/backend-brightness-high.svg +3 -0
  230. data/app/assets/images/backend-brightness-low-fill.svg +3 -0
  231. data/app/assets/images/backend-brightness-low.svg +3 -0
  232. data/app/assets/images/backend-broadcast-pin.svg +3 -0
  233. data/app/assets/images/backend-broadcast.svg +3 -0
  234. data/app/assets/images/backend-brush-fill.svg +3 -0
  235. data/app/assets/images/backend-brush.svg +3 -0
  236. data/app/assets/images/backend-bucket-fill.svg +3 -0
  237. data/app/assets/images/backend-bucket.svg +3 -0
  238. data/app/assets/images/backend-bug-fill.svg +4 -0
  239. data/app/assets/images/backend-bug.svg +3 -0
  240. data/app/assets/images/backend-building.svg +4 -0
  241. data/app/assets/images/backend-bullseye.svg +6 -0
  242. data/app/assets/images/backend-calculator-fill.svg +3 -0
  243. data/app/assets/images/backend-calculator.svg +4 -0
  244. data/app/assets/images/backend-calendar-check-fill.svg +3 -0
  245. data/app/assets/images/backend-calendar-check.svg +4 -0
  246. data/app/assets/images/backend-calendar-date-fill.svg +4 -0
  247. data/app/assets/images/backend-calendar-date.svg +4 -0
  248. data/app/assets/images/backend-calendar-day-fill.svg +3 -0
  249. data/app/assets/images/backend-calendar-day.svg +4 -0
  250. data/app/assets/images/backend-calendar-event-fill.svg +3 -0
  251. data/app/assets/images/backend-calendar-event.svg +4 -0
  252. data/app/assets/images/backend-calendar-fill.svg +3 -0
  253. data/app/assets/images/backend-calendar-minus-fill.svg +3 -0
  254. data/app/assets/images/backend-calendar-minus.svg +4 -0
  255. data/app/assets/images/backend-calendar-month-fill.svg +4 -0
  256. data/app/assets/images/backend-calendar-month.svg +4 -0
  257. data/app/assets/images/backend-calendar-plus-fill.svg +3 -0
  258. data/app/assets/images/backend-calendar-plus.svg +4 -0
  259. data/app/assets/images/backend-calendar-range-fill.svg +3 -0
  260. data/app/assets/images/backend-calendar-range.svg +4 -0
  261. data/app/assets/images/backend-calendar-week-fill.svg +3 -0
  262. data/app/assets/images/backend-calendar-week.svg +4 -0
  263. data/app/assets/images/backend-calendar-x-fill.svg +3 -0
  264. data/app/assets/images/backend-calendar-x.svg +4 -0
  265. data/app/assets/images/backend-calendar.svg +3 -9
  266. data/app/assets/images/backend-calendar2-check-fill.svg +3 -0
  267. data/app/assets/images/backend-calendar2-check.svg +5 -0
  268. data/app/assets/images/backend-calendar2-date-fill.svg +4 -0
  269. data/app/assets/images/backend-calendar2-date.svg +5 -0
  270. data/app/assets/images/backend-calendar2-day-fill.svg +3 -0
  271. data/app/assets/images/backend-calendar2-day.svg +5 -0
  272. data/app/assets/images/backend-calendar2-event-fill.svg +3 -0
  273. data/app/assets/images/backend-calendar2-event.svg +5 -0
  274. data/app/assets/images/backend-calendar2-fill.svg +3 -0
  275. data/app/assets/images/backend-calendar2-minus-fill.svg +3 -0
  276. data/app/assets/images/backend-calendar2-minus.svg +5 -0
  277. data/app/assets/images/backend-calendar2-month-fill.svg +4 -0
  278. data/app/assets/images/backend-calendar2-month.svg +5 -0
  279. data/app/assets/images/backend-calendar2-plus-fill.svg +3 -0
  280. data/app/assets/images/backend-calendar2-plus.svg +4 -0
  281. data/app/assets/images/backend-calendar2-range-fill.svg +3 -0
  282. data/app/assets/images/backend-calendar2-range.svg +4 -0
  283. data/app/assets/images/backend-calendar2-week-fill.svg +3 -0
  284. data/app/assets/images/backend-calendar2-week.svg +4 -0
  285. data/app/assets/images/backend-calendar2-x-fill.svg +3 -0
  286. data/app/assets/images/backend-calendar2-x.svg +5 -0
  287. data/app/assets/images/backend-calendar2.svg +4 -0
  288. data/app/assets/images/backend-calendar3-event-fill.svg +3 -0
  289. data/app/assets/images/backend-calendar3-event.svg +4 -0
  290. data/app/assets/images/backend-calendar3-fill.svg +3 -0
  291. data/app/assets/images/backend-calendar3-range-fill.svg +3 -0
  292. data/app/assets/images/backend-calendar3-range.svg +4 -0
  293. data/app/assets/images/backend-calendar3-week-fill.svg +3 -0
  294. data/app/assets/images/backend-calendar3-week.svg +4 -0
  295. data/app/assets/images/backend-calendar3.svg +4 -0
  296. data/app/assets/images/backend-calendar4-event.svg +4 -0
  297. data/app/assets/images/backend-calendar4-range.svg +4 -0
  298. data/app/assets/images/backend-calendar4-week.svg +4 -0
  299. data/app/assets/images/backend-calendar4.svg +3 -0
  300. data/app/assets/images/backend-camera-fill.svg +4 -0
  301. data/app/assets/images/backend-camera-reels-fill.svg +5 -0
  302. data/app/assets/images/backend-camera-reels.svg +5 -0
  303. data/app/assets/images/backend-camera-video-fill.svg +3 -0
  304. data/app/assets/images/backend-camera-video-off-fill.svg +3 -0
  305. data/app/assets/images/backend-camera-video-off.svg +3 -0
  306. data/app/assets/images/backend-camera-video.svg +3 -0
  307. data/app/assets/images/backend-camera.svg +4 -0
  308. data/app/assets/images/backend-camera2.svg +4 -0
  309. data/app/assets/images/backend-capslock-fill.svg +3 -0
  310. data/app/assets/images/backend-capslock.svg +3 -0
  311. data/app/assets/images/backend-card-checklist.svg +4 -0
  312. data/app/assets/images/backend-card-heading.svg +4 -0
  313. data/app/assets/images/backend-card-image.svg +4 -0
  314. data/app/assets/images/backend-card-list.svg +4 -0
  315. data/app/assets/images/backend-card-text.svg +4 -0
  316. data/app/assets/images/backend-caret-down-fill.svg +3 -0
  317. data/app/assets/images/backend-caret-down-square-fill.svg +3 -0
  318. data/app/assets/images/backend-caret-down-square.svg +4 -0
  319. data/app/assets/images/backend-caret-down.svg +3 -0
  320. data/app/assets/images/backend-caret-left-fill.svg +3 -0
  321. data/app/assets/images/backend-caret-left-square-fill.svg +3 -0
  322. data/app/assets/images/backend-caret-left-square.svg +4 -0
  323. data/app/assets/images/backend-caret-left.svg +3 -0
  324. data/app/assets/images/backend-caret-right-fill.svg +3 -0
  325. data/app/assets/images/backend-caret-right-square-fill.svg +3 -0
  326. data/app/assets/images/backend-caret-right-square.svg +4 -0
  327. data/app/assets/images/backend-caret-right.svg +3 -0
  328. data/app/assets/images/backend-caret-up-fill.svg +3 -0
  329. data/app/assets/images/backend-caret-up-square-fill.svg +3 -0
  330. data/app/assets/images/backend-caret-up-square.svg +4 -0
  331. data/app/assets/images/backend-caret-up.svg +3 -0
  332. data/app/assets/images/backend-cart-check-fill.svg +3 -0
  333. data/app/assets/images/backend-cart-check.svg +4 -0
  334. data/app/assets/images/backend-cart-dash-fill.svg +3 -0
  335. data/app/assets/images/backend-cart-dash.svg +4 -0
  336. data/app/assets/images/backend-cart-fill.svg +3 -0
  337. data/app/assets/images/backend-cart-plus-fill.svg +3 -0
  338. data/app/assets/images/backend-cart-plus.svg +4 -0
  339. data/app/assets/images/backend-cart-x-fill.svg +3 -0
  340. data/app/assets/images/backend-cart-x.svg +4 -0
  341. data/app/assets/images/backend-cart.svg +3 -1
  342. data/app/assets/images/backend-cart2.svg +3 -0
  343. data/app/assets/images/backend-cart3.svg +3 -0
  344. data/app/assets/images/backend-cart4.svg +3 -0
  345. data/app/assets/images/backend-cash-coin.svg +6 -0
  346. data/app/assets/images/backend-cash-stack.svg +4 -0
  347. data/app/assets/images/backend-cash.svg +4 -0
  348. data/app/assets/images/backend-cast.svg +4 -0
  349. data/app/assets/images/backend-chat-dots-fill.svg +3 -0
  350. data/app/assets/images/backend-chat-dots.svg +4 -0
  351. data/app/assets/images/backend-chat-fill.svg +3 -0
  352. data/app/assets/images/backend-chat-left-dots-fill.svg +3 -0
  353. data/app/assets/images/backend-chat-left-dots.svg +4 -0
  354. data/app/assets/images/backend-chat-left-fill.svg +3 -0
  355. data/app/assets/images/backend-chat-left-quote-fill.svg +3 -0
  356. data/app/assets/images/backend-chat-left-quote.svg +4 -0
  357. data/app/assets/images/backend-chat-left-text-fill.svg +3 -0
  358. data/app/assets/images/backend-chat-left-text.svg +4 -0
  359. data/app/assets/images/backend-chat-left.svg +3 -0
  360. data/app/assets/images/backend-chat-quote-fill.svg +3 -0
  361. data/app/assets/images/backend-chat-quote.svg +4 -0
  362. data/app/assets/images/backend-chat-right-dots-fill.svg +3 -0
  363. data/app/assets/images/backend-chat-right-dots.svg +4 -0
  364. data/app/assets/images/backend-chat-right-fill.svg +3 -0
  365. data/app/assets/images/backend-chat-right-quote-fill.svg +3 -0
  366. data/app/assets/images/backend-chat-right-quote.svg +4 -0
  367. data/app/assets/images/backend-chat-right-text-fill.svg +3 -0
  368. data/app/assets/images/backend-chat-right-text.svg +4 -0
  369. data/app/assets/images/backend-chat-right.svg +3 -0
  370. data/app/assets/images/backend-chat-square-dots-fill.svg +3 -0
  371. data/app/assets/images/backend-chat-square-dots.svg +4 -0
  372. data/app/assets/images/backend-chat-square-fill.svg +3 -0
  373. data/app/assets/images/backend-chat-square-quote-fill.svg +3 -0
  374. data/app/assets/images/backend-chat-square-quote.svg +4 -0
  375. data/app/assets/images/backend-chat-square-text-fill.svg +3 -0
  376. data/app/assets/images/backend-chat-square-text.svg +4 -0
  377. data/app/assets/images/backend-chat-square.svg +3 -0
  378. data/app/assets/images/backend-chat-text-fill.svg +3 -0
  379. data/app/assets/images/backend-chat-text.svg +4 -0
  380. data/app/assets/images/backend-chat.svg +3 -0
  381. data/app/assets/images/backend-check-all.svg +3 -0
  382. data/app/assets/images/backend-check-circle-fill.svg +3 -0
  383. data/app/assets/images/backend-check-circle.svg +4 -0
  384. data/app/assets/images/backend-check-lg.svg +3 -0
  385. data/app/assets/images/backend-check-square-fill.svg +3 -0
  386. data/app/assets/images/backend-check-square.svg +4 -0
  387. data/app/assets/images/backend-check.svg +3 -0
  388. data/app/assets/images/backend-check2-all.svg +4 -0
  389. data/app/assets/images/backend-check2-circle.svg +4 -0
  390. data/app/assets/images/backend-check2-square.svg +4 -0
  391. data/app/assets/images/backend-check2.svg +3 -0
  392. data/app/assets/images/backend-chevron-bar-contract.svg +3 -0
  393. data/app/assets/images/backend-chevron-bar-down.svg +3 -0
  394. data/app/assets/images/backend-chevron-bar-expand.svg +3 -0
  395. data/app/assets/images/backend-chevron-bar-left.svg +3 -0
  396. data/app/assets/images/backend-chevron-bar-right.svg +3 -0
  397. data/app/assets/images/backend-chevron-bar-up.svg +3 -0
  398. data/app/assets/images/backend-chevron-compact-down.svg +3 -0
  399. data/app/assets/images/backend-chevron-compact-left.svg +3 -0
  400. data/app/assets/images/backend-chevron-compact-right.svg +3 -0
  401. data/app/assets/images/backend-chevron-compact-up.svg +3 -0
  402. data/app/assets/images/backend-chevron-contract.svg +3 -0
  403. data/app/assets/images/backend-chevron-double-down.svg +4 -0
  404. data/app/assets/images/backend-chevron-double-left.svg +4 -0
  405. data/app/assets/images/backend-chevron-double-right.svg +4 -0
  406. data/app/assets/images/backend-chevron-double-up.svg +4 -0
  407. data/app/assets/images/backend-chevron-down.svg +3 -1
  408. data/app/assets/images/backend-chevron-expand.svg +3 -0
  409. data/app/assets/images/backend-chevron-left.svg +3 -1
  410. data/app/assets/images/backend-chevron-right.svg +3 -1
  411. data/app/assets/images/backend-chevron-up.svg +3 -1
  412. data/app/assets/images/backend-circle-half.svg +3 -0
  413. data/app/assets/images/backend-circle-square.svg +4 -0
  414. data/app/assets/images/backend-clipboard-check.svg +5 -0
  415. data/app/assets/images/backend-clipboard-data.svg +5 -0
  416. data/app/assets/images/backend-clipboard-minus.svg +5 -0
  417. data/app/assets/images/backend-clipboard-plus.svg +5 -0
  418. data/app/assets/images/backend-clipboard-x.svg +5 -0
  419. data/app/assets/images/backend-clipboard.svg +4 -0
  420. data/app/assets/images/backend-clock-fill.svg +3 -0
  421. data/app/assets/images/backend-clock-history.svg +5 -0
  422. data/app/assets/images/backend-clock.svg +4 -0
  423. data/app/assets/images/backend-cloud-arrow-down-fill.svg +3 -0
  424. data/app/assets/images/backend-cloud-arrow-down.svg +4 -0
  425. data/app/assets/images/backend-cloud-arrow-up-fill.svg +3 -0
  426. data/app/assets/images/backend-cloud-check-fill.svg +3 -0
  427. data/app/assets/images/backend-cloud-check.svg +4 -0
  428. data/app/assets/images/backend-cloud-download-fill.svg +3 -0
  429. data/app/assets/images/backend-cloud-download.svg +4 -0
  430. data/app/assets/images/backend-cloud-drizzle-fill.svg +3 -0
  431. data/app/assets/images/backend-cloud-drizzle.svg +3 -0
  432. data/app/assets/images/backend-cloud-fill.svg +3 -0
  433. data/app/assets/images/backend-cloud-fog-fill.svg +3 -0
  434. data/app/assets/images/backend-cloud-fog.svg +3 -0
  435. data/app/assets/images/backend-cloud-fog2-fill.svg +3 -0
  436. data/app/assets/images/backend-cloud-fog2.svg +3 -0
  437. data/app/assets/images/backend-cloud-hail-fill.svg +3 -0
  438. data/app/assets/images/backend-cloud-hail.svg +3 -0
  439. data/app/assets/images/backend-cloud-haze-fill.svg +3 -0
  440. data/app/assets/images/backend-cloud-haze.svg +3 -0
  441. data/app/assets/images/backend-cloud-haze2-fill.svg +3 -0
  442. data/app/assets/images/backend-cloud-haze2.svg +3 -0
  443. data/app/assets/images/backend-cloud-lightning-fill.svg +3 -0
  444. data/app/assets/images/backend-cloud-lightning-rain-fill.svg +3 -0
  445. data/app/assets/images/backend-cloud-lightning-rain.svg +3 -0
  446. data/app/assets/images/backend-cloud-lightning.svg +3 -0
  447. data/app/assets/images/backend-cloud-minus-fill.svg +3 -0
  448. data/app/assets/images/backend-cloud-minus.svg +4 -0
  449. data/app/assets/images/backend-cloud-moon-fill.svg +4 -0
  450. data/app/assets/images/backend-cloud-moon.svg +4 -0
  451. data/app/assets/images/backend-cloud-plus-fill.svg +3 -0
  452. data/app/assets/images/backend-cloud-plus.svg +4 -0
  453. data/app/assets/images/backend-cloud-rain-fill.svg +3 -0
  454. data/app/assets/images/backend-cloud-rain-heavy-fill.svg +3 -0
  455. data/app/assets/images/backend-cloud-rain-heavy.svg +3 -0
  456. data/app/assets/images/backend-cloud-rain.svg +3 -0
  457. data/app/assets/images/backend-cloud-slash-fill.svg +3 -0
  458. data/app/assets/images/backend-cloud-slash.svg +4 -0
  459. data/app/assets/images/backend-cloud-sleet-fill.svg +3 -0
  460. data/app/assets/images/backend-cloud-sleet.svg +3 -0
  461. data/app/assets/images/backend-cloud-snow-fill.svg +3 -0
  462. data/app/assets/images/backend-cloud-snow.svg +3 -0
  463. data/app/assets/images/backend-cloud-sun-fill.svg +4 -0
  464. data/app/assets/images/backend-cloud-sun.svg +4 -0
  465. data/app/assets/images/backend-cloud-upload-fill.svg +3 -0
  466. data/app/assets/images/backend-cloud-upload.svg +4 -0
  467. data/app/assets/images/backend-cloud.svg +3 -0
  468. data/app/assets/images/backend-clouds-fill.svg +4 -0
  469. data/app/assets/images/backend-clouds.svg +4 -0
  470. data/app/assets/images/backend-cloudy-fill.svg +3 -0
  471. data/app/assets/images/backend-cloudy.svg +3 -0
  472. data/app/assets/images/backend-code-slash.svg +3 -0
  473. data/app/assets/images/backend-code-square.svg +4 -0
  474. data/app/assets/images/backend-code.svg +3 -0
  475. data/app/assets/images/backend-coin.svg +5 -0
  476. data/app/assets/images/backend-collection-fill.svg +3 -0
  477. data/app/assets/images/backend-collection-play-fill.svg +3 -0
  478. data/app/assets/images/backend-collection-play.svg +4 -0
  479. data/app/assets/images/backend-collection.svg +3 -0
  480. data/app/assets/images/backend-columns-gap.svg +3 -0
  481. data/app/assets/images/backend-columns.svg +3 -0
  482. data/app/assets/images/backend-command.svg +3 -0
  483. data/app/assets/images/backend-compass-fill.svg +3 -0
  484. data/app/assets/images/backend-compass.svg +4 -0
  485. data/app/assets/images/backend-cone-striped.svg +3 -0
  486. data/app/assets/images/backend-cone.svg +3 -0
  487. data/app/assets/images/backend-controller.svg +4 -0
  488. data/app/assets/images/backend-cpu-fill.svg +4 -0
  489. data/app/assets/images/backend-cpu.svg +3 -0
  490. data/app/assets/images/backend-credit-card-2-back-fill.svg +3 -0
  491. data/app/assets/images/backend-credit-card-2-back.svg +4 -0
  492. data/app/assets/images/backend-credit-card-2-front-fill.svg +3 -0
  493. data/app/assets/images/backend-credit-card-2-front.svg +4 -0
  494. data/app/assets/images/backend-credit-card-fill.svg +3 -0
  495. data/app/assets/images/backend-credit-card.svg +4 -0
  496. data/app/assets/images/backend-crop.svg +3 -0
  497. data/app/assets/images/backend-cup-fill.svg +3 -0
  498. data/app/assets/images/backend-cup-straw.svg +3 -0
  499. data/app/assets/images/backend-cup.svg +3 -0
  500. data/app/assets/images/backend-currency-bitcoin.svg +3 -0
  501. data/app/assets/images/backend-currency-dollar.svg +3 -0
  502. data/app/assets/images/backend-currency-euro.svg +3 -0
  503. data/app/assets/images/backend-currency-exchange.svg +3 -0
  504. data/app/assets/images/backend-currency-pound.svg +3 -0
  505. data/app/assets/images/backend-currency-yen.svg +3 -0
  506. data/app/assets/images/backend-cursor-fill.svg +3 -0
  507. data/app/assets/images/backend-cursor-text.svg +3 -0
  508. data/app/assets/images/backend-cursor.svg +3 -0
  509. data/app/assets/images/backend-dash-circle-dotted.svg +3 -0
  510. data/app/assets/images/backend-dash-circle-fill.svg +3 -0
  511. data/app/assets/images/backend-dash-circle.svg +4 -0
  512. data/app/assets/images/backend-dash-lg.svg +3 -0
  513. data/app/assets/images/backend-dash-square-dotted.svg +3 -0
  514. data/app/assets/images/backend-dash-square-fill.svg +3 -0
  515. data/app/assets/images/backend-dash-square.svg +4 -0
  516. data/app/assets/images/backend-dash.svg +3 -0
  517. data/app/assets/images/backend-device-hdd-fill.svg +4 -0
  518. data/app/assets/images/backend-device-hdd.svg +5 -0
  519. data/app/assets/images/backend-device-ssd-fill.svg +4 -0
  520. data/app/assets/images/backend-device-ssd.svg +4 -0
  521. data/app/assets/images/backend-diagram-2-fill.svg +3 -0
  522. data/app/assets/images/backend-diagram-2.svg +3 -0
  523. data/app/assets/images/backend-diagram-3-fill.svg +3 -0
  524. data/app/assets/images/backend-diagram-3.svg +3 -0
  525. data/app/assets/images/backend-diamond-fill.svg +3 -0
  526. data/app/assets/images/backend-diamond-half.svg +3 -0
  527. data/app/assets/images/backend-diamond.svg +3 -0
  528. data/app/assets/images/backend-dice-1-fill.svg +3 -0
  529. data/app/assets/images/backend-dice-1.svg +4 -0
  530. data/app/assets/images/backend-dice-2-fill.svg +3 -0
  531. data/app/assets/images/backend-dice-2.svg +4 -0
  532. data/app/assets/images/backend-dice-3-fill.svg +3 -0
  533. data/app/assets/images/backend-dice-3.svg +4 -0
  534. data/app/assets/images/backend-dice-4-fill.svg +3 -0
  535. data/app/assets/images/backend-dice-4.svg +4 -0
  536. data/app/assets/images/backend-dice-5-fill.svg +3 -0
  537. data/app/assets/images/backend-dice-5.svg +4 -0
  538. data/app/assets/images/backend-dice-6-fill.svg +3 -0
  539. data/app/assets/images/backend-dice-6.svg +4 -0
  540. data/app/assets/images/backend-disc-fill.svg +3 -0
  541. data/app/assets/images/backend-disc.svg +4 -0
  542. data/app/assets/images/backend-discord.svg +3 -0
  543. data/app/assets/images/backend-display-fill.svg +3 -0
  544. data/app/assets/images/backend-display.svg +3 -0
  545. data/app/assets/images/backend-displayport-fill.svg +3 -0
  546. data/app/assets/images/backend-displayport.svg +4 -0
  547. data/app/assets/images/backend-distribute-horizontal.svg +4 -0
  548. data/app/assets/images/backend-distribute-vertical.svg +4 -0
  549. data/app/assets/images/backend-door-closed-fill.svg +3 -0
  550. data/app/assets/images/backend-door-closed.svg +4 -0
  551. data/app/assets/images/backend-door-open-fill.svg +3 -0
  552. data/app/assets/images/backend-door-open.svg +4 -0
  553. data/app/assets/images/backend-dot.svg +3 -0
  554. data/app/assets/images/backend-download.svg +4 -0
  555. data/app/assets/images/backend-dpad-fill.svg +3 -0
  556. data/app/assets/images/backend-dpad.svg +4 -0
  557. data/app/assets/images/backend-dribbble.svg +3 -0
  558. data/app/assets/images/backend-droplet-fill.svg +3 -0
  559. data/app/assets/images/backend-droplet-half.svg +4 -0
  560. data/app/assets/images/backend-droplet.svg +4 -0
  561. data/app/assets/images/backend-ear-fill.svg +3 -0
  562. data/app/assets/images/backend-ear.svg +3 -0
  563. data/app/assets/images/backend-earbuds.svg +3 -0
  564. data/app/assets/images/backend-easel-fill.svg +3 -0
  565. data/app/assets/images/backend-easel.svg +3 -0
  566. data/app/assets/images/backend-easel2-fill.svg +4 -0
  567. data/app/assets/images/backend-easel2.svg +3 -0
  568. data/app/assets/images/backend-easel3-fill.svg +3 -0
  569. data/app/assets/images/backend-easel3.svg +3 -0
  570. data/app/assets/images/backend-egg-fill.svg +3 -0
  571. data/app/assets/images/backend-egg-fried.svg +4 -0
  572. data/app/assets/images/backend-egg.svg +3 -0
  573. data/app/assets/images/backend-eject-fill.svg +3 -0
  574. data/app/assets/images/backend-eject.svg +3 -0
  575. data/app/assets/images/backend-emoji-angry-fill.svg +3 -0
  576. data/app/assets/images/backend-emoji-angry.svg +4 -0
  577. data/app/assets/images/backend-emoji-dizzy-fill.svg +3 -0
  578. data/app/assets/images/backend-emoji-dizzy.svg +4 -0
  579. data/app/assets/images/backend-emoji-expressionless-fill.svg +3 -0
  580. data/app/assets/images/backend-emoji-expressionless.svg +4 -0
  581. data/app/assets/images/backend-emoji-frown-fill.svg +3 -0
  582. data/app/assets/images/backend-emoji-frown.svg +4 -0
  583. data/app/assets/images/backend-emoji-heart-eyes-fill.svg +3 -0
  584. data/app/assets/images/backend-emoji-heart-eyes.svg +4 -0
  585. data/app/assets/images/backend-emoji-laughing-fill.svg +3 -0
  586. data/app/assets/images/backend-emoji-laughing.svg +4 -0
  587. data/app/assets/images/backend-emoji-neutral-fill.svg +3 -0
  588. data/app/assets/images/backend-emoji-neutral.svg +4 -0
  589. data/app/assets/images/backend-emoji-smile-fill.svg +3 -0
  590. data/app/assets/images/backend-emoji-smile-upside-down-fill.svg +3 -0
  591. data/app/assets/images/backend-emoji-smile-upside-down.svg +4 -0
  592. data/app/assets/images/backend-emoji-smile.svg +4 -0
  593. data/app/assets/images/backend-emoji-sunglasses-fill.svg +3 -0
  594. data/app/assets/images/backend-emoji-sunglasses.svg +4 -0
  595. data/app/assets/images/backend-emoji-wink-fill.svg +3 -0
  596. data/app/assets/images/backend-emoji-wink.svg +4 -0
  597. data/app/assets/images/backend-envelope-check-fill.svg +4 -0
  598. data/app/assets/images/backend-envelope-check.svg +4 -0
  599. data/app/assets/images/backend-envelope-dash-fill.svg +4 -0
  600. data/app/assets/images/backend-envelope-dash.svg +4 -0
  601. data/app/assets/images/backend-envelope-exclamation-fill.svg +4 -0
  602. data/app/assets/images/backend-envelope-exclamation.svg +4 -0
  603. data/app/assets/images/backend-envelope-fill.svg +3 -0
  604. data/app/assets/images/backend-envelope-open-fill.svg +3 -0
  605. data/app/assets/images/backend-envelope-open.svg +3 -0
  606. data/app/assets/images/backend-envelope-plus-fill.svg +4 -0
  607. data/app/assets/images/backend-envelope-plus.svg +4 -0
  608. data/app/assets/images/backend-envelope-slash-fill.svg +4 -0
  609. data/app/assets/images/backend-envelope-slash.svg +4 -0
  610. data/app/assets/images/backend-envelope-x-fill.svg +4 -0
  611. data/app/assets/images/backend-envelope-x.svg +4 -0
  612. data/app/assets/images/backend-envelope.svg +3 -3
  613. data/app/assets/images/backend-eraser-fill.svg +3 -0
  614. data/app/assets/images/backend-eraser.svg +3 -0
  615. data/app/assets/images/backend-ethernet.svg +4 -0
  616. data/app/assets/images/backend-exclamation-circle-fill.svg +3 -0
  617. data/app/assets/images/backend-exclamation-circle.svg +4 -0
  618. data/app/assets/images/backend-exclamation-diamond-fill.svg +3 -0
  619. data/app/assets/images/backend-exclamation-diamond.svg +4 -0
  620. data/app/assets/images/backend-exclamation-lg.svg +3 -0
  621. data/app/assets/images/backend-exclamation-octagon-fill.svg +3 -0
  622. data/app/assets/images/backend-exclamation-octagon.svg +4 -0
  623. data/app/assets/images/backend-exclamation-square-fill.svg +3 -0
  624. data/app/assets/images/backend-exclamation-square.svg +4 -0
  625. data/app/assets/images/backend-exclamation-triangle-fill.svg +3 -0
  626. data/app/assets/images/backend-exclamation-triangle.svg +4 -0
  627. data/app/assets/images/backend-exclamation.svg +3 -0
  628. data/app/assets/images/backend-exclude.svg +3 -0
  629. data/app/assets/images/backend-explicit-fill.svg +3 -0
  630. data/app/assets/images/backend-explicit.svg +4 -0
  631. data/app/assets/images/backend-eye-fill.svg +4 -0
  632. data/app/assets/images/backend-eye-slash.svg +5 -0
  633. data/app/assets/images/backend-eye.svg +4 -0
  634. data/app/assets/images/backend-eyedropper.svg +3 -0
  635. data/app/assets/images/backend-eyeglasses.svg +3 -0
  636. data/app/assets/images/backend-facebook.svg +3 -0
  637. data/app/assets/images/backend-fan.svg +4 -0
  638. data/app/assets/images/backend-file-arrow-down-fill.svg +3 -0
  639. data/app/assets/images/backend-file-arrow-down.svg +4 -0
  640. data/app/assets/images/backend-file-arrow-up-fill.svg +3 -0
  641. data/app/assets/images/backend-file-arrow-up.svg +4 -0
  642. data/app/assets/images/backend-file-bar-graph-fill.svg +3 -0
  643. data/app/assets/images/backend-file-bar-graph.svg +4 -0
  644. data/app/assets/images/backend-file-binary-fill.svg +4 -0
  645. data/app/assets/images/backend-file-binary.svg +4 -0
  646. data/app/assets/images/backend-file-break-fill.svg +3 -0
  647. data/app/assets/images/backend-file-break.svg +3 -0
  648. data/app/assets/images/backend-file-check-fill.svg +3 -0
  649. data/app/assets/images/backend-file-check.svg +4 -0
  650. data/app/assets/images/backend-file-code-fill.svg +3 -0
  651. data/app/assets/images/backend-file-code.svg +4 -0
  652. data/app/assets/images/backend-file-diff-fill.svg +3 -0
  653. data/app/assets/images/backend-file-diff.svg +4 -0
  654. data/app/assets/images/backend-file-earmark-arrow-down-fill.svg +3 -0
  655. data/app/assets/images/backend-file-earmark-arrow-down.svg +4 -0
  656. data/app/assets/images/backend-file-earmark-arrow-up-fill.svg +3 -0
  657. data/app/assets/images/backend-file-earmark-arrow-up.svg +4 -0
  658. data/app/assets/images/backend-file-earmark-bar-graph-fill.svg +3 -0
  659. data/app/assets/images/backend-file-earmark-bar-graph.svg +4 -0
  660. data/app/assets/images/backend-file-earmark-binary-fill.svg +4 -0
  661. data/app/assets/images/backend-file-earmark-binary.svg +4 -0
  662. data/app/assets/images/backend-file-earmark-break-fill.svg +3 -0
  663. data/app/assets/images/backend-file-earmark-break.svg +3 -0
  664. data/app/assets/images/backend-file-earmark-check-fill.svg +3 -0
  665. data/app/assets/images/backend-file-earmark-check.svg +4 -0
  666. data/app/assets/images/backend-file-earmark-code-fill.svg +3 -0
  667. data/app/assets/images/backend-file-earmark-code.svg +4 -0
  668. data/app/assets/images/backend-file-earmark-diff-fill.svg +3 -0
  669. data/app/assets/images/backend-file-earmark-diff.svg +4 -0
  670. data/app/assets/images/backend-file-earmark-easel-fill.svg +4 -0
  671. data/app/assets/images/backend-file-earmark-easel.svg +4 -0
  672. data/app/assets/images/backend-file-earmark-excel-fill.svg +3 -0
  673. data/app/assets/images/backend-file-earmark-excel.svg +4 -0
  674. data/app/assets/images/backend-file-earmark-fill.svg +3 -0
  675. data/app/assets/images/backend-file-earmark-font-fill.svg +3 -0
  676. data/app/assets/images/backend-file-earmark-image-fill.svg +4 -0
  677. data/app/assets/images/backend-file-earmark-lock-fill.svg +4 -0
  678. data/app/assets/images/backend-file-earmark-lock.svg +4 -0
  679. data/app/assets/images/backend-file-earmark-lock2-fill.svg +4 -0
  680. data/app/assets/images/backend-file-earmark-lock2.svg +4 -0
  681. data/app/assets/images/backend-file-earmark-medical-fill.svg +3 -0
  682. data/app/assets/images/backend-file-earmark-medical.svg +4 -0
  683. data/app/assets/images/backend-file-earmark-minus-fill.svg +3 -0
  684. data/app/assets/images/backend-file-earmark-minus.svg +4 -0
  685. data/app/assets/images/backend-file-earmark-music-fill.svg +3 -0
  686. data/app/assets/images/backend-file-earmark-pdf-fill.svg +4 -0
  687. data/app/assets/images/backend-file-earmark-person-fill.svg +3 -0
  688. data/app/assets/images/backend-file-earmark-person.svg +4 -0
  689. data/app/assets/images/backend-file-earmark-play-fill.svg +3 -0
  690. data/app/assets/images/backend-file-earmark-plus-fill.svg +3 -0
  691. data/app/assets/images/backend-file-earmark-plus.svg +4 -0
  692. data/app/assets/images/backend-file-earmark-post-fill.svg +3 -0
  693. data/app/assets/images/backend-file-earmark-post.svg +4 -0
  694. data/app/assets/images/backend-file-earmark-ppt-fill.svg +4 -0
  695. data/app/assets/images/backend-file-earmark-ppt.svg +4 -0
  696. data/app/assets/images/backend-file-earmark-richtext-fill.svg +3 -0
  697. data/app/assets/images/backend-file-earmark-richtext.svg +4 -0
  698. data/app/assets/images/backend-file-earmark-ruled-fill.svg +3 -0
  699. data/app/assets/images/backend-file-earmark-ruled.svg +3 -0
  700. data/app/assets/images/backend-file-earmark-slides-fill.svg +4 -0
  701. data/app/assets/images/backend-file-earmark-slides.svg +4 -0
  702. data/app/assets/images/backend-file-earmark-spreadsheet-fill.svg +4 -0
  703. data/app/assets/images/backend-file-earmark-text-fill.svg +3 -0
  704. data/app/assets/images/backend-file-earmark-text.svg +4 -0
  705. data/app/assets/images/backend-file-earmark-word-fill.svg +3 -0
  706. data/app/assets/images/backend-file-earmark-word.svg +4 -0
  707. data/app/assets/images/backend-file-earmark-x-fill.svg +3 -0
  708. data/app/assets/images/backend-file-earmark-x.svg +4 -0
  709. data/app/assets/images/backend-file-earmark-zip-fill.svg +4 -0
  710. data/app/assets/images/backend-file-easel-fill.svg +4 -0
  711. data/app/assets/images/backend-file-easel.svg +4 -0
  712. data/app/assets/images/backend-file-excel-fill.svg +3 -0
  713. data/app/assets/images/backend-file-excel.svg +4 -0
  714. data/app/assets/images/backend-file-fill.svg +3 -0
  715. data/app/assets/images/backend-file-font-fill.svg +3 -0
  716. data/app/assets/images/backend-file-font.svg +4 -0
  717. data/app/assets/images/backend-file-image-fill.svg +4 -0
  718. data/app/assets/images/backend-file-image.svg +4 -0
  719. data/app/assets/images/backend-file-lock-fill.svg +4 -0
  720. data/app/assets/images/backend-file-lock.svg +4 -0
  721. data/app/assets/images/backend-file-lock2-fill.svg +4 -0
  722. data/app/assets/images/backend-file-lock2.svg +4 -0
  723. data/app/assets/images/backend-file-medical-fill.svg +3 -0
  724. data/app/assets/images/backend-file-medical.svg +4 -0
  725. data/app/assets/images/backend-file-minus-fill.svg +3 -0
  726. data/app/assets/images/backend-file-minus.svg +4 -0
  727. data/app/assets/images/backend-file-music-fill.svg +3 -0
  728. data/app/assets/images/backend-file-music.svg +4 -0
  729. data/app/assets/images/backend-file-pdf-fill.svg +4 -0
  730. data/app/assets/images/backend-file-pdf.svg +4 -0
  731. data/app/assets/images/backend-file-person-fill.svg +3 -0
  732. data/app/assets/images/backend-file-person.svg +4 -0
  733. data/app/assets/images/backend-file-play-fill.svg +3 -0
  734. data/app/assets/images/backend-file-play.svg +4 -0
  735. data/app/assets/images/backend-file-plus-fill.svg +3 -0
  736. data/app/assets/images/backend-file-plus.svg +4 -0
  737. data/app/assets/images/backend-file-post-fill.svg +3 -0
  738. data/app/assets/images/backend-file-post.svg +4 -0
  739. data/app/assets/images/backend-file-ppt-fill.svg +4 -0
  740. data/app/assets/images/backend-file-ppt.svg +4 -0
  741. data/app/assets/images/backend-file-richtext-fill.svg +3 -0
  742. data/app/assets/images/backend-file-ruled-fill.svg +3 -0
  743. data/app/assets/images/backend-file-ruled.svg +3 -0
  744. data/app/assets/images/backend-file-slides-fill.svg +4 -0
  745. data/app/assets/images/backend-file-slides.svg +4 -0
  746. data/app/assets/images/backend-file-spreadsheet-fill.svg +3 -0
  747. data/app/assets/images/backend-file-spreadsheet.svg +3 -0
  748. data/app/assets/images/backend-file-text-fill.svg +3 -0
  749. data/app/assets/images/backend-file-text.svg +4 -0
  750. data/app/assets/images/backend-file-word-fill.svg +3 -0
  751. data/app/assets/images/backend-file-word.svg +4 -0
  752. data/app/assets/images/backend-file-x-fill.svg +3 -0
  753. data/app/assets/images/backend-file-x.svg +4 -0
  754. data/app/assets/images/backend-file-zip-fill.svg +4 -0
  755. data/app/assets/images/backend-file-zip.svg +4 -0
  756. data/app/assets/images/backend-file.svg +3 -6
  757. data/app/assets/images/backend-files-alt.svg +3 -0
  758. data/app/assets/images/backend-files.svg +3 -0
  759. data/app/assets/images/backend-film.svg +3 -0
  760. data/app/assets/images/backend-filter-circle-fill.svg +3 -0
  761. data/app/assets/images/backend-filter-circle.svg +4 -0
  762. data/app/assets/images/backend-filter-left.svg +3 -0
  763. data/app/assets/images/backend-filter-right.svg +3 -0
  764. data/app/assets/images/backend-filter-square-fill.svg +3 -0
  765. data/app/assets/images/backend-filter-square.svg +4 -0
  766. data/app/assets/images/backend-filter.svg +3 -3
  767. data/app/assets/images/backend-fingerprint.svg +7 -0
  768. data/app/assets/images/backend-flag-fill.svg +3 -0
  769. data/app/assets/images/backend-flag.svg +3 -0
  770. data/app/assets/images/backend-flower1.svg +3 -0
  771. data/app/assets/images/backend-flower2.svg +3 -0
  772. data/app/assets/images/backend-flower3.svg +3 -0
  773. data/app/assets/images/backend-folder-check.svg +4 -0
  774. data/app/assets/images/backend-folder-fill.svg +3 -0
  775. data/app/assets/images/backend-folder-minus.svg +4 -0
  776. data/app/assets/images/backend-folder-plus.svg +4 -0
  777. data/app/assets/images/backend-folder-symlink-fill.svg +3 -0
  778. data/app/assets/images/backend-folder-symlink.svg +4 -0
  779. data/app/assets/images/backend-folder-x.svg +4 -0
  780. data/app/assets/images/backend-folder.svg +3 -4
  781. data/app/assets/images/backend-folder2-open.svg +3 -0
  782. data/app/assets/images/backend-folder2.svg +3 -0
  783. data/app/assets/images/backend-fonts.svg +3 -0
  784. data/app/assets/images/backend-forward-fill.svg +3 -0
  785. data/app/assets/images/backend-forward.svg +3 -0
  786. data/app/assets/images/backend-front.svg +3 -0
  787. data/app/assets/images/backend-funnel-fill.svg +3 -0
  788. data/app/assets/images/backend-funnel.svg +3 -0
  789. data/app/assets/images/backend-gear-fill.svg +3 -0
  790. data/app/assets/images/backend-gear-wide-connected.svg +3 -0
  791. data/app/assets/images/backend-gear-wide.svg +3 -0
  792. data/app/assets/images/backend-gear.svg +4 -0
  793. data/app/assets/images/backend-gem.svg +3 -0
  794. data/app/assets/images/backend-gender-ambiguous.svg +3 -0
  795. data/app/assets/images/backend-gender-female.svg +3 -0
  796. data/app/assets/images/backend-gender-male.svg +3 -0
  797. data/app/assets/images/backend-gender-trans.svg +3 -0
  798. data/app/assets/images/backend-geo-alt-fill.svg +3 -0
  799. data/app/assets/images/backend-geo-alt.svg +4 -0
  800. data/app/assets/images/backend-geo-fill.svg +3 -0
  801. data/app/assets/images/backend-geo.svg +3 -0
  802. data/app/assets/images/backend-gift-fill.svg +3 -0
  803. data/app/assets/images/backend-gift.svg +3 -0
  804. data/app/assets/images/backend-git.svg +3 -0
  805. data/app/assets/images/backend-github.svg +3 -0
  806. data/app/assets/images/backend-globe.svg +3 -0
  807. data/app/assets/images/backend-globe2.svg +3 -0
  808. data/app/assets/images/backend-google.svg +3 -0
  809. data/app/assets/images/backend-gpu-card.svg +5 -0
  810. data/app/assets/images/backend-graph-down-arrow.svg +3 -0
  811. data/app/assets/images/backend-graph-down.svg +3 -0
  812. data/app/assets/images/backend-graph-up-arrow.svg +3 -0
  813. data/app/assets/images/backend-graph-up.svg +3 -0
  814. data/app/assets/images/backend-grid-1x2-fill.svg +3 -0
  815. data/app/assets/images/backend-grid-1x2.svg +3 -0
  816. data/app/assets/images/backend-grid-3x2-gap-fill.svg +3 -0
  817. data/app/assets/images/backend-grid-3x2-gap.svg +3 -0
  818. data/app/assets/images/backend-grid-3x2.svg +3 -0
  819. data/app/assets/images/backend-grid-3x3-gap-fill.svg +3 -0
  820. data/app/assets/images/backend-grid-3x3-gap.svg +3 -0
  821. data/app/assets/images/backend-grid-3x3.svg +3 -0
  822. data/app/assets/images/backend-grid-fill.svg +3 -0
  823. data/app/assets/images/backend-grid.svg +3 -0
  824. data/app/assets/images/backend-grip-horizontal.svg +3 -0
  825. data/app/assets/images/backend-grip-vertical.svg +3 -0
  826. data/app/assets/images/backend-hammer.svg +3 -0
  827. data/app/assets/images/backend-hand-index-fill.svg +3 -0
  828. data/app/assets/images/backend-hand-index-thumb-fill.svg +3 -0
  829. data/app/assets/images/backend-hand-index-thumb.svg +3 -0
  830. data/app/assets/images/backend-hand-index.svg +3 -0
  831. data/app/assets/images/backend-hand-thumbs-down-fill.svg +3 -0
  832. data/app/assets/images/backend-hand-thumbs-down.svg +3 -0
  833. data/app/assets/images/backend-hand-thumbs-up-fill.svg +3 -0
  834. data/app/assets/images/backend-hand-thumbs-up.svg +3 -0
  835. data/app/assets/images/backend-handbag-fill.svg +3 -0
  836. data/app/assets/images/backend-handbag.svg +3 -0
  837. data/app/assets/images/backend-hash.svg +3 -0
  838. data/app/assets/images/backend-hdd-fill.svg +3 -0
  839. data/app/assets/images/backend-hdd-network-fill.svg +3 -0
  840. data/app/assets/images/backend-hdd-network.svg +4 -0
  841. data/app/assets/images/backend-hdd-rack-fill.svg +3 -0
  842. data/app/assets/images/backend-hdd-rack.svg +4 -0
  843. data/app/assets/images/backend-hdd-stack-fill.svg +3 -0
  844. data/app/assets/images/backend-hdd-stack.svg +5 -0
  845. data/app/assets/images/backend-hdmi-fill.svg +3 -0
  846. data/app/assets/images/backend-hdmi.svg +4 -0
  847. data/app/assets/images/backend-headphones.svg +3 -0
  848. data/app/assets/images/backend-headset-vr.svg +4 -0
  849. data/app/assets/images/backend-headset.svg +3 -0
  850. data/app/assets/images/backend-heart-fill.svg +3 -0
  851. data/app/assets/images/backend-heart-half.svg +3 -0
  852. data/app/assets/images/backend-heart.svg +3 -0
  853. data/app/assets/images/backend-heptagon-fill.svg +3 -0
  854. data/app/assets/images/backend-heptagon-half.svg +3 -0
  855. data/app/assets/images/backend-heptagon.svg +3 -0
  856. data/app/assets/images/backend-hexagon-fill.svg +3 -0
  857. data/app/assets/images/backend-hexagon-half.svg +3 -0
  858. data/app/assets/images/backend-hexagon.svg +3 -0
  859. data/app/assets/images/backend-hourglass-bottom.svg +3 -0
  860. data/app/assets/images/backend-hourglass-split.svg +3 -0
  861. data/app/assets/images/backend-hourglass-top.svg +3 -0
  862. data/app/assets/images/backend-hourglass.svg +3 -0
  863. data/app/assets/images/backend-house-door-fill.svg +3 -0
  864. data/app/assets/images/backend-house-door.svg +3 -0
  865. data/app/assets/images/backend-house-fill.svg +4 -0
  866. data/app/assets/images/backend-house.svg +4 -0
  867. data/app/assets/images/backend-hr.svg +3 -0
  868. data/app/assets/images/backend-hurricane.svg +3 -0
  869. data/app/assets/images/backend-hypnotize.svg +4 -0
  870. data/app/assets/images/backend-image-alt.svg +3 -0
  871. data/app/assets/images/backend-image-fill.svg +3 -0
  872. data/app/assets/images/backend-image.svg +4 -0
  873. data/app/assets/images/backend-images.svg +4 -7
  874. data/app/assets/images/backend-inbox-fill.svg +3 -0
  875. data/app/assets/images/backend-inbox.svg +3 -0
  876. data/app/assets/images/backend-inboxes-fill.svg +3 -0
  877. data/app/assets/images/backend-inboxes.svg +3 -0
  878. data/app/assets/images/backend-infinity.svg +3 -0
  879. data/app/assets/images/backend-info-circle-fill.svg +3 -0
  880. data/app/assets/images/backend-info-circle.svg +4 -0
  881. data/app/assets/images/backend-info-lg.svg +3 -0
  882. data/app/assets/images/backend-info-square-fill.svg +3 -0
  883. data/app/assets/images/backend-info-square.svg +4 -0
  884. data/app/assets/images/backend-info.svg +3 -7
  885. data/app/assets/images/backend-input-cursor-text.svg +4 -0
  886. data/app/assets/images/backend-input-cursor.svg +4 -0
  887. data/app/assets/images/backend-instagram.svg +3 -0
  888. data/app/assets/images/backend-intersect.svg +3 -0
  889. data/app/assets/images/backend-journal-album.svg +5 -0
  890. data/app/assets/images/backend-journal-arrow-down.svg +5 -0
  891. data/app/assets/images/backend-journal-arrow-up.svg +5 -0
  892. data/app/assets/images/backend-journal-bookmark-fill.svg +5 -0
  893. data/app/assets/images/backend-journal-bookmark.svg +5 -0
  894. data/app/assets/images/backend-journal-check.svg +5 -0
  895. data/app/assets/images/backend-journal-code.svg +5 -0
  896. data/app/assets/images/backend-journal-medical.svg +5 -0
  897. data/app/assets/images/backend-journal-minus.svg +5 -0
  898. data/app/assets/images/backend-journal-plus.svg +5 -0
  899. data/app/assets/images/backend-journal-richtext.svg +5 -0
  900. data/app/assets/images/backend-journal-text.svg +5 -0
  901. data/app/assets/images/backend-journal-x.svg +5 -0
  902. data/app/assets/images/backend-journal.svg +4 -0
  903. data/app/assets/images/backend-journals.svg +4 -0
  904. data/app/assets/images/backend-joystick.svg +4 -0
  905. data/app/assets/images/backend-justify-left.svg +3 -0
  906. data/app/assets/images/backend-justify-right.svg +3 -0
  907. data/app/assets/images/backend-justify.svg +3 -0
  908. data/app/assets/images/backend-kanban-fill.svg +3 -0
  909. data/app/assets/images/backend-kanban.svg +4 -0
  910. data/app/assets/images/backend-key-fill.svg +3 -0
  911. data/app/assets/images/backend-key.svg +4 -0
  912. data/app/assets/images/backend-keyboard-fill.svg +3 -0
  913. data/app/assets/images/backend-keyboard.svg +4 -0
  914. data/app/assets/images/backend-ladder.svg +3 -0
  915. data/app/assets/images/backend-lamp-fill.svg +4 -0
  916. data/app/assets/images/backend-lamp.svg +4 -0
  917. data/app/assets/images/backend-laptop-fill.svg +3 -0
  918. data/app/assets/images/backend-laptop.svg +3 -0
  919. data/app/assets/images/backend-layer-backward.svg +4 -0
  920. data/app/assets/images/backend-layer-forward.svg +4 -0
  921. data/app/assets/images/backend-layers-fill.svg +4 -0
  922. data/app/assets/images/backend-layers-half.svg +3 -0
  923. data/app/assets/images/backend-layers.svg +3 -0
  924. data/app/assets/images/backend-layout-sidebar-inset-reverse.svg +4 -0
  925. data/app/assets/images/backend-layout-sidebar-inset.svg +4 -0
  926. data/app/assets/images/backend-layout-sidebar-reverse.svg +3 -0
  927. data/app/assets/images/backend-layout-sidebar.svg +3 -0
  928. data/app/assets/images/backend-layout-split.svg +3 -0
  929. data/app/assets/images/backend-layout-text-sidebar-reverse.svg +4 -0
  930. data/app/assets/images/backend-layout-text-sidebar.svg +4 -0
  931. data/app/assets/images/backend-layout-text-window-reverse.svg +4 -0
  932. data/app/assets/images/backend-layout-text-window.svg +4 -0
  933. data/app/assets/images/backend-layout-three-columns.svg +3 -0
  934. data/app/assets/images/backend-layout-wtf.svg +3 -0
  935. data/app/assets/images/backend-life-preserver.svg +3 -0
  936. data/app/assets/images/backend-lightbulb-fill.svg +3 -0
  937. data/app/assets/images/backend-lightbulb-off-fill.svg +3 -0
  938. data/app/assets/images/backend-lightbulb-off.svg +3 -0
  939. data/app/assets/images/backend-lightbulb.svg +3 -0
  940. data/app/assets/images/backend-lightning-charge-fill.svg +3 -0
  941. data/app/assets/images/backend-lightning-charge.svg +3 -0
  942. data/app/assets/images/backend-lightning-fill.svg +3 -0
  943. data/app/assets/images/backend-lightning.svg +3 -0
  944. data/app/assets/images/backend-line.svg +3 -0
  945. data/app/assets/images/backend-link-45deg.svg +4 -0
  946. data/app/assets/images/backend-link.svg +3 -3
  947. data/app/assets/images/backend-linkedin.svg +3 -0
  948. data/app/assets/images/backend-list-check.svg +3 -0
  949. data/app/assets/images/backend-list-columns-reverse.svg +3 -0
  950. data/app/assets/images/backend-list-columns.svg +3 -0
  951. data/app/assets/images/backend-list-nested.svg +3 -0
  952. data/app/assets/images/backend-list-ol.svg +4 -0
  953. data/app/assets/images/backend-list-stars.svg +4 -0
  954. data/app/assets/images/backend-list-task.svg +5 -0
  955. data/app/assets/images/backend-list-ul.svg +3 -0
  956. data/app/assets/images/backend-list.svg +3 -5
  957. data/app/assets/images/backend-lock-fill.svg +3 -0
  958. data/app/assets/images/backend-lock.svg +3 -0
  959. data/app/assets/images/backend-magic.svg +3 -0
  960. data/app/assets/images/backend-mailbox.svg +4 -0
  961. data/app/assets/images/backend-mailbox2.svg +4 -0
  962. data/app/assets/images/backend-map-fill.svg +3 -0
  963. data/app/assets/images/backend-map.svg +3 -0
  964. data/app/assets/images/backend-markdown-fill.svg +3 -0
  965. data/app/assets/images/backend-markdown.svg +6 -0
  966. data/app/assets/images/backend-mask.svg +3 -0
  967. data/app/assets/images/backend-mastodon.svg +3 -0
  968. data/app/assets/images/backend-medium.svg +3 -0
  969. data/app/assets/images/backend-megaphone-fill.svg +3 -0
  970. data/app/assets/images/backend-megaphone.svg +3 -0
  971. data/app/assets/images/backend-memory.svg +3 -0
  972. data/app/assets/images/backend-menu-app-fill.svg +3 -0
  973. data/app/assets/images/backend-menu-app.svg +3 -0
  974. data/app/assets/images/backend-menu-button-fill.svg +3 -0
  975. data/app/assets/images/backend-menu-button-wide-fill.svg +3 -0
  976. data/app/assets/images/backend-menu-button-wide.svg +4 -0
  977. data/app/assets/images/backend-menu-button.svg +4 -0
  978. data/app/assets/images/backend-menu-down.svg +3 -0
  979. data/app/assets/images/backend-menu-up.svg +3 -0
  980. data/app/assets/images/backend-messenger.svg +3 -0
  981. data/app/assets/images/backend-meta.svg +3 -0
  982. data/app/assets/images/backend-mic-fill.svg +4 -0
  983. data/app/assets/images/backend-mic-mute-fill.svg +4 -0
  984. data/app/assets/images/backend-mic-mute.svg +4 -0
  985. data/app/assets/images/backend-mic.svg +4 -0
  986. data/app/assets/images/backend-microsoft.svg +3 -0
  987. data/app/assets/images/backend-minecart-loaded.svg +4 -0
  988. data/app/assets/images/backend-minecart.svg +3 -0
  989. data/app/assets/images/backend-modem-fill.svg +3 -0
  990. data/app/assets/images/backend-modem.svg +4 -0
  991. data/app/assets/images/backend-moisture.svg +3 -0
  992. data/app/assets/images/backend-moon-fill.svg +3 -0
  993. data/app/assets/images/backend-moon-stars-fill.svg +4 -0
  994. data/app/assets/images/backend-moon-stars.svg +4 -0
  995. data/app/assets/images/backend-moon.svg +3 -0
  996. data/app/assets/images/backend-mortarboard-fill.svg +4 -0
  997. data/app/assets/images/backend-mortarboard.svg +4 -0
  998. data/app/assets/images/backend-motherboard-fill.svg +4 -0
  999. data/app/assets/images/backend-motherboard.svg +4 -0
  1000. data/app/assets/images/backend-mouse-fill.svg +3 -0
  1001. data/app/assets/images/backend-mouse.svg +3 -0
  1002. data/app/assets/images/backend-mouse2-fill.svg +3 -0
  1003. data/app/assets/images/backend-mouse2.svg +3 -0
  1004. data/app/assets/images/backend-mouse3-fill.svg +3 -0
  1005. data/app/assets/images/backend-mouse3.svg +3 -0
  1006. data/app/assets/images/backend-music-note-beamed.svg +5 -0
  1007. data/app/assets/images/backend-music-note-list.svg +6 -0
  1008. data/app/assets/images/backend-music-note.svg +5 -0
  1009. data/app/assets/images/backend-music-player-fill.svg +4 -0
  1010. data/app/assets/images/backend-music-player.svg +5 -0
  1011. data/app/assets/images/backend-newspaper.svg +4 -0
  1012. data/app/assets/images/backend-nintendo-switch.svg +4 -0
  1013. data/app/assets/images/backend-node-minus-fill.svg +3 -0
  1014. data/app/assets/images/backend-node-minus.svg +3 -0
  1015. data/app/assets/images/backend-node-plus-fill.svg +3 -0
  1016. data/app/assets/images/backend-node-plus.svg +3 -0
  1017. data/app/assets/images/backend-nut-fill.svg +3 -0
  1018. data/app/assets/images/backend-nut.svg +4 -0
  1019. data/app/assets/images/backend-octagon-fill.svg +3 -0
  1020. data/app/assets/images/backend-octagon-half.svg +3 -0
  1021. data/app/assets/images/backend-octagon.svg +3 -0
  1022. data/app/assets/images/backend-optical-audio-fill.svg +4 -0
  1023. data/app/assets/images/backend-optical-audio.svg +5 -0
  1024. data/app/assets/images/backend-option.svg +3 -0
  1025. data/app/assets/images/backend-outlet.svg +4 -0
  1026. data/app/assets/images/backend-paint-bucket.svg +3 -0
  1027. data/app/assets/images/backend-palette-fill.svg +3 -0
  1028. data/app/assets/images/backend-palette.svg +4 -0
  1029. data/app/assets/images/backend-palette2.svg +4 -0
  1030. data/app/assets/images/backend-paperclip.svg +3 -0
  1031. data/app/assets/images/backend-paragraph.svg +3 -0
  1032. data/app/assets/images/backend-patch-check-fill.svg +3 -0
  1033. data/app/assets/images/backend-patch-check.svg +4 -0
  1034. data/app/assets/images/backend-patch-exclamation-fill.svg +3 -0
  1035. data/app/assets/images/backend-patch-exclamation.svg +4 -0
  1036. data/app/assets/images/backend-patch-minus-fill.svg +3 -0
  1037. data/app/assets/images/backend-patch-minus.svg +4 -0
  1038. data/app/assets/images/backend-patch-plus-fill.svg +3 -0
  1039. data/app/assets/images/backend-patch-plus.svg +4 -0
  1040. data/app/assets/images/backend-patch-question-fill.svg +3 -0
  1041. data/app/assets/images/backend-patch-question.svg +5 -0
  1042. data/app/assets/images/backend-pause-btn-fill.svg +3 -0
  1043. data/app/assets/images/backend-pause-btn.svg +4 -0
  1044. data/app/assets/images/backend-pause-circle-fill.svg +3 -0
  1045. data/app/assets/images/backend-pause-circle.svg +4 -0
  1046. data/app/assets/images/backend-pause-fill.svg +3 -0
  1047. data/app/assets/images/backend-pause.svg +3 -0
  1048. data/app/assets/images/backend-paypal.svg +3 -0
  1049. data/app/assets/images/backend-pc-display-horizontal.svg +3 -0
  1050. data/app/assets/images/backend-pc-display.svg +3 -0
  1051. data/app/assets/images/backend-pc-horizontal.svg +3 -0
  1052. data/app/assets/images/backend-pc.svg +3 -0
  1053. data/app/assets/images/backend-pci-card.svg +4 -0
  1054. data/app/assets/images/backend-peace-fill.svg +3 -0
  1055. data/app/assets/images/backend-peace.svg +3 -0
  1056. data/app/assets/images/backend-pen-fill.svg +3 -0
  1057. data/app/assets/images/backend-pen.svg +3 -0
  1058. data/app/assets/images/backend-pencil-fill.svg +3 -0
  1059. data/app/assets/images/backend-pencil-square.svg +4 -0
  1060. data/app/assets/images/backend-pencil.svg +3 -1
  1061. data/app/assets/images/backend-pentagon-fill.svg +3 -0
  1062. data/app/assets/images/backend-pentagon-half.svg +3 -0
  1063. data/app/assets/images/backend-pentagon.svg +3 -0
  1064. data/app/assets/images/backend-people-fill.svg +5 -0
  1065. data/app/assets/images/backend-people.svg +3 -0
  1066. data/app/assets/images/backend-percent.svg +3 -0
  1067. data/app/assets/images/backend-person-badge-fill.svg +3 -0
  1068. data/app/assets/images/backend-person-badge.svg +4 -0
  1069. data/app/assets/images/backend-person-bounding-box.svg +4 -0
  1070. data/app/assets/images/backend-person-check-fill.svg +4 -0
  1071. data/app/assets/images/backend-person-check.svg +4 -0
  1072. data/app/assets/images/backend-person-circle.svg +4 -0
  1073. data/app/assets/images/backend-person-dash-fill.svg +4 -0
  1074. data/app/assets/images/backend-person-dash.svg +4 -0
  1075. data/app/assets/images/backend-person-fill.svg +3 -0
  1076. data/app/assets/images/backend-person-lines-fill.svg +3 -0
  1077. data/app/assets/images/backend-person-plus-fill.svg +4 -0
  1078. data/app/assets/images/backend-person-plus.svg +4 -0
  1079. data/app/assets/images/backend-person-rolodex.svg +4 -0
  1080. data/app/assets/images/backend-person-square.svg +4 -0
  1081. data/app/assets/images/backend-person-video.svg +4 -0
  1082. data/app/assets/images/backend-person-video2.svg +4 -0
  1083. data/app/assets/images/backend-person-video3.svg +4 -0
  1084. data/app/assets/images/backend-person-workspace.svg +4 -0
  1085. data/app/assets/images/backend-person-x-fill.svg +3 -0
  1086. data/app/assets/images/backend-person-x.svg +4 -0
  1087. data/app/assets/images/backend-person.svg +3 -0
  1088. data/app/assets/images/backend-phone-fill.svg +3 -0
  1089. data/app/assets/images/backend-phone-landscape-fill.svg +3 -0
  1090. data/app/assets/images/backend-phone-landscape.svg +4 -0
  1091. data/app/assets/images/backend-phone-vibrate-fill.svg +3 -0
  1092. data/app/assets/images/backend-phone-vibrate.svg +4 -0
  1093. data/app/assets/images/backend-pie-chart-fill.svg +3 -0
  1094. data/app/assets/images/backend-pie-chart.svg +3 -0
  1095. data/app/assets/images/backend-piggy-bank-fill.svg +3 -0
  1096. data/app/assets/images/backend-piggy-bank.svg +4 -0
  1097. data/app/assets/images/backend-pin-angle-fill.svg +3 -0
  1098. data/app/assets/images/backend-pin-angle.svg +3 -0
  1099. data/app/assets/images/backend-pin-fill.svg +3 -0
  1100. data/app/assets/images/backend-pin-map-fill.svg +4 -0
  1101. data/app/assets/images/backend-pin-map.svg +4 -0
  1102. data/app/assets/images/backend-pin.svg +3 -0
  1103. data/app/assets/images/backend-pinterest.svg +3 -0
  1104. data/app/assets/images/backend-pip-fill.svg +3 -0
  1105. data/app/assets/images/backend-pip.svg +4 -0
  1106. data/app/assets/images/backend-play-btn-fill.svg +3 -0
  1107. data/app/assets/images/backend-play-btn.svg +4 -0
  1108. data/app/assets/images/backend-play-circle-fill.svg +3 -0
  1109. data/app/assets/images/backend-play-circle.svg +4 -0
  1110. data/app/assets/images/backend-play-fill.svg +3 -0
  1111. data/app/assets/images/backend-play.svg +3 -0
  1112. data/app/assets/images/backend-playstation.svg +3 -0
  1113. data/app/assets/images/backend-plug-fill.svg +3 -0
  1114. data/app/assets/images/backend-plug.svg +3 -0
  1115. data/app/assets/images/backend-plus-circle-dotted.svg +3 -0
  1116. data/app/assets/images/backend-plus-circle-fill.svg +3 -0
  1117. data/app/assets/images/backend-plus-circle.svg +4 -0
  1118. data/app/assets/images/backend-plus-lg.svg +3 -0
  1119. data/app/assets/images/backend-plus-slash-minus.svg +3 -0
  1120. data/app/assets/images/backend-plus-square-dotted.svg +3 -0
  1121. data/app/assets/images/backend-plus-square-fill.svg +3 -0
  1122. data/app/assets/images/backend-plus-square.svg +4 -0
  1123. data/app/assets/images/backend-plus.svg +3 -0
  1124. data/app/assets/images/backend-power.svg +4 -0
  1125. data/app/assets/images/backend-printer-fill.svg +4 -0
  1126. data/app/assets/images/backend-printer.svg +4 -0
  1127. data/app/assets/images/backend-projector-fill.svg +3 -0
  1128. data/app/assets/images/backend-projector.svg +4 -0
  1129. data/app/assets/images/backend-puzzle-fill.svg +3 -0
  1130. data/app/assets/images/backend-puzzle.svg +3 -0
  1131. data/app/assets/images/backend-qr-code-scan.svg +7 -0
  1132. data/app/assets/images/backend-qr-code.svg +7 -0
  1133. data/app/assets/images/backend-question-circle-fill.svg +3 -0
  1134. data/app/assets/images/backend-question-circle.svg +4 -0
  1135. data/app/assets/images/backend-question-diamond-fill.svg +3 -0
  1136. data/app/assets/images/backend-question-diamond.svg +4 -0
  1137. data/app/assets/images/backend-question-lg.svg +3 -0
  1138. data/app/assets/images/backend-question-octagon-fill.svg +3 -0
  1139. data/app/assets/images/backend-question-octagon.svg +4 -0
  1140. data/app/assets/images/backend-question-square-fill.svg +3 -0
  1141. data/app/assets/images/backend-question-square.svg +4 -0
  1142. data/app/assets/images/backend-question.svg +3 -0
  1143. data/app/assets/images/backend-quora.svg +3 -0
  1144. data/app/assets/images/backend-quote.svg +3 -0
  1145. data/app/assets/images/backend-radioactive.svg +4 -0
  1146. data/app/assets/images/backend-rainbow.svg +3 -0
  1147. data/app/assets/images/backend-receipt-cutoff.svg +4 -0
  1148. data/app/assets/images/backend-receipt.svg +4 -0
  1149. data/app/assets/images/backend-reception-0.svg +3 -0
  1150. data/app/assets/images/backend-reception-1.svg +3 -0
  1151. data/app/assets/images/backend-reception-2.svg +3 -0
  1152. data/app/assets/images/backend-reception-3.svg +3 -0
  1153. data/app/assets/images/backend-reception-4.svg +3 -0
  1154. data/app/assets/images/backend-record-btn-fill.svg +3 -0
  1155. data/app/assets/images/backend-record-btn.svg +4 -0
  1156. data/app/assets/images/backend-record-circle-fill.svg +3 -0
  1157. data/app/assets/images/backend-record-circle.svg +4 -0
  1158. data/app/assets/images/backend-record-fill.svg +3 -0
  1159. data/app/assets/images/backend-record.svg +3 -0
  1160. data/app/assets/images/backend-record2-fill.svg +4 -0
  1161. data/app/assets/images/backend-record2.svg +4 -0
  1162. data/app/assets/images/backend-recycle.svg +3 -5
  1163. data/app/assets/images/backend-reddit.svg +4 -0
  1164. data/app/assets/images/backend-reply-all-fill.svg +4 -0
  1165. data/app/assets/images/backend-reply-all.svg +4 -0
  1166. data/app/assets/images/backend-reply-fill.svg +3 -0
  1167. data/app/assets/images/backend-reply.svg +3 -0
  1168. data/app/assets/images/backend-robot.svg +4 -0
  1169. data/app/assets/images/backend-router-fill.svg +6 -0
  1170. data/app/assets/images/backend-router.svg +6 -0
  1171. data/app/assets/images/backend-rss-fill.svg +3 -0
  1172. data/app/assets/images/backend-rss.svg +4 -0
  1173. data/app/assets/images/backend-rulers.svg +3 -0
  1174. data/app/assets/images/backend-safe-fill.svg +4 -0
  1175. data/app/assets/images/backend-safe.svg +4 -0
  1176. data/app/assets/images/backend-safe2-fill.svg +4 -0
  1177. data/app/assets/images/backend-safe2.svg +4 -0
  1178. data/app/assets/images/backend-save-fill.svg +3 -0
  1179. data/app/assets/images/backend-save.svg +3 -3
  1180. data/app/assets/images/backend-save2-fill.svg +3 -0
  1181. data/app/assets/images/backend-save2.svg +3 -0
  1182. data/app/assets/images/backend-scissors.svg +3 -0
  1183. data/app/assets/images/backend-screwdriver.svg +3 -0
  1184. data/app/assets/images/backend-sd-card-fill.svg +3 -0
  1185. data/app/assets/images/backend-sd-card.svg +4 -0
  1186. data/app/assets/images/backend-search.svg +3 -1
  1187. data/app/assets/images/backend-segmented-nav.svg +3 -0
  1188. data/app/assets/images/backend-send-check-fill.svg +4 -0
  1189. data/app/assets/images/backend-send-check.svg +4 -0
  1190. data/app/assets/images/backend-send-dash-fill.svg +4 -0
  1191. data/app/assets/images/backend-send-dash.svg +4 -0
  1192. data/app/assets/images/backend-send-exclamation-fill.svg +4 -0
  1193. data/app/assets/images/backend-send-exclamation.svg +4 -0
  1194. data/app/assets/images/backend-send-fill.svg +3 -0
  1195. data/app/assets/images/backend-send-plus-fill.svg +4 -0
  1196. data/app/assets/images/backend-send-plus.svg +4 -0
  1197. data/app/assets/images/backend-send-slash-fill.svg +4 -0
  1198. data/app/assets/images/backend-send-slash.svg +4 -0
  1199. data/app/assets/images/backend-send-x-fill.svg +4 -0
  1200. data/app/assets/images/backend-send-x.svg +4 -0
  1201. data/app/assets/images/backend-send.svg +3 -0
  1202. data/app/assets/images/backend-server.svg +5 -0
  1203. data/app/assets/images/backend-share-fill.svg +3 -0
  1204. data/app/assets/images/backend-share.svg +3 -0
  1205. data/app/assets/images/backend-shield-check.svg +4 -0
  1206. data/app/assets/images/backend-shield-exclamation.svg +4 -0
  1207. data/app/assets/images/backend-shield-fill-check.svg +3 -0
  1208. data/app/assets/images/backend-shield-fill-exclamation.svg +3 -0
  1209. data/app/assets/images/backend-shield-fill-minus.svg +3 -0
  1210. data/app/assets/images/backend-shield-fill-plus.svg +3 -0
  1211. data/app/assets/images/backend-shield-fill-x.svg +3 -0
  1212. data/app/assets/images/backend-shield-fill.svg +3 -0
  1213. data/app/assets/images/backend-shield-lock-fill.svg +3 -0
  1214. data/app/assets/images/backend-shield-lock.svg +4 -0
  1215. data/app/assets/images/backend-shield-minus.svg +4 -0
  1216. data/app/assets/images/backend-shield-plus.svg +4 -0
  1217. data/app/assets/images/backend-shield-shaded.svg +3 -0
  1218. data/app/assets/images/backend-shield-slash-fill.svg +3 -0
  1219. data/app/assets/images/backend-shield-slash.svg +3 -0
  1220. data/app/assets/images/backend-shield-x.svg +4 -0
  1221. data/app/assets/images/backend-shield.svg +3 -0
  1222. data/app/assets/images/backend-shift-fill.svg +3 -0
  1223. data/app/assets/images/backend-shift.svg +3 -0
  1224. data/app/assets/images/backend-shop-window.svg +3 -0
  1225. data/app/assets/images/backend-shop.svg +3 -0
  1226. data/app/assets/images/backend-shuffle.svg +4 -0
  1227. data/app/assets/images/backend-signal.svg +3 -0
  1228. data/app/assets/images/backend-signpost-2-fill.svg +3 -0
  1229. data/app/assets/images/backend-signpost-2.svg +3 -0
  1230. data/app/assets/images/backend-signpost-fill.svg +3 -0
  1231. data/app/assets/images/backend-signpost-split-fill.svg +3 -0
  1232. data/app/assets/images/backend-signpost-split.svg +3 -0
  1233. data/app/assets/images/backend-signpost.svg +3 -0
  1234. data/app/assets/images/backend-sim-fill.svg +4 -0
  1235. data/app/assets/images/backend-sim.svg +4 -0
  1236. data/app/assets/images/backend-skip-backward-btn-fill.svg +3 -0
  1237. data/app/assets/images/backend-skip-backward-btn.svg +4 -0
  1238. data/app/assets/images/backend-skip-backward-circle-fill.svg +3 -0
  1239. data/app/assets/images/backend-skip-backward-circle.svg +4 -0
  1240. data/app/assets/images/backend-skip-backward-fill.svg +3 -0
  1241. data/app/assets/images/backend-skip-backward.svg +3 -0
  1242. data/app/assets/images/backend-skip-end-btn-fill.svg +3 -0
  1243. data/app/assets/images/backend-skip-end-btn.svg +4 -0
  1244. data/app/assets/images/backend-skip-end-circle-fill.svg +3 -0
  1245. data/app/assets/images/backend-skip-end-circle.svg +4 -0
  1246. data/app/assets/images/backend-skip-end-fill.svg +3 -0
  1247. data/app/assets/images/backend-skip-end.svg +3 -0
  1248. data/app/assets/images/backend-skip-forward-btn-fill.svg +3 -0
  1249. data/app/assets/images/backend-skip-forward-btn.svg +4 -0
  1250. data/app/assets/images/backend-skip-forward-circle-fill.svg +3 -0
  1251. data/app/assets/images/backend-skip-forward-circle.svg +4 -0
  1252. data/app/assets/images/backend-skip-forward-fill.svg +3 -0
  1253. data/app/assets/images/backend-skip-forward.svg +3 -0
  1254. data/app/assets/images/backend-skip-start-btn-fill.svg +3 -0
  1255. data/app/assets/images/backend-skip-start-btn.svg +4 -0
  1256. data/app/assets/images/backend-skip-start-circle-fill.svg +3 -0
  1257. data/app/assets/images/backend-skip-start-circle.svg +4 -0
  1258. data/app/assets/images/backend-skip-start-fill.svg +3 -0
  1259. data/app/assets/images/backend-skip-start.svg +3 -0
  1260. data/app/assets/images/backend-skype.svg +3 -0
  1261. data/app/assets/images/backend-slack.svg +3 -3
  1262. data/app/assets/images/backend-slash-circle-fill.svg +3 -0
  1263. data/app/assets/images/backend-slash-circle.svg +4 -0
  1264. data/app/assets/images/backend-slash-lg.svg +3 -0
  1265. data/app/assets/images/backend-slash-square-fill.svg +3 -0
  1266. data/app/assets/images/backend-slash-square.svg +4 -0
  1267. data/app/assets/images/backend-slash.svg +3 -0
  1268. data/app/assets/images/backend-sliders.svg +3 -0
  1269. data/app/assets/images/backend-smartwatch.svg +4 -0
  1270. data/app/assets/images/backend-snapchat.svg +3 -0
  1271. data/app/assets/images/backend-snow.svg +3 -0
  1272. data/app/assets/images/backend-snow2.svg +3 -0
  1273. data/app/assets/images/backend-snow3.svg +4 -0
  1274. data/app/assets/images/backend-sort-alpha-down-alt.svg +5 -0
  1275. data/app/assets/images/backend-sort-alpha-down.svg +4 -0
  1276. data/app/assets/images/backend-sort-alpha-up-alt.svg +5 -0
  1277. data/app/assets/images/backend-sort-alpha-up.svg +4 -0
  1278. data/app/assets/images/backend-sort-down-alt.svg +3 -0
  1279. data/app/assets/images/backend-sort-down.svg +3 -0
  1280. data/app/assets/images/backend-sort-numeric-down-alt.svg +4 -0
  1281. data/app/assets/images/backend-sort-numeric-down.svg +5 -0
  1282. data/app/assets/images/backend-sort-numeric-up-alt.svg +4 -0
  1283. data/app/assets/images/backend-sort-numeric-up.svg +5 -0
  1284. data/app/assets/images/backend-sort-up-alt.svg +3 -0
  1285. data/app/assets/images/backend-sort-up.svg +3 -0
  1286. data/app/assets/images/backend-soundwave.svg +3 -0
  1287. data/app/assets/images/backend-speaker-fill.svg +4 -0
  1288. data/app/assets/images/backend-speaker.svg +4 -0
  1289. data/app/assets/images/backend-speedometer.svg +4 -0
  1290. data/app/assets/images/backend-speedometer2.svg +4 -0
  1291. data/app/assets/images/backend-spellcheck.svg +4 -0
  1292. data/app/assets/images/backend-spotify.svg +3 -0
  1293. data/app/assets/images/backend-square-fill.svg +3 -0
  1294. data/app/assets/images/backend-square-half.svg +3 -0
  1295. data/app/assets/images/backend-square.svg +3 -0
  1296. data/app/assets/images/backend-stack-overflow.svg +4 -0
  1297. data/app/assets/images/backend-stack.svg +4 -0
  1298. data/app/assets/images/backend-star-fill.svg +3 -0
  1299. data/app/assets/images/backend-star-half.svg +3 -0
  1300. data/app/assets/images/backend-star.svg +3 -0
  1301. data/app/assets/images/backend-stars.svg +3 -0
  1302. data/app/assets/images/backend-steam.svg +4 -0
  1303. data/app/assets/images/backend-stickies-fill.svg +4 -0
  1304. data/app/assets/images/backend-stickies.svg +4 -0
  1305. data/app/assets/images/backend-sticky-fill.svg +3 -0
  1306. data/app/assets/images/backend-sticky.svg +3 -0
  1307. data/app/assets/images/backend-stop-btn-fill.svg +3 -0
  1308. data/app/assets/images/backend-stop-btn.svg +4 -0
  1309. data/app/assets/images/backend-stop-circle-fill.svg +3 -0
  1310. data/app/assets/images/backend-stop-circle.svg +4 -0
  1311. data/app/assets/images/backend-stop-fill.svg +3 -0
  1312. data/app/assets/images/backend-stop.svg +3 -0
  1313. data/app/assets/images/backend-stoplights-fill.svg +3 -0
  1314. data/app/assets/images/backend-stoplights.svg +4 -0
  1315. data/app/assets/images/backend-stopwatch-fill.svg +3 -0
  1316. data/app/assets/images/backend-stopwatch.svg +4 -0
  1317. data/app/assets/images/backend-strava.svg +3 -0
  1318. data/app/assets/images/backend-subtract.svg +3 -0
  1319. data/app/assets/images/backend-suit-club-fill.svg +3 -0
  1320. data/app/assets/images/backend-suit-club.svg +3 -0
  1321. data/app/assets/images/backend-suit-diamond-fill.svg +3 -0
  1322. data/app/assets/images/backend-suit-diamond.svg +3 -0
  1323. data/app/assets/images/backend-suit-heart-fill.svg +3 -0
  1324. data/app/assets/images/backend-suit-heart.svg +3 -0
  1325. data/app/assets/images/backend-suit-spade-fill.svg +3 -0
  1326. data/app/assets/images/backend-suit-spade.svg +3 -0
  1327. data/app/assets/images/backend-sun-fill.svg +3 -0
  1328. data/app/assets/images/backend-sun.svg +3 -0
  1329. data/app/assets/images/backend-sunglasses.svg +3 -0
  1330. data/app/assets/images/backend-sunrise-fill.svg +3 -0
  1331. data/app/assets/images/backend-sunrise.svg +3 -0
  1332. data/app/assets/images/backend-sunset-fill.svg +3 -0
  1333. data/app/assets/images/backend-sunset.svg +3 -0
  1334. data/app/assets/images/backend-symmetry-horizontal.svg +3 -0
  1335. data/app/assets/images/backend-symmetry-vertical.svg +3 -0
  1336. data/app/assets/images/backend-table.svg +3 -0
  1337. data/app/assets/images/backend-tablet-fill.svg +3 -0
  1338. data/app/assets/images/backend-tablet-landscape-fill.svg +3 -0
  1339. data/app/assets/images/backend-tablet-landscape.svg +4 -0
  1340. data/app/assets/images/backend-tablet.svg +4 -0
  1341. data/app/assets/images/backend-tag-fill.svg +3 -0
  1342. data/app/assets/images/backend-tag.svg +4 -0
  1343. data/app/assets/images/backend-tags-fill.svg +4 -0
  1344. data/app/assets/images/backend-tags.svg +4 -0
  1345. data/app/assets/images/backend-telegram.svg +3 -0
  1346. data/app/assets/images/backend-telephone-fill.svg +3 -0
  1347. data/app/assets/images/backend-telephone-forward-fill.svg +3 -0
  1348. data/app/assets/images/backend-telephone-forward.svg +3 -0
  1349. data/app/assets/images/backend-telephone-inbound-fill.svg +3 -0
  1350. data/app/assets/images/backend-telephone-inbound.svg +3 -0
  1351. data/app/assets/images/backend-telephone-minus-fill.svg +3 -0
  1352. data/app/assets/images/backend-telephone-minus.svg +4 -0
  1353. data/app/assets/images/backend-telephone-outbound-fill.svg +3 -0
  1354. data/app/assets/images/backend-telephone-outbound.svg +3 -0
  1355. data/app/assets/images/backend-telephone-plus-fill.svg +3 -0
  1356. data/app/assets/images/backend-telephone-plus.svg +4 -0
  1357. data/app/assets/images/backend-telephone-x-fill.svg +3 -0
  1358. data/app/assets/images/backend-telephone-x.svg +4 -0
  1359. data/app/assets/images/backend-telephone.svg +3 -0
  1360. data/app/assets/images/backend-terminal-dash.svg +4 -0
  1361. data/app/assets/images/backend-terminal-fill.svg +3 -0
  1362. data/app/assets/images/backend-terminal-plus.svg +4 -0
  1363. data/app/assets/images/backend-terminal-split.svg +4 -0
  1364. data/app/assets/images/backend-terminal-x.svg +4 -0
  1365. data/app/assets/images/backend-terminal.svg +4 -0
  1366. data/app/assets/images/backend-text-center.svg +3 -0
  1367. data/app/assets/images/backend-text-indent-left.svg +3 -0
  1368. data/app/assets/images/backend-text-indent-right.svg +3 -0
  1369. data/app/assets/images/backend-text-left.svg +3 -0
  1370. data/app/assets/images/backend-text-paragraph.svg +3 -0
  1371. data/app/assets/images/backend-text-right.svg +3 -0
  1372. data/app/assets/images/backend-textarea-resize.svg +3 -0
  1373. data/app/assets/images/backend-textarea-t.svg +4 -0
  1374. data/app/assets/images/backend-textarea.svg +3 -0
  1375. data/app/assets/images/backend-thermometer-half.svg +4 -0
  1376. data/app/assets/images/backend-thermometer-high.svg +4 -0
  1377. data/app/assets/images/backend-thermometer-low.svg +4 -0
  1378. data/app/assets/images/backend-thermometer-snow.svg +4 -0
  1379. data/app/assets/images/backend-thermometer-sun.svg +4 -0
  1380. data/app/assets/images/backend-thermometer.svg +4 -0
  1381. data/app/assets/images/backend-three-dots-vertical.svg +3 -0
  1382. data/app/assets/images/backend-three-dots.svg +3 -0
  1383. data/app/assets/images/backend-thunderbolt-fill.svg +3 -0
  1384. data/app/assets/images/backend-thunderbolt.svg +4 -0
  1385. data/app/assets/images/backend-ticket-detailed-fill.svg +3 -0
  1386. data/app/assets/images/backend-ticket-detailed.svg +4 -0
  1387. data/app/assets/images/backend-ticket-fill.svg +3 -0
  1388. data/app/assets/images/backend-ticket-perforated-fill.svg +3 -0
  1389. data/app/assets/images/backend-ticket-perforated.svg +4 -0
  1390. data/app/assets/images/backend-ticket.svg +3 -0
  1391. data/app/assets/images/backend-tiktok.svg +3 -0
  1392. data/app/assets/images/backend-toggle-off.svg +3 -0
  1393. data/app/assets/images/backend-toggle-on.svg +3 -0
  1394. data/app/assets/images/backend-toggle2-off.svg +4 -0
  1395. data/app/assets/images/backend-toggle2-on.svg +4 -0
  1396. data/app/assets/images/backend-toggles.svg +3 -0
  1397. data/app/assets/images/backend-toggles2.svg +5 -0
  1398. data/app/assets/images/backend-tools.svg +3 -0
  1399. data/app/assets/images/backend-tornado.svg +3 -0
  1400. data/app/assets/images/backend-trash-fill.svg +3 -0
  1401. data/app/assets/images/backend-trash.svg +4 -0
  1402. data/app/assets/images/backend-trash2-fill.svg +3 -0
  1403. data/app/assets/images/backend-trash2.svg +3 -0
  1404. data/app/assets/images/backend-tree-fill.svg +3 -0
  1405. data/app/assets/images/backend-tree.svg +3 -0
  1406. data/app/assets/images/backend-triangle-fill.svg +3 -0
  1407. data/app/assets/images/backend-triangle-half.svg +3 -0
  1408. data/app/assets/images/backend-triangle.svg +3 -0
  1409. data/app/assets/images/backend-trophy-fill.svg +3 -0
  1410. data/app/assets/images/backend-trophy.svg +3 -0
  1411. data/app/assets/images/backend-tropical-storm.svg +4 -0
  1412. data/app/assets/images/backend-truck-flatbed.svg +3 -0
  1413. data/app/assets/images/backend-truck.svg +3 -0
  1414. data/app/assets/images/backend-tsunami.svg +3 -0
  1415. data/app/assets/images/backend-tv-fill.svg +3 -0
  1416. data/app/assets/images/backend-tv.svg +3 -0
  1417. data/app/assets/images/backend-twitch.svg +4 -0
  1418. data/app/assets/images/backend-twitter.svg +3 -0
  1419. data/app/assets/images/backend-type-bold.svg +3 -0
  1420. data/app/assets/images/backend-type-h1.svg +3 -0
  1421. data/app/assets/images/backend-type-h2.svg +3 -0
  1422. data/app/assets/images/backend-type-h3.svg +3 -0
  1423. data/app/assets/images/backend-type-italic.svg +3 -0
  1424. data/app/assets/images/backend-type-strikethrough.svg +3 -0
  1425. data/app/assets/images/backend-type-underline.svg +3 -0
  1426. data/app/assets/images/backend-type.svg +3 -0
  1427. data/app/assets/images/backend-ui-checks-grid.svg +3 -0
  1428. data/app/assets/images/backend-ui-checks.svg +3 -0
  1429. data/app/assets/images/backend-ui-radios-grid.svg +3 -0
  1430. data/app/assets/images/backend-ui-radios.svg +3 -0
  1431. data/app/assets/images/backend-umbrella-fill.svg +3 -0
  1432. data/app/assets/images/backend-umbrella.svg +3 -0
  1433. data/app/assets/images/backend-union.svg +3 -0
  1434. data/app/assets/images/backend-unlock-fill.svg +3 -0
  1435. data/app/assets/images/backend-unlock.svg +3 -0
  1436. data/app/assets/images/backend-upc-scan.svg +3 -0
  1437. data/app/assets/images/backend-upc.svg +3 -0
  1438. data/app/assets/images/backend-upload.svg +4 -0
  1439. data/app/assets/images/backend-usb-c-fill.svg +3 -0
  1440. data/app/assets/images/backend-usb-c.svg +4 -0
  1441. data/app/assets/images/backend-usb-drive-fill.svg +3 -0
  1442. data/app/assets/images/backend-usb-drive.svg +3 -0
  1443. data/app/assets/images/backend-usb-fill.svg +3 -0
  1444. data/app/assets/images/backend-usb-micro-fill.svg +3 -0
  1445. data/app/assets/images/backend-usb-micro.svg +4 -0
  1446. data/app/assets/images/backend-usb-mini-fill.svg +3 -0
  1447. data/app/assets/images/backend-usb-mini.svg +4 -0
  1448. data/app/assets/images/backend-usb-plug-fill.svg +3 -0
  1449. data/app/assets/images/backend-usb-plug.svg +3 -0
  1450. data/app/assets/images/backend-usb-symbol.svg +3 -0
  1451. data/app/assets/images/backend-usb.svg +4 -0
  1452. data/app/assets/images/backend-vector-pen.svg +4 -0
  1453. data/app/assets/images/backend-view-list.svg +3 -0
  1454. data/app/assets/images/backend-view-stacked.svg +3 -0
  1455. data/app/assets/images/backend-vimeo.svg +3 -0
  1456. data/app/assets/images/backend-vinyl-fill.svg +4 -0
  1457. data/app/assets/images/backend-vinyl.svg +5 -0
  1458. data/app/assets/images/backend-voicemail.svg +3 -0
  1459. data/app/assets/images/backend-volume-down-fill.svg +3 -0
  1460. data/app/assets/images/backend-volume-down.svg +3 -0
  1461. data/app/assets/images/backend-volume-mute-fill.svg +3 -0
  1462. data/app/assets/images/backend-volume-mute.svg +3 -0
  1463. data/app/assets/images/backend-volume-off-fill.svg +3 -0
  1464. data/app/assets/images/backend-volume-off.svg +3 -0
  1465. data/app/assets/images/backend-volume-up-fill.svg +5 -0
  1466. data/app/assets/images/backend-volume-up.svg +5 -0
  1467. data/app/assets/images/backend-vr.svg +3 -0
  1468. data/app/assets/images/backend-wallet-fill.svg +4 -0
  1469. data/app/assets/images/backend-wallet.svg +3 -0
  1470. data/app/assets/images/backend-wallet2.svg +3 -0
  1471. data/app/assets/images/backend-watch.svg +4 -0
  1472. data/app/assets/images/backend-water.svg +3 -0
  1473. data/app/assets/images/backend-webcam-fill.svg +4 -0
  1474. data/app/assets/images/backend-webcam.svg +4 -0
  1475. data/app/assets/images/backend-whatsapp.svg +3 -0
  1476. data/app/assets/images/backend-wifi-1.svg +3 -0
  1477. data/app/assets/images/backend-wifi-2.svg +3 -0
  1478. data/app/assets/images/backend-wifi-off.svg +3 -0
  1479. data/app/assets/images/backend-wifi.svg +4 -0
  1480. data/app/assets/images/backend-wind.svg +3 -0
  1481. data/app/assets/images/backend-window-dash.svg +5 -0
  1482. data/app/assets/images/backend-window-desktop.svg +4 -0
  1483. data/app/assets/images/backend-window-dock.svg +4 -0
  1484. data/app/assets/images/backend-window-fullscreen.svg +4 -0
  1485. data/app/assets/images/backend-window-plus.svg +5 -0
  1486. data/app/assets/images/backend-window-split.svg +4 -0
  1487. data/app/assets/images/backend-window-stack.svg +4 -0
  1488. data/app/assets/images/backend-window-x.svg +5 -0
  1489. data/app/assets/images/backend-window.svg +4 -0
  1490. data/app/assets/images/backend-windows.svg +3 -0
  1491. data/app/assets/images/backend-wordpress.svg +5 -0
  1492. data/app/assets/images/backend-wrench.svg +3 -0
  1493. data/app/assets/images/backend-x-circle-fill.svg +3 -0
  1494. data/app/assets/images/backend-x-circle.svg +4 -0
  1495. data/app/assets/images/backend-x-diamond-fill.svg +3 -0
  1496. data/app/assets/images/backend-x-diamond.svg +3 -0
  1497. data/app/assets/images/backend-x-lg.svg +4 -0
  1498. data/app/assets/images/backend-x-octagon-fill.svg +3 -0
  1499. data/app/assets/images/backend-x-octagon.svg +4 -0
  1500. data/app/assets/images/backend-x-square-fill.svg +3 -0
  1501. data/app/assets/images/backend-x-square.svg +4 -0
  1502. data/app/assets/images/backend-x.svg +3 -0
  1503. data/app/assets/images/backend-xbox.svg +3 -0
  1504. data/app/assets/images/backend-yin-yang.svg +4 -0
  1505. data/app/assets/images/backend-youtube.svg +3 -0
  1506. data/app/assets/images/backend-zoom-in.svg +5 -0
  1507. data/app/assets/images/backend-zoom-out.svg +5 -0
  1508. data/app/assets/javascripts/spree/backend/address_states.es6 +4 -0
  1509. data/app/assets/javascripts/spree/backend/admin.js +1 -1
  1510. data/app/assets/javascripts/spree/backend/global/sortable.es6 +1 -1
  1511. data/app/assets/javascripts/spree/backend/global/tinymce.es6 +9 -0
  1512. data/app/assets/javascripts/spree/backend/payments/edit.js +1 -1
  1513. data/app/assets/javascripts/spree/backend/states.js +2 -2
  1514. data/app/assets/javascripts/spree/backend.js +0 -3
  1515. data/app/assets/stylesheets/spree/backend/components/_badges.scss +25 -4
  1516. data/app/assets/stylesheets/spree/backend/components/_buttons.scss +6 -2
  1517. data/app/assets/stylesheets/spree/backend/components/_filters.scss +2 -31
  1518. data/app/assets/stylesheets/spree/backend/components/_icons.scss +1 -1
  1519. data/app/assets/stylesheets/spree/backend/components/_main.scss +13 -1
  1520. data/app/assets/stylesheets/spree/backend/components/_navbar.scss +5 -8
  1521. data/app/assets/stylesheets/spree/backend/components/_navigation.scss +0 -3
  1522. data/app/assets/stylesheets/spree/backend/components/_sidebar.scss +16 -9
  1523. data/app/assets/stylesheets/spree/backend/components/_tables.scss +4 -16
  1524. data/app/assets/stylesheets/spree/backend/components/_taxon_products_view.scss +1 -1
  1525. data/app/assets/stylesheets/spree/backend/global/_variables.scss +9 -36
  1526. data/app/assets/stylesheets/spree/backend/plugins/_flatpickr.scss +1 -1
  1527. data/app/assets/stylesheets/spree/backend/plugins/_select2_bootstrap4.scss +5 -5
  1528. data/app/assets/stylesheets/spree/backend/plugins/_sweetalert2_custom.scss +1 -1
  1529. data/app/assets/stylesheets/spree/backend/shared/_base.scss +2 -2
  1530. data/app/assets/stylesheets/spree/backend/shared/_forms.scss +2 -23
  1531. data/app/assets/stylesheets/spree/backend/spree_admin.css.scss +32 -33
  1532. data/app/controllers/spree/admin/dashboard_controller.rb +26 -0
  1533. data/app/controllers/spree/admin/oauth_applications_controller.rb +1 -1
  1534. data/app/controllers/spree/admin/option_types_controller.rb +1 -5
  1535. data/app/controllers/spree/admin/orders_controller.rb +2 -2
  1536. data/app/controllers/spree/admin/payment_methods_controller.rb +5 -1
  1537. data/app/controllers/spree/admin/products_controller.rb +34 -3
  1538. data/app/controllers/spree/admin/promotions_controller.rb +2 -0
  1539. data/app/controllers/spree/admin/resource_controller.rb +8 -3
  1540. data/app/controllers/spree/admin/return_index_controller.rb +7 -2
  1541. data/app/controllers/spree/admin/stock_transfers_controller.rb +7 -4
  1542. data/app/controllers/spree/admin/stores_controller.rb +6 -52
  1543. data/app/controllers/spree/admin/taxonomies_controller.rb +1 -1
  1544. data/app/controllers/spree/admin/webhooks_subscribers_controller.rb +1 -1
  1545. data/app/helpers/spree/admin/base_helper.rb +2 -19
  1546. data/app/helpers/spree/admin/cms_helper.rb +3 -7
  1547. data/app/helpers/spree/admin/navigation_helper.rb +47 -31
  1548. data/app/helpers/spree/admin/orders_helper.rb +2 -1
  1549. data/app/helpers/spree/admin/payments_helper.rb +5 -1
  1550. data/app/helpers/spree/admin/products_helper.rb +17 -0
  1551. data/app/helpers/spree/admin/stores_helper.rb +2 -2
  1552. data/app/javascript/spree/dashboard/controllers/product_edit_controller.js +38 -0
  1553. data/app/javascript/spree/dashboard/index.js +10 -5
  1554. data/app/javascript/spree/dashboard/utilities/bootstrap.js +1 -3
  1555. data/app/javascript/spree/dashboard/utilities/request_utility.js +4 -5
  1556. data/app/views/spree/admin/adjustments/_adjustment.html.erb +1 -1
  1557. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +5 -5
  1558. data/app/views/spree/admin/adjustments/edit.html.erb +0 -4
  1559. data/app/views/spree/admin/adjustments/index.html.erb +1 -5
  1560. data/app/views/spree/admin/adjustments/new.html.erb +2 -6
  1561. data/app/views/spree/admin/cms_pages/_form.html.erb +5 -5
  1562. data/app/views/spree/admin/cms_pages/_live_preview_area.html.erb +2 -2
  1563. data/app/views/spree/admin/cms_pages/index.html.erb +8 -8
  1564. data/app/views/spree/admin/cms_sections/_image_upload_form.html.erb +18 -0
  1565. data/app/views/spree/admin/cms_sections/edit.html.erb +1 -1
  1566. data/app/views/spree/admin/cms_sections/types/_hero_image.html.erb +2 -14
  1567. data/app/views/spree/admin/cms_sections/types/_image_gallery.html.erb +6 -42
  1568. data/app/views/spree/admin/cms_sections/types/_side_by_side_images.html.erb +6 -32
  1569. data/app/views/spree/admin/countries/index.html.erb +2 -2
  1570. data/app/views/spree/admin/customer_returns/_reimbursements_table.html.erb +2 -2
  1571. data/app/views/spree/admin/customer_returns/_return_item_decision.html.erb +3 -3
  1572. data/app/views/spree/admin/customer_returns/_return_item_selection.html.erb +3 -3
  1573. data/app/views/spree/admin/customer_returns/edit.html.erb +2 -6
  1574. data/app/views/spree/admin/customer_returns/index.html.erb +5 -9
  1575. data/app/views/spree/admin/customer_returns/new.html.erb +3 -3
  1576. data/app/views/spree/admin/dashboard/_apis.html.erb +30 -0
  1577. data/app/views/spree/admin/dashboard/_getting_started.html.erb +101 -0
  1578. data/app/views/spree/admin/dashboard/show.html.erb +3 -0
  1579. data/app/views/spree/admin/digitals/_form.html.erb +2 -2
  1580. data/app/views/spree/admin/digitals/index.html.erb +1 -3
  1581. data/app/views/spree/admin/images/edit.html.erb +3 -3
  1582. data/app/views/spree/admin/images/index.html.erb +12 -11
  1583. data/app/views/spree/admin/log_entries/index.html.erb +2 -2
  1584. data/app/views/spree/admin/menu_items/_form.html.erb +4 -17
  1585. data/app/views/spree/admin/menu_items/_icon_upload_form.html.erb +14 -0
  1586. data/app/views/spree/admin/menus/edit.html.erb +1 -1
  1587. data/app/views/spree/admin/menus/index.html.erb +5 -5
  1588. data/app/views/spree/admin/oauth_applications/_form.html.erb +2 -2
  1589. data/app/views/spree/admin/oauth_applications/create.turbo_stream.erb +2 -2
  1590. data/app/views/spree/admin/oauth_applications/index.html.erb +4 -4
  1591. data/app/views/spree/admin/option_types/_form.html.erb +2 -2
  1592. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
  1593. data/app/views/spree/admin/option_types/edit.html.erb +33 -28
  1594. data/app/views/spree/admin/option_types/index.html.erb +4 -4
  1595. data/app/views/spree/admin/orders/_add_line_item.html.erb +1 -1
  1596. data/app/views/spree/admin/orders/_add_product.html.erb +2 -2
  1597. data/app/views/spree/admin/orders/_adjustments.html.erb +5 -5
  1598. data/app/views/spree/admin/orders/_form.html.erb +0 -9
  1599. data/app/views/spree/admin/orders/_line_items.html.erb +7 -7
  1600. data/app/views/spree/admin/orders/_line_items_edit_form.html.erb +0 -6
  1601. data/app/views/spree/admin/orders/_order_actions.html.erb +2 -1
  1602. data/app/views/spree/admin/orders/_risk_analysis.html.erb +6 -6
  1603. data/app/views/spree/admin/orders/_search.html.erb +3 -19
  1604. data/app/views/spree/admin/orders/_shipment.html.erb +9 -9
  1605. data/app/views/spree/admin/orders/_shipment_manifest.html.erb +3 -3
  1606. data/app/views/spree/admin/orders/customer_details/_form.html.erb +5 -5
  1607. data/app/views/spree/admin/orders/customer_details/edit.html.erb +2 -6
  1608. data/app/views/spree/admin/orders/edit.html.erb +0 -4
  1609. data/app/views/spree/admin/orders/index.html.erb +32 -21
  1610. data/app/views/spree/admin/payment_methods/_form.html.erb +1 -1
  1611. data/app/views/spree/admin/payment_methods/index.html.erb +5 -5
  1612. data/app/views/spree/admin/payments/_capture_events.html.erb +3 -3
  1613. data/app/views/spree/admin/payments/_list.html.erb +6 -6
  1614. data/app/views/spree/admin/payments/index.html.erb +1 -5
  1615. data/app/views/spree/admin/payments/new.html.erb +2 -5
  1616. data/app/views/spree/admin/payments/source_forms/_gateway.html.erb +1 -1
  1617. data/app/views/spree/admin/payments/source_views/_gateway.html.erb +2 -2
  1618. data/app/views/spree/admin/payments/source_views/_storecredit.html.erb +2 -2
  1619. data/app/views/spree/admin/prices/_variant_prices.html.erb +7 -7
  1620. data/app/views/spree/admin/prices/index.html.erb +1 -1
  1621. data/app/views/spree/admin/product_properties/_product_property_fields.html.erb +5 -5
  1622. data/app/views/spree/admin/product_properties/index.html.erb +12 -11
  1623. data/app/views/spree/admin/products/_add_stock_form.html.erb +3 -3
  1624. data/app/views/spree/admin/products/_autocomplete.js.erb +7 -7
  1625. data/app/views/spree/admin/products/_filters.html.erb +31 -0
  1626. data/app/views/spree/admin/products/_form.html.erb +90 -44
  1627. data/app/views/spree/admin/products/edit.html.erb +1 -4
  1628. data/app/views/spree/admin/products/index.html.erb +56 -52
  1629. data/app/views/spree/admin/products/new.html.erb +50 -65
  1630. data/app/views/spree/admin/products/stock.html.erb +7 -9
  1631. data/app/views/spree/admin/promotion_categories/index.html.erb +3 -3
  1632. data/app/views/spree/admin/promotions/_actions.html.erb +3 -3
  1633. data/app/views/spree/admin/promotions/_form.html.erb +2 -2
  1634. data/app/views/spree/admin/promotions/_promotion_action.html.erb +1 -1
  1635. data/app/views/spree/admin/promotions/_promotion_rule.html.erb +2 -2
  1636. data/app/views/spree/admin/promotions/_rules.html.erb +2 -2
  1637. data/app/views/spree/admin/promotions/calculators/tiered_flat_rate/_fields.html.erb +1 -1
  1638. data/app/views/spree/admin/promotions/calculators/tiered_percent/_fields.html.erb +1 -1
  1639. data/app/views/spree/admin/promotions/index.html.erb +3 -3
  1640. data/app/views/spree/admin/promotions/rules/_option_value.html.erb +1 -1
  1641. data/app/views/spree/admin/properties/_form.html.erb +2 -2
  1642. data/app/views/spree/admin/properties/index.html.erb +3 -3
  1643. data/app/views/spree/admin/prototypes/_form.html.erb +1 -1
  1644. data/app/views/spree/admin/prototypes/_prototypes.html.erb +3 -3
  1645. data/app/views/spree/admin/prototypes/index.html.erb +3 -3
  1646. data/app/views/spree/admin/reimbursement_types/index.html.erb +3 -3
  1647. data/app/views/spree/admin/reimbursements/edit.html.erb +5 -5
  1648. data/app/views/spree/admin/reimbursements/index.html.erb +1 -1
  1649. data/app/views/spree/admin/reimbursements/show.html.erb +7 -7
  1650. data/app/views/spree/admin/reports/index.html.erb +2 -2
  1651. data/app/views/spree/admin/reports/sales_total.html.erb +3 -3
  1652. data/app/views/spree/admin/return_authorizations/_form.html.erb +5 -5
  1653. data/app/views/spree/admin/return_authorizations/index.html.erb +5 -9
  1654. data/app/views/spree/admin/return_index/customer_returns.html.erb +5 -5
  1655. data/app/views/spree/admin/return_index/return_authorizations.html.erb +4 -4
  1656. data/app/views/spree/admin/roles/_form.html.erb +1 -1
  1657. data/app/views/spree/admin/roles/index.html.erb +2 -2
  1658. data/app/views/spree/admin/shared/_account_nav.html.erb +7 -7
  1659. data/app/views/spree/admin/shared/_address_form.html.erb +0 -1
  1660. data/app/views/spree/admin/shared/_calculator_fields.html.erb +2 -2
  1661. data/app/views/spree/admin/shared/_content_header.html.erb +8 -8
  1662. data/app/views/spree/admin/shared/_head.html.erb +1 -0
  1663. data/app/views/spree/admin/shared/_header.html.erb +1 -1
  1664. data/app/views/spree/admin/shared/_main_menu.html.erb +39 -27
  1665. data/app/views/spree/admin/shared/_order_summary.html.erb +108 -116
  1666. data/app/views/spree/admin/shared/_order_tabs.html.erb +77 -79
  1667. data/app/views/spree/admin/shared/_product_tabs.html.erb +44 -46
  1668. data/app/views/spree/admin/shared/_refunds.html.erb +4 -4
  1669. data/app/views/spree/admin/shared/_report_order_criteria.html.erb +2 -2
  1670. data/app/views/spree/admin/shared/_store_switcher.html.erb +3 -3
  1671. data/app/views/spree/admin/shared/_table_filter.html.erb +8 -9
  1672. data/app/views/spree/admin/shared/_update_order_state.js.erb +4 -4
  1673. data/app/views/spree/admin/shared/_version.html.erb +5 -3
  1674. data/app/views/spree/admin/shared/linkables/{_home_page.html.erb → _spree_linkable_homepage.html.erb} +0 -0
  1675. data/app/views/spree/admin/shared/linkables/_spree_linkable_uri.html.erb +16 -0
  1676. data/app/views/spree/admin/shared/linkables/_url.html.erb +2 -0
  1677. data/app/views/spree/admin/shared/named_types/_form.html.erb +1 -1
  1678. data/app/views/spree/admin/shared/named_types/_index.html.erb +3 -3
  1679. data/app/views/spree/admin/shared/sortable_tree/_menu.html.erb +3 -3
  1680. data/app/views/spree/admin/shared/sortable_tree/_taxonomy.html.erb +3 -3
  1681. data/app/views/spree/admin/shared/sub_menu/_apps.html.erb +1 -1
  1682. data/app/views/spree/admin/shared/sub_menu/_configuration.html.erb +2 -4
  1683. data/app/views/spree/admin/shared/sub_menu/_content.html.erb +1 -1
  1684. data/app/views/spree/admin/shared/sub_menu/_integrations.html.erb +3 -2
  1685. data/app/views/spree/admin/shared/sub_menu/_orders.html.erb +5 -0
  1686. data/app/views/spree/admin/shared/sub_menu/_organizations.html.erb +3 -0
  1687. data/app/views/spree/admin/shared/sub_menu/_product.html.erb +1 -1
  1688. data/app/views/spree/admin/shared/sub_menu/_promotion.html.erb +1 -1
  1689. data/app/views/spree/admin/shared/sub_menu/_returns.html.erb +1 -1
  1690. data/app/views/spree/admin/shared/sub_menu/_stock.html.erb +1 -1
  1691. data/app/views/spree/admin/shipping_categories/index.html.erb +3 -3
  1692. data/app/views/spree/admin/shipping_methods/_form.html.erb +12 -8
  1693. data/app/views/spree/admin/shipping_methods/index.html.erb +36 -10
  1694. data/app/views/spree/admin/state_changes/index.html.erb +5 -7
  1695. data/app/views/spree/admin/states/_state_list.html.erb +2 -2
  1696. data/app/views/spree/admin/stock_locations/_form.html.erb +1 -1
  1697. data/app/views/spree/admin/stock_locations/index.html.erb +3 -3
  1698. data/app/views/spree/admin/stock_movements/index.html.erb +3 -3
  1699. data/app/views/spree/admin/stock_transfers/_stock_movements.html.erb +1 -1
  1700. data/app/views/spree/admin/stock_transfers/index.html.erb +4 -4
  1701. data/app/views/spree/admin/stock_transfers/new.html.erb +6 -6
  1702. data/app/views/spree/admin/stock_transfers/show.html.erb +2 -2
  1703. data/app/views/spree/admin/store_credit_categories/_form.html.erb +1 -1
  1704. data/app/views/spree/admin/store_credit_categories/index.html.erb +2 -2
  1705. data/app/views/spree/admin/store_credits/_form.html.erb +1 -1
  1706. data/app/views/spree/admin/store_credits/edit.html.erb +10 -11
  1707. data/app/views/spree/admin/store_credits/index.html.erb +5 -10
  1708. data/app/views/spree/admin/store_credits/new.html.erb +10 -11
  1709. data/app/views/spree/admin/stores/_form.html.erb +11 -311
  1710. data/app/views/spree/admin/stores/edit.html.erb +6 -3
  1711. data/app/views/spree/admin/stores/form/_basic.html.erb +32 -0
  1712. data/app/views/spree/admin/stores/form/_digitals.html.erb +53 -0
  1713. data/app/views/spree/admin/stores/form/_emails.html.erb +37 -0
  1714. data/app/views/spree/admin/stores/form/_footer.html.erb +28 -0
  1715. data/app/views/spree/admin/stores/form/_internationalization.html.erb +55 -0
  1716. data/app/views/spree/admin/stores/form/_layout.html.erb +48 -0
  1717. data/app/views/spree/admin/stores/form/_seo.html.erb +32 -0
  1718. data/app/views/spree/admin/stores/form/_social.html.erb +43 -0
  1719. data/app/views/spree/admin/stores/index.html.erb +4 -4
  1720. data/app/views/spree/admin/stores/new.html.erb +1 -2
  1721. data/app/views/spree/admin/tax_categories/index.html.erb +3 -3
  1722. data/app/views/spree/admin/tax_rates/_form.html.erb +2 -2
  1723. data/app/views/spree/admin/tax_rates/index.html.erb +3 -3
  1724. data/app/views/spree/admin/taxonomies/_form.html.erb +1 -1
  1725. data/app/views/spree/admin/taxonomies/_list.html.erb +3 -3
  1726. data/app/views/spree/admin/taxonomies/edit.html.erb +2 -2
  1727. data/app/views/spree/admin/taxonomies/index.html.erb +1 -1
  1728. data/app/views/spree/admin/taxons/_assets_form.html.erb +8 -0
  1729. data/app/views/spree/admin/taxons/_form.html.erb +1 -8
  1730. data/app/views/spree/admin/taxons/_taxon_table.html.erb +3 -3
  1731. data/app/views/spree/admin/users/_addresses_form.html.erb +4 -4
  1732. data/app/views/spree/admin/users/_lifetime_stats.html.erb +5 -3
  1733. data/app/views/spree/admin/users/_tabs.html.erb +37 -0
  1734. data/app/views/spree/admin/users/addresses.html.erb +1 -6
  1735. data/app/views/spree/admin/users/edit.html.erb +3 -7
  1736. data/app/views/spree/admin/users/index.html.erb +4 -4
  1737. data/app/views/spree/admin/users/items.html.erb +5 -10
  1738. data/app/views/spree/admin/users/new.html.erb +1 -1
  1739. data/app/views/spree/admin/users/orders.html.erb +5 -10
  1740. data/app/views/spree/admin/variants/_autocomplete_line_items_stock.js.erb +5 -5
  1741. data/app/views/spree/admin/variants/_autocomplete_stock.js.erb +4 -4
  1742. data/app/views/spree/admin/variants/_form.html.erb +1 -1
  1743. data/app/views/spree/admin/variants/_split.js.erb +1 -1
  1744. data/app/views/spree/admin/variants/edit.html.erb +9 -5
  1745. data/app/views/spree/admin/variants/index.html.erb +11 -13
  1746. data/app/views/spree/admin/variants/new.html.erb +6 -4
  1747. data/app/views/spree/admin/webhooks_subscribers/_form.html.erb +2 -1
  1748. data/app/views/spree/admin/webhooks_subscribers/index.html.erb +12 -4
  1749. data/app/views/spree/admin/webhooks_subscribers/show.html.erb +5 -5
  1750. data/app/views/spree/admin/zones/_country_members.html.erb +2 -2
  1751. data/app/views/spree/admin/zones/_form.html.erb +1 -1
  1752. data/app/views/spree/admin/zones/_state_members.html.erb +2 -2
  1753. data/app/views/spree/admin/zones/index.html.erb +3 -3
  1754. data/app/views/spree/layouts/admin.html.erb +5 -3
  1755. data/config/initializers/assets.rb +1 -0
  1756. data/config/locales/en.yml +38 -0
  1757. data/config/routes.rb +8 -16
  1758. data/lib/generators/spree/backend/install/templates/app/javascript/spree-dashboard.js +1 -2
  1759. data/lib/spree/backend/configuration.rb +37 -0
  1760. data/lib/spree/backend/engine.rb +3 -1
  1761. data/lib/spree/backend/testing_support/capybara_utils.rb +8 -2
  1762. data/lib/spree/backend/version.rb +1 -1
  1763. data/lib/spree/backend.rb +1 -0
  1764. data/package.json +5 -4
  1765. data/rollup.config.js +3 -1
  1766. data/spree_backend.gemspec +9 -8
  1767. data/yarn.lock +41 -9
  1768. metadata +1545 -37
  1769. data/app/assets/javascripts/spree/backend/general_settings.js +0 -24
  1770. data/app/assets/stylesheets/spree/backend/components/_progress.scss +0 -22
  1771. data/app/assets/stylesheets/spree/backend/components/_spinner.scss +0 -95
  1772. data/app/controllers/spree/admin/general_settings_controller.rb +0 -50
  1773. data/app/models/spree/backend_configuration.rb +0 -35
  1774. data/app/views/spree/admin/general_settings/edit.html.erb +0 -96
  1775. data/app/views/spree/admin/users/_sidebar.html.erb +0 -38
@@ -132,7 +132,7 @@ module Spree
132
132
  adjustments.update_all(state: 'open')
133
133
  flash[:success] = Spree.t(:all_adjustments_opened)
134
134
 
135
- respond_with(@order) { |format| format.html { redirect_back fallback_location: spree.admin_order_adjustments_url(@order) } }
135
+ redirect_back fallback_location: spree.admin_order_adjustments_url(@order)
136
136
  end
137
137
 
138
138
  def close_adjustments
@@ -140,7 +140,7 @@ module Spree
140
140
  adjustments.update_all(state: 'closed')
141
141
  flash[:success] = Spree.t(:all_adjustments_closed)
142
142
 
143
- respond_with(@order) { |format| format.html { redirect_back fallback_location: spree.admin_order_adjustments_url(@order) } }
143
+ redirect_back fallback_location: spree.admin_order_adjustments_url(@order)
144
144
  end
145
145
 
146
146
  def set_channel
@@ -15,7 +15,7 @@ module Spree
15
15
  if @payment_method.save
16
16
  invoke_callbacks(:create, :after)
17
17
  flash[:success] = Spree.t(:successfully_created, resource: Spree.t(:payment_method))
18
- redirect_to spree.edit_admin_payment_method_path(@payment_method)
18
+ redirect_to location_after_create
19
19
  else
20
20
  invoke_callbacks(:create, :fails)
21
21
  respond_with(@payment_method, status: :unprocessable_entity)
@@ -89,6 +89,10 @@ module Spree
89
89
 
90
90
  params.require(key).permit!
91
91
  end
92
+
93
+ def location_after_create
94
+ spree.edit_admin_payment_method_path(@payment_method)
95
+ end
92
96
  end
93
97
  end
94
98
  end
@@ -3,12 +3,15 @@ module Spree
3
3
  class ProductsController < ResourceController
4
4
  include Spree::Admin::ProductConcern
5
5
 
6
- helper 'spree/products'
6
+ helper 'spree/admin/products'
7
7
 
8
8
  before_action :load_data, except: :index
9
+ before_action :set_product_defaults, only: :new
9
10
 
10
11
  create.before :create_before
11
12
  update.before :update_before
13
+ update.before :skip_updating_status
14
+ update.after :update_status
12
15
  helper_method :clone_object_url
13
16
 
14
17
  def show
@@ -101,7 +104,11 @@ module Spree
101
104
  end
102
105
 
103
106
  def location_after_save
104
- spree.edit_admin_product_url(@product)
107
+ if params[:product][:product_properties_attributes].present?
108
+ spree.admin_product_product_properties_path(@product)
109
+ else
110
+ spree.edit_admin_product_url(@product)
111
+ end
105
112
  end
106
113
 
107
114
  def load_data
@@ -111,12 +118,27 @@ module Spree
111
118
  @shipping_categories = ShippingCategory.order(:name)
112
119
  end
113
120
 
121
+ def set_product_defaults
122
+ @product.shipping_category ||= @shipping_categories&.first
123
+ end
124
+
125
+ def skip_updating_status
126
+ @new_status = params[:product].delete(:status)
127
+ end
128
+
129
+ def update_status
130
+ return if @new_status == @product.status
131
+ return if cannot?(:activate, Spree::Product) && @new_status&.to_sym == :active
132
+
133
+ event_to_fire = @product.status_transitions.find { |transition| transition.from == @product.status && transition.to == @new_status }&.event
134
+ @product.send(event_to_fire) if event_to_fire
135
+ end
136
+
114
137
  def collection
115
138
  return @collection if @collection.present?
116
139
 
117
140
  params[:q] ||= {}
118
141
  params[:q][:deleted_at_null] ||= '1'
119
- params[:q][:not_discontinued] ||= '1'
120
142
 
121
143
  params[:q][:s] ||= 'name asc'
122
144
 
@@ -135,6 +157,7 @@ module Spree
135
157
  includes(product_includes).
136
158
  page(params[:page]).
137
159
  per(params[:per_page] || Spree::Backend::Config[:admin_products_per_page])
160
+
138
161
  @collection
139
162
  end
140
163
 
@@ -165,6 +188,14 @@ module Spree
165
188
  clone_admin_product_url resource
166
189
  end
167
190
 
191
+ def permitted_resource_params
192
+ if cannot?(:activate, @product) && @new_status&.to_sym == :active
193
+ super.except(:status, :make_active_at).permit!
194
+ else
195
+ super
196
+ end
197
+ end
198
+
168
199
  private
169
200
 
170
201
  def variant_stock_includes
@@ -27,6 +27,8 @@ module Spree
27
27
  end
28
28
 
29
29
  def load_data
30
+ @actions = Rails.application.config.spree.promotions.actions
31
+
30
32
  @calculators = Rails.application.config.spree.calculators.promotion_actions_create_adjustments
31
33
  @promotion_categories = Spree::PromotionCategory.order(:name)
32
34
  end
@@ -30,9 +30,10 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
30
30
  set_current_store
31
31
  invoke_callbacks(:update, :after)
32
32
  respond_with(@object) do |format|
33
+ format.turbo_stream if update_turbo_stream_enabled?
33
34
  format.html do
34
35
  flash[:success] = flash_message_for(@object, :successfully_updated)
35
- redirect_to location_after_save
36
+ redirect_to location_after_save unless request.xhr?
36
37
  end
37
38
  format.js { render layout: false }
38
39
  end
@@ -52,8 +53,8 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
52
53
  invoke_callbacks(:create, :after)
53
54
  flash[:success] = flash_message_for(@object, :successfully_created)
54
55
  respond_with(@object) do |format|
56
+ format.turbo_stream if create_turbo_stream_enabled?
55
57
  format.html { redirect_to location_after_save }
56
- format.turbo_stream if turbo_enabled?
57
58
  format.js { render layout: false }
58
59
  end
59
60
  else
@@ -280,7 +281,11 @@ class Spree::Admin::ResourceController < Spree::Admin::BaseController
280
281
  [:new, :create]
281
282
  end
282
283
 
283
- def turbo_enabled?
284
+ def create_turbo_stream_enabled?
285
+ false
286
+ end
287
+
288
+ def update_turbo_stream_enabled?
284
289
  false
285
290
  end
286
291
  end
@@ -2,12 +2,12 @@ module Spree
2
2
  module Admin
3
3
  class ReturnIndexController < BaseController
4
4
  def return_authorizations
5
- collection(Spree::ReturnAuthorization.for_store(current_store))
5
+ collection(Spree::ReturnAuthorization.for_store(current_store).accessible_by(current_ability, :index))
6
6
  respond_with(@collection)
7
7
  end
8
8
 
9
9
  def customer_returns
10
- collection(current_store.customer_returns)
10
+ collection(current_store.customer_returns.accessible_by(current_ability, :index))
11
11
  respond_with(@collection)
12
12
  end
13
13
 
@@ -23,6 +23,11 @@ module Spree
23
23
  per_page = params[:per_page] || Spree::Backend::Config[:admin_customer_returns_per_page]
24
24
  @collection = @search.result.order(created_at: :desc).page(params[:page]).per(per_page)
25
25
  end
26
+
27
+ # this is needed for proper permissions checking
28
+ def model_class
29
+ action == :customer_returns ? Spree::CustomerReturn : Spree::ReturnAuthorization
30
+ end
26
31
  end
27
32
  end
28
33
  end
@@ -43,21 +43,24 @@ module Spree
43
43
  private
44
44
 
45
45
  def load_stock_locations
46
- @stock_locations = Spree::StockLocation.active.order_default
46
+ @stock_locations = stock_locations_scope.active.order_default
47
47
  end
48
48
 
49
49
  def source_location
50
- @source_location ||= params.key?(:transfer_receive_stock) ? nil :
51
- StockLocation.find(params[:transfer_source_location_id])
50
+ @source_location ||= params.key?(:transfer_receive_stock) ? nil : stock_locations_scope.find(params[:transfer_source_location_id])
52
51
  end
53
52
 
54
53
  def destination_location
55
- @destination_location ||= StockLocation.find(params[:transfer_destination_location_id])
54
+ @destination_location ||= stock_locations_scope.find(params[:transfer_destination_location_id])
56
55
  end
57
56
 
58
57
  def any_missing_variants?(variant_ids)
59
58
  source_location&.stock_items&.where(variant_id: variant_ids, count_on_hand: 0)&.any?
60
59
  end
60
+
61
+ def stock_locations_scope
62
+ Spree::StockLocation.accessible_by(current_ability, :update)
63
+ end
61
64
  end
62
65
  end
63
66
  end
@@ -10,37 +10,12 @@ module Spree
10
10
  before_action :load_all_countries, only: [:new, :edit, :update, :create]
11
11
  before_action :load_all_zones, only: [:new, :edit, :update, :create]
12
12
 
13
- def index
14
- if params[:ids]
15
- load_stores_by_ids
16
- elsif params[:q]
17
- load_stores_by_query
18
- end
19
-
20
- respond_with(@stores) do |format|
21
- format.json { render layout: false }
22
- end
23
- end
24
-
25
- def load_stores_by_ids
26
- @stores = stores_scope.where(id: params[:ids].split(','))
27
- end
28
-
29
- def load_stores_by_query
30
- @stores = if defined?(SpreeGlobalize)
31
- stores_scope.joins(:translations).where("LOWER(#{Store::Translation.table_name}.name) LIKE LOWER(:query)",
32
- query: "%#{params[:q]}%")
33
- else
34
- stores_scope.where('LOWER(name) LIKE LOWER(:query)', query: "%#{params[:q]}%")
35
- end
36
- end
37
-
38
13
  def create
39
14
  @store = stores_scope.new(permitted_store_params)
40
15
 
41
16
  if @store.save
42
17
  flash[:success] = flash_message_for(@store, :successfully_created)
43
- redirect_to @store.formatted_url + spree.admin_stores_path
18
+ redirect_to spree.admin_url(domain: @store.url), allow_other_host: true
44
19
  else
45
20
  flash[:error] = "#{Spree.t('store_errors.unable_to_create')}: #{@store.errors.full_messages.join(', ')}"
46
21
  render :new, status: :unprocessable_entity
@@ -52,11 +27,11 @@ module Spree
52
27
 
53
28
  if @store.save
54
29
  flash[:success] = flash_message_for(@store, :successfully_updated)
55
- redirect_to spree.admin_stores_path
56
30
  else
57
31
  flash[:error] = "#{Spree.t('store_errors.unable_to_update')}: #{@store.errors.full_messages.join(', ')}"
58
- redirect_to spree.edit_admin_store_path(@store)
59
32
  end
33
+
34
+ redirect_to spree.edit_admin_store_path(@store)
60
35
  end
61
36
 
62
37
  def destroy
@@ -64,33 +39,12 @@ module Spree
64
39
 
65
40
  if @store.destroy
66
41
  flash[:success] = flash_message_for(@store, :successfully_removed)
67
- respond_with(@store) do |format|
68
- format.html { redirect_to spree.admin_stores_path }
69
- format.js { render_js_for_destroy }
70
- end
42
+ redirect_to spree.admin_url(domain: Spree::Store.default.url), allow_other_host: true
71
43
  else
72
44
  render plain: "#{Spree.t('store_errors.unable_to_delete')}: #{@store.errors.full_messages.join(', ')}", status: :unprocessable_entity
73
45
  end
74
46
  end
75
47
 
76
- def set_default
77
- store = stores_scope.find(params[:id])
78
- stores = stores_scope.where.not(id: params[:id])
79
-
80
- ApplicationRecord.transaction do
81
- store.update(default: true)
82
- stores.update_all(default: false)
83
- end
84
-
85
- if store.errors.empty?
86
- flash[:success] = Spree.t(:store_set_as_default, store: store.name)
87
- else
88
- flash[:error] = "#{Spree.t(:store_not_set_as_default, store: store.name)} #{store.errors.full_messages.join(', ')}"
89
- end
90
-
91
- redirect_to spree.admin_stores_path
92
- end
93
-
94
48
  protected
95
49
 
96
50
  def permitted_store_params
@@ -104,7 +58,7 @@ module Spree
104
58
  end
105
59
 
106
60
  def load_all_countries
107
- @countries = Spree::Country.all
61
+ @countries = Spree::Country.pluck(:name, :id)
108
62
  end
109
63
 
110
64
  def load_all_zones
@@ -132,7 +86,7 @@ module Spree
132
86
  end
133
87
 
134
88
  def set_default_country_id
135
- @store.default_country_id = Spree::Config[:default_country_id]
89
+ @store.default_country_id ||= Spree::Store.default.default_country_id || Spree::Country.find_by(iso: "US")&.id
136
90
  end
137
91
  end
138
92
  end
@@ -4,7 +4,7 @@ module Spree
4
4
  private
5
5
 
6
6
  def location_after_save
7
- if @taxonomy.created_at == @taxonomy.updated_at
7
+ if @taxonomy.previously_new_record?
8
8
  edit_admin_taxonomy_url(@taxonomy)
9
9
  else
10
10
  admin_taxonomies_url
@@ -8,7 +8,7 @@ module Spree
8
8
  params[:q] ||= {}
9
9
  params[:q][:s] ||= 'created_at desc'
10
10
 
11
- search = Webhooks::Subscriber.ransack(params[:q])
11
+ search = Webhooks::Subscriber.accessible_by(current_ability).ransack(params[:q])
12
12
  @webhooks_subscribers = search.result.
13
13
  includes(:events).
14
14
  page(params[:page]).
@@ -63,7 +63,6 @@ module Spree
63
63
 
64
64
  def spree_humanize_type(obj)
65
65
  last_word = obj.split('::', 10).last
66
-
67
66
  if last_word.starts_with?('Cms')
68
67
  last_word.slice(3, 100).gsub(/(?<=[a-z])(?=[A-Z])/, ' ')
69
68
  else
@@ -236,29 +235,13 @@ module Spree
236
235
  content_tag(:span, ' *', class: 'required font-weight-bold text-danger')
237
236
  end
238
237
 
239
- def product_preview_link(product)
240
- ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
241
- Admin::BaseHelper#product_preview_link is deprecated and will be removed in Spree 5.0. - Use Admin::BaseHelper#external_page_preview_link
242
- DEPRECATION
243
-
244
- external_page_preview_link(product)
245
- end
246
-
247
- def taxon_preview_link(taxon)
248
- ActiveSupport::Deprecation.warn(<<-DEPRECATION, caller)
249
- Admin::BaseHelper#taxon_preview_link is deprecated and will be removed in Spree 5.0. - Use Admin::BaseHelper#external_page_preview_link
250
- DEPRECATION
251
-
252
- external_page_preview_link(taxon)
253
- end
254
-
255
238
  def external_page_preview_link(resource, options = {})
256
239
  resource_name = options[:name] || resource.class.name.demodulize
257
240
 
258
241
  button_link_to(
259
- Spree.t('admin.utilities.preview', name: resource_name ),
242
+ Spree.t('admin.utilities.preview', name: resource_name),
260
243
  spree_storefront_resource_url(resource),
261
- class: 'btn-outline-secondary', icon: 'view.svg', id: "adminPreview#{resource_name}", target: :blank, data: { turbo: false }
244
+ class: 'btn-light', icon: 'view.svg', id: "adminPreview#{resource_name}", target: :blank, data: { turbo: false }
262
245
  )
263
246
  end
264
247
 
@@ -1,14 +1,10 @@
1
1
  module Spree
2
2
  module Admin
3
3
  module CmsHelper
4
- def cms_page_preview_url(page)
5
- page_localization = if page.locale == current_store.default_locale
6
- nil
7
- else
8
- page.locale
9
- end
4
+ def cms_page_locale(page)
5
+ return if page.locale == current_store.default_locale
10
6
 
11
- spree_storefront_resource_url(page, locale: page_localization)
7
+ page.locale
12
8
  end
13
9
  end
14
10
  end
@@ -16,7 +16,8 @@ module Spree
16
16
  # # Link to /admin/orders, also highlight tab for ProductsController and ShipmentsController
17
17
  # tab :orders, :products, :shipments
18
18
 
19
- ICON_SIZE = 16
19
+ ICON_SIZE = 14
20
+ MENU_ICON_SIZE = 18
20
21
 
21
22
  def tab(*args)
22
23
  options = { label: args.first.to_s }
@@ -37,26 +38,30 @@ module Spree
37
38
 
38
39
  css_classes = ['sidebar-menu-item d-block w-100 position-relative']
39
40
 
40
- selected = if options[:match_path].is_a? Regexp
41
- request.fullpath =~ options[:match_path]
42
- elsif options[:match_path]
43
- request.fullpath.starts_with?("#{spree.admin_path}#{options[:match_path]}")
44
- else
45
- args.include?(controller.controller_name.to_sym)
46
- end
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
47
50
 
48
51
  link = if options[:icon]
49
52
  link_to_with_icon(
50
53
  options[:icon],
51
54
  titleized_label,
52
55
  destination_url,
53
- class: 'w-100 p-3 d-flex align-items-center'
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
54
59
  )
55
60
  else
56
61
  link_to(
57
62
  titleized_label,
58
63
  destination_url,
59
- class: "sidebar-submenu-item w-100 py-2 py-md-1 pl-3 d-block #{'text-success' if selected}"
64
+ class: "sidebar-submenu-item w-100 py-2 py-md-1 pl-5 d-block #{selected ? 'font-weight-bold' : 'text-muted'}"
60
65
  )
61
66
  end
62
67
 
@@ -68,22 +73,22 @@ module Spree
68
73
 
69
74
  # Single main menu item
70
75
  def main_menu_item(text, url: nil, icon: nil)
71
- link_to url, 'data-toggle': 'collapse', class: 'd-flex w-100 p-3 position-relative align-items-center' do
76
+ link_to url, 'data-toggle': 'collapse', class: 'd-flex w-100 px-3 py-2 position-relative align-items-center' do
72
77
  if icon.ends_with?('.svg')
73
- svg_icon(name: icon, classes: 'mr-2', width: ICON_SIZE, height: ICON_SIZE) +
74
- content_tag(:span, " #{text}", class: 'text') +
75
- svg_icon(name: 'chevron-left.svg', classes: 'drop-menu-indicator position-absolute', width: (ICON_SIZE - 4), height: (ICON_SIZE - 4))
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))
76
81
  else
77
- content_tag(:span, nil, class: "icon icon-#{icon} mr-2") +
78
- content_tag(:span, " #{text}", class: 'text') +
79
- svg_icon(name: 'chevron-left.svg', classes: 'drop-menu-indicator position-absolute', width: (ICON_SIZE - 4), height: (ICON_SIZE - 4))
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))
80
85
  end
81
86
  end
82
87
  end
83
88
 
84
89
  # Main menu tree menu
85
90
  def main_menu_tree(text, icon: nil, sub_menu: nil, url: '#')
86
- 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
87
92
  main_menu_item(text, url: url, icon: icon) +
88
93
  render(partial: "spree/admin/shared/sub_menu/#{sub_menu}")
89
94
  end
@@ -107,7 +112,7 @@ module Spree
107
112
 
108
113
  select_tag(:per_page,
109
114
  options_for_select(per_page_options, selected_option),
110
- class: "w-auto form-control js-per-page-select per-page-selected-#{selected_option} custom-select")
115
+ class: "w-auto form-control js-per-page-select per-page-selected-#{selected_option} custom-select custom-select-sm")
111
116
  end
112
117
 
113
118
  # helper method to create proper url to apply per page ing
@@ -135,7 +140,7 @@ module Spree
135
140
 
136
141
  def link_to_clone(resource, options = {})
137
142
  options[:data] = { action: 'clone', 'original-title': Spree.t(:clone) }
138
- options[:class] = 'btn btn-warning btn-sm with-tip'
143
+ options[:class] = 'btn btn-light btn-sm with-tip icon-link'
139
144
  options[:method] = :post
140
145
  options[:icon] = 'clone.svg'
141
146
  button_link_to '', clone_object_url(resource), options
@@ -143,7 +148,7 @@ module Spree
143
148
 
144
149
  def link_to_clone_promotion(promotion, options = {})
145
150
  options[:data] = { action: 'clone', 'original-title': Spree.t(:clone) }
146
- options[:class] = 'btn btn-warning btn-sm with-tip'
151
+ options[:class] = 'btn btn-light btn-sm with-tip'
147
152
  options[:method] = :post
148
153
  options[:icon] = 'clone.svg'
149
154
  button_link_to '', clone_admin_promotion_path(promotion), options
@@ -152,13 +157,13 @@ module Spree
152
157
  def link_to_edit(resource, options = {})
153
158
  url = options[:url] || edit_object_url(resource)
154
159
  options[:data] = { action: 'edit' }
155
- options[:class] = 'btn btn-primary btn-sm'
160
+ options[:class] = 'btn btn-light btn-sm'
156
161
  link_to_with_icon('edit.svg', Spree.t(:edit), url, options)
157
162
  end
158
163
 
159
164
  def link_to_edit_url(url, options = {})
160
165
  options[:data] = { action: 'edit' }
161
- options[:class] = 'btn btn-primary btn-sm'
166
+ options[:class] = 'btn btn-light btn-sm'
162
167
  link_to_with_icon('edit.svg', Spree.t(:edit), url, options)
163
168
  end
164
169
 
@@ -173,11 +178,13 @@ module Spree
173
178
  def link_to_with_icon(icon_name, text, url, options = {})
174
179
  options[:class] = (options[:class].to_s + " icon-link with-tip action-#{icon_name}").strip
175
180
  options[:title] = text if options[:no_text]
176
- text = options[:no_text] ? '' : content_tag(:span, text, class: 'text')
181
+ text = options[:no_text] ? '' : content_tag(:span, text)
177
182
  options.delete(:no_text)
183
+ options[:width] ||= ICON_SIZE
184
+ options[:height] ||= ICON_SIZE
178
185
  if icon_name
179
186
  icon = if icon_name.ends_with?('.svg')
180
- svg_icon(name: icon_name, classes: "#{'mr-2' unless text.empty?} icon icon-#{icon_name}", width: ICON_SIZE, height: ICON_SIZE)
187
+ svg_icon(name: icon_name, classes: "#{'mr-2' unless text.empty?} icon icon-#{icon_name}", width: options[:width], height: options[:height])
181
188
  else
182
189
  content_tag(:span, '', class: "#{'mr-2' unless text.empty?} icon icon-#{icon_name}")
183
190
  end
@@ -188,7 +195,7 @@ module Spree
188
195
 
189
196
  def spree_icon(icon_name)
190
197
  if icon_name.ends_with?('.svg')
191
- icon_name ? svg_icon(name: icon_name, classes: icon_name, width: ICON_SIZE, height: ICON_SIZE) : ''
198
+ icon_name ? svg_icon(name: icon_name, classes: icon_name, width: MENU_ICON_SIZE, height: MENU_ICON_SIZE) : ''
192
199
  else
193
200
  icon_name ? content_tag(:span, '', class: icon_name) : ''
194
201
  end
@@ -220,6 +227,9 @@ module Spree
220
227
  if html_options[:method] &&
221
228
  !html_options[:method].to_s.casecmp('get').zero? &&
222
229
  !html_options[:remote]
230
+
231
+ html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : 'btn btn-primary'
232
+
223
233
  form_tag(url, method: html_options.delete(:method)) do
224
234
  button(text, html_options.delete(:icon), nil, html_options)
225
235
  end
@@ -231,7 +241,7 @@ module Spree
231
241
 
232
242
  html_options.delete('data-update') unless html_options['data-update']
233
243
 
234
- html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : 'btn btn-outline-secondary'
244
+ html_options[:class] = html_options[:class] ? "btn #{html_options[:class]}" : 'btn btn-light'
235
245
 
236
246
  if html_options[:icon]
237
247
  icon = if html_options[:icon].ends_with?('.svg')
@@ -247,14 +257,14 @@ module Spree
247
257
  end
248
258
 
249
259
  def configurations_sidebar_menu_item(link_text, url, options = {})
250
- is_selected = url.ends_with?(controller.controller_name) ||
260
+ options[:is_selected] ||= url.ends_with?(controller.controller_name) ||
251
261
  url.ends_with?("#{controller.controller_name}/edit") ||
252
262
  url.ends_with?("#{controller.controller_name.singularize}/edit")
253
263
 
254
264
  options[:class] = 'sidebar-menu-item d-block w-100'
255
- options[:class] << ' selected' if is_selected
265
+ options[:class] << ' selected font-weight-bold' if options[:is_selected]
256
266
  content_tag(:li, options) do
257
- link_to(link_text, url, class: "#{'text-success' if is_selected} sidebar-submenu-item w-100 py-2 py-md-1 pl-3 d-block")
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")
258
268
  end
259
269
  end
260
270
 
@@ -263,7 +273,7 @@ module Spree
263
273
  label ||= condition ? Spree.t(:say_yes) : Spree.t(:say_no)
264
274
  css_class = condition ? 'badge-active' : 'badge-inactive'
265
275
 
266
- content_tag(:strong, class: "badge #{css_class} text-uppercase") do
276
+ content_tag(:small, class: "badge badge-pill #{css_class}") do
267
277
  label
268
278
  end
269
279
  end
@@ -296,6 +306,12 @@ module Spree
296
306
  DEPRECATION
297
307
  'sidebar-minimized' if cookies['sidebar-minimized'] == 'true'
298
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
299
315
  end
300
316
  end
301
317
  end
@@ -13,7 +13,8 @@ module Spree
13
13
  [event.to_sym, :admin, order],
14
14
  method: :put,
15
15
  icon: event.to_s + '.svg',
16
- data: { confirm: Spree.t(:order_sure_want_to, event: label) }
16
+ data: { confirm: Spree.t(:order_sure_want_to, event: label) },
17
+ class: 'btn-light'
17
18
  )
18
19
  end
19
20
  safe_join(links, ''.html_safe)
@@ -4,7 +4,11 @@ module Spree
4
4
  def payment_method_name(payment)
5
5
  payment_method = payment.payment_method
6
6
 
7
- link_to payment_method.name, spree.edit_admin_payment_method_path(payment_method)
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
@@ -22,8 +22,8 @@ module Spree
22
22
  icon = svg_icon name: 'circle.svg', width: '18', height: '18'
23
23
  end
24
24
 
25
- link_to icon + store.unique_name, url_for(host: store.formatted_url),
26
- class: "#{classes} text-dark p-3 dropdown-item", id: store.code, data: { turbo: false }
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
27
  end
28
28
  end
29
29
  end