fox_tail 0.1.1 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1126) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/vendor/flowbite-icons/outline/address-book.svg +3 -0
  3. data/app/assets/vendor/flowbite-icons/outline/adjustments-horizontal.svg +3 -0
  4. data/app/assets/vendor/flowbite-icons/outline/adjustments-vertical.svg +3 -0
  5. data/app/assets/vendor/flowbite-icons/outline/align-center.svg +3 -0
  6. data/app/assets/vendor/flowbite-icons/outline/angle-down.svg +3 -0
  7. data/app/assets/vendor/flowbite-icons/outline/angle-left.svg +3 -0
  8. data/app/assets/vendor/flowbite-icons/outline/angle-right.svg +3 -0
  9. data/app/assets/vendor/flowbite-icons/outline/angle-up.svg +3 -0
  10. data/app/assets/vendor/flowbite-icons/outline/annotation.svg +3 -0
  11. data/app/assets/vendor/flowbite-icons/outline/archive-arrow-down.svg +3 -0
  12. data/app/assets/vendor/flowbite-icons/outline/archive.svg +3 -0
  13. data/app/assets/vendor/flowbite-icons/outline/arrow-down-to-bracket.svg +3 -0
  14. data/app/assets/vendor/flowbite-icons/outline/arrow-down.svg +3 -0
  15. data/app/assets/vendor/flowbite-icons/outline/arrow-left-to-bracket.svg +3 -0
  16. data/app/assets/vendor/flowbite-icons/outline/arrow-left.svg +3 -0
  17. data/app/assets/vendor/flowbite-icons/outline/arrow-right-alt.svg +3 -0
  18. data/app/assets/vendor/flowbite-icons/outline/arrow-right-to-bracket.svg +3 -0
  19. data/app/assets/vendor/flowbite-icons/outline/arrow-right.svg +3 -0
  20. data/app/assets/vendor/flowbite-icons/outline/arrow-sort-letters.svg +3 -0
  21. data/app/assets/vendor/flowbite-icons/outline/arrow-up-down.svg +3 -0
  22. data/app/assets/vendor/flowbite-icons/outline/arrow-up-from-bracket.svg +3 -0
  23. data/app/assets/vendor/flowbite-icons/outline/arrow-up-right-down-left.svg +3 -0
  24. data/app/assets/vendor/flowbite-icons/outline/arrow-up-right-from-square.svg +3 -0
  25. data/app/assets/vendor/flowbite-icons/outline/arrow-up.svg +3 -0
  26. data/app/assets/vendor/flowbite-icons/outline/arrows-repeat-count.svg +3 -0
  27. data/app/assets/vendor/flowbite-icons/outline/arrows-repeat.svg +3 -0
  28. data/app/assets/vendor/flowbite-icons/outline/atom.svg +3 -0
  29. data/app/assets/vendor/flowbite-icons/outline/award.svg +3 -0
  30. data/app/assets/vendor/flowbite-icons/outline/backward-step.svg +3 -0
  31. data/app/assets/vendor/flowbite-icons/outline/badge-check.svg +3 -0
  32. data/app/assets/vendor/flowbite-icons/outline/ban.svg +3 -0
  33. data/app/assets/vendor/flowbite-icons/outline/bars-from-left.svg +3 -0
  34. data/app/assets/vendor/flowbite-icons/outline/bars.svg +3 -0
  35. data/app/assets/vendor/flowbite-icons/outline/bell-active-alt.svg +3 -0
  36. data/app/assets/vendor/flowbite-icons/outline/bell-active.svg +3 -0
  37. data/app/assets/vendor/flowbite-icons/outline/bell-ring.svg +3 -0
  38. data/app/assets/vendor/flowbite-icons/outline/bell.svg +3 -0
  39. data/app/assets/vendor/flowbite-icons/outline/blender-phone.svg +3 -0
  40. data/app/assets/vendor/flowbite-icons/outline/book-open.svg +3 -0
  41. data/app/assets/vendor/flowbite-icons/outline/book.svg +3 -0
  42. data/app/assets/vendor/flowbite-icons/outline/bookmark.svg +3 -0
  43. data/app/assets/vendor/flowbite-icons/outline/brain.svg +3 -0
  44. data/app/assets/vendor/flowbite-icons/outline/briefcase.svg +3 -0
  45. data/app/assets/vendor/flowbite-icons/outline/bug.svg +3 -0
  46. data/app/assets/vendor/flowbite-icons/outline/building.svg +3 -0
  47. data/app/assets/vendor/flowbite-icons/outline/bullhorn.svg +3 -0
  48. data/app/assets/vendor/flowbite-icons/outline/calendar-edit.svg +3 -0
  49. data/app/assets/vendor/flowbite-icons/outline/calendar-month.svg +3 -0
  50. data/app/assets/vendor/flowbite-icons/outline/calendar-plus.svg +3 -0
  51. data/app/assets/vendor/flowbite-icons/outline/calendar-week.svg +3 -0
  52. data/app/assets/vendor/flowbite-icons/outline/camera-photo.svg +4 -0
  53. data/app/assets/vendor/flowbite-icons/outline/caption.svg +3 -0
  54. data/app/assets/vendor/flowbite-icons/outline/caret-down.svg +3 -0
  55. data/app/assets/vendor/flowbite-icons/outline/caret-left.svg +3 -0
  56. data/app/assets/vendor/flowbite-icons/outline/caret-right.svg +3 -0
  57. data/app/assets/vendor/flowbite-icons/outline/caret-sort.svg +3 -0
  58. data/app/assets/vendor/flowbite-icons/outline/caret-up.svg +3 -0
  59. data/app/assets/vendor/flowbite-icons/outline/cart-plus-alt.svg +3 -0
  60. data/app/assets/vendor/flowbite-icons/outline/cart-plus.svg +3 -0
  61. data/app/assets/vendor/flowbite-icons/outline/cart.svg +3 -0
  62. data/app/assets/vendor/flowbite-icons/outline/cash.svg +3 -0
  63. data/app/assets/vendor/flowbite-icons/outline/chart-line-down.svg +3 -0
  64. data/app/assets/vendor/flowbite-icons/outline/chart-line-up.svg +3 -0
  65. data/app/assets/vendor/flowbite-icons/outline/chart-mixed-dollar.svg +3 -0
  66. data/app/assets/vendor/flowbite-icons/outline/chart-mixed.svg +3 -0
  67. data/app/assets/vendor/flowbite-icons/outline/chart-pie.svg +4 -0
  68. data/app/assets/vendor/flowbite-icons/outline/chart.svg +3 -0
  69. data/app/assets/vendor/flowbite-icons/outline/check-circle.svg +3 -0
  70. data/app/assets/vendor/flowbite-icons/outline/check-plus-circle.svg +3 -0
  71. data/app/assets/vendor/flowbite-icons/outline/check.svg +3 -0
  72. data/app/assets/vendor/flowbite-icons/outline/chevron-double-down.svg +3 -0
  73. data/app/assets/vendor/flowbite-icons/outline/chevron-double-left.svg +3 -0
  74. data/app/assets/vendor/flowbite-icons/outline/chevron-double-right.svg +3 -0
  75. data/app/assets/vendor/flowbite-icons/outline/chevron-double-up.svg +3 -0
  76. data/app/assets/vendor/flowbite-icons/outline/chevron-down.svg +3 -0
  77. data/app/assets/vendor/flowbite-icons/outline/chevron-left.svg +3 -0
  78. data/app/assets/vendor/flowbite-icons/outline/chevron-right.svg +3 -0
  79. data/app/assets/vendor/flowbite-icons/outline/chevron-sort.svg +3 -0
  80. data/app/assets/vendor/flowbite-icons/outline/chevron-up.svg +3 -0
  81. data/app/assets/vendor/flowbite-icons/outline/circle-minus.svg +3 -0
  82. data/app/assets/vendor/flowbite-icons/outline/circle-pause.svg +3 -0
  83. data/app/assets/vendor/flowbite-icons/outline/circle-plus.svg +3 -0
  84. data/app/assets/vendor/flowbite-icons/outline/clapperboard-play.svg +3 -0
  85. data/app/assets/vendor/flowbite-icons/outline/clipboard-check.svg +3 -0
  86. data/app/assets/vendor/flowbite-icons/outline/clipboard-clean.svg +3 -0
  87. data/app/assets/vendor/flowbite-icons/outline/clipboard-list.svg +3 -0
  88. data/app/assets/vendor/flowbite-icons/outline/clipboard.svg +3 -0
  89. data/app/assets/vendor/flowbite-icons/outline/clock.svg +3 -0
  90. data/app/assets/vendor/flowbite-icons/outline/close-circle.svg +3 -0
  91. data/app/assets/vendor/flowbite-icons/outline/close.svg +3 -0
  92. data/app/assets/vendor/flowbite-icons/outline/cloud-arrow-up.svg +3 -0
  93. data/app/assets/vendor/flowbite-icons/outline/code-branch.svg +3 -0
  94. data/app/assets/vendor/flowbite-icons/outline/code-fork.svg +3 -0
  95. data/app/assets/vendor/flowbite-icons/outline/code-merge.svg +3 -0
  96. data/app/assets/vendor/flowbite-icons/outline/code-pull-request.svg +3 -0
  97. data/app/assets/vendor/flowbite-icons/outline/code.svg +3 -0
  98. data/app/assets/vendor/flowbite-icons/outline/cog.svg +4 -0
  99. data/app/assets/vendor/flowbite-icons/outline/column.svg +3 -0
  100. data/app/assets/vendor/flowbite-icons/outline/command.svg +3 -0
  101. data/app/assets/vendor/flowbite-icons/outline/compress.svg +3 -0
  102. data/app/assets/vendor/flowbite-icons/outline/computer-speaker.svg +3 -0
  103. data/app/assets/vendor/flowbite-icons/outline/credit-card-plus.svg +3 -0
  104. data/app/assets/vendor/flowbite-icons/outline/credit-card.svg +3 -0
  105. data/app/assets/vendor/flowbite-icons/outline/database.svg +3 -0
  106. data/app/assets/vendor/flowbite-icons/outline/desktop-pc.svg +3 -0
  107. data/app/assets/vendor/flowbite-icons/outline/dna.svg +3 -0
  108. data/app/assets/vendor/flowbite-icons/outline/dollar.svg +3 -0
  109. data/app/assets/vendor/flowbite-icons/outline/dots-horizontal.svg +3 -0
  110. data/app/assets/vendor/flowbite-icons/outline/dots-vertical.svg +3 -0
  111. data/app/assets/vendor/flowbite-icons/outline/download.svg +3 -0
  112. data/app/assets/vendor/flowbite-icons/outline/draw-square.svg +3 -0
  113. data/app/assets/vendor/flowbite-icons/outline/edit.svg +3 -0
  114. data/app/assets/vendor/flowbite-icons/outline/envelope-open.svg +3 -0
  115. data/app/assets/vendor/flowbite-icons/outline/envelope.svg +3 -0
  116. data/app/assets/vendor/flowbite-icons/outline/euro.svg +3 -0
  117. data/app/assets/vendor/flowbite-icons/outline/exclamation-circle.svg +3 -0
  118. data/app/assets/vendor/flowbite-icons/outline/expand.svg +3 -0
  119. data/app/assets/vendor/flowbite-icons/outline/eye-slash.svg +3 -0
  120. data/app/assets/vendor/flowbite-icons/outline/eye.svg +4 -0
  121. data/app/assets/vendor/flowbite-icons/outline/face-explode.svg +4 -0
  122. data/app/assets/vendor/flowbite-icons/outline/face-grin-stars.svg +6 -0
  123. data/app/assets/vendor/flowbite-icons/outline/face-grin.svg +3 -0
  124. data/app/assets/vendor/flowbite-icons/outline/face-laugh.svg +3 -0
  125. data/app/assets/vendor/flowbite-icons/outline/file-chart-bar.svg +3 -0
  126. data/app/assets/vendor/flowbite-icons/outline/file-check.svg +3 -0
  127. data/app/assets/vendor/flowbite-icons/outline/file-circle-plus.svg +3 -0
  128. data/app/assets/vendor/flowbite-icons/outline/file-clone.svg +3 -0
  129. data/app/assets/vendor/flowbite-icons/outline/file-code.svg +3 -0
  130. data/app/assets/vendor/flowbite-icons/outline/file-copy-alt.svg +3 -0
  131. data/app/assets/vendor/flowbite-icons/outline/file-copy.svg +3 -0
  132. data/app/assets/vendor/flowbite-icons/outline/file-csv.svg +3 -0
  133. data/app/assets/vendor/flowbite-icons/outline/file-doc.svg +3 -0
  134. data/app/assets/vendor/flowbite-icons/outline/file-export.svg +3 -0
  135. data/app/assets/vendor/flowbite-icons/outline/file-image.svg +4 -0
  136. data/app/assets/vendor/flowbite-icons/outline/file-import.svg +3 -0
  137. data/app/assets/vendor/flowbite-icons/outline/file-invoice.svg +3 -0
  138. data/app/assets/vendor/flowbite-icons/outline/file-lines.svg +3 -0
  139. data/app/assets/vendor/flowbite-icons/outline/file-music.svg +3 -0
  140. data/app/assets/vendor/flowbite-icons/outline/file-paste.svg +3 -0
  141. data/app/assets/vendor/flowbite-icons/outline/file-pdf.svg +3 -0
  142. data/app/assets/vendor/flowbite-icons/outline/file-pen.svg +3 -0
  143. data/app/assets/vendor/flowbite-icons/outline/file-ppt.svg +3 -0
  144. data/app/assets/vendor/flowbite-icons/outline/file-search.svg +3 -0
  145. data/app/assets/vendor/flowbite-icons/outline/file-shield.svg +3 -0
  146. data/app/assets/vendor/flowbite-icons/outline/file-video.svg +3 -0
  147. data/app/assets/vendor/flowbite-icons/outline/file-word.svg +3 -0
  148. data/app/assets/vendor/flowbite-icons/outline/file-zip.svg +3 -0
  149. data/app/assets/vendor/flowbite-icons/outline/file.svg +3 -0
  150. data/app/assets/vendor/flowbite-icons/outline/filter.svg +3 -0
  151. data/app/assets/vendor/flowbite-icons/outline/fingerprint.svg +3 -0
  152. data/app/assets/vendor/flowbite-icons/outline/fire.svg +3 -0
  153. data/app/assets/vendor/flowbite-icons/outline/flag.svg +3 -0
  154. data/app/assets/vendor/flowbite-icons/outline/floppy-disk-alt.svg +3 -0
  155. data/app/assets/vendor/flowbite-icons/outline/floppy-disk.svg +4 -0
  156. data/app/assets/vendor/flowbite-icons/outline/folder-arrow-right.svg +3 -0
  157. data/app/assets/vendor/flowbite-icons/outline/folder-duplicate.svg +3 -0
  158. data/app/assets/vendor/flowbite-icons/outline/folder-open.svg +3 -0
  159. data/app/assets/vendor/flowbite-icons/outline/folder-plus.svg +3 -0
  160. data/app/assets/vendor/flowbite-icons/outline/folder.svg +3 -0
  161. data/app/assets/vendor/flowbite-icons/outline/forward-step.svg +3 -0
  162. data/app/assets/vendor/flowbite-icons/outline/forward.svg +3 -0
  163. data/app/assets/vendor/flowbite-icons/outline/gift-box.svg +3 -0
  164. data/app/assets/vendor/flowbite-icons/outline/globe.svg +3 -0
  165. data/app/assets/vendor/flowbite-icons/outline/grid-plus.svg +3 -0
  166. data/app/assets/vendor/flowbite-icons/outline/grid.svg +3 -0
  167. data/app/assets/vendor/flowbite-icons/outline/headphones.svg +3 -0
  168. data/app/assets/vendor/flowbite-icons/outline/heart.svg +3 -0
  169. data/app/assets/vendor/flowbite-icons/outline/home.svg +3 -0
  170. data/app/assets/vendor/flowbite-icons/outline/hourglass.svg +3 -0
  171. data/app/assets/vendor/flowbite-icons/outline/image.svg +3 -0
  172. data/app/assets/vendor/flowbite-icons/outline/inbox-full.svg +3 -0
  173. data/app/assets/vendor/flowbite-icons/outline/inbox.svg +3 -0
  174. data/app/assets/vendor/flowbite-icons/outline/indent.svg +3 -0
  175. data/app/assets/vendor/flowbite-icons/outline/info-circle.svg +3 -0
  176. data/app/assets/vendor/flowbite-icons/outline/keyboard.svg +5 -0
  177. data/app/assets/vendor/flowbite-icons/outline/label.svg +3 -0
  178. data/app/assets/vendor/flowbite-icons/outline/landmark.svg +3 -0
  179. data/app/assets/vendor/flowbite-icons/outline/language.svg +3 -0
  180. data/app/assets/vendor/flowbite-icons/outline/layers.svg +3 -0
  181. data/app/assets/vendor/flowbite-icons/outline/letter-bold.svg +3 -0
  182. data/app/assets/vendor/flowbite-icons/outline/letter-italic.svg +3 -0
  183. data/app/assets/vendor/flowbite-icons/outline/letter-underline.svg +3 -0
  184. data/app/assets/vendor/flowbite-icons/outline/life-saver.svg +3 -0
  185. data/app/assets/vendor/flowbite-icons/outline/lightbulb.svg +3 -0
  186. data/app/assets/vendor/flowbite-icons/outline/link.svg +3 -0
  187. data/app/assets/vendor/flowbite-icons/outline/list-music.svg +3 -0
  188. data/app/assets/vendor/flowbite-icons/outline/list.svg +3 -0
  189. data/app/assets/vendor/flowbite-icons/outline/lock-open.svg +3 -0
  190. data/app/assets/vendor/flowbite-icons/outline/lock-time.svg +3 -0
  191. data/app/assets/vendor/flowbite-icons/outline/lock.svg +3 -0
  192. data/app/assets/vendor/flowbite-icons/outline/mail-box.svg +3 -0
  193. data/app/assets/vendor/flowbite-icons/outline/map-pin-alt.svg +4 -0
  194. data/app/assets/vendor/flowbite-icons/outline/map-pin.svg +3 -0
  195. data/app/assets/vendor/flowbite-icons/outline/message-caption.svg +3 -0
  196. data/app/assets/vendor/flowbite-icons/outline/message-dots.svg +3 -0
  197. data/app/assets/vendor/flowbite-icons/outline/messages.svg +3 -0
  198. data/app/assets/vendor/flowbite-icons/outline/microphone-slash.svg +3 -0
  199. data/app/assets/vendor/flowbite-icons/outline/microphone.svg +3 -0
  200. data/app/assets/vendor/flowbite-icons/outline/minimize.svg +3 -0
  201. data/app/assets/vendor/flowbite-icons/outline/minus.svg +3 -0
  202. data/app/assets/vendor/flowbite-icons/outline/mobile-phone.svg +3 -0
  203. data/app/assets/vendor/flowbite-icons/outline/moon.svg +3 -0
  204. data/app/assets/vendor/flowbite-icons/outline/newspaper.svg +3 -0
  205. data/app/assets/vendor/flowbite-icons/outline/objects-column.svg +3 -0
  206. data/app/assets/vendor/flowbite-icons/outline/ordered-list.svg +3 -0
  207. data/app/assets/vendor/flowbite-icons/outline/outdent.svg +3 -0
  208. data/app/assets/vendor/flowbite-icons/outline/palette.svg +3 -0
  209. data/app/assets/vendor/flowbite-icons/outline/paper-clip.svg +3 -0
  210. data/app/assets/vendor/flowbite-icons/outline/paper-plane.svg +3 -0
  211. data/app/assets/vendor/flowbite-icons/outline/paragraph.svg +3 -0
  212. data/app/assets/vendor/flowbite-icons/outline/pause.svg +3 -0
  213. data/app/assets/vendor/flowbite-icons/outline/pen-nib.svg +3 -0
  214. data/app/assets/vendor/flowbite-icons/outline/pen.svg +3 -0
  215. data/app/assets/vendor/flowbite-icons/outline/phone-hangup.svg +3 -0
  216. data/app/assets/vendor/flowbite-icons/outline/phone.svg +3 -0
  217. data/app/assets/vendor/flowbite-icons/outline/play.svg +3 -0
  218. data/app/assets/vendor/flowbite-icons/outline/plus.svg +3 -0
  219. data/app/assets/vendor/flowbite-icons/outline/printer.svg +3 -0
  220. data/app/assets/vendor/flowbite-icons/outline/profile-card.svg +3 -0
  221. data/app/assets/vendor/flowbite-icons/outline/qr-code.svg +4 -0
  222. data/app/assets/vendor/flowbite-icons/outline/question-circle.svg +3 -0
  223. data/app/assets/vendor/flowbite-icons/outline/quote.svg +3 -0
  224. data/app/assets/vendor/flowbite-icons/outline/receipt.svg +3 -0
  225. data/app/assets/vendor/flowbite-icons/outline/rectangle-list.svg +3 -0
  226. data/app/assets/vendor/flowbite-icons/outline/redo.svg +3 -0
  227. data/app/assets/vendor/flowbite-icons/outline/refresh.svg +3 -0
  228. data/app/assets/vendor/flowbite-icons/outline/reply-all.svg +3 -0
  229. data/app/assets/vendor/flowbite-icons/outline/reply.svg +3 -0
  230. data/app/assets/vendor/flowbite-icons/outline/restore-window.svg +3 -0
  231. data/app/assets/vendor/flowbite-icons/outline/rocket.svg +3 -0
  232. data/app/assets/vendor/flowbite-icons/outline/ruler-combined.svg +3 -0
  233. data/app/assets/vendor/flowbite-icons/outline/sale-percent.svg +3 -0
  234. data/app/assets/vendor/flowbite-icons/outline/scale-balanced.svg +3 -0
  235. data/app/assets/vendor/flowbite-icons/outline/search.svg +3 -0
  236. data/app/assets/vendor/flowbite-icons/outline/server.svg +3 -0
  237. data/app/assets/vendor/flowbite-icons/outline/share-all.svg +3 -0
  238. data/app/assets/vendor/flowbite-icons/outline/share-nodes.svg +3 -0
  239. data/app/assets/vendor/flowbite-icons/outline/shield-check.svg +3 -0
  240. data/app/assets/vendor/flowbite-icons/outline/shield.svg +3 -0
  241. data/app/assets/vendor/flowbite-icons/outline/shopping-bag.svg +3 -0
  242. data/app/assets/vendor/flowbite-icons/outline/shuffle.svg +3 -0
  243. data/app/assets/vendor/flowbite-icons/outline/sort-horizontal.svg +3 -0
  244. data/app/assets/vendor/flowbite-icons/outline/sort.svg +3 -0
  245. data/app/assets/vendor/flowbite-icons/outline/star-half-stroke.svg +3 -0
  246. data/app/assets/vendor/flowbite-icons/outline/star-half.svg +3 -0
  247. data/app/assets/vendor/flowbite-icons/outline/star.svg +3 -0
  248. data/app/assets/vendor/flowbite-icons/outline/stop.svg +3 -0
  249. data/app/assets/vendor/flowbite-icons/outline/store.svg +3 -0
  250. data/app/assets/vendor/flowbite-icons/outline/sun.svg +3 -0
  251. data/app/assets/vendor/flowbite-icons/outline/swatchbook.svg +3 -0
  252. data/app/assets/vendor/flowbite-icons/outline/table-column.svg +3 -0
  253. data/app/assets/vendor/flowbite-icons/outline/table-row.svg +3 -0
  254. data/app/assets/vendor/flowbite-icons/outline/tablet.svg +3 -0
  255. data/app/assets/vendor/flowbite-icons/outline/tag.svg +3 -0
  256. data/app/assets/vendor/flowbite-icons/outline/terminal.svg +3 -0
  257. data/app/assets/vendor/flowbite-icons/outline/text-size.svg +3 -0
  258. data/app/assets/vendor/flowbite-icons/outline/text-slash.svg +3 -0
  259. data/app/assets/vendor/flowbite-icons/outline/thumbs-down.svg +3 -0
  260. data/app/assets/vendor/flowbite-icons/outline/thumbs-up.svg +3 -0
  261. data/app/assets/vendor/flowbite-icons/outline/ticket.svg +3 -0
  262. data/app/assets/vendor/flowbite-icons/outline/trash-bin.svg +3 -0
  263. data/app/assets/vendor/flowbite-icons/outline/truck.svg +3 -0
  264. data/app/assets/vendor/flowbite-icons/outline/undo.svg +3 -0
  265. data/app/assets/vendor/flowbite-icons/outline/upload.svg +3 -0
  266. data/app/assets/vendor/flowbite-icons/outline/user-add.svg +3 -0
  267. data/app/assets/vendor/flowbite-icons/outline/user-circle.svg +3 -0
  268. data/app/assets/vendor/flowbite-icons/outline/user-edit.svg +3 -0
  269. data/app/assets/vendor/flowbite-icons/outline/user-headset.svg +3 -0
  270. data/app/assets/vendor/flowbite-icons/outline/user-remove.svg +3 -0
  271. data/app/assets/vendor/flowbite-icons/outline/user-settings.svg +3 -0
  272. data/app/assets/vendor/flowbite-icons/outline/user.svg +3 -0
  273. data/app/assets/vendor/flowbite-icons/outline/users-group.svg +3 -0
  274. data/app/assets/vendor/flowbite-icons/outline/users.svg +3 -0
  275. data/app/assets/vendor/flowbite-icons/outline/video-camera.svg +3 -0
  276. data/app/assets/vendor/flowbite-icons/outline/volume-down.svg +3 -0
  277. data/app/assets/vendor/flowbite-icons/outline/volume-mute.svg +3 -0
  278. data/app/assets/vendor/flowbite-icons/outline/volume-up.svg +3 -0
  279. data/app/assets/vendor/flowbite-icons/outline/wallet.svg +3 -0
  280. data/app/assets/vendor/flowbite-icons/outline/wand-magic-sparkles.svg +3 -0
  281. data/app/assets/vendor/flowbite-icons/outline/window.svg +3 -0
  282. data/app/assets/vendor/flowbite-icons/outline/zoom-in.svg +3 -0
  283. data/app/assets/vendor/flowbite-icons/outline/zoom-out.svg +3 -0
  284. data/app/assets/vendor/flowbite-icons/solid/X.svg +3 -0
  285. data/app/assets/vendor/flowbite-icons/solid/address-book.svg +3 -0
  286. data/app/assets/vendor/flowbite-icons/solid/adjustments-horizontal.svg +3 -0
  287. data/app/assets/vendor/flowbite-icons/solid/adjustments-vertical.svg +3 -0
  288. data/app/assets/vendor/flowbite-icons/solid/annotation.svg +3 -0
  289. data/app/assets/vendor/flowbite-icons/solid/apple.svg +3 -0
  290. data/app/assets/vendor/flowbite-icons/solid/archive-arrow-down.svg +3 -0
  291. data/app/assets/vendor/flowbite-icons/solid/archive.svg +4 -0
  292. data/app/assets/vendor/flowbite-icons/solid/arrow-right-alt.svg +3 -0
  293. data/app/assets/vendor/flowbite-icons/solid/arrow-up-right-from-square.svg +4 -0
  294. data/app/assets/vendor/flowbite-icons/solid/award.svg +5 -0
  295. data/app/assets/vendor/flowbite-icons/solid/backward-step.svg +3 -0
  296. data/app/assets/vendor/flowbite-icons/solid/badge-check.svg +3 -0
  297. data/app/assets/vendor/flowbite-icons/solid/bell-active-alt.svg +3 -0
  298. data/app/assets/vendor/flowbite-icons/solid/bell-active.svg +5 -0
  299. data/app/assets/vendor/flowbite-icons/solid/bell-ring.svg +3 -0
  300. data/app/assets/vendor/flowbite-icons/solid/bell.svg +3 -0
  301. data/app/assets/vendor/flowbite-icons/solid/blender-phone.svg +3 -0
  302. data/app/assets/vendor/flowbite-icons/solid/book-open.svg +3 -0
  303. data/app/assets/vendor/flowbite-icons/solid/book.svg +3 -0
  304. data/app/assets/vendor/flowbite-icons/solid/bookmark.svg +3 -0
  305. data/app/assets/vendor/flowbite-icons/solid/brain.svg +3 -0
  306. data/app/assets/vendor/flowbite-icons/solid/briefcase.svg +3 -0
  307. data/app/assets/vendor/flowbite-icons/solid/bug.svg +3 -0
  308. data/app/assets/vendor/flowbite-icons/solid/building.svg +3 -0
  309. data/app/assets/vendor/flowbite-icons/solid/bullhorn.svg +3 -0
  310. data/app/assets/vendor/flowbite-icons/solid/calendar-edit.svg +4 -0
  311. data/app/assets/vendor/flowbite-icons/solid/calendar-month.svg +3 -0
  312. data/app/assets/vendor/flowbite-icons/solid/calendar-plus.svg +3 -0
  313. data/app/assets/vendor/flowbite-icons/solid/calendar-week.svg +3 -0
  314. data/app/assets/vendor/flowbite-icons/solid/camera-photo.svg +3 -0
  315. data/app/assets/vendor/flowbite-icons/solid/caption.svg +3 -0
  316. data/app/assets/vendor/flowbite-icons/solid/caret-down.svg +3 -0
  317. data/app/assets/vendor/flowbite-icons/solid/caret-left.svg +3 -0
  318. data/app/assets/vendor/flowbite-icons/solid/caret-right.svg +3 -0
  319. data/app/assets/vendor/flowbite-icons/solid/caret-sort.svg +3 -0
  320. data/app/assets/vendor/flowbite-icons/solid/caret-up.svg +3 -0
  321. data/app/assets/vendor/flowbite-icons/solid/cart-plus-alt.svg +4 -0
  322. data/app/assets/vendor/flowbite-icons/solid/cart-plus.svg +4 -0
  323. data/app/assets/vendor/flowbite-icons/solid/cart.svg +3 -0
  324. data/app/assets/vendor/flowbite-icons/solid/cash.svg +5 -0
  325. data/app/assets/vendor/flowbite-icons/solid/chart-mixed-dollar.svg +3 -0
  326. data/app/assets/vendor/flowbite-icons/solid/chart-pie.svg +4 -0
  327. data/app/assets/vendor/flowbite-icons/solid/check-circle.svg +3 -0
  328. data/app/assets/vendor/flowbite-icons/solid/check-plus-circle.svg +4 -0
  329. data/app/assets/vendor/flowbite-icons/solid/circle-minus.svg +3 -0
  330. data/app/assets/vendor/flowbite-icons/solid/circle-pause.svg +3 -0
  331. data/app/assets/vendor/flowbite-icons/solid/circle-plus.svg +3 -0
  332. data/app/assets/vendor/flowbite-icons/solid/clapperboard-play.svg +3 -0
  333. data/app/assets/vendor/flowbite-icons/solid/clipboard-check.svg +3 -0
  334. data/app/assets/vendor/flowbite-icons/solid/clipboard-clean.svg +3 -0
  335. data/app/assets/vendor/flowbite-icons/solid/clipboard-list.svg +3 -0
  336. data/app/assets/vendor/flowbite-icons/solid/clipboard.svg +3 -0
  337. data/app/assets/vendor/flowbite-icons/solid/clock.svg +3 -0
  338. data/app/assets/vendor/flowbite-icons/solid/close-circle.svg +3 -0
  339. data/app/assets/vendor/flowbite-icons/solid/cloud-arrow-up.svg +4 -0
  340. data/app/assets/vendor/flowbite-icons/solid/code-branch.svg +3 -0
  341. data/app/assets/vendor/flowbite-icons/solid/code-fork.svg +3 -0
  342. data/app/assets/vendor/flowbite-icons/solid/code-merge.svg +3 -0
  343. data/app/assets/vendor/flowbite-icons/solid/code-pull-request.svg +3 -0
  344. data/app/assets/vendor/flowbite-icons/solid/cog.svg +3 -0
  345. data/app/assets/vendor/flowbite-icons/solid/column.svg +3 -0
  346. data/app/assets/vendor/flowbite-icons/solid/computer-speaker.svg +4 -0
  347. data/app/assets/vendor/flowbite-icons/solid/credit-card-plus.svg +5 -0
  348. data/app/assets/vendor/flowbite-icons/solid/credit-card.svg +4 -0
  349. data/app/assets/vendor/flowbite-icons/solid/css.svg +3 -0
  350. data/app/assets/vendor/flowbite-icons/solid/database.svg +3 -0
  351. data/app/assets/vendor/flowbite-icons/solid/desktop-pc.svg +3 -0
  352. data/app/assets/vendor/flowbite-icons/solid/discord.svg +3 -0
  353. data/app/assets/vendor/flowbite-icons/solid/download.svg +4 -0
  354. data/app/assets/vendor/flowbite-icons/solid/draw-square.svg +4 -0
  355. data/app/assets/vendor/flowbite-icons/solid/dribbble.svg +3 -0
  356. data/app/assets/vendor/flowbite-icons/solid/dropbox.svg +4 -0
  357. data/app/assets/vendor/flowbite-icons/solid/edit.svg +4 -0
  358. data/app/assets/vendor/flowbite-icons/solid/envelope-open.svg +4 -0
  359. data/app/assets/vendor/flowbite-icons/solid/envelope.svg +4 -0
  360. data/app/assets/vendor/flowbite-icons/solid/exclamation-circle.svg +3 -0
  361. data/app/assets/vendor/flowbite-icons/solid/eye-slash.svg +5 -0
  362. data/app/assets/vendor/flowbite-icons/solid/eye.svg +3 -0
  363. data/app/assets/vendor/flowbite-icons/solid/face-explode.svg +3 -0
  364. data/app/assets/vendor/flowbite-icons/solid/face-grin-stars.svg +3 -0
  365. data/app/assets/vendor/flowbite-icons/solid/face-grin.svg +3 -0
  366. data/app/assets/vendor/flowbite-icons/solid/face-laugh.svg +3 -0
  367. data/app/assets/vendor/flowbite-icons/solid/facebook.svg +3 -0
  368. data/app/assets/vendor/flowbite-icons/solid/file-chart-bar.svg +3 -0
  369. data/app/assets/vendor/flowbite-icons/solid/file-check.svg +4 -0
  370. data/app/assets/vendor/flowbite-icons/solid/file-circle-plus.svg +4 -0
  371. data/app/assets/vendor/flowbite-icons/solid/file-clone.svg +4 -0
  372. data/app/assets/vendor/flowbite-icons/solid/file-code.svg +3 -0
  373. data/app/assets/vendor/flowbite-icons/solid/file-copy-alt.svg +4 -0
  374. data/app/assets/vendor/flowbite-icons/solid/file-copy.svg +4 -0
  375. data/app/assets/vendor/flowbite-icons/solid/file-csv.svg +3 -0
  376. data/app/assets/vendor/flowbite-icons/solid/file-doc.svg +5 -0
  377. data/app/assets/vendor/flowbite-icons/solid/file-export.svg +3 -0
  378. data/app/assets/vendor/flowbite-icons/solid/file-image.svg +3 -0
  379. data/app/assets/vendor/flowbite-icons/solid/file-import.svg +3 -0
  380. data/app/assets/vendor/flowbite-icons/solid/file-invoice.svg +3 -0
  381. data/app/assets/vendor/flowbite-icons/solid/file-lines.svg +3 -0
  382. data/app/assets/vendor/flowbite-icons/solid/file-music.svg +3 -0
  383. data/app/assets/vendor/flowbite-icons/solid/file-paste.svg +4 -0
  384. data/app/assets/vendor/flowbite-icons/solid/file-pdf.svg +3 -0
  385. data/app/assets/vendor/flowbite-icons/solid/file-pen.svg +4 -0
  386. data/app/assets/vendor/flowbite-icons/solid/file-ppt.svg +3 -0
  387. data/app/assets/vendor/flowbite-icons/solid/file-search.svg +3 -0
  388. data/app/assets/vendor/flowbite-icons/solid/file-shield.svg +4 -0
  389. data/app/assets/vendor/flowbite-icons/solid/file-video.svg +3 -0
  390. data/app/assets/vendor/flowbite-icons/solid/file-word.svg +3 -0
  391. data/app/assets/vendor/flowbite-icons/solid/file-zip.svg +3 -0
  392. data/app/assets/vendor/flowbite-icons/solid/file.svg +3 -0
  393. data/app/assets/vendor/flowbite-icons/solid/filter.svg +3 -0
  394. data/app/assets/vendor/flowbite-icons/solid/fire.svg +3 -0
  395. data/app/assets/vendor/flowbite-icons/solid/flag.svg +3 -0
  396. data/app/assets/vendor/flowbite-icons/solid/floppy-disk-alt.svg +4 -0
  397. data/app/assets/vendor/flowbite-icons/solid/floppy-disk.svg +3 -0
  398. data/app/assets/vendor/flowbite-icons/solid/flowbite.svg +6 -0
  399. data/app/assets/vendor/flowbite-icons/solid/folder-arrow-right.svg +3 -0
  400. data/app/assets/vendor/flowbite-icons/solid/folder-duplicate.svg +4 -0
  401. data/app/assets/vendor/flowbite-icons/solid/folder-open.svg +3 -0
  402. data/app/assets/vendor/flowbite-icons/solid/folder-plus.svg +3 -0
  403. data/app/assets/vendor/flowbite-icons/solid/folder.svg +3 -0
  404. data/app/assets/vendor/flowbite-icons/solid/forward-step.svg +3 -0
  405. data/app/assets/vendor/flowbite-icons/solid/forward.svg +3 -0
  406. data/app/assets/vendor/flowbite-icons/solid/gift-box.svg +3 -0
  407. data/app/assets/vendor/flowbite-icons/solid/github.svg +3 -0
  408. data/app/assets/vendor/flowbite-icons/solid/globe.svg +3 -0
  409. data/app/assets/vendor/flowbite-icons/solid/google.svg +3 -0
  410. data/app/assets/vendor/flowbite-icons/solid/grid-plus.svg +3 -0
  411. data/app/assets/vendor/flowbite-icons/solid/grid.svg +3 -0
  412. data/app/assets/vendor/flowbite-icons/solid/headphones.svg +3 -0
  413. data/app/assets/vendor/flowbite-icons/solid/heart.svg +3 -0
  414. data/app/assets/vendor/flowbite-icons/solid/home.svg +3 -0
  415. data/app/assets/vendor/flowbite-icons/solid/hourglass.svg +3 -0
  416. data/app/assets/vendor/flowbite-icons/solid/html.svg +3 -0
  417. data/app/assets/vendor/flowbite-icons/solid/image.svg +4 -0
  418. data/app/assets/vendor/flowbite-icons/solid/inbox-full.svg +3 -0
  419. data/app/assets/vendor/flowbite-icons/solid/inbox.svg +3 -0
  420. data/app/assets/vendor/flowbite-icons/solid/indent.svg +3 -0
  421. data/app/assets/vendor/flowbite-icons/solid/info-circle.svg +3 -0
  422. data/app/assets/vendor/flowbite-icons/solid/instagram.svg +3 -0
  423. data/app/assets/vendor/flowbite-icons/solid/keyboard.svg +3 -0
  424. data/app/assets/vendor/flowbite-icons/solid/label.svg +3 -0
  425. data/app/assets/vendor/flowbite-icons/solid/landmark.svg +4 -0
  426. data/app/assets/vendor/flowbite-icons/solid/layers.svg +4 -0
  427. data/app/assets/vendor/flowbite-icons/solid/life-saver.svg +3 -0
  428. data/app/assets/vendor/flowbite-icons/solid/lightbulb.svg +3 -0
  429. data/app/assets/vendor/flowbite-icons/solid/linkedin.svg +4 -0
  430. data/app/assets/vendor/flowbite-icons/solid/list-music.svg +3 -0
  431. data/app/assets/vendor/flowbite-icons/solid/lock-open.svg +3 -0
  432. data/app/assets/vendor/flowbite-icons/solid/lock-time.svg +4 -0
  433. data/app/assets/vendor/flowbite-icons/solid/lock.svg +3 -0
  434. data/app/assets/vendor/flowbite-icons/solid/mail-box.svg +3 -0
  435. data/app/assets/vendor/flowbite-icons/solid/map-pin-alt.svg +3 -0
  436. data/app/assets/vendor/flowbite-icons/solid/map-pin.svg +3 -0
  437. data/app/assets/vendor/flowbite-icons/solid/mastercard.svg +3 -0
  438. data/app/assets/vendor/flowbite-icons/solid/message-caption.svg +3 -0
  439. data/app/assets/vendor/flowbite-icons/solid/message-dots.svg +3 -0
  440. data/app/assets/vendor/flowbite-icons/solid/messages.svg +4 -0
  441. data/app/assets/vendor/flowbite-icons/solid/microphone-slash.svg +3 -0
  442. data/app/assets/vendor/flowbite-icons/solid/microphone.svg +4 -0
  443. data/app/assets/vendor/flowbite-icons/solid/mobile-phone.svg +3 -0
  444. data/app/assets/vendor/flowbite-icons/solid/moon.svg +3 -0
  445. data/app/assets/vendor/flowbite-icons/solid/newspaper.svg +3 -0
  446. data/app/assets/vendor/flowbite-icons/solid/npm.svg +3 -0
  447. data/app/assets/vendor/flowbite-icons/solid/objects-column.svg +3 -0
  448. data/app/assets/vendor/flowbite-icons/solid/outdent.svg +3 -0
  449. data/app/assets/vendor/flowbite-icons/solid/palette.svg +3 -0
  450. data/app/assets/vendor/flowbite-icons/solid/paper-plane.svg +3 -0
  451. data/app/assets/vendor/flowbite-icons/solid/paragraph.svg +3 -0
  452. data/app/assets/vendor/flowbite-icons/solid/pause.svg +3 -0
  453. data/app/assets/vendor/flowbite-icons/solid/pen-nib.svg +3 -0
  454. data/app/assets/vendor/flowbite-icons/solid/pen.svg +3 -0
  455. data/app/assets/vendor/flowbite-icons/solid/phone-hangup.svg +3 -0
  456. data/app/assets/vendor/flowbite-icons/solid/phone.svg +3 -0
  457. data/app/assets/vendor/flowbite-icons/solid/play.svg +3 -0
  458. data/app/assets/vendor/flowbite-icons/solid/printer.svg +3 -0
  459. data/app/assets/vendor/flowbite-icons/solid/profile-card.svg +3 -0
  460. data/app/assets/vendor/flowbite-icons/solid/question-circle.svg +3 -0
  461. data/app/assets/vendor/flowbite-icons/solid/quote.svg +3 -0
  462. data/app/assets/vendor/flowbite-icons/solid/react.svg +4 -0
  463. data/app/assets/vendor/flowbite-icons/solid/receipt.svg +3 -0
  464. data/app/assets/vendor/flowbite-icons/solid/rectangle-list.svg +3 -0
  465. data/app/assets/vendor/flowbite-icons/solid/reddit.svg +5 -0
  466. data/app/assets/vendor/flowbite-icons/solid/reply-all.svg +3 -0
  467. data/app/assets/vendor/flowbite-icons/solid/reply.svg +3 -0
  468. data/app/assets/vendor/flowbite-icons/solid/rocket.svg +3 -0
  469. data/app/assets/vendor/flowbite-icons/solid/sale-percent.svg +3 -0
  470. data/app/assets/vendor/flowbite-icons/solid/scale-balanced.svg +3 -0
  471. data/app/assets/vendor/flowbite-icons/solid/search.svg +4 -0
  472. data/app/assets/vendor/flowbite-icons/solid/server.svg +3 -0
  473. data/app/assets/vendor/flowbite-icons/solid/share-all.svg +3 -0
  474. data/app/assets/vendor/flowbite-icons/solid/share-nodes.svg +3 -0
  475. data/app/assets/vendor/flowbite-icons/solid/shield-check.svg +3 -0
  476. data/app/assets/vendor/flowbite-icons/solid/shield.svg +3 -0
  477. data/app/assets/vendor/flowbite-icons/solid/shopping-bag.svg +3 -0
  478. data/app/assets/vendor/flowbite-icons/solid/stackoverflow.svg +4 -0
  479. data/app/assets/vendor/flowbite-icons/solid/star-half-stroke.svg +3 -0
  480. data/app/assets/vendor/flowbite-icons/solid/star-half.svg +3 -0
  481. data/app/assets/vendor/flowbite-icons/solid/star.svg +3 -0
  482. data/app/assets/vendor/flowbite-icons/solid/stop.svg +3 -0
  483. data/app/assets/vendor/flowbite-icons/solid/store.svg +3 -0
  484. data/app/assets/vendor/flowbite-icons/solid/sun.svg +3 -0
  485. data/app/assets/vendor/flowbite-icons/solid/swatchbook.svg +3 -0
  486. data/app/assets/vendor/flowbite-icons/solid/table-column.svg +3 -0
  487. data/app/assets/vendor/flowbite-icons/solid/table-row.svg +3 -0
  488. data/app/assets/vendor/flowbite-icons/solid/tablet.svg +3 -0
  489. data/app/assets/vendor/flowbite-icons/solid/tag.svg +3 -0
  490. data/app/assets/vendor/flowbite-icons/solid/tailwind.svg +3 -0
  491. data/app/assets/vendor/flowbite-icons/solid/terminal.svg +3 -0
  492. data/app/assets/vendor/flowbite-icons/solid/thumbs-down.svg +3 -0
  493. data/app/assets/vendor/flowbite-icons/solid/thumbs-up.svg +3 -0
  494. data/app/assets/vendor/flowbite-icons/solid/ticket.svg +3 -0
  495. data/app/assets/vendor/flowbite-icons/solid/trash-bin.svg +3 -0
  496. data/app/assets/vendor/flowbite-icons/solid/truck.svg +3 -0
  497. data/app/assets/vendor/flowbite-icons/solid/twitter.svg +3 -0
  498. data/app/assets/vendor/flowbite-icons/solid/upload.svg +3 -0
  499. data/app/assets/vendor/flowbite-icons/solid/user-add.svg +3 -0
  500. data/app/assets/vendor/flowbite-icons/solid/user-circle.svg +3 -0
  501. data/app/assets/vendor/flowbite-icons/solid/user-edit.svg +3 -0
  502. data/app/assets/vendor/flowbite-icons/solid/user-headset.svg +3 -0
  503. data/app/assets/vendor/flowbite-icons/solid/user-remove.svg +3 -0
  504. data/app/assets/vendor/flowbite-icons/solid/user-settings.svg +3 -0
  505. data/app/assets/vendor/flowbite-icons/solid/user.svg +3 -0
  506. data/app/assets/vendor/flowbite-icons/solid/users-group.svg +3 -0
  507. data/app/assets/vendor/flowbite-icons/solid/users.svg +3 -0
  508. data/app/assets/vendor/flowbite-icons/solid/video-camera.svg +3 -0
  509. data/app/assets/vendor/flowbite-icons/solid/visa.svg +4 -0
  510. data/app/assets/vendor/flowbite-icons/solid/volume-down.svg +4 -0
  511. data/app/assets/vendor/flowbite-icons/solid/volume-mute.svg +3 -0
  512. data/app/assets/vendor/flowbite-icons/solid/volume-up.svg +5 -0
  513. data/app/assets/vendor/flowbite-icons/solid/vue.svg +3 -0
  514. data/app/assets/vendor/flowbite-icons/solid/wallet.svg +4 -0
  515. data/app/assets/vendor/flowbite-icons/solid/wand-magic-sparkles.svg +4 -0
  516. data/app/assets/vendor/flowbite-icons/solid/whatsapp.svg +4 -0
  517. data/app/assets/vendor/flowbite-icons/solid/window-restore.svg +4 -0
  518. data/app/assets/vendor/flowbite-icons/solid/window.svg +3 -0
  519. data/app/assets/vendor/flowbite-icons/solid/windows.svg +3 -0
  520. data/app/assets/vendor/flowbite-icons/solid/youtube.svg +3 -0
  521. data/app/assets/vendor/flowbite-icons/solid/zoom-in.svg +3 -0
  522. data/app/assets/vendor/flowbite-icons/solid/zoom-out.svg +3 -0
  523. data/app/assets/vendor/heroicons/16/solid/academic-cap.svg +6 -0
  524. data/app/assets/vendor/heroicons/16/solid/adjustments-horizontal.svg +9 -0
  525. data/app/assets/vendor/heroicons/16/solid/adjustments-vertical.svg +9 -0
  526. data/app/assets/vendor/heroicons/16/solid/archive-box-arrow-down.svg +5 -0
  527. data/app/assets/vendor/heroicons/16/solid/archive-box-x-mark.svg +5 -0
  528. data/app/assets/vendor/heroicons/16/solid/archive-box.svg +5 -0
  529. data/app/assets/vendor/heroicons/16/solid/arrow-down-circle.svg +4 -0
  530. data/app/assets/vendor/heroicons/16/solid/arrow-down-left.svg +4 -0
  531. data/app/assets/vendor/heroicons/16/solid/arrow-down-on-square-stack.svg +6 -0
  532. data/app/assets/vendor/heroicons/16/solid/arrow-down-on-square.svg +5 -0
  533. data/app/assets/vendor/heroicons/16/solid/arrow-down-right.svg +4 -0
  534. data/app/assets/vendor/heroicons/16/solid/arrow-down-tray.svg +5 -0
  535. data/app/assets/vendor/heroicons/16/solid/arrow-down.svg +4 -0
  536. data/app/assets/vendor/heroicons/16/solid/arrow-left-circle.svg +4 -0
  537. data/app/assets/vendor/heroicons/16/solid/arrow-left-end-on-rectangle.svg +5 -0
  538. data/app/assets/vendor/heroicons/16/solid/arrow-left-start-on-rectangle.svg +4 -0
  539. data/app/assets/vendor/heroicons/16/solid/arrow-left.svg +4 -0
  540. data/app/assets/vendor/heroicons/16/solid/arrow-long-down.svg +4 -0
  541. data/app/assets/vendor/heroicons/16/solid/arrow-long-left.svg +4 -0
  542. data/app/assets/vendor/heroicons/16/solid/arrow-long-right.svg +4 -0
  543. data/app/assets/vendor/heroicons/16/solid/arrow-long-up.svg +4 -0
  544. data/app/assets/vendor/heroicons/16/solid/arrow-path-rounded-square.svg +4 -0
  545. data/app/assets/vendor/heroicons/16/solid/arrow-path.svg +4 -0
  546. data/app/assets/vendor/heroicons/16/solid/arrow-right-circle.svg +4 -0
  547. data/app/assets/vendor/heroicons/16/solid/arrow-right-end-on-rectangle.svg +5 -0
  548. data/app/assets/vendor/heroicons/16/solid/arrow-right-start-on-rectangle.svg +4 -0
  549. data/app/assets/vendor/heroicons/16/solid/arrow-right.svg +4 -0
  550. data/app/assets/vendor/heroicons/16/solid/arrow-top-right-on-square.svg +5 -0
  551. data/app/assets/vendor/heroicons/16/solid/arrow-trending-down.svg +4 -0
  552. data/app/assets/vendor/heroicons/16/solid/arrow-trending-up.svg +4 -0
  553. data/app/assets/vendor/heroicons/16/solid/arrow-up-circle.svg +4 -0
  554. data/app/assets/vendor/heroicons/16/solid/arrow-up-left.svg +4 -0
  555. data/app/assets/vendor/heroicons/16/solid/arrow-up-on-square-stack.svg +6 -0
  556. data/app/assets/vendor/heroicons/16/solid/arrow-up-on-square.svg +4 -0
  557. data/app/assets/vendor/heroicons/16/solid/arrow-up-right.svg +4 -0
  558. data/app/assets/vendor/heroicons/16/solid/arrow-up-tray.svg +5 -0
  559. data/app/assets/vendor/heroicons/16/solid/arrow-up.svg +4 -0
  560. data/app/assets/vendor/heroicons/16/solid/arrow-uturn-down.svg +4 -0
  561. data/app/assets/vendor/heroicons/16/solid/arrow-uturn-left.svg +4 -0
  562. data/app/assets/vendor/heroicons/16/solid/arrow-uturn-right.svg +4 -0
  563. data/app/assets/vendor/heroicons/16/solid/arrow-uturn-up.svg +4 -0
  564. data/app/assets/vendor/heroicons/16/solid/arrows-pointing-in.svg +4 -0
  565. data/app/assets/vendor/heroicons/16/solid/arrows-pointing-out.svg +7 -0
  566. data/app/assets/vendor/heroicons/16/solid/arrows-right-left.svg +4 -0
  567. data/app/assets/vendor/heroicons/16/solid/arrows-up-down.svg +5 -0
  568. data/app/assets/vendor/heroicons/16/solid/at-symbol.svg +4 -0
  569. data/app/assets/vendor/heroicons/16/solid/backspace.svg +4 -0
  570. data/app/assets/vendor/heroicons/16/solid/backward.svg +4 -0
  571. data/app/assets/vendor/heroicons/16/solid/banknotes.svg +5 -0
  572. data/app/assets/vendor/heroicons/16/solid/bars-2.svg +4 -0
  573. data/app/assets/vendor/heroicons/16/solid/bars-3-bottom-left.svg +4 -0
  574. data/app/assets/vendor/heroicons/16/solid/bars-3-bottom-right.svg +4 -0
  575. data/app/assets/vendor/heroicons/16/solid/bars-3-center-left.svg +4 -0
  576. data/app/assets/vendor/heroicons/16/solid/bars-3.svg +4 -0
  577. data/app/assets/vendor/heroicons/16/solid/bars-4.svg +5 -0
  578. data/app/assets/vendor/heroicons/16/solid/bars-arrow-down.svg +6 -0
  579. data/app/assets/vendor/heroicons/16/solid/bars-arrow-up.svg +6 -0
  580. data/app/assets/vendor/heroicons/16/solid/battery-0.svg +4 -0
  581. data/app/assets/vendor/heroicons/16/solid/battery-100.svg +5 -0
  582. data/app/assets/vendor/heroicons/16/solid/battery-50.svg +5 -0
  583. data/app/assets/vendor/heroicons/16/solid/beaker.svg +4 -0
  584. data/app/assets/vendor/heroicons/16/solid/bell-alert.svg +6 -0
  585. data/app/assets/vendor/heroicons/16/solid/bell-slash.svg +6 -0
  586. data/app/assets/vendor/heroicons/16/solid/bell-snooze.svg +4 -0
  587. data/app/assets/vendor/heroicons/16/solid/bell.svg +4 -0
  588. data/app/assets/vendor/heroicons/16/solid/bolt-slash.svg +6 -0
  589. data/app/assets/vendor/heroicons/16/solid/bolt.svg +4 -0
  590. data/app/assets/vendor/heroicons/16/solid/book-open.svg +5 -0
  591. data/app/assets/vendor/heroicons/16/solid/bookmark-slash.svg +6 -0
  592. data/app/assets/vendor/heroicons/16/solid/bookmark-square.svg +4 -0
  593. data/app/assets/vendor/heroicons/16/solid/bookmark.svg +4 -0
  594. data/app/assets/vendor/heroicons/16/solid/briefcase.svg +5 -0
  595. data/app/assets/vendor/heroicons/16/solid/bug-ant.svg +4 -0
  596. data/app/assets/vendor/heroicons/16/solid/building-library.svg +4 -0
  597. data/app/assets/vendor/heroicons/16/solid/building-office-2.svg +5 -0
  598. data/app/assets/vendor/heroicons/16/solid/building-office.svg +4 -0
  599. data/app/assets/vendor/heroicons/16/solid/building-storefront.svg +5 -0
  600. data/app/assets/vendor/heroicons/16/solid/cake.svg +8 -0
  601. data/app/assets/vendor/heroicons/16/solid/calculator.svg +4 -0
  602. data/app/assets/vendor/heroicons/16/solid/calendar-days.svg +9 -0
  603. data/app/assets/vendor/heroicons/16/solid/calendar.svg +4 -0
  604. data/app/assets/vendor/heroicons/16/solid/camera.svg +5 -0
  605. data/app/assets/vendor/heroicons/16/solid/chart-bar-square.svg +4 -0
  606. data/app/assets/vendor/heroicons/16/solid/chart-bar.svg +6 -0
  607. data/app/assets/vendor/heroicons/16/solid/chart-pie.svg +5 -0
  608. data/app/assets/vendor/heroicons/16/solid/chat-bubble-bottom-center-text.svg +4 -0
  609. data/app/assets/vendor/heroicons/16/solid/chat-bubble-bottom-center.svg +4 -0
  610. data/app/assets/vendor/heroicons/16/solid/chat-bubble-left-ellipsis.svg +4 -0
  611. data/app/assets/vendor/heroicons/16/solid/chat-bubble-left-right.svg +5 -0
  612. data/app/assets/vendor/heroicons/16/solid/chat-bubble-left.svg +4 -0
  613. data/app/assets/vendor/heroicons/16/solid/chat-bubble-oval-left-ellipsis.svg +4 -0
  614. data/app/assets/vendor/heroicons/16/solid/chat-bubble-oval-left.svg +4 -0
  615. data/app/assets/vendor/heroicons/16/solid/check-badge.svg +4 -0
  616. data/app/assets/vendor/heroicons/16/solid/check-circle.svg +4 -0
  617. data/app/assets/vendor/heroicons/16/solid/check.svg +4 -0
  618. data/app/assets/vendor/heroicons/16/solid/chevron-double-down.svg +4 -0
  619. data/app/assets/vendor/heroicons/16/solid/chevron-double-left.svg +4 -0
  620. data/app/assets/vendor/heroicons/16/solid/chevron-double-right.svg +4 -0
  621. data/app/assets/vendor/heroicons/16/solid/chevron-double-up.svg +4 -0
  622. data/app/assets/vendor/heroicons/16/solid/chevron-down.svg +4 -0
  623. data/app/assets/vendor/heroicons/16/solid/chevron-left.svg +4 -0
  624. data/app/assets/vendor/heroicons/16/solid/chevron-right.svg +4 -0
  625. data/app/assets/vendor/heroicons/16/solid/chevron-up-down.svg +5 -0
  626. data/app/assets/vendor/heroicons/16/solid/chevron-up.svg +4 -0
  627. data/app/assets/vendor/heroicons/16/solid/circle-stack.svg +6 -0
  628. data/app/assets/vendor/heroicons/16/solid/clipboard-document-check.svg +5 -0
  629. data/app/assets/vendor/heroicons/16/solid/clipboard-document-list.svg +5 -0
  630. data/app/assets/vendor/heroicons/16/solid/clipboard-document.svg +5 -0
  631. data/app/assets/vendor/heroicons/16/solid/clipboard.svg +4 -0
  632. data/app/assets/vendor/heroicons/16/solid/clock.svg +4 -0
  633. data/app/assets/vendor/heroicons/16/solid/cloud-arrow-down.svg +4 -0
  634. data/app/assets/vendor/heroicons/16/solid/cloud-arrow-up.svg +4 -0
  635. data/app/assets/vendor/heroicons/16/solid/cloud.svg +4 -0
  636. data/app/assets/vendor/heroicons/16/solid/code-bracket-square.svg +4 -0
  637. data/app/assets/vendor/heroicons/16/solid/code-bracket.svg +6 -0
  638. data/app/assets/vendor/heroicons/16/solid/cog-6-tooth.svg +4 -0
  639. data/app/assets/vendor/heroicons/16/solid/cog-8-tooth.svg +4 -0
  640. data/app/assets/vendor/heroicons/16/solid/cog.svg +4 -0
  641. data/app/assets/vendor/heroicons/16/solid/command-line.svg +4 -0
  642. data/app/assets/vendor/heroicons/16/solid/computer-desktop.svg +4 -0
  643. data/app/assets/vendor/heroicons/16/solid/cpu-chip.svg +5 -0
  644. data/app/assets/vendor/heroicons/16/solid/credit-card.svg +5 -0
  645. data/app/assets/vendor/heroicons/16/solid/cube-transparent.svg +4 -0
  646. data/app/assets/vendor/heroicons/16/solid/cube.svg +6 -0
  647. data/app/assets/vendor/heroicons/16/solid/currency-bangladeshi.svg +4 -0
  648. data/app/assets/vendor/heroicons/16/solid/currency-dollar.svg +6 -0
  649. data/app/assets/vendor/heroicons/16/solid/currency-euro.svg +4 -0
  650. data/app/assets/vendor/heroicons/16/solid/currency-pound.svg +4 -0
  651. data/app/assets/vendor/heroicons/16/solid/currency-rupee.svg +4 -0
  652. data/app/assets/vendor/heroicons/16/solid/currency-yen.svg +4 -0
  653. data/app/assets/vendor/heroicons/16/solid/cursor-arrow-rays.svg +10 -0
  654. data/app/assets/vendor/heroicons/16/solid/cursor-arrow-ripple.svg +6 -0
  655. data/app/assets/vendor/heroicons/16/solid/device-phone-mobile.svg +5 -0
  656. data/app/assets/vendor/heroicons/16/solid/device-tablet.svg +5 -0
  657. data/app/assets/vendor/heroicons/16/solid/document-arrow-down.svg +4 -0
  658. data/app/assets/vendor/heroicons/16/solid/document-arrow-up.svg +4 -0
  659. data/app/assets/vendor/heroicons/16/solid/document-chart-bar.svg +4 -0
  660. data/app/assets/vendor/heroicons/16/solid/document-check.svg +4 -0
  661. data/app/assets/vendor/heroicons/16/solid/document-duplicate.svg +5 -0
  662. data/app/assets/vendor/heroicons/16/solid/document-magnifying-glass.svg +5 -0
  663. data/app/assets/vendor/heroicons/16/solid/document-minus.svg +4 -0
  664. data/app/assets/vendor/heroicons/16/solid/document-plus.svg +4 -0
  665. data/app/assets/vendor/heroicons/16/solid/document-text.svg +4 -0
  666. data/app/assets/vendor/heroicons/16/solid/document.svg +4 -0
  667. data/app/assets/vendor/heroicons/16/solid/ellipsis-horizontal-circle.svg +4 -0
  668. data/app/assets/vendor/heroicons/16/solid/ellipsis-horizontal.svg +6 -0
  669. data/app/assets/vendor/heroicons/16/solid/ellipsis-vertical.svg +6 -0
  670. data/app/assets/vendor/heroicons/16/solid/envelope-open.svg +4 -0
  671. data/app/assets/vendor/heroicons/16/solid/envelope.svg +5 -0
  672. data/app/assets/vendor/heroicons/16/solid/exclamation-circle.svg +4 -0
  673. data/app/assets/vendor/heroicons/16/solid/exclamation-triangle.svg +4 -0
  674. data/app/assets/vendor/heroicons/16/solid/eye-dropper.svg +4 -0
  675. data/app/assets/vendor/heroicons/16/solid/eye-slash.svg +5 -0
  676. data/app/assets/vendor/heroicons/16/solid/eye.svg +5 -0
  677. data/app/assets/vendor/heroicons/16/solid/face-frown.svg +4 -0
  678. data/app/assets/vendor/heroicons/16/solid/face-smile.svg +4 -0
  679. data/app/assets/vendor/heroicons/16/solid/film.svg +4 -0
  680. data/app/assets/vendor/heroicons/16/solid/finger-print.svg +4 -0
  681. data/app/assets/vendor/heroicons/16/solid/fire.svg +4 -0
  682. data/app/assets/vendor/heroicons/16/solid/flag.svg +4 -0
  683. data/app/assets/vendor/heroicons/16/solid/folder-arrow-down.svg +4 -0
  684. data/app/assets/vendor/heroicons/16/solid/folder-minus.svg +4 -0
  685. data/app/assets/vendor/heroicons/16/solid/folder-open.svg +5 -0
  686. data/app/assets/vendor/heroicons/16/solid/folder-plus.svg +4 -0
  687. data/app/assets/vendor/heroicons/16/solid/folder.svg +5 -0
  688. data/app/assets/vendor/heroicons/16/solid/forward.svg +4 -0
  689. data/app/assets/vendor/heroicons/16/solid/funnel.svg +4 -0
  690. data/app/assets/vendor/heroicons/16/solid/gif.svg +4 -0
  691. data/app/assets/vendor/heroicons/16/solid/gift-top.svg +9 -0
  692. data/app/assets/vendor/heroicons/16/solid/gift.svg +6 -0
  693. data/app/assets/vendor/heroicons/16/solid/globe-alt.svg +4 -0
  694. data/app/assets/vendor/heroicons/16/solid/globe-americas.svg +4 -0
  695. data/app/assets/vendor/heroicons/16/solid/globe-asia-australia.svg +4 -0
  696. data/app/assets/vendor/heroicons/16/solid/globe-europe-africa.svg +4 -0
  697. data/app/assets/vendor/heroicons/16/solid/hand-raised.svg +4 -0
  698. data/app/assets/vendor/heroicons/16/solid/hand-thumb-down.svg +5 -0
  699. data/app/assets/vendor/heroicons/16/solid/hand-thumb-up.svg +5 -0
  700. data/app/assets/vendor/heroicons/16/solid/hashtag.svg +4 -0
  701. data/app/assets/vendor/heroicons/16/solid/heart.svg +4 -0
  702. data/app/assets/vendor/heroicons/16/solid/home-modern.svg +5 -0
  703. data/app/assets/vendor/heroicons/16/solid/home.svg +4 -0
  704. data/app/assets/vendor/heroicons/16/solid/identification.svg +4 -0
  705. data/app/assets/vendor/heroicons/16/solid/inbox-arrow-down.svg +5 -0
  706. data/app/assets/vendor/heroicons/16/solid/inbox-stack.svg +5 -0
  707. data/app/assets/vendor/heroicons/16/solid/inbox.svg +4 -0
  708. data/app/assets/vendor/heroicons/16/solid/information-circle.svg +4 -0
  709. data/app/assets/vendor/heroicons/16/solid/key.svg +4 -0
  710. data/app/assets/vendor/heroicons/16/solid/language.svg +5 -0
  711. data/app/assets/vendor/heroicons/16/solid/lifebuoy.svg +4 -0
  712. data/app/assets/vendor/heroicons/16/solid/light-bulb.svg +5 -0
  713. data/app/assets/vendor/heroicons/16/solid/link.svg +5 -0
  714. data/app/assets/vendor/heroicons/16/solid/list-bullet.svg +9 -0
  715. data/app/assets/vendor/heroicons/16/solid/lock-closed.svg +4 -0
  716. data/app/assets/vendor/heroicons/16/solid/lock-open.svg +4 -0
  717. data/app/assets/vendor/heroicons/16/solid/magnifying-glass-circle.svg +5 -0
  718. data/app/assets/vendor/heroicons/16/solid/magnifying-glass-minus.svg +5 -0
  719. data/app/assets/vendor/heroicons/16/solid/magnifying-glass-plus.svg +5 -0
  720. data/app/assets/vendor/heroicons/16/solid/magnifying-glass.svg +4 -0
  721. data/app/assets/vendor/heroicons/16/solid/map-pin.svg +4 -0
  722. data/app/assets/vendor/heroicons/16/solid/map.svg +4 -0
  723. data/app/assets/vendor/heroicons/16/solid/megaphone.svg +5 -0
  724. data/app/assets/vendor/heroicons/16/solid/microphone.svg +5 -0
  725. data/app/assets/vendor/heroicons/16/solid/minus-circle.svg +4 -0
  726. data/app/assets/vendor/heroicons/16/solid/minus.svg +4 -0
  727. data/app/assets/vendor/heroicons/16/solid/moon.svg +4 -0
  728. data/app/assets/vendor/heroicons/16/solid/musical-note.svg +4 -0
  729. data/app/assets/vendor/heroicons/16/solid/newspaper.svg +5 -0
  730. data/app/assets/vendor/heroicons/16/solid/no-symbol.svg +4 -0
  731. data/app/assets/vendor/heroicons/16/solid/paint-brush.svg +5 -0
  732. data/app/assets/vendor/heroicons/16/solid/paper-airplane.svg +4 -0
  733. data/app/assets/vendor/heroicons/16/solid/paper-clip.svg +4 -0
  734. data/app/assets/vendor/heroicons/16/solid/pause-circle.svg +4 -0
  735. data/app/assets/vendor/heroicons/16/solid/pause.svg +5 -0
  736. data/app/assets/vendor/heroicons/16/solid/pencil-square.svg +5 -0
  737. data/app/assets/vendor/heroicons/16/solid/pencil.svg +4 -0
  738. data/app/assets/vendor/heroicons/16/solid/phone-arrow-down-left.svg +5 -0
  739. data/app/assets/vendor/heroicons/16/solid/phone-arrow-up-right.svg +5 -0
  740. data/app/assets/vendor/heroicons/16/solid/phone-x-mark.svg +5 -0
  741. data/app/assets/vendor/heroicons/16/solid/phone.svg +4 -0
  742. data/app/assets/vendor/heroicons/16/solid/photo.svg +4 -0
  743. data/app/assets/vendor/heroicons/16/solid/play-circle.svg +4 -0
  744. data/app/assets/vendor/heroicons/16/solid/play-pause.svg +6 -0
  745. data/app/assets/vendor/heroicons/16/solid/play.svg +4 -0
  746. data/app/assets/vendor/heroicons/16/solid/plus-circle.svg +4 -0
  747. data/app/assets/vendor/heroicons/16/solid/plus.svg +4 -0
  748. data/app/assets/vendor/heroicons/16/solid/power.svg +4 -0
  749. data/app/assets/vendor/heroicons/16/solid/presentation-chart-bar.svg +4 -0
  750. data/app/assets/vendor/heroicons/16/solid/presentation-chart-line.svg +4 -0
  751. data/app/assets/vendor/heroicons/16/solid/printer.svg +4 -0
  752. data/app/assets/vendor/heroicons/16/solid/puzzle-piece.svg +4 -0
  753. data/app/assets/vendor/heroicons/16/solid/qr-code.svg +14 -0
  754. data/app/assets/vendor/heroicons/16/solid/question-mark-circle.svg +4 -0
  755. data/app/assets/vendor/heroicons/16/solid/queue-list.svg +6 -0
  756. data/app/assets/vendor/heroicons/16/solid/radio.svg +4 -0
  757. data/app/assets/vendor/heroicons/16/solid/receipt-percent.svg +4 -0
  758. data/app/assets/vendor/heroicons/16/solid/receipt-refund.svg +4 -0
  759. data/app/assets/vendor/heroicons/16/solid/rectangle-group.svg +6 -0
  760. data/app/assets/vendor/heroicons/16/solid/rectangle-stack.svg +6 -0
  761. data/app/assets/vendor/heroicons/16/solid/rocket-launch.svg +5 -0
  762. data/app/assets/vendor/heroicons/16/solid/rss.svg +4 -0
  763. data/app/assets/vendor/heroicons/16/solid/scale.svg +4 -0
  764. data/app/assets/vendor/heroicons/16/solid/scissors.svg +6 -0
  765. data/app/assets/vendor/heroicons/16/solid/server-stack.svg +6 -0
  766. data/app/assets/vendor/heroicons/16/solid/server.svg +5 -0
  767. data/app/assets/vendor/heroicons/16/solid/share.svg +4 -0
  768. data/app/assets/vendor/heroicons/16/solid/shield-check.svg +4 -0
  769. data/app/assets/vendor/heroicons/16/solid/shield-exclamation.svg +4 -0
  770. data/app/assets/vendor/heroicons/16/solid/shopping-bag.svg +4 -0
  771. data/app/assets/vendor/heroicons/16/solid/shopping-cart.svg +6 -0
  772. data/app/assets/vendor/heroicons/16/solid/signal-slash.svg +8 -0
  773. data/app/assets/vendor/heroicons/16/solid/signal.svg +6 -0
  774. data/app/assets/vendor/heroicons/16/solid/sparkles.svg +6 -0
  775. data/app/assets/vendor/heroicons/16/solid/speaker-wave.svg +6 -0
  776. data/app/assets/vendor/heroicons/16/solid/speaker-x-mark.svg +5 -0
  777. data/app/assets/vendor/heroicons/16/solid/square-2-stack.svg +5 -0
  778. data/app/assets/vendor/heroicons/16/solid/square-3-stack-3d.svg +6 -0
  779. data/app/assets/vendor/heroicons/16/solid/squares-2x2.svg +7 -0
  780. data/app/assets/vendor/heroicons/16/solid/squares-plus.svg +7 -0
  781. data/app/assets/vendor/heroicons/16/solid/star.svg +4 -0
  782. data/app/assets/vendor/heroicons/16/solid/stop-circle.svg +4 -0
  783. data/app/assets/vendor/heroicons/16/solid/stop.svg +4 -0
  784. data/app/assets/vendor/heroicons/16/solid/sun.svg +12 -0
  785. data/app/assets/vendor/heroicons/16/solid/swatch.svg +6 -0
  786. data/app/assets/vendor/heroicons/16/solid/table-cells.svg +4 -0
  787. data/app/assets/vendor/heroicons/16/solid/tag.svg +4 -0
  788. data/app/assets/vendor/heroicons/16/solid/ticket.svg +4 -0
  789. data/app/assets/vendor/heroicons/16/solid/trash.svg +4 -0
  790. data/app/assets/vendor/heroicons/16/solid/trophy.svg +4 -0
  791. data/app/assets/vendor/heroicons/16/solid/truck.svg +8 -0
  792. data/app/assets/vendor/heroicons/16/solid/tv.svg +5 -0
  793. data/app/assets/vendor/heroicons/16/solid/user-circle.svg +4 -0
  794. data/app/assets/vendor/heroicons/16/solid/user-group.svg +9 -0
  795. data/app/assets/vendor/heroicons/16/solid/user-minus.svg +6 -0
  796. data/app/assets/vendor/heroicons/16/solid/user-plus.svg +6 -0
  797. data/app/assets/vendor/heroicons/16/solid/user.svg +5 -0
  798. data/app/assets/vendor/heroicons/16/solid/users.svg +7 -0
  799. data/app/assets/vendor/heroicons/16/solid/variable.svg +6 -0
  800. data/app/assets/vendor/heroicons/16/solid/video-camera-slash.svg +7 -0
  801. data/app/assets/vendor/heroicons/16/solid/video-camera.svg +5 -0
  802. data/app/assets/vendor/heroicons/16/solid/view-columns.svg +6 -0
  803. data/app/assets/vendor/heroicons/16/solid/viewfinder-circle.svg +8 -0
  804. data/app/assets/vendor/heroicons/16/solid/wallet.svg +6 -0
  805. data/app/assets/vendor/heroicons/16/solid/wifi.svg +4 -0
  806. data/app/assets/vendor/heroicons/16/solid/window.svg +4 -0
  807. data/app/assets/vendor/heroicons/16/solid/wrench-screwdriver.svg +6 -0
  808. data/app/assets/vendor/heroicons/16/solid/wrench.svg +4 -0
  809. data/app/assets/vendor/heroicons/16/solid/x-circle.svg +4 -0
  810. data/app/assets/vendor/heroicons/16/solid/x-mark.svg +4 -0
  811. data/app/assets/vendor/heroicons/20/solid/arrow-left-end-on-rectangle.svg +5 -0
  812. data/app/assets/vendor/heroicons/20/solid/arrow-left-start-on-rectangle.svg +5 -0
  813. data/app/assets/vendor/heroicons/20/solid/arrow-long-left.svg +1 -1
  814. data/app/assets/vendor/heroicons/20/solid/arrow-long-up.svg +1 -1
  815. data/app/assets/vendor/heroicons/20/solid/arrow-path.svg +1 -1
  816. data/app/assets/vendor/heroicons/20/solid/arrow-right-end-on-rectangle.svg +5 -0
  817. data/app/assets/vendor/heroicons/20/solid/arrow-right-start-on-rectangle.svg +5 -0
  818. data/app/assets/vendor/heroicons/20/solid/at-symbol.svg +1 -1
  819. data/app/assets/vendor/heroicons/20/solid/backward.svg +1 -1
  820. data/app/assets/vendor/heroicons/20/solid/bell-alert.svg +3 -3
  821. data/app/assets/vendor/heroicons/20/solid/bug-ant.svg +1 -1
  822. data/app/assets/vendor/heroicons/20/solid/cake.svg +6 -6
  823. data/app/assets/vendor/heroicons/20/solid/chart-pie.svg +2 -2
  824. data/app/assets/vendor/heroicons/20/solid/chevron-double-down.svg +1 -1
  825. data/app/assets/vendor/heroicons/20/solid/chevron-double-left.svg +1 -1
  826. data/app/assets/vendor/heroicons/20/solid/chevron-double-right.svg +1 -2
  827. data/app/assets/vendor/heroicons/20/solid/chevron-double-up.svg +1 -1
  828. data/app/assets/vendor/heroicons/20/solid/chevron-down.svg +1 -1
  829. data/app/assets/vendor/heroicons/20/solid/chevron-left.svg +1 -1
  830. data/app/assets/vendor/heroicons/20/solid/chevron-right.svg +1 -1
  831. data/app/assets/vendor/heroicons/20/solid/chevron-up-down.svg +1 -1
  832. data/app/assets/vendor/heroicons/20/solid/chevron-up.svg +1 -1
  833. data/app/assets/vendor/heroicons/20/solid/cog-6-tooth.svg +1 -1
  834. data/app/assets/vendor/heroicons/20/solid/cube.svg +3 -1
  835. data/app/assets/vendor/heroicons/20/solid/cursor-arrow-rays.svg +7 -1
  836. data/app/assets/vendor/heroicons/20/solid/cursor-arrow-ripple.svg +3 -1
  837. data/app/assets/vendor/heroicons/20/solid/envelope-open.svg +1 -1
  838. data/app/assets/vendor/heroicons/20/solid/finger-print.svg +1 -1
  839. data/app/assets/vendor/heroicons/20/solid/forward.svg +1 -1
  840. data/app/assets/vendor/heroicons/20/solid/hand-thumb-down.svg +2 -2
  841. data/app/assets/vendor/heroicons/20/solid/hand-thumb-up.svg +1 -1
  842. data/app/assets/vendor/heroicons/20/solid/hashtag.svg +1 -1
  843. data/app/assets/vendor/heroicons/20/solid/home-modern.svg +2 -2
  844. data/app/assets/vendor/heroicons/20/solid/list-bullet.svg +1 -1
  845. data/app/assets/vendor/heroicons/20/solid/map.svg +1 -1
  846. data/app/assets/vendor/heroicons/20/solid/megaphone.svg +2 -2
  847. data/app/assets/vendor/heroicons/20/solid/moon.svg +1 -1
  848. data/app/assets/vendor/heroicons/20/solid/musical-note.svg +1 -1
  849. data/app/assets/vendor/heroicons/20/solid/paper-airplane.svg +1 -1
  850. data/app/assets/vendor/heroicons/20/solid/pencil.svg +1 -1
  851. data/app/assets/vendor/heroicons/20/solid/play.svg +1 -1
  852. data/app/assets/vendor/heroicons/20/solid/radio.svg +1 -1
  853. data/app/assets/vendor/heroicons/20/solid/receipt-percent.svg +1 -1
  854. data/app/assets/vendor/heroicons/20/solid/receipt-refund.svg +1 -1
  855. data/app/assets/vendor/heroicons/20/solid/scissors.svg +3 -3
  856. data/app/assets/vendor/heroicons/20/solid/shield-exclamation.svg +1 -1
  857. data/app/assets/vendor/heroicons/20/solid/signal.svg +5 -5
  858. data/app/assets/vendor/heroicons/20/solid/speaker-wave.svg +3 -3
  859. data/app/assets/vendor/heroicons/20/solid/speaker-x-mark.svg +2 -2
  860. data/app/assets/vendor/heroicons/20/solid/tag.svg +1 -1
  861. data/app/assets/vendor/heroicons/20/solid/ticket.svg +1 -1
  862. data/app/assets/vendor/heroicons/20/solid/user-plus.svg +2 -2
  863. data/app/assets/vendor/heroicons/20/solid/window.svg +1 -1
  864. data/app/assets/vendor/heroicons/24/outline/academic-cap.svg +1 -1
  865. data/app/assets/vendor/heroicons/24/outline/arrow-left-end-on-rectangle.svg +4 -0
  866. data/app/assets/vendor/heroicons/24/outline/arrow-left-start-on-rectangle.svg +4 -0
  867. data/app/assets/vendor/heroicons/24/outline/arrow-right-end-on-rectangle.svg +4 -0
  868. data/app/assets/vendor/heroicons/24/outline/arrow-right-start-on-rectangle.svg +4 -0
  869. data/app/assets/vendor/heroicons/24/outline/arrow-trending-up.svg +1 -1
  870. data/app/assets/vendor/heroicons/24/outline/at-symbol.svg +1 -1
  871. data/app/assets/vendor/heroicons/24/outline/backspace.svg +1 -1
  872. data/app/assets/vendor/heroicons/24/outline/backward.svg +2 -2
  873. data/app/assets/vendor/heroicons/24/outline/briefcase.svg +1 -2
  874. data/app/assets/vendor/heroicons/24/outline/building-storefront.svg +1 -1
  875. data/app/assets/vendor/heroicons/24/outline/cake.svg +1 -1
  876. data/app/assets/vendor/heroicons/24/outline/chevron-double-down.svg +1 -1
  877. data/app/assets/vendor/heroicons/24/outline/chevron-double-left.svg +1 -1
  878. data/app/assets/vendor/heroicons/24/outline/chevron-double-right.svg +1 -1
  879. data/app/assets/vendor/heroicons/24/outline/chevron-double-up.svg +2 -1
  880. data/app/assets/vendor/heroicons/24/outline/cog-6-tooth.svg +2 -2
  881. data/app/assets/vendor/heroicons/24/outline/cog-8-tooth.svg +2 -2
  882. data/app/assets/vendor/heroicons/24/outline/envelope-open.svg +1 -1
  883. data/app/assets/vendor/heroicons/24/outline/eye-slash.svg +1 -1
  884. data/app/assets/vendor/heroicons/24/outline/eye.svg +2 -2
  885. data/app/assets/vendor/heroicons/24/outline/fire.svg +2 -2
  886. data/app/assets/vendor/heroicons/24/outline/folder-open.svg +1 -1
  887. data/app/assets/vendor/heroicons/24/outline/forward.svg +2 -2
  888. data/app/assets/vendor/heroicons/24/outline/hand-thumb-down.svg +1 -1
  889. data/app/assets/vendor/heroicons/24/outline/hand-thumb-up.svg +1 -1
  890. data/app/assets/vendor/heroicons/24/outline/home.svg +1 -1
  891. data/app/assets/vendor/heroicons/24/outline/minus.svg +1 -1
  892. data/app/assets/vendor/heroicons/24/outline/moon.svg +1 -1
  893. data/app/assets/vendor/heroicons/24/outline/paper-airplane.svg +1 -1
  894. data/app/assets/vendor/heroicons/24/outline/play.svg +1 -1
  895. data/app/assets/vendor/heroicons/24/outline/scissors.svg +1 -1
  896. data/app/assets/vendor/heroicons/24/outline/shield-exclamation.svg +1 -1
  897. data/app/assets/vendor/heroicons/24/outline/signal.svg +1 -1
  898. data/app/assets/vendor/heroicons/24/outline/speaker-wave.svg +1 -1
  899. data/app/assets/vendor/heroicons/24/outline/speaker-x-mark.svg +1 -1
  900. data/app/assets/vendor/heroicons/24/outline/star.svg +1 -1
  901. data/app/assets/vendor/heroicons/24/outline/user-plus.svg +1 -1
  902. data/app/assets/vendor/heroicons/24/outline/video-camera.svg +1 -1
  903. data/app/assets/vendor/heroicons/24/solid/academic-cap.svg +3 -3
  904. data/app/assets/vendor/heroicons/24/solid/adjustments-horizontal.svg +1 -1
  905. data/app/assets/vendor/heroicons/24/solid/arrow-left-end-on-rectangle.svg +4 -0
  906. data/app/assets/vendor/heroicons/24/solid/arrow-left-start-on-rectangle.svg +4 -0
  907. data/app/assets/vendor/heroicons/24/solid/arrow-right-end-on-rectangle.svg +4 -0
  908. data/app/assets/vendor/heroicons/24/solid/arrow-right-start-on-rectangle.svg +4 -0
  909. data/app/assets/vendor/heroicons/24/solid/arrow-trending-up.svg +1 -1
  910. data/app/assets/vendor/heroicons/24/solid/backward.svg +1 -1
  911. data/app/assets/vendor/heroicons/24/solid/beaker.svg +1 -1
  912. data/app/assets/vendor/heroicons/24/solid/bell-alert.svg +1 -1
  913. data/app/assets/vendor/heroicons/24/solid/bell-snooze.svg +1 -1
  914. data/app/assets/vendor/heroicons/24/solid/bell.svg +1 -1
  915. data/app/assets/vendor/heroicons/24/solid/bolt.svg +1 -1
  916. data/app/assets/vendor/heroicons/24/solid/book-open.svg +1 -1
  917. data/app/assets/vendor/heroicons/24/solid/bug-ant.svg +1 -1
  918. data/app/assets/vendor/heroicons/24/solid/building-library.svg +1 -1
  919. data/app/assets/vendor/heroicons/24/solid/building-storefront.svg +2 -2
  920. data/app/assets/vendor/heroicons/24/solid/cake.svg +6 -6
  921. data/app/assets/vendor/heroicons/24/solid/check.svg +1 -1
  922. data/app/assets/vendor/heroicons/24/solid/chevron-double-down.svg +2 -1
  923. data/app/assets/vendor/heroicons/24/solid/chevron-double-left.svg +2 -1
  924. data/app/assets/vendor/heroicons/24/solid/chevron-double-right.svg +2 -1
  925. data/app/assets/vendor/heroicons/24/solid/chevron-double-up.svg +2 -1
  926. data/app/assets/vendor/heroicons/24/solid/code-bracket.svg +1 -1
  927. data/app/assets/vendor/heroicons/24/solid/cog.svg +4 -4
  928. data/app/assets/vendor/heroicons/24/solid/computer-desktop.svg +1 -1
  929. data/app/assets/vendor/heroicons/24/solid/currency-euro.svg +1 -1
  930. data/app/assets/vendor/heroicons/24/solid/currency-yen.svg +1 -1
  931. data/app/assets/vendor/heroicons/24/solid/envelope-open.svg +2 -2
  932. data/app/assets/vendor/heroicons/24/solid/eye-slash.svg +2 -2
  933. data/app/assets/vendor/heroicons/24/solid/finger-print.svg +1 -1
  934. data/app/assets/vendor/heroicons/24/solid/fire.svg +1 -1
  935. data/app/assets/vendor/heroicons/24/solid/flag.svg +1 -1
  936. data/app/assets/vendor/heroicons/24/solid/forward.svg +1 -1
  937. data/app/assets/vendor/heroicons/24/solid/gif.svg +1 -1
  938. data/app/assets/vendor/heroicons/24/solid/globe-alt.svg +1 -1
  939. data/app/assets/vendor/heroicons/24/solid/globe-asia-australia.svg +1 -1
  940. data/app/assets/vendor/heroicons/24/solid/hand-thumb-down.svg +2 -2
  941. data/app/assets/vendor/heroicons/24/solid/hand-thumb-up.svg +2 -2
  942. data/app/assets/vendor/heroicons/24/solid/hashtag.svg +1 -1
  943. data/app/assets/vendor/heroicons/24/solid/heart.svg +1 -1
  944. data/app/assets/vendor/heroicons/24/solid/home-modern.svg +2 -2
  945. data/app/assets/vendor/heroicons/24/solid/home.svg +2 -2
  946. data/app/assets/vendor/heroicons/24/solid/inbox-stack.svg +1 -1
  947. data/app/assets/vendor/heroicons/24/solid/language.svg +1 -1
  948. data/app/assets/vendor/heroicons/24/solid/lifebuoy.svg +1 -1
  949. data/app/assets/vendor/heroicons/24/solid/link.svg +1 -1
  950. data/app/assets/vendor/heroicons/24/solid/map-pin.svg +1 -1
  951. data/app/assets/vendor/heroicons/24/solid/megaphone.svg +2 -2
  952. data/app/assets/vendor/heroicons/24/solid/minus.svg +1 -1
  953. data/app/assets/vendor/heroicons/24/solid/moon.svg +1 -1
  954. data/app/assets/vendor/heroicons/24/solid/paper-airplane.svg +1 -1
  955. data/app/assets/vendor/heroicons/24/solid/pause.svg +1 -1
  956. data/app/assets/vendor/heroicons/24/solid/pencil-square.svg +1 -1
  957. data/app/assets/vendor/heroicons/24/solid/play.svg +1 -1
  958. data/app/assets/vendor/heroicons/24/solid/puzzle-piece.svg +1 -1
  959. data/app/assets/vendor/heroicons/24/solid/radio.svg +1 -1
  960. data/app/assets/vendor/heroicons/24/solid/scale.svg +1 -1
  961. data/app/assets/vendor/heroicons/24/solid/scissors.svg +3 -3
  962. data/app/assets/vendor/heroicons/24/solid/shield-exclamation.svg +1 -1
  963. data/app/assets/vendor/heroicons/24/solid/signal-slash.svg +1 -1
  964. data/app/assets/vendor/heroicons/24/solid/signal.svg +1 -1
  965. data/app/assets/vendor/heroicons/24/solid/sparkles.svg +1 -1
  966. data/app/assets/vendor/heroicons/24/solid/speaker-wave.svg +3 -3
  967. data/app/assets/vendor/heroicons/24/solid/speaker-x-mark.svg +2 -2
  968. data/app/assets/vendor/heroicons/24/solid/star.svg +1 -1
  969. data/app/assets/vendor/heroicons/24/solid/sun.svg +1 -1
  970. data/app/assets/vendor/heroicons/24/solid/user-plus.svg +3 -3
  971. data/app/assets/vendor/heroicons/24/solid/users.svg +1 -1
  972. data/app/assets/vendor/heroicons/24/solid/video-camera-slash.svg +4 -4
  973. data/app/assets/vendor/heroicons/24/solid/wifi.svg +1 -1
  974. data/app/components/fox_tail/accordion/item_component.rb +24 -11
  975. data/app/components/fox_tail/accordion_component.rb +22 -8
  976. data/app/components/fox_tail/alert_component.html.erb +1 -1
  977. data/app/components/fox_tail/alert_component.rb +11 -5
  978. data/app/components/fox_tail/alert_component.theme.yml +22 -22
  979. data/app/components/fox_tail/autocomplete_component.en.yml +2 -0
  980. data/app/components/fox_tail/autocomplete_component.rb +148 -0
  981. data/app/components/fox_tail/autocomplete_component.theme.yml +4 -0
  982. data/app/components/fox_tail/autocomplete_controller.ts +184 -0
  983. data/app/components/fox_tail/avatar_component.rb +9 -8
  984. data/app/components/fox_tail/avatar_component.theme.yml +5 -11
  985. data/app/components/fox_tail/avatar_stack_component.rb +4 -4
  986. data/app/components/fox_tail/badge_component.rb +28 -18
  987. data/app/components/fox_tail/badge_component.theme.yml +42 -37
  988. data/app/components/fox_tail/breadcrumb_component.rb +119 -0
  989. data/app/components/fox_tail/breadcrumb_component.theme.yml +19 -0
  990. data/app/components/fox_tail/button_base_component.rb +13 -9
  991. data/app/components/fox_tail/button_base_component.theme.yml +45 -64
  992. data/app/components/fox_tail/button_component.rb +6 -7
  993. data/app/components/fox_tail/button_component.theme.yml +1 -0
  994. data/app/components/fox_tail/carousel_component.rb +3 -3
  995. data/app/components/fox_tail/checkbox_component.rb +56 -3
  996. data/app/components/fox_tail/checkbox_component.theme.yml +6 -8
  997. data/app/components/fox_tail/clickable_component.rb +8 -8
  998. data/app/components/fox_tail/clickable_controller.ts +12 -0
  999. data/app/components/fox_tail/collapsible_component.rb +14 -9
  1000. data/app/components/fox_tail/collapsible_trigger_component.rb +7 -7
  1001. data/app/components/fox_tail/collapsible_trigger_component.theme.yml +1 -0
  1002. data/app/components/fox_tail/color_theme_trigger_component.rb +2 -2
  1003. data/app/components/fox_tail/concerns/choosable.rb +43 -0
  1004. data/app/components/fox_tail/concerns/formable.rb +26 -12
  1005. data/app/components/fox_tail/concerns/has_options.rb +33 -10
  1006. data/app/components/fox_tail/concerns/identifiable.rb +25 -0
  1007. data/app/components/fox_tail/dialog_component.html.erb +2 -4
  1008. data/app/components/fox_tail/dialog_component.rb +11 -2
  1009. data/app/components/fox_tail/dismissible_component.rb +1 -1
  1010. data/app/components/fox_tail/dismissible_trigger_component.rb +1 -1
  1011. data/app/components/fox_tail/dot_indicator_component.rb +2 -2
  1012. data/app/components/fox_tail/dot_indicator_component.theme.yml +5 -11
  1013. data/app/components/fox_tail/drawer_component.rb +4 -4
  1014. data/app/components/fox_tail/drawer_trigger_component.rb +4 -4
  1015. data/app/components/fox_tail/dropdown/checkbox_item_component.rb +17 -0
  1016. data/app/components/fox_tail/dropdown/input_item_component.rb +59 -0
  1017. data/app/components/fox_tail/dropdown/menu_component.rb +54 -4
  1018. data/app/components/fox_tail/dropdown/menu_item_component.rb +10 -1
  1019. data/app/components/fox_tail/dropdown/radio_item_component.rb +13 -0
  1020. data/app/components/fox_tail/dropdown/toggle_item_component.rb +23 -0
  1021. data/app/components/fox_tail/dropdown_component.rb +31 -9
  1022. data/app/components/fox_tail/dropdown_component.theme.yml +30 -14
  1023. data/app/components/fox_tail/dropdown_controller.ts +10 -1
  1024. data/app/components/fox_tail/dropdown_trigger_component.rb +5 -5
  1025. data/app/components/fox_tail/dropzone_component.rb +25 -3
  1026. data/app/components/fox_tail/f_a_b/item_component.rb +2 -2
  1027. data/app/components/fox_tail/f_a_b_component.rb +11 -11
  1028. data/app/components/fox_tail/file_input_component.rb +1 -1
  1029. data/app/components/fox_tail/file_input_component.theme.yml +1 -1
  1030. data/app/components/fox_tail/filter_bar_component.en.yml +4 -0
  1031. data/app/components/fox_tail/filter_bar_component.html.erb +26 -0
  1032. data/app/components/fox_tail/filter_bar_component.rb +213 -0
  1033. data/app/components/fox_tail/filter_bar_component.theme.yml +24 -0
  1034. data/app/components/fox_tail/filter_summary_component.rb +88 -0
  1035. data/app/components/fox_tail/filter_summary_component.theme.yml +8 -0
  1036. data/app/components/fox_tail/form_controller.ts +155 -0
  1037. data/app/components/fox_tail/form_field_controller.ts +46 -0
  1038. data/app/components/fox_tail/helper_text_component.theme.yml +2 -2
  1039. data/app/components/fox_tail/history_controller.ts +116 -0
  1040. data/app/components/fox_tail/hr_component.rb +3 -4
  1041. data/app/components/fox_tail/icon_base_component.rb +28 -8
  1042. data/app/components/fox_tail/icon_component.rb +13 -0
  1043. data/app/components/fox_tail/icon_component.theme.yml +33 -16
  1044. data/app/components/fox_tail/index.ts +9 -0
  1045. data/app/components/fox_tail/inline_svg_component.rb +4 -3
  1046. data/app/components/fox_tail/input_base_component.rb +22 -11
  1047. data/app/components/fox_tail/input_base_component.theme.yml +15 -15
  1048. data/app/components/fox_tail/input_component.rb +12 -4
  1049. data/app/components/fox_tail/input_component.theme.yml +4 -4
  1050. data/app/components/fox_tail/input_error_list_component.rb +15 -5
  1051. data/app/components/fox_tail/input_error_list_component.theme.yml +1 -1
  1052. data/app/components/fox_tail/input_group_component.rb +22 -22
  1053. data/app/components/fox_tail/label_component.rb +6 -6
  1054. data/app/components/fox_tail/label_component.theme.yml +3 -3
  1055. data/app/components/fox_tail/link_component.theme.yml +5 -11
  1056. data/app/components/fox_tail/list_group_component.theme.yml +5 -5
  1057. data/app/components/fox_tail/listener_controller.ts +34 -0
  1058. data/app/components/fox_tail/modal_component.rb +8 -5
  1059. data/app/components/fox_tail/modal_component.theme.yml +2 -2
  1060. data/app/components/fox_tail/modal_controller.ts +14 -1
  1061. data/app/components/fox_tail/modal_trigger_component.rb +2 -2
  1062. data/app/components/fox_tail/pagination/action_component.rb +8 -1
  1063. data/app/components/fox_tail/pagination_component.rb +31 -13
  1064. data/app/components/fox_tail/pagination_component.theme.yml +2 -2
  1065. data/app/components/fox_tail/password_input_component.rb +24 -0
  1066. data/app/components/fox_tail/password_input_controller.ts +61 -0
  1067. data/app/components/fox_tail/password_input_trigger_component.rb +32 -0
  1068. data/app/components/fox_tail/password_input_trigger_component.theme.yml +4 -0
  1069. data/app/components/fox_tail/password_input_trigger_controller.ts +77 -0
  1070. data/app/components/fox_tail/popover_component.rb +13 -7
  1071. data/app/components/fox_tail/popover_trigger_component.rb +3 -4
  1072. data/app/components/fox_tail/progress_bar_component.rb +2 -2
  1073. data/app/components/fox_tail/progress_bar_component.theme.yml +6 -8
  1074. data/app/components/fox_tail/progress_bar_controller.ts +4 -0
  1075. data/app/components/fox_tail/proxy_events_controller.ts +39 -0
  1076. data/app/components/fox_tail/radio_button_component.rb +37 -1
  1077. data/app/components/fox_tail/radio_button_component.theme.yml +5 -7
  1078. data/app/components/fox_tail/range_component.rb +1 -1
  1079. data/app/components/fox_tail/search_filtering_controller.ts +164 -0
  1080. data/app/components/fox_tail/select_component.rb +18 -2
  1081. data/app/components/fox_tail/show_password_component.rb +41 -0
  1082. data/app/components/fox_tail/show_password_component.theme.yml +10 -0
  1083. data/app/components/fox_tail/sidebar/menu_component.rb +15 -5
  1084. data/app/components/fox_tail/sidebar/menu_item_component.rb +22 -22
  1085. data/app/components/fox_tail/sidebar_component.rb +4 -2
  1086. data/app/components/fox_tail/sidebar_component.theme.yml +7 -2
  1087. data/app/components/fox_tail/spinner_component.rb +1 -1
  1088. data/app/components/fox_tail/spinner_component.theme.yml +5 -7
  1089. data/app/components/fox_tail/stepper/step_component.rb +0 -2
  1090. data/app/components/fox_tail/stepper_component.rb +1 -1
  1091. data/app/components/fox_tail/stepper_component.theme.yml +19 -19
  1092. data/app/components/fox_tail/surface_component.rb +6 -2
  1093. data/app/components/fox_tail/table_component.rb +1 -1
  1094. data/app/components/fox_tail/tabs/panel_component.rb +0 -1
  1095. data/app/components/fox_tail/tabs/tab_component.rb +7 -7
  1096. data/app/components/fox_tail/tabs_component.rb +1 -1
  1097. data/app/components/fox_tail/tabs_component.theme.yml +3 -3
  1098. data/app/components/fox_tail/textarea_component.rb +1 -1
  1099. data/app/components/fox_tail/timeline/entry_component.rb +6 -6
  1100. data/app/components/fox_tail/timeline_component.theme.yml +10 -2
  1101. data/app/components/fox_tail/toast_component.rb +5 -6
  1102. data/app/components/fox_tail/toast_component.theme.yml +14 -24
  1103. data/app/components/fox_tail/toggle_component.rb +6 -12
  1104. data/app/components/fox_tail/toggle_component.theme.yml +6 -7
  1105. data/app/components/fox_tail/tooltip_component.rb +13 -7
  1106. data/app/components/fox_tail/tooltip_trigger_component.rb +1 -1
  1107. data/app/components/fox_tail/trigger_base_component.rb +13 -5
  1108. data/app/components/fox_tail/wrapper_component.rb +28 -0
  1109. data/app/helpers/fox_tail/form_builder.rb +15 -11
  1110. data/config/locales/fox_tail.en.yml +2 -0
  1111. data/lib/fox_tail/base.rb +1 -1
  1112. data/lib/fox_tail/classname_merger.rb +1 -1
  1113. data/lib/fox_tail/config.rb +11 -8
  1114. data/lib/fox_tail/engine.rb +7 -1
  1115. data/lib/fox_tail/errors.rb +22 -1
  1116. data/lib/fox_tail/icon_sets/base.rb +31 -0
  1117. data/lib/fox_tail/icon_sets/flowbite_icon_set.rb +21 -0
  1118. data/lib/fox_tail/icon_sets/hero_icon_set.rb +26 -0
  1119. data/lib/fox_tail/stimulus_controller.rb +3 -3
  1120. data/lib/fox_tail/theme.rb +15 -1
  1121. data/lib/fox_tail/translator.rb +1 -1
  1122. data/lib/fox_tail/version.rb +3 -1
  1123. data/lib/fox_tail.rb +14 -0
  1124. data/lib/generators/fox_tail/themes_generator.rb +4 -4
  1125. data/lib/tasks/fox_tail.rake +4 -2
  1126. metadata +861 -5
@@ -10,21 +10,21 @@ class FoxTail::Tabs::TabComponent < FoxTail::ClickableComponent
10
10
  icon: {
11
11
  as: :left_icon,
12
12
  renders: lambda { |icon, options = {}|
13
- options[:class] = classnames theme.apply(:visual, self, { position: :left }), options[:class]
13
+ options[:class] = classnames theme.apply(:visual, self, {position: :left}), options[:class]
14
14
  FoxTail::IconBaseComponent.new icon, options
15
15
  }
16
16
  },
17
17
  svg: {
18
18
  as: :left_svg,
19
19
  renders: lambda { |path, options = {}|
20
- options[:class] = classnames theme.apply(:visual, self, { position: :left }), options[:class]
20
+ options[:class] = classnames theme.apply(:visual, self, {position: :left}), options[:class]
21
21
  FoxTail::InlineSvgComponent.new path, options
22
22
  }
23
23
  },
24
24
  image: {
25
25
  as: :left_image,
26
26
  renders: lambda { |source, options = {}|
27
- options[:class] = classnames theme.apply(:visual, self, { position: :left }), options[:class]
27
+ options[:class] = classnames theme.apply(:visual, self, {position: :left}), options[:class]
28
28
  image_tag source, options
29
29
  }
30
30
  }
@@ -34,21 +34,21 @@ class FoxTail::Tabs::TabComponent < FoxTail::ClickableComponent
34
34
  icon: {
35
35
  as: :right_icon,
36
36
  renders: lambda { |icon, options = {}|
37
- options[:class] = classnames theme.apply(:visual, self, { position: :right }), options[:class]
37
+ options[:class] = classnames theme.apply(:visual, self, {position: :right}), options[:class]
38
38
  FoxTail::IconBaseComponent.new icon, options
39
39
  }
40
40
  },
41
41
  svg: {
42
42
  as: :right_svg,
43
43
  renders: lambda { |path, options = {}|
44
- options[:class] = classnames theme.apply(:visual, self, { position: :right }), options[:class]
44
+ options[:class] = classnames theme.apply(:visual, self, {position: :right}), options[:class]
45
45
  FoxTail::InlineSvgComponent.new path, options
46
46
  }
47
47
  },
48
48
  image: {
49
49
  as: :right_image,
50
50
  renders: lambda { |source, options = {}|
51
- options[:class] = classnames theme.apply(:visual, self, { position: :right }), options[:class]
51
+ options[:class] = classnames theme.apply(:visual, self, {position: :right}), options[:class]
52
52
  image_tag source, options
53
53
  }
54
54
  }
@@ -85,7 +85,7 @@ class FoxTail::Tabs::TabComponent < FoxTail::ClickableComponent
85
85
  active_classes: active_classes,
86
86
  selected_classes: selected_classes,
87
87
  siblings: tabs_id? ? "##{tabs_id} [data-controller~='fox_tail--tab']" : nil,
88
- panel: panel_id? ? "##{panel_id}" : nil,
88
+ panel: panel_id? ? "##{panel_id}" : nil
89
89
  }
90
90
  end
91
91
 
@@ -18,7 +18,7 @@ class FoxTail::TabsComponent < FoxTail::BaseComponent
18
18
  }
19
19
 
20
20
  def initialize(html_attributes = {})
21
- super(html_attributes)
21
+ super
22
22
 
23
23
  self.html_attributes[:id] ||= "tabs-#{SecureRandom.hex(4)}" if controlled?
24
24
  end
@@ -33,9 +33,9 @@ tab:
33
33
  root/selected:
34
34
  base: pointer-events-none
35
35
  variant:
36
- default: rounded-t-lg text-blue-600 dark:text-blue-500 bg-gray-100 dark:bg-gray-800
37
- underline: text-blue-600 dark:text-blue-500 border-blue-600 dark:border-blue-500
38
- pills: text-white bg-blue-600 dark:text-white dark:bg-blue-600
36
+ default: rounded-t-lg text-primary-600 dark:text-primary-500 bg-gray-100 dark:bg-gray-800
37
+ underline: text-primary-600 dark:text-primary-500 border-primary-600 dark:border-primary-500
38
+ pills: text-white bg-primary-600 dark:text-white dark:bg-primary-600
39
39
  full_width: text-gray-900 dark:text-white bg-gray-100 dark:bg-gray-700
40
40
  visual:
41
41
  base: w-4 h-4
@@ -7,7 +7,7 @@ class FoxTail::TextareaComponent < FoxTail::InputBaseComponent
7
7
  super
8
8
 
9
9
  html_attributes[:class] = classnames theme.apply(:root, self), html_class
10
- AutoResizeStimulusController.new.merge! html_attributes if use_stimulus? && autoresize?
10
+ AutoResizeStimulusController.new.merge! html_attributes if self.class.use_stimulus? && autoresize?
11
11
  end
12
12
 
13
13
  def call
@@ -7,8 +7,8 @@ class FoxTail::Timeline::EntryComponent < FoxTail::BaseComponent
7
7
  renders: lambda { |options = {}|
8
8
  options[:color] ||= :neutral
9
9
  options[:class] = classnames theme.apply(:visual, self),
10
- theme.apply("visual/dot", self),
11
- options[:class]
10
+ theme.apply("visual/dot", self),
11
+ options[:class]
12
12
 
13
13
  FoxTail::DotIndicatorComponent.new options
14
14
  }
@@ -34,8 +34,8 @@ class FoxTail::Timeline::EntryComponent < FoxTail::BaseComponent
34
34
  as: :image,
35
35
  renders: lambda { |source, options = {}|
36
36
  container_classes = classnames theme.apply(:visual, self),
37
- theme.apply("visual/container", self),
38
- options.delete(:class)
37
+ theme.apply("visual/container", self),
38
+ options.delete(:class)
39
39
 
40
40
  options[:class] = theme.apply("visual/image", self)
41
41
 
@@ -66,8 +66,8 @@ class FoxTail::Timeline::EntryComponent < FoxTail::BaseComponent
66
66
  display_options[:color] ||= :default
67
67
 
68
68
  container_classes = classnames theme.apply(:visual, self, display_options),
69
- theme.apply("visual/container", self, display_options),
70
- options.delete(:class)
69
+ theme.apply("visual/container", self, display_options),
70
+ options.delete(:class)
71
71
 
72
72
  options[:class] = theme.apply("visual/icon", self, display_options)
73
73
 
@@ -16,7 +16,11 @@ entry:
16
16
  visual/icon:
17
17
  base: w-2.5 h-2.5
18
18
  color:
19
- blue: &default text-blue-800 dark:text-blue-300
19
+ primary: &default text-primary-800 dark:text-primary-300
20
+ info: text-info-800 dark:text-info-300
21
+ success: text-success-800 dark:text-success-300
22
+ warning: text-warning-800 dark:text-warning-300
23
+ danger: text-danger-800 dark:text-danger-300
20
24
  default: *default
21
25
  visual/image:
22
26
  base: absolute inset-0 object-cover rounded-full
@@ -26,7 +30,11 @@ entry:
26
30
  true: -left-3
27
31
  false: relative
28
32
  color:
29
- blue: &default bg-blue-100 dark:bg-blue-900
33
+ primary: &default bg-primary-100 dark:bg-primary-900
34
+ info: bg-info-100 dark:bg-info-900
35
+ success: bg-success-100 dark:bg-success-900
36
+ warning: bg-warning-100 dark:bg-warning-900
37
+ danger: bg-danger-100 dark:bg-danger-900
30
38
  default: *default
31
39
  container/timeline:
32
40
  base: flex items-center
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FoxTail::ToastComponent < FoxTail::DismissibleComponent
4
-
5
4
  renders_one :header, lambda { |text, options = {}|
6
5
  options[:class] = classnames theme.apply(:header, self), options[:class]
7
6
  content_tag :span, text, options
@@ -28,8 +27,8 @@ class FoxTail::ToastComponent < FoxTail::DismissibleComponent
28
27
  as: :image,
29
28
  renders: lambda { |source, options = {}|
30
29
  options[:class] = classnames theme.apply("visual", self),
31
- theme.apply("visual/image", self),
32
- options[:class]
30
+ theme.apply("visual/image", self),
31
+ options[:class]
33
32
 
34
33
  image_tag source, options
35
34
  }
@@ -78,7 +77,7 @@ class FoxTail::ToastComponent < FoxTail::DismissibleComponent
78
77
 
79
78
  attributes[:data] ||= {}
80
79
  attributes[:data][:action] = stimulus_merger.merge_actions attributes[:data][:action],
81
- stimulus_controller.action("dismiss")
80
+ stimulus_controller.action("dismiss")
82
81
  end
83
82
 
84
83
  def render_visual(content, options, &block)
@@ -89,8 +88,8 @@ class FoxTail::ToastComponent < FoxTail::DismissibleComponent
89
88
 
90
89
  options[:"aria-hidden"] = true
91
90
  options[:class] = classnames theme.apply(:visual, self, visual_options),
92
- theme.apply("visual/icon", self, visual_options),
93
- options[:class]
91
+ theme.apply("visual/icon", self, visual_options),
92
+ options[:class]
94
93
 
95
94
  content_tag :div, class: container_classes do
96
95
  concat block.call(options)
@@ -12,47 +12,37 @@ container/content:
12
12
  base: text-sm font-normal
13
13
  dividers?: pl-3
14
14
  container/actions:
15
- base: flex items-center ml-auto gap-2
15
+ base: flex items-center ml-auto gap-2 shrink-0 grow-0 ml-auto
16
16
  container/visual:
17
- base: inline-flex items-center justify-center
17
+ base: inline-flex items-center justify-center shrink-0 grow-0
18
18
  fill:
19
19
  true:
20
20
  base: w-8 h-8 rounded-lg
21
21
  color:
22
- blue: &default text-blue-500 bg-blue-100 dark:bg-blue-800 dark:text-blue-200
23
- red: &red text-red-500 bg-red-100 dark:bg-red-800 dark:text-red-200
24
- green: &green text-green-500 bg-green-100 dark:bg-green-800 dark:text-green-200
25
- yellow: &yellow text-yellow-500 bg-yellow-100 dark:bg-yellow-800 dark:text-yellow-200
26
- indigo: text-indigo-500 bg-indigo-100 dark:bg-indigo-800 dark:text-indigo-200
27
- pink: text-pink-500 bg-pink-100 dark:bg-pink-800 dark:text-pink-200
28
- purple: text-purple-500 bg-purple-100 dark:bg-purple-800 dark:text-purple-200
29
- success: *green
30
- error: *red
31
- warning: *yellow
22
+ primary: &default text-primary-500 bg-primary-100 dark:bg-primary-800 dark:text-primary-200
23
+ info: text-info-500 bg-info-100 dark:bg-info-800 dark:text-info-200
24
+ success: text-success-500 bg-success-100 dark:bg-success-800 dark:text-success-200
25
+ warning: text-warning-500 bg-warning-100 dark:bg-warning-800 dark:text-warning-200
26
+ danger: text-danger-500 bg-danger-100 dark:bg-danger-800 dark:text-danger-200
32
27
  default: *default
33
28
  visual:
34
29
  base: w-5 h-5
35
30
  fill:
36
31
  false:
37
32
  color:
38
- blue: &default text-blue-600 dark:text-blue-500
39
- red: &red text-red-600 dark:text-red-500
40
- green: &green text-green-600 dark:text-green-500
41
- yellow: &yellow text-yellow-600 dark:text-yellow-500
42
- indigo: text-indigo-600 dark:text-indigo-500
43
- pink: text-pink-600 dark:text-pink-500
44
- purple: text-purple-600 dark:text-purple-500
45
- success: *green
46
- error: *red
47
- warning: *yellow
33
+ primary: &default text-primary-600 dark:text-primary-500
34
+ info: text-info-600 dark:text-info-500
35
+ success: text-success-600 dark:text-success-500
36
+ warning: text-warning-600 dark:text-warning-500
37
+ danger: text-danger-600 dark:text-danger-500
48
38
  default: *default
49
39
  visual/image:
50
40
  base: w-8 h-8 rounded-full shadow-lg
51
41
  action:
52
42
  base: >-
53
43
  rounded-lg p-1.5 font-medium text-sm
54
- text-blue-600 dark:text-blue-500
55
- hover:bg-blue-100 dark:hover:bg-gray-700
44
+ text-primary-600 dark:text-primary-500
45
+ hover:bg-primary-100 dark:hover:bg-gray-700
56
46
  dismiss/button:
57
47
  base: >-
58
48
  -mx-1.5 -my-1.5 p-1.5 rounded-lg
@@ -1,36 +1,30 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class FoxTail::ToggleComponent < FoxTail::BaseComponent
4
- has_option :size, default: :base
5
- has_option :color, default: :default
6
-
3
+ class FoxTail::ToggleComponent < FoxTail::CheckboxComponent
7
4
  renders_one :label, lambda { |text| content_tag :span, text, class: theme.apply(:label, self) }
8
5
 
9
6
  def before_render
10
7
  super
11
8
 
12
- html_attributes[:type]
9
+ html_attributes[:class] = theme.apply(:root, self)
13
10
  end
14
11
 
15
12
  def call
16
13
  content_tag :label, container_attributes do
17
- concat content_tag(:input, nil, input_attributes)
14
+ concat super
18
15
  concat content_tag(:div, nil, toggle_attributes)
19
16
  concat label if label?
17
+ concat content if content?
20
18
  end
21
19
  end
22
20
 
23
21
  private
24
22
 
25
23
  def container_attributes
26
- { class: classnames(theme.apply(:container, self), html_class) }
27
- end
28
-
29
- def input_attributes
30
- html_attributes.merge type: :checkbox, class: theme.apply(:root, self)
24
+ {class: classnames(theme.apply(:container, self), html_class)}
31
25
  end
32
26
 
33
27
  def toggle_attributes
34
- { class: theme.apply(:toggle, self) }
28
+ {class: theme.apply(:toggle, self)}
35
29
  end
36
30
  end
@@ -4,19 +4,18 @@ container:
4
4
  base: relative inline-flex items-center cursor-pointer
5
5
  toggle:
6
6
  base: >-
7
+ shrink-0 grow-0
7
8
  peer-focus:outline-none peer-focus:ring-4
8
9
  rounded-full bg-gray-200 dark:bg-gray-700
9
10
  peer-checked:after:translate-x-full peer-checked:after:border-white
10
11
  after:content-[''] after:absolute after:border after:rounded-full after:transition-all
11
12
  after:bg-white after:border-gray-300 dark:after:border-gray-600
12
13
  color:
13
- blue: &default peer-focus:ring-blue-300 dark:peer-focus:ring-blue-800 peer-checked:bg-blue-600
14
- red: peer-focus:ring-red-300 dark:peer-focus:ring-red-800 peer-checked:bg-red-600
15
- green: peer-focus:ring-green-300 dark:peer-focus:ring-green-800 peer-checked:bg-green-600
16
- yellow: peer-focus:ring-yellow-300 dark:peer-focus:ring-yellow-800 peer-checked:bg-yellow-600
17
- indigo: peer-focus:ring-indigo-300 dark:peer-focus:ring-indigo-800 peer-checked:bg-indigo-600
18
- pink: peer-focus:ring-pink-300 dark:peer-focus:ring-pink-800 peer-checked:bg-pink-600
19
- purple: peer-focus:ring-purple-300 dark:peer-focus:ring-purple-800 peer-checked:bg-purple-600
14
+ primary: &default peer-focus:ring-primary-300 dark:peer-focus:ring-primary-800 peer-checked:bg-primary-600
15
+ info: peer-focus:ring-info-300 dark:peer-focus:ring-info-800 peer-checked:bg-info-600
16
+ warning: peer-focus:ring-warning-300 dark:peer-focus:ring-warning-800 peer-checked:bg-warning-600
17
+ success: peer-focus:ring-success-300 dark:peer-focus:ring-success-800 peer-checked:bg-success-600
18
+ danger: peer-focus:ring-danger-300 dark:peer-focus:ring-danger-800 peer-checked:bg-danger-600
20
19
  default: *default
21
20
  size:
22
21
  sm: w-9 h-5 after:h-4 after:w-4 after:top-[2px] after:left-[2px]
@@ -1,12 +1,12 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FoxTail::TooltipComponent < FoxTail::BaseComponent
4
+ include FoxTail::Concerns::Identifiable
4
5
  include FoxTail::Concerns::HasStimulusController
5
6
 
6
- attr_reader :id
7
-
8
7
  renders_one :trigger, lambda { |attributes = {}|
9
- FoxTail::TooltipTriggerComponent.new trigger_id, "##{id}", attributes
8
+ attributes[:id] = trigger_id
9
+ FoxTail::TooltipTriggerComponent.new "##{id}", attributes
10
10
  }
11
11
 
12
12
  has_option :variant, default: :default
@@ -17,9 +17,15 @@ class FoxTail::TooltipComponent < FoxTail::BaseComponent
17
17
  has_option :inline, default: false, type: :boolean
18
18
  has_option :trigger_id
19
19
 
20
- def initialize(id, html_attributes = {})
20
+ def initialize(id_or_attributes = {}, html_attributes = {})
21
+ if id_or_attributes.is_a? Hash
22
+ html_attributes = id_or_attributes
23
+ else
24
+ __id_argument_deprecated_warning
25
+ html_attributes[:id] = id_or_attributes
26
+ end
27
+
21
28
  super(html_attributes)
22
- @id = id
23
29
  end
24
30
 
25
31
  def trigger_id
@@ -29,7 +35,7 @@ class FoxTail::TooltipComponent < FoxTail::BaseComponent
29
35
  def before_render
30
36
  super
31
37
 
32
- html_attributes[:id] = id
38
+ generate_unique_id
33
39
  html_attributes[:role] ||= :tooltip
34
40
  html_attributes[:class] = classnames theme.apply(:root, self), theme.apply("root/hidden", self), html_class
35
41
  end
@@ -72,7 +78,7 @@ class FoxTail::TooltipComponent < FoxTail::BaseComponent
72
78
  end
73
79
 
74
80
  def attributes(options = {})
75
- attributes = super options
81
+ attributes = super
76
82
  attributes[:data][value_key(:placement)] = options[:placement]
77
83
  attributes[:data][value_key(:offset)] = options[:offset]
78
84
  attributes[:data][value_key(:shift)] = options[:shift]
@@ -23,7 +23,7 @@ class FoxTail::TooltipTriggerComponent < FoxTail::TriggerBaseComponent
23
23
 
24
24
  def attributes(options = nil)
25
25
  trigger_type = options[:trigger_type]&.to_sym
26
- attributes = super options
26
+ attributes = super
27
27
  attributes[:data][outlet_key(tooltip_identifier)] = options[:selector]
28
28
  attributes[:data][:action] = build_actions TRIGGER_TYPES[trigger_type]
29
29
  attributes
@@ -1,16 +1,24 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FoxTail::TriggerBaseComponent < FoxTail::BaseComponent
4
+ include FoxTail::Concerns::Identifiable
4
5
  include FoxTail::Concerns::HasStimulusController
5
6
 
6
- attr_reader :id, :selector, :block
7
+ attr_reader :selector, :block
7
8
 
8
9
  has_option :trigger_type
9
10
 
10
- def initialize(id, selector, html_attributes = {}, &block)
11
+ def initialize(id_or_selector, selector_or_attributes = {}, html_attributes = {}, &block)
12
+ if selector_or_attributes.is_a? Hash
13
+ html_attributes = selector_or_attributes
14
+ selector_or_attributes = id_or_selector
15
+ else
16
+ __id_argument_deprecated_warning
17
+ html_attributes[:id] = id_or_selector
18
+ end
19
+
11
20
  super(html_attributes)
12
- @id = id
13
- @selector = selector
21
+ @selector = selector_or_attributes
14
22
  @block = block
15
23
  end
16
24
 
@@ -21,7 +29,7 @@ class FoxTail::TriggerBaseComponent < FoxTail::BaseComponent
21
29
  def before_render
22
30
  super
23
31
 
24
- html_attributes[:id] = id
32
+ generate_unique_id
25
33
  html_attributes[:class] = html_class
26
34
  end
27
35
 
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FoxTail::WrapperComponent < FoxTail::BaseComponent
4
+ attr_reader :block
5
+
6
+ def initialize(html_attributes = {}, &block)
7
+ super(html_attributes)
8
+ @block = block
9
+ end
10
+
11
+ def block?
12
+ !!@block
13
+ end
14
+
15
+ def before_render
16
+ super
17
+
18
+ html_attributes[:class] = html_class
19
+ end
20
+
21
+ def render?
22
+ block? || content?
23
+ end
24
+
25
+ def call
26
+ block ? capture(self, &block) : content
27
+ end
28
+ end
@@ -13,6 +13,12 @@ class FoxTail::FormBuilder < ActionView::Helpers::FormBuilder
13
13
  @template.render component, &block
14
14
  end
15
15
 
16
+ def show_password_button(method, options = {}, &block)
17
+ options = objectify_component_options method, options
18
+ component = FoxTail::ShowPasswordComponent.new options
19
+ @template.render component, &block
20
+ end
21
+
16
22
  def help_text(method, text = nil, options = {}, &block)
17
23
  if text.is_a?(Hash)
18
24
  options = text
@@ -21,7 +27,7 @@ class FoxTail::FormBuilder < ActionView::Helpers::FormBuilder
21
27
 
22
28
  options = objectify_component_options method, options
23
29
  component = FoxTail::HelperTextComponent.new options
24
- component.with_content text unless text.blank?
30
+ component.with_content text if text.present?
25
31
  @template.render component, &block
26
32
  end
27
33
 
@@ -35,7 +41,8 @@ class FoxTail::FormBuilder < ActionView::Helpers::FormBuilder
35
41
  end
36
42
 
37
43
  def password_field(method, options = {}, &block)
38
- input_field method, options.merge(type: :password), &block
44
+ options = objectify_component_options method, options
45
+ @template.render FoxTail::PasswordInputComponent.new(options), &block
39
46
  end
40
47
 
41
48
  def color_field(method, options = {}, &block)
@@ -91,6 +98,11 @@ class FoxTail::FormBuilder < ActionView::Helpers::FormBuilder
91
98
  @template.render FoxTail::InputComponent.new(options), &block
92
99
  end
93
100
 
101
+ def autocomplete_field(method, url, options = {}, &block)
102
+ options = objectify_component_options method, options
103
+ @template.render FoxTail::AutocompleteComponent.new(url, options), &block
104
+ end
105
+
94
106
  def range_field(method, options = {}, &block)
95
107
  options = objectify_component_options method, options
96
108
  @template.render FoxTail::RangeComponent.new(options), &block
@@ -127,17 +139,9 @@ class FoxTail::FormBuilder < ActionView::Helpers::FormBuilder
127
139
  def select(method, choices = nil, options = {}, html_options = {}, &block)
128
140
  options = objectify_component_options(method, options.merge(html_options))
129
141
  options[:placeholder] = options.delete(:placeholder) || options.delete(:prompt)
130
- choices = choices.to_a if choices.is_a? Range
142
+ options[:choices] = choices
131
143
 
132
144
  @template.render FoxTail::SelectComponent.new(options) do |select|
133
- if choices.present?
134
- choices.each do |choice|
135
- choice_options = option_html_attributes choice
136
- text, value = option_text_and_value choice
137
- select.with_select_option(value, choice_options).with_content(text)
138
- end
139
- end
140
-
141
145
  @template.capture select, &block if block
142
146
  end
143
147
  end
@@ -3,6 +3,8 @@ en:
3
3
  fox_tail:
4
4
  dismiss: Dismiss
5
5
  close: Close
6
+ breadcrumb:
7
+ label: Breadcrumbs
6
8
  dropzone:
7
9
  title_html: <span class="font-semibold">Click to upload</span> or drag and drop.
8
10
  pagination:
data/lib/fox_tail/base.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'view_component'
3
+ require "view_component"
4
4
 
5
5
  module FoxTail
6
6
  class Base < ::ViewComponent::Base
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'tailwind_merge'
3
+ require "tailwind_merge"
4
4
 
5
5
  module FoxTail
6
6
  # Tailwind CSS class name merger
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'fox_tail/classname_merger'
4
- require 'fox_tail/stimulus_merger'
3
+ require "fox_tail/classname_merger"
4
+ require "fox_tail/stimulus_merger"
5
5
 
6
6
  module FoxTail
7
7
  class Config
@@ -10,12 +10,15 @@ module FoxTail
10
10
 
11
11
  def defaults
12
12
  ActiveSupport::OrderedOptions.new.merge!({
13
- classname_merger: ClassnameMerger.new,
14
- stimulus_merger: StimulusMerger.new,
15
- use_stimulus: true,
16
- raise_on_asset_not_found: true,
17
- color_theme: {}
18
- })
13
+ classname_merger: ClassnameMerger.new,
14
+ stimulus_merger: StimulusMerger.new,
15
+ use_stimulus: true,
16
+ raise_on_asset_not_found: true,
17
+ color_theme: {},
18
+ icon_sets: {},
19
+ default_icon_set: nil,
20
+ default_icon_variant: :solid
21
+ })
19
22
  end
20
23
 
21
24
  def current
@@ -8,5 +8,11 @@ module FoxTail
8
8
 
9
9
  config.fox_tail = Config.current
10
10
  config.eager_load_paths = %W[#{root}/app/components #{root}/app/helpers]
11
+
12
+ initializer "fox_tail.config.icon_sets" do |app|
13
+ app.config.fox_tail.icon_sets[:hero] = FoxTail::IconSets::HeroIconSet
14
+ app.config.fox_tail.default_icon_set = :hero
15
+ app.config.fox_tail.icon_sets[:flowbite] = FoxTail::IconSets::FlowbiteIconSet
16
+ end
11
17
  end
12
- end
18
+ end
@@ -34,4 +34,25 @@ module FoxTail
34
34
  super(component, msg)
35
35
  end
36
36
  end
37
- end
37
+
38
+ class ExtendThemeTypeMismatch < Error; end
39
+
40
+ class InvalidIconSet < Error
41
+ attr_reader :name
42
+
43
+ def initialize(name, msg = nil)
44
+ @name = name
45
+ super(msg || "The icon set '#{name}' has not been registered. Make sure to add it to your FoxTail configuration.")
46
+ end
47
+ end
48
+
49
+ class InvalidIconSetVariant < Error
50
+ attr_reader :icon_set, :variant
51
+
52
+ def initialize(icon_set, variant, msg = nil)
53
+ @icon_set = icon_set
54
+ @variant = variant
55
+ super(msg || "Unknown variant #{variant} for #{icon_set} icon set.")
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FoxTail
4
+ module IconSets
5
+ class Base
6
+ attr_reader :name
7
+
8
+ def initialize(name)
9
+ @name = name
10
+ end
11
+
12
+ def path(icon, variant: :solid)
13
+ raise NotImplementedError
14
+ end
15
+
16
+ def root_path
17
+ raise NotImplementedError
18
+ end
19
+
20
+ protected
21
+
22
+ def normalize_icon_name(name)
23
+ name.to_s.gsub("_", "-")
24
+ end
25
+
26
+ def __raise_invalid_variant(variant)
27
+ raise FoxTail::InvalidIconSetVariant.new(name, variant)
28
+ end
29
+ end
30
+ end
31
+ end