fox_tail 0.1.1 → 0.2.0

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 +860 -4
@@ -1,13 +1,14 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FoxTail::Accordion::ItemComponent < FoxTail::BaseComponent
4
- attr_reader :id, :title
4
+ include FoxTail::Concerns::Identifiable
5
+
6
+ attr_reader :title
5
7
 
6
8
  renders_one :icon, types: {
7
9
  icon: {
8
10
  renders: lambda { |icon, options = {}|
9
11
  options[:class] = classnames theme.classname("icon.base"), options[:class]
10
- options[:variant] ||= :mini
11
12
  FoxTail::IconBaseComponent.new icon, options
12
13
  },
13
14
  as: :icon
@@ -28,7 +29,6 @@ class FoxTail::Accordion::ItemComponent < FoxTail::BaseComponent
28
29
  }
29
30
  }
30
31
 
31
-
32
32
  renders_one :arrow, types: {
33
33
  icon: {
34
34
  renders: lambda { |options = {}|
@@ -61,9 +61,16 @@ class FoxTail::Accordion::ItemComponent < FoxTail::BaseComponent
61
61
  has_option :open, default: false, type: :boolean
62
62
  has_option :header_tag, default: :h2
63
63
 
64
- def initialize(id, title, html_attributes = {})
65
- @id = id
66
- @title = title
64
+ def initialize(id_or_title, title_or_attributes = {}, html_attributes = {})
65
+ if title_or_attributes.is_a? Hash
66
+ html_attributes = title_or_attributes
67
+ title_or_attributes = id_or_title
68
+ else
69
+ __id_argument_deprecated_warning
70
+ html_attributes[:id] = id_or_title
71
+ end
72
+
73
+ @title = title_or_attributes
67
74
  super(html_attributes)
68
75
  end
69
76
 
@@ -78,6 +85,7 @@ class FoxTail::Accordion::ItemComponent < FoxTail::BaseComponent
78
85
  def before_render
79
86
  super
80
87
 
88
+ generate_unique_id
81
89
  html_attributes[:class] = classnames theme.apply(:root, self), html_class
82
90
  end
83
91
 
@@ -100,7 +108,12 @@ class FoxTail::Accordion::ItemComponent < FoxTail::BaseComponent
100
108
 
101
109
  def render_header
102
110
  content_tag header_tag, id: id do
103
- render(FoxTail::CollapsibleTriggerComponent.new(trigger_id, "##{body_id}", open: open?, class: header_classes)) do |trigger|
111
+ render(FoxTail::CollapsibleTriggerComponent.new(
112
+ "##{body_id}",
113
+ id: trigger_id,
114
+ open: open?,
115
+ class: header_classes
116
+ )) do |trigger|
104
117
  content_tag :button, trigger.html_attributes do
105
118
  concat icon if icon?
106
119
  concat content_tag(:span, title)
@@ -112,12 +125,12 @@ class FoxTail::Accordion::ItemComponent < FoxTail::BaseComponent
112
125
 
113
126
  def render_body
114
127
  render(FoxTail::CollapsibleComponent.new(
115
- body_id,
128
+ id: body_id,
116
129
  open: open?,
117
- data: { FoxTail::AccordionComponent.stimulus_controller.target_key => :collapsible },
118
- aria: { labelledby: id }
130
+ data: {FoxTail::AccordionComponent.stimulus_controller.target_key => :collapsible},
131
+ aria: {labelledby: id}
119
132
  )) do
120
133
  content_tag :div, content, class: body_classes
121
134
  end
122
135
  end
123
- end
136
+ end
@@ -2,20 +2,34 @@
2
2
 
3
3
  class FoxTail::AccordionComponent < FoxTail::BaseComponent
4
4
  include FoxTail::Concerns::HasStimulusController
5
+ include FoxTail::Concerns::Identifiable
5
6
 
6
- attr_reader :id
7
+ renders_many :items, lambda { |id_or_title, title_or_options = {}, options = {}|
8
+ if title_or_options.is_a? Hash
9
+ options = title_or_options
10
+ title_or_options = id_or_title
11
+ else
12
+ options[:id] = id_or_title
13
+ __id_argument_deprecated_warning slot: :item
14
+ end
7
15
 
8
- renders_many :items, lambda { |id, title, options = {}|
9
16
  options[:flush] = flush?
10
17
  options[:theme] = theme.theme :item
11
- FoxTail::Accordion::ItemComponent.new id, title, options
18
+ options[:id] ||= "#{id}_item_#{SecureRandom.base58(6)}"
19
+ FoxTail::Accordion::ItemComponent.new title_or_options, options
12
20
  }
13
21
 
14
22
  has_option :always_open, default: false, type: :boolean
15
23
  has_option :flush, default: false, type: :boolean
16
24
 
17
- def initialize(id, html_attributes = {})
18
- @id = id
25
+ def initialize(id_or_attributes = {}, html_attributes = {})
26
+ if id_or_attributes.is_a? Hash
27
+ html_attributes = id_or_attributes
28
+ else
29
+ __id_argument_deprecated_warning
30
+ html_attributes[:id] = id_or_attributes
31
+ end
32
+
19
33
  super(html_attributes)
20
34
  end
21
35
 
@@ -26,7 +40,7 @@ class FoxTail::AccordionComponent < FoxTail::BaseComponent
26
40
  def before_render
27
41
  super
28
42
 
29
- html_attributes[:id] = id
43
+ generate_unique_id
30
44
  html_attributes[:class] = classnames theme.apply(:root, self), html_class
31
45
  end
32
46
 
@@ -37,12 +51,12 @@ class FoxTail::AccordionComponent < FoxTail::BaseComponent
37
51
  end
38
52
 
39
53
  def stimulus_controller_options
40
- { always_open: always_open }
54
+ {always_open: always_open}
41
55
  end
42
56
 
43
57
  class StimulusController < FoxTail::StimulusController
44
58
  def attributes(options = {})
45
- attributes = super options
59
+ attributes = super
46
60
  attributes[:data][value_key(:always_open)] = options[:always_open]
47
61
  attributes
48
62
  end
@@ -1,4 +1,4 @@
1
- <%= content_tag :div, html_attributes.merge(id: id, class: root_classes, role: :alert) do %>
1
+ <%= content_tag :div, html_attributes do %>
2
2
  <%= content_tag :div, class: theme.classname("wrapper.base") do %>
3
3
  <% if icon? %>
4
4
  <%= icon %>
@@ -1,11 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FoxTail::AlertComponent < FoxTail::DismissibleComponent
4
- SEVERITY_ICONS = { success: "check-circle", warning: "exclamation-triangle", error: "exclamation-circle" }.freeze
4
+ SEVERITY_ICONS = {success: "check-circle", warning: "exclamation-triangle", danger: "exclamation-circle"}.freeze
5
5
  DEFAULT_SEVERITY_ICON = "information-circle"
6
6
 
7
- attr_reader :id
8
-
9
7
  renders_one :header, lambda { |text_or_options = {}, options = {}, &block|
10
8
  if block
11
9
  options = text_or_options
@@ -20,7 +18,6 @@ class FoxTail::AlertComponent < FoxTail::DismissibleComponent
20
18
  renders_one :icon, lambda { |options = {}|
21
19
  name = options.delete(:icon) || severity_icon_name
22
20
  options[:class] = classnames theme.apply(:icon, self), options[:class]
23
- options[:variant] ||= :mini
24
21
  FoxTail::IconBaseComponent.new name, options
25
22
  }
26
23
 
@@ -83,6 +80,15 @@ class FoxTail::AlertComponent < FoxTail::DismissibleComponent
83
80
  super && dismissible?
84
81
  end
85
82
 
83
+ def before_render
84
+ super
85
+
86
+ with_dismiss_icon unless !dismissible? || dismiss_icon
87
+
88
+ html_attributes[:class] = root_classes
89
+ html_attributes[:role] = :alert
90
+ end
91
+
86
92
  private
87
93
 
88
94
  def root_classes
@@ -98,6 +104,6 @@ class FoxTail::AlertComponent < FoxTail::DismissibleComponent
98
104
 
99
105
  attributes[:data] ||= {}
100
106
  attributes[:data][:action] = stimulus_merger.merge_actions attributes[:data][:action],
101
- stimulus_controller.action("dismiss")
107
+ stimulus_controller.action("dismiss")
102
108
  end
103
109
  end
@@ -3,17 +3,17 @@ root:
3
3
  rounded: rounded-lg
4
4
  severity:
5
5
  info:
6
- base: text-blue-800 bg-blue-50 dark:bg-gray-800 dark:text-blue-400
7
- border?: border-blue-300 dark:border-blue-800
8
- error:
9
- base: text-red-800 bg-red-50 dark:bg-gray-800 dark:text-red-400
10
- border?: border-red-300 dark:border-red-800
6
+ base: text-info-800 bg-info-50 dark:bg-gray-800 dark:text-info-400
7
+ border?: border-info-300 dark:border-info-800
8
+ danger:
9
+ base: text-danger-800 bg-danger-50 dark:bg-gray-800 dark:text-danger-400
10
+ border?: border-danger-300 dark:border-danger-800
11
11
  success:
12
- base: text-green-800 bg-green-50 dark:bg-gray-800 dark:text-green-400
13
- border?: border-green-300 dark:border-green-800
12
+ base: text-success-800 bg-success-50 dark:bg-gray-800 dark:text-success-400
13
+ border?: border-success-300 dark:border-success-800
14
14
  warning:
15
- base: text-yellow-800 bg-yellow-50 dark:bg-gray-800 dark:text-yellow-400
16
- border?: border-yellow-300 dark:border-yellow-800
15
+ base: text-warning-800 bg-warning-50 dark:bg-gray-800 dark:text-warning-400
16
+ border?: border-warning-300 dark:border-warning-800
17
17
  neutral:
18
18
  base: text-gray-800 bg-gray-50 dark:bg-gray-800 dark:text-gray-300
19
19
  border?: border-gray-300 dark:border-gray-600
@@ -33,21 +33,21 @@ dismiss:
33
33
  base: ml-auto -mr-1.5 -my-1.5 rounded-lg focus:ring-2 p-1.5 inline-flex items-center justify-center h-8 w-8
34
34
  severity:
35
35
  info: >-
36
- bg-blue-50 text-blue-500 dark:bg-gray-800 dark:text-blue-400
37
- hover:bg-blue-200 dark:hover:bg-gray-700
38
- focus:ring-blue-400
39
- error: >-
40
- bg-red-50 text-red-500 dark:bg-gray-800 dark:text-red-400
41
- hover:bg-red-200 dark:hover:bg-gray-700
42
- focus:ring-red-400
36
+ bg-info-50 text-info-500 dark:bg-gray-800 dark:text-info-400
37
+ hover:bg-info-200 dark:hover:bg-gray-700
38
+ focus:ring-info-400
39
+ danger: >-
40
+ bg-danger-50 text-danger-500 dark:bg-gray-800 dark:text-danger-400
41
+ hover:bg-danger-200 dark:hover:bg-gray-700
42
+ focus:ring-danger-400
43
43
  success: >-
44
- bg-green-50 text-green-500 dark:bg-gray-800 dark:text-green-400
45
- hover:bg-green-200 dark:hover:bg-gray-700
46
- focus:ring-green-400
44
+ bg-success-50 text-success-500 dark:bg-gray-800 dark:text-success-400
45
+ hover:bg-success-200 dark:hover:bg-gray-700
46
+ focus:ring-success-400
47
47
  warning: >-
48
- bg-yellow-50 text-yellow-500 dark:bg-gray-800 dark:text-yellow-400
49
- hover:bg-yellow-200 dark:hover:bg-gray-700
50
- focus:ring-yellow-400
48
+ bg-warning-50 text-warning-500 dark:bg-gray-800 dark:text-warning-400
49
+ hover:bg-warning-200 dark:hover:bg-gray-700
50
+ focus:ring-warning-400
51
51
  neutral: >-
52
52
  text-gray-500 dark:bg-gray-800 dark:text-gray-300
53
53
  hover:bg-gray-200 dark:hover:bg-gray-700 dark:hover:text-white
@@ -0,0 +1,2 @@
1
+ en:
2
+ error_message_html: <strong>Unknown Error!</strong> Unable to load results.
@@ -0,0 +1,148 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FoxTail::AutocompleteComponent < FoxTail::BaseComponent
4
+ include FoxTail::Concerns::Formable
5
+ include FoxTail::Concerns::Placeholderable
6
+ include FoxTail::Concerns::HasStimulusController
7
+
8
+ renders_one :hidden_input, lambda { |attributes = {}|
9
+ add_default_name_and_id attributes: attributes
10
+ attributes[:value] = value
11
+ attributes[:type] = :hidden
12
+ attributes[:name] = name
13
+
14
+ if use_stimulus?
15
+ attributes[:data] ||= {}
16
+ attributes[:data][stimulus_controller.target_key] = :value
17
+ end
18
+
19
+ tag.input(attributes)
20
+ }
21
+
22
+ renders_one :input, lambda { |options = {}, &block|
23
+ options = objectify_options options
24
+ options.merge! fox_tail_input_options
25
+ options[:class] = classnames theme.apply(:input, self), options[:class], html_class
26
+ options[:autocomplete] ||= "off"
27
+ options[:spellcheck] = false unless options.key?(:spellcheck)
28
+ options[:id] = input_id
29
+ options[:name] = "#{name}_text" if name?
30
+ options[:value] = text
31
+ options[:type] = :search
32
+ options[:placeholder] = retrieve_placeholder if placeholder?
33
+
34
+ if use_stimulus?
35
+ options[:data] ||= {}
36
+ options[:data][stimulus_controller.target_key] = :input
37
+ end
38
+
39
+ FoxTail::DropdownTriggerComponent.new nil do |trigger|
40
+ component = FoxTail::InputComponent.new stimulus_merger.merge_attributes(trigger.html_attributes, options)
41
+
42
+ if use_stimulus?
43
+ component.with_right_spinner :class => theme.apply(:loader, self),
44
+ stimulus_controller.target_key(raw: true) => :loader
45
+ end
46
+
47
+ render component, &block
48
+ end
49
+ }
50
+
51
+ renders_one :dropdown, lambda { |options = {}|
52
+ options[:class] = classnames theme.apply(:dropdown, self), options[:class]
53
+ options[:trigger_id] = input_id
54
+ options[:offset] ||= 0
55
+ options[:disable_click_outside] = true
56
+
57
+ if use_stimulus?
58
+ options[:data] ||= {}
59
+ options[:data][stimulus_controller.target_key] = :dropdown
60
+ end
61
+
62
+ FoxTail::DropdownComponent.new options
63
+ }
64
+
65
+ has_option :name
66
+ has_option :id, as: :input_id
67
+ has_option :param, default: :q
68
+ has_option :value
69
+ has_option :text
70
+ has_option :error_message
71
+
72
+ include_options_from FoxTail::InputComponent
73
+
74
+ def initialize(url, html_attributes = {})
75
+ super(html_attributes)
76
+
77
+ @url = url
78
+ end
79
+
80
+ def value
81
+ options.key?(:value) ? options[:value].presence : value_from_object
82
+ end
83
+
84
+ def text
85
+ options.key?(:text) ? options[:text].presence : value
86
+ end
87
+
88
+ def input_id
89
+ options[:input_id] ||=
90
+ "#{self.class.name.underscore.gsub("_component", "").gsub("/", "_")}_#{SecureRandom.base58(6)}"
91
+ end
92
+
93
+ def before_render
94
+ super
95
+
96
+ with_input unless input?
97
+ with_hidden_input unless hidden_input?
98
+ with_dropdown unless dropdown?
99
+
100
+ html_attributes[:class] = theme.apply(:root, self)
101
+ end
102
+
103
+ def call
104
+ content_tag :div, html_attributes do
105
+ concat hidden_input
106
+ concat input
107
+ concat dropdown
108
+ end
109
+ end
110
+
111
+ def stimulus_controller_options
112
+ {
113
+ url: @url,
114
+ param: param
115
+ }
116
+ end
117
+
118
+ def render_search_results(options = {}, &block)
119
+ raise ArgumentError, "block not given" unless block
120
+
121
+ render FoxTail::DropdownComponent.new(options).with_menu, &block
122
+ end
123
+
124
+ def render_search_results_in(view_context, options = {}, &block)
125
+ set_original_view_context view_context
126
+ render_search_results options, &block
127
+ end
128
+
129
+ class << self
130
+ def append_option_action(value, text = nil, attributes = {})
131
+ actions = stimulus_merger.merge_actions attributes.dig(:data, :action), stimulus_controller.action(:select)
132
+ attributes[:data] ||= {}
133
+ attributes[:data][:action] = actions
134
+ attributes[:data][stimulus_controller.action_param_key(:value)] = value
135
+ attributes[:data][stimulus_controller.action_param_key(:text)] = text
136
+ attributes
137
+ end
138
+ end
139
+
140
+ class StimulusController < FoxTail::StimulusController
141
+ def attributes(options = {})
142
+ attributes = super
143
+ attributes[:data][value_key(:url)] = options[:url]
144
+ attributes[:data][value_key(:param)] = options[:param]
145
+ attributes
146
+ end
147
+ end
148
+ end
@@ -0,0 +1,4 @@
1
+ loader:
2
+ base: hidden
3
+ dropdown:
4
+ base: border border-gray-300 dark:border-gray-600
@@ -0,0 +1,184 @@
1
+ import { ActionEvent, Controller } from '@hotwired/stimulus';
2
+
3
+ import DropdownController from './dropdown_controller';
4
+
5
+ import debounce from '../../../src/utilities/debounce';
6
+ import useEventListeners from '../../../src/mixins/use_event_listeners';
7
+ import { safeCallMethod } from '../../../src/utilities/reflection';
8
+
9
+ export default class extends Controller {
10
+ static targets = ['input', 'value', 'loader', 'dropdown'];
11
+ static values = {
12
+ url: String,
13
+ param: { type: String, default: 'q' },
14
+ length: { type: Number, default: 1 },
15
+ delay: { type: Number, default: 320 },
16
+ };
17
+
18
+ declare readonly urlValue: string;
19
+ declare readonly paramValue: string;
20
+ declare readonly lengthValue: number;
21
+ declare readonly delayValue: number;
22
+
23
+ declare readonly inputTarget: HTMLInputElement;
24
+ declare readonly valueTarget: HTMLInputElement;
25
+ declare readonly dropdownTarget: HTMLElement;
26
+ declare readonly loaderTarget: HTMLElement;
27
+ declare readonly hasLoaderTarget: boolean;
28
+
29
+ private abortController: AbortController;
30
+ private dropdown: DropdownController;
31
+ private currentText: string;
32
+
33
+ get dropdownOutlet(): DropdownController {
34
+ if (!this.dropdown) {
35
+ this.dropdown =
36
+ this.application.getControllerForElementAndIdentifier(
37
+ this.dropdownTarget,
38
+ 'fox-tail--dropdown',
39
+ ) as DropdownController;
40
+ }
41
+
42
+ return this.dropdown;
43
+ }
44
+
45
+ connect() {
46
+ this.currentText = this.inputTarget.value;
47
+
48
+ useEventListeners(
49
+ this,
50
+ this.inputTarget,
51
+ 'input',
52
+ debounce(this.search.bind(this), this.delayValue),
53
+ { attached: true, passive: true },
54
+ );
55
+
56
+ useEventListeners(
57
+ this,
58
+ this.inputTarget,
59
+ 'search',
60
+ this.clear.bind(this),
61
+ { attached: true, passive: true },
62
+ );
63
+
64
+ useEventListeners(
65
+ this,
66
+ this.inputTarget,
67
+ 'blur',
68
+ debounce(this.handleBlur.bind(this), 150),
69
+ { attached: true, passive: true },
70
+ );
71
+
72
+ useEventListeners(
73
+ this,
74
+ this.inputTarget,
75
+ 'keydown',
76
+ this.handleKeyDown.bind(this),
77
+ { attached: true, passive: true },
78
+ );
79
+
80
+ this.handleResize();
81
+ }
82
+
83
+ search() {
84
+ this.abortSearch();
85
+
86
+ if (this.inputTarget.value.length < this.lengthValue) {
87
+ this.dropdownOutlet.hide();
88
+ return;
89
+ }
90
+
91
+ this.abortController = new AbortController();
92
+ this.showLoader();
93
+
94
+ const url = new URL(this.urlValue, window.location.href);
95
+ const params = new URLSearchParams(url.search);
96
+
97
+ params.set(this.paramValue, this.inputTarget.value);
98
+ url.search = params.toString();
99
+
100
+ fetch(url)
101
+ .then((response) => response.text())
102
+ .then((body) => {
103
+ this.dropdownTarget.innerHTML = body;
104
+ this.dropdownOutlet.show();
105
+ })
106
+ .catch((error) => {
107
+ this.dropdownOutlet.hide();
108
+ this.application.logDebugActivity(
109
+ 'fox-tail--autocomplete',
110
+ 'search-error',
111
+ { error },
112
+ );
113
+ })
114
+ .finally(() => this.hideLoader());
115
+ }
116
+
117
+ abortSearch() {
118
+ if (this.abortController) {
119
+ this.abortController.abort('cancelled');
120
+ this.abortController = null;
121
+ }
122
+ }
123
+
124
+ select(event: ActionEvent) {
125
+ const { value, text } = event.params || {};
126
+
127
+ this.application.logDebugActivity('fox-tail--autocomplete', 'select', {
128
+ value,
129
+ text,
130
+ });
131
+
132
+ this.valueTarget.value = value;
133
+ this.inputTarget.value = text || value;
134
+ this.currentText = this.inputTarget.value;
135
+ this.dropdownOutlet.hide();
136
+ }
137
+
138
+ clear() {
139
+ this.inputTarget.value = '';
140
+ this.valueTarget.value = '';
141
+ this.currentText = '';
142
+ this.inputTarget.blur();
143
+ }
144
+
145
+ protected showLoader() {
146
+ this.hasLoaderTarget && this.loaderTarget.classList.remove('hidden');
147
+ }
148
+
149
+ protected hideLoader() {
150
+ this.hasLoaderTarget && this.loaderTarget.classList.add('hidden');
151
+ }
152
+
153
+ protected handleResize() {
154
+ this.dropdownTarget.style.width = `${
155
+ this.inputTarget.getBoundingClientRect().width
156
+ }px`;
157
+ }
158
+
159
+ protected handleBlur() {
160
+ this.dropdownOutlet.hide();
161
+ this.inputTarget.value = this.currentText;
162
+ }
163
+
164
+ protected handleKeyDown(event: KeyboardEvent) {
165
+ safeCallMethod(this, `on${event.key}KeyDown`, event);
166
+ }
167
+
168
+ protected onEnterKeyDown() {
169
+ this.abortSearch();
170
+
171
+ if (this.inputTarget.value.trim() == '') {
172
+ this.clear();
173
+ }
174
+
175
+ this.handleBlur();
176
+ this.inputTarget.blur();
177
+ }
178
+
179
+ protected onEscapeKeyDown() {
180
+ this.abortSearch();
181
+ this.handleBlur();
182
+ this.inputTarget.blur();
183
+ }
184
+ }
@@ -12,14 +12,15 @@ class FoxTail::AvatarComponent < FoxTail::BaseComponent
12
12
  has_option :text
13
13
  has_option :size, default: :base
14
14
  has_option :rounded, type: :boolean, default: false
15
+ has_option :border, default: false
15
16
 
16
- has_option :border, default: false do |value|
17
- if value.is_a?(TrueClass)
17
+ def border
18
+ if options[:border].is_a?(TrueClass)
18
19
  :default
19
- elsif !value
20
+ elsif !options[:border]
20
21
  :none
21
22
  else
22
- value.to_sym
23
+ options[:border].to_sym
23
24
  end
24
25
  end
25
26
 
@@ -64,10 +65,10 @@ class FoxTail::AvatarComponent < FoxTail::BaseComponent
64
65
  icon_classes = theme.apply :icon, self
65
66
  label = html_attributes[:alt]
66
67
  icon_name, icon_variant = if icon.is_a? Hash
67
- [icon[:name], icon[:variant]]
68
- else
69
- [icon, :solid]
70
- end
68
+ [icon[:name], icon[:variant]]
69
+ else
70
+ [icon, :solid]
71
+ end
71
72
 
72
73
  content_tag :div, html_attributes.except(:alt).merge(class: root_classes) do
73
74
  concat render(FoxTail::IconBaseComponent.new(icon_name, variant: icon_variant, class: icon_classes))
@@ -15,18 +15,12 @@ root:
15
15
  neutral: &default ring-gray-300 dark:ring-gray-500
16
16
  dark: ring-gray-800 dark:ring-gray-800
17
17
  light: ring-gray-100 dark:ring-gray-700
18
- red: &red ring-red-300 dark:ring-red-500
19
- blue: &blue ring-blue-300 dark:ring-blue-500
20
- green: &green ring-green-300 dark:ring-green-500
21
- yellow: &yellow ring-yellow-300 dark:ring-yellow-500
22
- indigo: ring-indigo-300 dark:ring-indigo-500
23
- purple: ring-purple-300 dark:ring-purple-500
24
- pink: ring-pink-300 dark:ring-pink-500
18
+ primary: ring-primary-300 dark:ring-primary-500
19
+ info: ring-info-300 dark:ring-info-500
20
+ success: ring-success-300 dark:ring-success-500
21
+ warning: ring-warning-300 dark:ring-warning-500
22
+ danger: ring-danger-300 dark:ring-danger-500
25
23
  default: *default
26
- info: *blue
27
- success: *green
28
- warning: *yellow
29
- error: *red
30
24
  dot:
31
25
  base: absolute border-2 border-white dark:border-gray-800 transform z-[1]
32
26
  position:
@@ -6,8 +6,8 @@ class FoxTail::AvatarStackComponent < FoxTail::BaseComponent
6
6
  options[:rounded] = rounded
7
7
  options[:border] = true unless options.key? :border
8
8
  options[:class] = classnames theme.apply(:content, self),
9
- theme.apply(:avatar, self),
10
- options[:class]
9
+ theme.apply(:avatar, self),
10
+ options[:class]
11
11
 
12
12
  FoxTail::AvatarComponent.new options
13
13
  }
@@ -20,8 +20,8 @@ class FoxTail::AvatarStackComponent < FoxTail::BaseComponent
20
20
  options[:rounded] = rounded
21
21
  options[:border] = true unless options.key? :border
22
22
  options[:class] = classnames theme.apply(:content, self),
23
- theme.apply(:counter, self),
24
- options[:class]
23
+ theme.apply(:counter, self),
24
+ options[:class]
25
25
 
26
26
  if url.present?
27
27
  link_to url, class: theme.apply("counter/link", self) do