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
@@ -42,23 +42,23 @@ class FoxTail::ClickableComponent < FoxTail::BaseComponent
42
42
  end
43
43
 
44
44
  def stimulus_controller_options
45
- { state: stimulus_state, active_classes: active_classes, disabled_classes: disabled_classes }
45
+ {state: stimulus_state, active_classes: active_classes, disabled_classes: disabled_classes}
46
46
  end
47
47
 
48
48
  protected
49
49
 
50
50
  def root_classes
51
51
  classnames theme.apply(:root, self),
52
- theme.apply("root/#{disabled? ? :disabled : :active}", self),
53
- block_given? && yield,
54
- html_class
52
+ theme.apply("root/#{disabled? ? :disabled : :active}", self),
53
+ block_given? && yield,
54
+ html_class
55
55
  end
56
56
 
57
57
  def active_classes
58
58
  classnames theme.apply(:root, self),
59
- theme.apply("root/active", self),
60
- block_given? && yield,
61
- html_class
59
+ theme.apply("root/active", self),
60
+ block_given? && yield,
61
+ html_class
62
62
  end
63
63
 
64
64
  def disabled_classes
@@ -87,7 +87,7 @@ class FoxTail::ClickableComponent < FoxTail::BaseComponent
87
87
  def attributes(options = {})
88
88
  {
89
89
  data: {
90
- controller: identifier,
90
+ :controller => identifier,
91
91
  value_key(:state) => options[:state] || :active,
92
92
  classes_key(:active) => options[:active_classes],
93
93
  classes_key(:disabled) => options[:disabled_classes]
@@ -26,6 +26,18 @@ export default class extends Controller {
26
26
  return !this.isLink;
27
27
  }
28
28
 
29
+ disable() {
30
+ this.stateValue = 'disabled';
31
+ }
32
+
33
+ activate() {
34
+ this.stateValue = 'active';
35
+ }
36
+
37
+ loading() {
38
+ this.stateValue = 'loading';
39
+ }
40
+
29
41
  connect() {
30
42
  super.connect();
31
43
  this.element.addEventListener('click', this.handleClick.bind(this));
@@ -1,20 +1,25 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class FoxTail::CollapsibleComponent < FoxTail::BaseComponent
4
+ include FoxTail::Concerns::Identifiable
4
5
  include FoxTail::Concerns::HasStimulusController
5
6
 
6
- attr_reader :id
7
-
8
7
  renders_one :trigger, lambda { |attributes = {}|
9
- FoxTail::CollapsibleTriggerComponent.new trigger_id, "##{id}", attributes.merge(open: open?)
8
+ FoxTail::CollapsibleTriggerComponent.new "##{id}", attributes.merge(open: open?, id: trigger_id)
10
9
  }
11
10
 
12
11
  has_option :open, default: false, type: :boolean
13
12
  has_option :trigger_id
14
13
 
15
- def initialize(id, html_attributes = {})
14
+ def initialize(id_or_attributes = {}, html_attributes = {})
15
+ if id_or_attributes.is_a? Hash
16
+ html_attributes = id_or_attributes
17
+ else
18
+ __id_argument_deprecated_warning
19
+ html_attributes[:id] = id_or_attributes
20
+ end
21
+
16
22
  super(html_attributes)
17
- @id = id
18
23
  end
19
24
 
20
25
  def trigger_id
@@ -24,10 +29,10 @@ class FoxTail::CollapsibleComponent < FoxTail::BaseComponent
24
29
  def before_render
25
30
  super
26
31
 
27
- html_attributes[:id] = id
32
+ generate_unique_id
28
33
  html_attributes[:class] = classnames theme.apply(:root, self),
29
- !open? && theme.apply("root/collapsed", self),
30
- html_class
34
+ !open? && theme.apply("root/collapsed", self),
35
+ html_class
31
36
  end
32
37
 
33
38
  def call
@@ -46,7 +51,7 @@ class FoxTail::CollapsibleComponent < FoxTail::BaseComponent
46
51
 
47
52
  class StimulusController < FoxTail::StimulusController
48
53
  def attributes(options = {})
49
- attributes = super options
54
+ attributes = super
50
55
  attributes[:data][value_key(:collapsed)] = !options[:open]
51
56
  attributes[:data][classes_key(:hidden)] = options[:hidden_classes]
52
57
  attributes
@@ -11,15 +11,15 @@ class FoxTail::CollapsibleTriggerComponent < FoxTail::TriggerBaseComponent
11
11
  super
12
12
 
13
13
  html_attributes[:class] = classnames theme.classname("root.base"),
14
- open? && theme.classname("root.expanded"),
15
- !open? && theme.classname("root.collapsed"),
16
- html_class
14
+ open? && theme.classname("root.expanded"),
15
+ !open? && theme.classname("root.collapsed"),
16
+ html_class
17
17
  end
18
18
 
19
19
  def stimulus_controller_options
20
20
  super.merge open: open?,
21
- collapsed_classes: theme.classname("root.collapsed"),
22
- expanded_classes: theme.classname("root.expanded")
21
+ collapsed_classes: theme.classname("root.collapsed"),
22
+ expanded_classes: theme.classname("root.expanded")
23
23
  end
24
24
 
25
25
  class StimulusController < FoxTail::StimulusController
@@ -35,12 +35,12 @@ class FoxTail::CollapsibleTriggerComponent < FoxTail::TriggerBaseComponent
35
35
 
36
36
  def attributes(options = {})
37
37
  trigger_type = TRIGGER_TYPES[options[:trigger_type]&.to_sym]
38
- attributes = super options
38
+ attributes = super
39
39
  attributes[:data][classes_key(:collapsed)] = options[:collapsed_classes]
40
40
  attributes[:data][classes_key(:expanded)] = options[:expanded_classes]
41
41
  attributes[:data][outlet_key(collapsible_identifier)] = options[:selector]
42
42
  attributes[:data][:action] = build_actions(trigger_type)
43
- attributes[:aria] = { expanded: options[:opened], controls: extract_controls(options[:collapsible_selector]) }
43
+ attributes[:aria] = {expanded: options[:opened], controls: extract_controls(options[:collapsible_selector])}
44
44
  attributes
45
45
  end
46
46
 
@@ -1,5 +1,6 @@
1
1
  root:
2
2
  base: group
3
3
  collapsed: collapsed
4
+ expanded: expanded
4
5
  root/collapsed:
5
6
  base: collapsed
@@ -4,7 +4,7 @@ class FoxTail::ColorThemeTriggerComponent < FoxTail::TriggerBaseComponent
4
4
  has_option :action
5
5
 
6
6
  def initialize(html_attributes = {})
7
- super html_attributes.delete(:id), nil, html_attributes
7
+ super(html_attributes.delete(:id), nil, html_attributes)
8
8
  end
9
9
 
10
10
  def stimulus_controller_options
@@ -21,7 +21,7 @@ class FoxTail::ColorThemeTriggerComponent < FoxTail::TriggerBaseComponent
21
21
  def attributes(options = {})
22
22
  controller_options = options.extract! :key, :storage, :default_theme, :domain
23
23
  controller_options.reverse_merge! FoxTail::Base.fox_tail_config.color_theme
24
- attributes = super options
24
+ attributes = super
25
25
  attributes[:data][value_key(:key)] = controller_options[:key]
26
26
  attributes[:data][value_key(:storage)] = controller_options[:storage]
27
27
  attributes[:data][value_key(:default_theme)] = controller_options[:default_theme]
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FoxTail::Concerns::Choosable
4
+ extend ActiveSupport::Concern
5
+
6
+ included do
7
+ has_option :choices
8
+ end
9
+
10
+ protected
11
+
12
+ def add_choices
13
+ return unless choices?
14
+
15
+ choices.each do |choice|
16
+ text, value, options = extract_choice_values choice
17
+
18
+ if value.is_a? Array
19
+ add_choice_group text, value
20
+ else
21
+ add_choice value, text, options
22
+ end
23
+ end
24
+ end
25
+
26
+ def add_choice(value, label, options = {})
27
+ raise NotImplementedError
28
+ end
29
+
30
+ def add_choice_group(label, choices)
31
+ raise NotImplementedError
32
+ end
33
+
34
+ def extract_choice_values(choice)
35
+ if choice.is_a? Array
36
+ choice[1] ||= choice[0]
37
+ choice[2] ||= {}
38
+ choice
39
+ else
40
+ [choice, choice, {}]
41
+ end
42
+ end
43
+ end
@@ -4,6 +4,12 @@ module FoxTail::Concerns::Formable
4
4
  include ActionView::ModelNaming
5
5
  extend ActiveSupport::Concern
6
6
 
7
+ FORM_OPTIONS = %i[
8
+ object_name method_name namespace object
9
+ skip_default_ids allow_method_names_outside_object
10
+ value_array object_index
11
+ ].freeze
12
+
7
13
  included do
8
14
  has_option :object_name
9
15
  has_option :method_name
@@ -13,6 +19,7 @@ module FoxTail::Concerns::Formable
13
19
  has_option :allow_method_names_outside_object, type: :boolean, default: false
14
20
  has_option :value_array, type: :boolean, default: false
15
21
  has_option :object_index
22
+ has_option :errors_for
16
23
  end
17
24
 
18
25
  def initialize(*)
@@ -35,7 +42,7 @@ module FoxTail::Concerns::Formable
35
42
  end
36
43
 
37
44
  def name_and_id_index
38
- if self.options.key? :object_index
45
+ if options.key? :object_index
39
46
  object_index.presence || ""
40
47
  elsif @generate_indexed_names
41
48
  @auto_index || ""
@@ -79,7 +86,7 @@ module FoxTail::Concerns::Formable
79
86
 
80
87
  def add_default_name_and_id_for_value(value, attributes: html_attributes)
81
88
  add_default_name attributes: attributes
82
- attributes[:id] = tag_id_for_value value, attributes: attributes
89
+ attributes[:id] = tag_id_for_value value, attributes: attributes unless attributes.key? :id
83
90
  end
84
91
 
85
92
  def tag_id_for_value(value, attributes = html_attributes)
@@ -116,11 +123,11 @@ module FoxTail::Concerns::Formable
116
123
  end
117
124
  end
118
125
 
119
- def field_id(method, *suffixes, namespace: self.namespace, index: self.object_index)
126
+ def field_id(method, *suffixes, namespace: self.namespace, index: object_index)
120
127
  view_context.field_id(object_name, method, *suffixes, namespace: namespace.presence, index: index.presence).presence
121
128
  end
122
129
 
123
- def field_name(method, *methods, multiple: false, index: self.object_index)
130
+ def field_name(method, *methods, multiple: false, index: object_index)
124
131
  view_context.field_name(object_name, method, *methods, index: index.presence, multiple: !!multiple).presence
125
132
  end
126
133
 
@@ -141,16 +148,23 @@ module FoxTail::Concerns::Formable
141
148
  end
142
149
 
143
150
  def translator(value: nil, scope: nil, default: "")
144
- FoxTail::Translator.new object,
145
- object_name,
146
- method_name,
147
- value: value,
148
- scope: scope,
149
- default: default
151
+ FoxTail::Translator.new object, object_name, method_name, value: value, scope: scope, default: default
152
+ end
153
+
154
+ def object_errors_for
155
+ (Array(method_name) + Array(options[:errors_for])).compact_blank.uniq
150
156
  end
151
157
 
152
- def object_errors?(method = method_name)
158
+ def object_errors?(methods = object_errors_for)
159
+ return false if methods.blank?
160
+
153
161
  object = convert_to_model self.object
154
- object.present? && method.present? && object.errors[method.to_sym].present?
162
+ return false if object.blank?
163
+
164
+ methods.any? { |m| object.errors[m].present? }
165
+ end
166
+
167
+ def objectify_options(options)
168
+ options.merge self.options.slice(*FORM_OPTIONS)
155
169
  end
156
170
  end
@@ -22,29 +22,52 @@ module FoxTail::Concerns::HasOptions
22
22
 
23
23
  class_methods do
24
24
  def default_options
25
- registered_options.reject { |_,v| v[:default].blank? }.transform_values { |v| v[:default] }
25
+ registered_options.reject { |_, v| v[:default].nil? }.transform_values { |v| v[:default] }
26
26
  end
27
27
 
28
28
  def has_option(name, as: name, default: nil, type: nil)
29
29
  raise FoxTail::ReservedOption.new(self, as) if RESERVED_OPTIONS.include?(as.to_s)
30
30
 
31
- self.registered_options = registered_options.merge name => { name: name, as: as, default: default, type: type }
31
+ register_option name, {name: name, as: as, default: default, type: type}
32
+ end
32
33
 
33
- define_method as do
34
- options[name]
35
- end
34
+ def include_options_from(klass, only: nil, except: nil)
35
+ return unless klass.respond_to? :registered_options
36
36
 
37
- define_method :"#{as}?" do
38
- if type == :boolean
39
- !!send(as)
40
- else
41
- send(as).present?
37
+ only = Array(only).map(&:to_sym) if only.present?
38
+ except = Array(except).map(&:to_sym) if except.present?
39
+
40
+ klass.registered_options.each do |k, v|
41
+ if !registered_options.key?(k) && (only.nil? || only.include?(k)) && (except.nil? || except.exclude?(k))
42
+ register_option k, v
42
43
  end
43
44
  end
45
+
46
+ define_method "#{klass.name.underscore.gsub("_component", "").gsub("/", "_")}_options" do
47
+ options.slice(*klass.registered_options.keys)
48
+ end
44
49
  end
45
50
 
46
51
  def extract_options(options = {})
47
52
  options.slice(*registered_options.keys)
48
53
  end
54
+
55
+ private
56
+
57
+ def register_option(name, option)
58
+ self.registered_options = registered_options.merge name => option
59
+
60
+ define_method option[:as] do
61
+ options[name]
62
+ end
63
+
64
+ define_method :"#{option[:as]}?" do
65
+ if option[:type] == :boolean
66
+ !!send(option[:as])
67
+ else
68
+ send(option[:as]).present?
69
+ end
70
+ end
71
+ end
49
72
  end
50
73
  end
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module FoxTail::Concerns::Identifiable
4
+ extend ActiveSupport::Concern
5
+
6
+ class_methods do
7
+ def generate_unique_id
8
+ "#{name.underscore.gsub("_component", "").gsub("/", "_")}_#{SecureRandom.base58(6)}"
9
+ end
10
+ end
11
+
12
+ def id
13
+ html_attributes[:id] ||= self.class.generate_unique_id
14
+ end
15
+ alias_method :generate_unique_id, :id
16
+
17
+ private
18
+
19
+ def __id_argument_deprecated_warning(slot: false)
20
+ FoxTail.deprecator.allow ["identifiable"] do
21
+ callstack = Array(caller_locations[slot ? 7 : 4])
22
+ FoxTail.deprecator.warn "first argument `id` is deprecated, use `id:` instead", callstack
23
+ end
24
+ end
25
+ end
@@ -1,10 +1,8 @@
1
1
  <%= content_tag tag_name, html_attributes do %>
2
2
  <%= header if header? %>
3
- <% if body? %>
3
+ <% bodies.each do |body| %>
4
4
  <%= body %>
5
- <%= content if content? %>
6
- <% elsif content? %>
7
- <%= content_tag :div, content, class: theme.apply(:body, self) %>
8
5
  <% end %>
6
+ <%= formatted_content %>
9
7
  <%= footer if footer? %>
10
8
  <% end %>
@@ -6,7 +6,7 @@ class FoxTail::DialogComponent < FoxTail::SurfaceComponent
6
6
  content_tag :div, options, &block
7
7
  }
8
8
 
9
- renders_one :body, lambda { |options = {}, &block|
9
+ renders_many :bodies, lambda { |options = {}, &block|
10
10
  options[:class] = classnames theme.apply(:body, self), options[:class]
11
11
  content_tag :div, options, &block
12
12
  }
@@ -16,9 +16,11 @@ class FoxTail::DialogComponent < FoxTail::SurfaceComponent
16
16
  content_tag :div, options, &block
17
17
  }
18
18
 
19
+ has_option :wrap_content, type: :boolean, default: true
20
+
19
21
  def initialize(html_attributes = {})
20
22
  html_attributes[:border] = false unless html_attributes.key? :border
21
- super(html_attributes)
23
+ super
22
24
  end
23
25
 
24
26
  def hover?
@@ -28,4 +30,11 @@ class FoxTail::DialogComponent < FoxTail::SurfaceComponent
28
30
  def tag_name
29
31
  :div
30
32
  end
33
+
34
+ def formatted_content
35
+ return nil unless content? && content.present?
36
+ return content unless wrap_content?
37
+
38
+ content_tag :div, content, class: theme.apply(:body, self)
39
+ end
31
40
  end
@@ -35,7 +35,7 @@ class FoxTail::DismissibleComponent < FoxTail::BaseComponent
35
35
 
36
36
  class StimulusController < FoxTail::StimulusController
37
37
  def attributes(options = {})
38
- attributes = super options
38
+ attributes = super
39
39
  attributes[:data][value_key(:remove)] = options[:remove]
40
40
  attributes[:data][value_key(:auto_close)] = options[:auto_close]
41
41
  attributes[:data][value_key(:delay)] = options[:delay]
@@ -7,7 +7,7 @@ class FoxTail::DismissibleTriggerComponent < FoxTail::TriggerBaseComponent
7
7
 
8
8
  class StimulusController < FoxTail::StimulusController
9
9
  def attributes(options = {})
10
- attributes = super options
10
+ attributes = super
11
11
  attributes[:data][outlet_key(:dismissible)] = options[:selector]
12
12
  attributes[:data][:action] = action(:dismiss) if options[:trigger_type] == :click
13
13
  attributes
@@ -18,8 +18,8 @@ class FoxTail::DotIndicatorComponent < FoxTail::BaseComponent
18
18
 
19
19
  def render_animated_dot
20
20
  container_classes = classnames theme.apply(:root, self),
21
- theme.apply(:container, self),
22
- html_class
21
+ theme.apply(:container, self),
22
+ html_class
23
23
 
24
24
  dot_classes = classnames theme.apply(:root, self), theme.apply(:dot, self)
25
25
  animated_classes = classnames dot_classes, theme.apply("dot/animation", self)
@@ -12,17 +12,11 @@ dot:
12
12
  neutral: &default bg-gray-400
13
13
  dark: bg-gray-700
14
14
  light: bg-gray-200
15
- red: bg-red-400
16
- blue: bg-blue-400
17
- green: bg-green-400
18
- yellow: bg-yellow-400
19
- indigo: bg-indigo-400
20
- purple: bg-purple-400
21
- pink: bg-pink-400
22
- info: bg-blue-700
23
- success: bg-green-700
24
- error: bg-red-700
25
- warning: bg-yellow-700
15
+ primary: bg-primary-400
16
+ info: bg-info-700
17
+ success: bg-success-700
18
+ danger: bg-danger-700
19
+ warning: bg-warning-700
26
20
  default: *default
27
21
  dot/animation:
28
22
  base: absolute animate-ping opacity-75 w-full h-full
@@ -19,7 +19,7 @@ class FoxTail::DrawerComponent < FoxTail::BaseComponent
19
19
 
20
20
  if use_stimulus?
21
21
  options[:data][:action] = stimulus_merger.merge_actions options[:data][:action],
22
- stimulus_controller.action(:hide)
22
+ stimulus_controller.action(:hide)
23
23
  end
24
24
 
25
25
  content_tag :button, options do
@@ -48,8 +48,8 @@ class FoxTail::DrawerComponent < FoxTail::BaseComponent
48
48
  super
49
49
 
50
50
  html_attributes[:class] = classnames theme.apply(:root, self),
51
- open? ? visible_classes : hidden_classes,
52
- html_class
51
+ open? ? visible_classes : hidden_classes,
52
+ html_class
53
53
 
54
54
  html_attributes[:tab_index] ||= -1
55
55
  html_attributes[:aria] ||= {}
@@ -104,7 +104,7 @@ class FoxTail::DrawerComponent < FoxTail::BaseComponent
104
104
 
105
105
  class StimulusController < FoxTail::StimulusController
106
106
  def attributes(options = {})
107
- attributes = super options
107
+ attributes = super
108
108
  attributes[:data][value_key(:backdrop)] = options[:backdrop]
109
109
  attributes[:data][value_key(:body_scrolling)] = options[:body_scrolling]
110
110
  attributes[:data][value_key(:open)] = options[:open]
@@ -7,13 +7,13 @@ class FoxTail::DrawerTriggerComponent < FoxTail::TriggerBaseComponent
7
7
  super
8
8
 
9
9
  html_attributes[:class] = classnames theme.apply(:root, self),
10
- theme.apply("root/#{open? ? :open : :close}", self),
11
- html_class
10
+ theme.apply("root/#{open? ? :open : :close}", self),
11
+ html_class
12
12
  end
13
13
 
14
14
  def stimulus_controller_options
15
15
  super.merge open_classes: theme.apply("root/open", self),
16
- closed_classes: theme.apply("root/closed", self)
16
+ closed_classes: theme.apply("root/closed", self)
17
17
  end
18
18
 
19
19
  class StimulusController < FoxTail::StimulusController
@@ -22,7 +22,7 @@ class FoxTail::DrawerTriggerComponent < FoxTail::TriggerBaseComponent
22
22
  end
23
23
 
24
24
  def attributes(options = {})
25
- attributes = super options
25
+ attributes = super
26
26
  attributes[:data][outlet_key(drawer_identifier)] = options[:selector]
27
27
  attributes[:data][classes_key(:open)] = options[:open_classes]
28
28
  attributes[:data][classes_key(:closed)] = options[:closed_classes]
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FoxTail::Dropdown::CheckboxItemComponent < FoxTail::Dropdown::InputItemComponent
4
+ include_options_from FoxTail::CheckboxComponent
5
+
6
+ def id
7
+ options[:id] ||= multiple? ? tag_id_for_value(checked_value) : tag_id
8
+ end
9
+
10
+ def input_classes
11
+ classnames super, theme.apply(:checkbox, self)
12
+ end
13
+
14
+ def input_content
15
+ render FoxTail::CheckboxComponent.new(options.merge(class: input_classes))
16
+ end
17
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ class FoxTail::Dropdown::InputItemComponent < FoxTail::BaseComponent
4
+ include FoxTail::Concerns::Formable
5
+
6
+ has_option :id
7
+ has_option :name
8
+ has_option :value
9
+
10
+ def id
11
+ options[:id] ||= tag_id
12
+ end
13
+
14
+ def name
15
+ options[:name] ||= tag_name
16
+ end
17
+
18
+ def value
19
+ options[:value] ||= value_from_object
20
+ end
21
+
22
+ def before_render
23
+ super
24
+
25
+ html_attributes[:id] = "#{id}_menu_item" if id.present?
26
+ html_attributes[:class] = classnames theme.apply(:root, self), html_class
27
+ end
28
+
29
+ def call
30
+ content_tag :div, html_attributes do
31
+ concat content_tag(:div, input_content, class: input_container_classes)
32
+ concat content_tag(:div, label_content, class: label_container_classes)
33
+ end
34
+ end
35
+
36
+ def input_container_classes
37
+ theme.apply :input_container, self
38
+ end
39
+
40
+ def label_container_classes
41
+ theme.apply :label_container, self
42
+ end
43
+
44
+ def input_classes
45
+ theme.apply :input, self
46
+ end
47
+
48
+ def label_classes
49
+ theme.apply :label, self
50
+ end
51
+
52
+ def input_content
53
+ raise NotImplementedError
54
+ end
55
+
56
+ def label_content
57
+ label_tag id, content, class: label_classes
58
+ end
59
+ end