motor-admin 0.1.44 → 0.1.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1319) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE +1 -1
  3. data/README.md +129 -9
  4. data/Rakefile +2 -11
  5. data/app/controllers/concerns/motor/current_user_method.rb +15 -0
  6. data/app/controllers/motor/api_base_controller.rb +14 -14
  7. data/app/controllers/motor/application_controller.rb +1 -0
  8. data/app/controllers/motor/assets_controller.rb +5 -3
  9. data/app/controllers/motor/data_controller.rb +0 -6
  10. data/app/controllers/motor/icons_controller.rb +20 -0
  11. data/app/controllers/motor/ui_controller.rb +12 -4
  12. data/app/mailers/motor/alerts_mailer.rb +5 -5
  13. data/app/models/motor/alert.rb +1 -0
  14. data/app/models/motor/dashboard.rb +1 -0
  15. data/app/models/motor/form.rb +1 -0
  16. data/app/models/motor/query.rb +1 -0
  17. data/app/models/motor/resource.rb +1 -0
  18. data/app/models/motor/tag.rb +1 -1
  19. data/app/views/motor/alerts_mailer/alert_email.html.erb +1 -1
  20. data/app/views/motor/ui/show.html.erb +1 -1
  21. data/config/routes.rb +9 -9
  22. data/lib/generators/motor/templates/install.rb +74 -65
  23. data/lib/motor.rb +0 -1
  24. data/lib/motor/active_record_utils.rb +13 -1
  25. data/lib/motor/active_record_utils/active_storage_links_extension.rb +1 -1
  26. data/lib/motor/alerts/persistance.rb +4 -4
  27. data/lib/motor/alerts/scheduled_alerts_cache.rb +2 -1
  28. data/lib/motor/alerts/scheduler.rb +1 -1
  29. data/lib/motor/api_query/apply_scope.rb +1 -1
  30. data/lib/motor/api_query/build_json.rb +6 -6
  31. data/lib/motor/api_query/paginate.rb +1 -0
  32. data/lib/motor/api_query/search.rb +1 -7
  33. data/lib/motor/assets.rb +6 -0
  34. data/lib/motor/build_schema.rb +1 -0
  35. data/lib/motor/build_schema/active_storage_attachment_schema.rb +30 -1
  36. data/lib/motor/build_schema/find_display_column.rb +1 -0
  37. data/lib/motor/build_schema/find_icon.rb +131 -0
  38. data/lib/motor/build_schema/load_from_rails.rb +14 -6
  39. data/lib/motor/build_schema/persist_resource_configs.rb +2 -2
  40. data/lib/motor/build_schema/utils.rb +13 -0
  41. data/lib/motor/configs/build_ui_app_tag.rb +8 -7
  42. data/lib/motor/configs/load_from_cache.rb +19 -14
  43. data/lib/motor/configs/sync_from_hash.rb +1 -1
  44. data/lib/motor/configs/sync_with_remote.rb +1 -1
  45. data/lib/motor/configs/write_to_file.rb +1 -0
  46. data/lib/motor/dashboards/persistance.rb +4 -4
  47. data/lib/motor/forms/persistance.rb +4 -4
  48. data/lib/motor/queries/persistance.rb +4 -4
  49. data/lib/motor/queries/run_query.rb +3 -3
  50. data/lib/motor/tags.rb +2 -2
  51. data/lib/motor/tasks/motor.rake +4 -0
  52. data/lib/motor/version.rb +1 -1
  53. data/ui/dist/icons/2fa.svg.gz +0 -0
  54. data/ui/dist/icons/3d-cube-sphere.svg.gz +0 -0
  55. data/ui/dist/icons/a-b.svg.gz +0 -0
  56. data/ui/dist/icons/access-point-off.svg.gz +0 -0
  57. data/ui/dist/icons/access-point.svg.gz +0 -0
  58. data/ui/dist/icons/accessible.svg.gz +0 -0
  59. data/ui/dist/icons/activity.svg.gz +0 -0
  60. data/ui/dist/icons/ad.svg.gz +0 -0
  61. data/ui/dist/icons/adjustments-alt.svg.gz +0 -0
  62. data/ui/dist/icons/adjustments-horizontal.svg.gz +0 -0
  63. data/ui/dist/icons/adjustments.svg.gz +0 -0
  64. data/ui/dist/icons/aerial-lift.svg.gz +0 -0
  65. data/ui/dist/icons/affiliate.svg.gz +0 -0
  66. data/ui/dist/icons/alarm.svg.gz +0 -0
  67. data/ui/dist/icons/alert-circle.svg.gz +0 -0
  68. data/ui/dist/icons/alert-octagon.svg.gz +0 -0
  69. data/ui/dist/icons/alert-triangle.svg.gz +0 -0
  70. data/ui/dist/icons/alien.svg.gz +0 -0
  71. data/ui/dist/icons/align-center.svg.gz +0 -0
  72. data/ui/dist/icons/align-justified.svg.gz +0 -0
  73. data/ui/dist/icons/align-left.svg.gz +0 -0
  74. data/ui/dist/icons/align-right.svg.gz +0 -0
  75. data/ui/dist/icons/ambulance.svg.gz +0 -0
  76. data/ui/dist/icons/anchor.svg.gz +0 -0
  77. data/ui/dist/icons/antenna-bars-1.svg.gz +0 -0
  78. data/ui/dist/icons/antenna-bars-2.svg.gz +0 -0
  79. data/ui/dist/icons/antenna-bars-3.svg.gz +0 -0
  80. data/ui/dist/icons/antenna-bars-4.svg.gz +0 -0
  81. data/ui/dist/icons/antenna-bars-5.svg.gz +0 -0
  82. data/ui/dist/icons/aperture.svg.gz +0 -0
  83. data/ui/dist/icons/apps.svg.gz +0 -0
  84. data/ui/dist/icons/archive.svg.gz +0 -0
  85. data/ui/dist/icons/arrow-back-up.svg.gz +0 -0
  86. data/ui/dist/icons/arrow-back.svg.gz +0 -0
  87. data/ui/dist/icons/arrow-bar-down.svg.gz +0 -0
  88. data/ui/dist/icons/arrow-bar-left.svg.gz +0 -0
  89. data/ui/dist/icons/arrow-bar-right.svg.gz +0 -0
  90. data/ui/dist/icons/arrow-bar-to-down.svg.gz +0 -0
  91. data/ui/dist/icons/arrow-bar-to-left.svg.gz +0 -0
  92. data/ui/dist/icons/arrow-bar-to-right.svg.gz +0 -0
  93. data/ui/dist/icons/arrow-bar-to-up.svg.gz +0 -0
  94. data/ui/dist/icons/arrow-bar-up.svg.gz +0 -0
  95. data/ui/dist/icons/arrow-big-down.svg.gz +0 -0
  96. data/ui/dist/icons/arrow-big-left.svg.gz +0 -0
  97. data/ui/dist/icons/arrow-big-right.svg.gz +0 -0
  98. data/ui/dist/icons/arrow-big-top.svg.gz +0 -0
  99. data/ui/dist/icons/arrow-bottom-bar.svg.gz +0 -0
  100. data/ui/dist/icons/arrow-bottom-circle.svg.gz +0 -0
  101. data/ui/dist/icons/arrow-bottom-square.svg.gz +0 -0
  102. data/ui/dist/icons/arrow-bottom-tail.svg.gz +0 -0
  103. data/ui/dist/icons/arrow-down-circle.svg.gz +0 -0
  104. data/ui/dist/icons/arrow-down-left-circle.svg.gz +0 -0
  105. data/ui/dist/icons/arrow-down-left.svg.gz +0 -0
  106. data/ui/dist/icons/arrow-down-right-circle.svg.gz +0 -0
  107. data/ui/dist/icons/arrow-down-right.svg.gz +0 -0
  108. data/ui/dist/icons/arrow-down.svg.gz +0 -0
  109. data/ui/dist/icons/arrow-forward-up.svg.gz +0 -0
  110. data/ui/dist/icons/arrow-forward.svg.gz +0 -0
  111. data/ui/dist/icons/arrow-left-bar.svg.gz +0 -0
  112. data/ui/dist/icons/arrow-left-circle.svg.gz +0 -0
  113. data/ui/dist/icons/arrow-left-square.svg.gz +0 -0
  114. data/ui/dist/icons/arrow-left-tail.svg.gz +0 -0
  115. data/ui/dist/icons/arrow-left.svg.gz +0 -0
  116. data/ui/dist/icons/arrow-loop-left.svg.gz +0 -0
  117. data/ui/dist/icons/arrow-loop-right.svg.gz +0 -0
  118. data/ui/dist/icons/arrow-narrow-down.svg.gz +0 -0
  119. data/ui/dist/icons/arrow-narrow-left.svg.gz +0 -0
  120. data/ui/dist/icons/arrow-narrow-right.svg.gz +0 -0
  121. data/ui/dist/icons/arrow-narrow-up.svg.gz +0 -0
  122. data/ui/dist/icons/arrow-ramp-left.svg.gz +0 -0
  123. data/ui/dist/icons/arrow-ramp-right.svg.gz +0 -0
  124. data/ui/dist/icons/arrow-right-bar.svg.gz +0 -0
  125. data/ui/dist/icons/arrow-right-circle.svg.gz +0 -0
  126. data/ui/dist/icons/arrow-right-square.svg.gz +0 -0
  127. data/ui/dist/icons/arrow-right-tail.svg.gz +0 -0
  128. data/ui/dist/icons/arrow-right.svg.gz +0 -0
  129. data/ui/dist/icons/arrow-top-bar.svg.gz +0 -0
  130. data/ui/dist/icons/arrow-top-circle.svg.gz +0 -0
  131. data/ui/dist/icons/arrow-top-square.svg.gz +0 -0
  132. data/ui/dist/icons/arrow-top-tail.svg.gz +0 -0
  133. data/ui/dist/icons/arrow-up-circle.svg.gz +0 -0
  134. data/ui/dist/icons/arrow-up-left-circle.svg.gz +0 -0
  135. data/ui/dist/icons/arrow-up-left.svg.gz +0 -0
  136. data/ui/dist/icons/arrow-up-right-circle.svg.gz +0 -0
  137. data/ui/dist/icons/arrow-up-right.svg.gz +0 -0
  138. data/ui/dist/icons/arrow-up.svg.gz +0 -0
  139. data/ui/dist/icons/arrow-wave-left-down.svg.gz +0 -0
  140. data/ui/dist/icons/arrow-wave-left-up.svg.gz +0 -0
  141. data/ui/dist/icons/arrow-wave-right-down.svg.gz +0 -0
  142. data/ui/dist/icons/arrow-wave-right-up.svg.gz +0 -0
  143. data/ui/dist/icons/arrows-diagonal-2.svg.gz +0 -0
  144. data/ui/dist/icons/arrows-diagonal.svg.gz +0 -0
  145. data/ui/dist/icons/arrows-double-ne-sw.svg.gz +0 -0
  146. data/ui/dist/icons/arrows-double-nw-se.svg.gz +0 -0
  147. data/ui/dist/icons/arrows-double-se-nw.svg.gz +0 -0
  148. data/ui/dist/icons/arrows-double-sw-ne.svg.gz +0 -0
  149. data/ui/dist/icons/arrows-down-up.svg.gz +0 -0
  150. data/ui/dist/icons/arrows-down.svg.gz +0 -0
  151. data/ui/dist/icons/arrows-horizontal.svg.gz +0 -0
  152. data/ui/dist/icons/arrows-join-2.svg.gz +0 -0
  153. data/ui/dist/icons/arrows-join.svg.gz +0 -0
  154. data/ui/dist/icons/arrows-left-down.svg.gz +0 -0
  155. data/ui/dist/icons/arrows-left-right.svg.gz +0 -0
  156. data/ui/dist/icons/arrows-left.svg.gz +0 -0
  157. data/ui/dist/icons/arrows-maximize.svg.gz +0 -0
  158. data/ui/dist/icons/arrows-minimize.svg.gz +0 -0
  159. data/ui/dist/icons/arrows-right-down.svg.gz +0 -0
  160. data/ui/dist/icons/arrows-right-left.svg.gz +0 -0
  161. data/ui/dist/icons/arrows-right.svg.gz +0 -0
  162. data/ui/dist/icons/arrows-sort.svg.gz +0 -0
  163. data/ui/dist/icons/arrows-split-2.svg.gz +0 -0
  164. data/ui/dist/icons/arrows-split.svg.gz +0 -0
  165. data/ui/dist/icons/arrows-up-down.svg.gz +0 -0
  166. data/ui/dist/icons/arrows-up-left.svg.gz +0 -0
  167. data/ui/dist/icons/arrows-up-right.svg.gz +0 -0
  168. data/ui/dist/icons/arrows-up.svg.gz +0 -0
  169. data/ui/dist/icons/arrows-vertical.svg.gz +0 -0
  170. data/ui/dist/icons/artboard.svg.gz +0 -0
  171. data/ui/dist/icons/aspect-ratio.svg.gz +0 -0
  172. data/ui/dist/icons/at.svg.gz +0 -0
  173. data/ui/dist/icons/atom-2.svg.gz +0 -0
  174. data/ui/dist/icons/atom.svg.gz +0 -0
  175. data/ui/dist/icons/award.svg.gz +0 -0
  176. data/ui/dist/icons/backhoe.svg.gz +0 -0
  177. data/ui/dist/icons/backspace.svg.gz +0 -0
  178. data/ui/dist/icons/ball-american-football.svg.gz +0 -0
  179. data/ui/dist/icons/ball-basketball.svg.gz +0 -0
  180. data/ui/dist/icons/ball-bowling.svg.gz +0 -0
  181. data/ui/dist/icons/ball-football-off.svg.gz +0 -0
  182. data/ui/dist/icons/ball-football.svg.gz +0 -0
  183. data/ui/dist/icons/ball-tennis.svg.gz +0 -0
  184. data/ui/dist/icons/ball-volleyball.svg.gz +0 -0
  185. data/ui/dist/icons/ban.svg.gz +0 -0
  186. data/ui/dist/icons/bandage.svg.gz +0 -0
  187. data/ui/dist/icons/barcode.svg.gz +0 -0
  188. data/ui/dist/icons/basket.svg.gz +0 -0
  189. data/ui/dist/icons/battery-1.svg.gz +0 -0
  190. data/ui/dist/icons/battery-2.svg.gz +0 -0
  191. data/ui/dist/icons/battery-3.svg.gz +0 -0
  192. data/ui/dist/icons/battery-4.svg.gz +0 -0
  193. data/ui/dist/icons/battery-automotive.svg.gz +0 -0
  194. data/ui/dist/icons/battery-charging.svg.gz +0 -0
  195. data/ui/dist/icons/battery-off.svg.gz +0 -0
  196. data/ui/dist/icons/battery.svg.gz +0 -0
  197. data/ui/dist/icons/bed.svg.gz +0 -0
  198. data/ui/dist/icons/bell-minus.svg.gz +0 -0
  199. data/ui/dist/icons/bell-off.svg.gz +0 -0
  200. data/ui/dist/icons/bell-plus.svg.gz +0 -0
  201. data/ui/dist/icons/bell-ringing-2.svg.gz +0 -0
  202. data/ui/dist/icons/bell-ringing.svg.gz +0 -0
  203. data/ui/dist/icons/bell-x.svg.gz +0 -0
  204. data/ui/dist/icons/bell.svg.gz +0 -0
  205. data/ui/dist/icons/bike.svg.gz +0 -0
  206. data/ui/dist/icons/binary.svg.gz +0 -0
  207. data/ui/dist/icons/biohazard.svg.gz +0 -0
  208. data/ui/dist/icons/blockquote.svg.gz +0 -0
  209. data/ui/dist/icons/bluetooth-connected.svg.gz +0 -0
  210. data/ui/dist/icons/bluetooth-off.svg.gz +0 -0
  211. data/ui/dist/icons/bluetooth.svg.gz +0 -0
  212. data/ui/dist/icons/bold.svg.gz +0 -0
  213. data/ui/dist/icons/bolt-off.svg.gz +0 -0
  214. data/ui/dist/icons/bolt.svg.gz +0 -0
  215. data/ui/dist/icons/bone.svg.gz +0 -0
  216. data/ui/dist/icons/book.svg.gz +0 -0
  217. data/ui/dist/icons/bookmark-off.svg.gz +0 -0
  218. data/ui/dist/icons/bookmark.svg.gz +0 -0
  219. data/ui/dist/icons/bookmarks.svg.gz +0 -0
  220. data/ui/dist/icons/border-all.svg.gz +0 -0
  221. data/ui/dist/icons/border-bottom.svg.gz +0 -0
  222. data/ui/dist/icons/border-horizontal.svg.gz +0 -0
  223. data/ui/dist/icons/border-inner.svg.gz +0 -0
  224. data/ui/dist/icons/border-left.svg.gz +0 -0
  225. data/ui/dist/icons/border-none.svg.gz +0 -0
  226. data/ui/dist/icons/border-outer.svg.gz +0 -0
  227. data/ui/dist/icons/border-radius.svg.gz +0 -0
  228. data/ui/dist/icons/border-right.svg.gz +0 -0
  229. data/ui/dist/icons/border-style.svg.gz +0 -0
  230. data/ui/dist/icons/border-top.svg.gz +0 -0
  231. data/ui/dist/icons/border-vertical.svg.gz +0 -0
  232. data/ui/dist/icons/box-margin.svg.gz +0 -0
  233. data/ui/dist/icons/box-model.svg.gz +0 -0
  234. data/ui/dist/icons/box-multiple-0.svg.gz +0 -0
  235. data/ui/dist/icons/box-multiple-1.svg.gz +0 -0
  236. data/ui/dist/icons/box-multiple-2.svg.gz +0 -0
  237. data/ui/dist/icons/box-multiple-3.svg.gz +0 -0
  238. data/ui/dist/icons/box-multiple-4.svg.gz +0 -0
  239. data/ui/dist/icons/box-multiple-5.svg.gz +0 -0
  240. data/ui/dist/icons/box-multiple-6.svg.gz +0 -0
  241. data/ui/dist/icons/box-multiple-7.svg.gz +0 -0
  242. data/ui/dist/icons/box-multiple-8.svg.gz +0 -0
  243. data/ui/dist/icons/box-multiple-9.svg.gz +0 -0
  244. data/ui/dist/icons/box-multiple.svg.gz +0 -0
  245. data/ui/dist/icons/box-padding.svg.gz +0 -0
  246. data/ui/dist/icons/box.svg.gz +0 -0
  247. data/ui/dist/icons/braces.svg.gz +0 -0
  248. data/ui/dist/icons/brackets.svg.gz +0 -0
  249. data/ui/dist/icons/brand-airbnb.svg.gz +0 -0
  250. data/ui/dist/icons/brand-android.svg.gz +0 -0
  251. data/ui/dist/icons/brand-apple-arcade.svg.gz +0 -0
  252. data/ui/dist/icons/brand-apple.svg.gz +0 -0
  253. data/ui/dist/icons/brand-appstore.svg.gz +0 -0
  254. data/ui/dist/icons/brand-asana.svg.gz +0 -0
  255. data/ui/dist/icons/brand-behance.svg.gz +0 -0
  256. data/ui/dist/icons/brand-bing.svg.gz +0 -0
  257. data/ui/dist/icons/brand-bitbucket.svg.gz +0 -0
  258. data/ui/dist/icons/brand-booking.svg.gz +0 -0
  259. data/ui/dist/icons/brand-chrome.svg.gz +0 -0
  260. data/ui/dist/icons/brand-codepen.svg.gz +0 -0
  261. data/ui/dist/icons/brand-codesandbox.svg.gz +0 -0
  262. data/ui/dist/icons/brand-css3.svg.gz +0 -0
  263. data/ui/dist/icons/brand-deviantart.svg.gz +0 -0
  264. data/ui/dist/icons/brand-discord.svg.gz +0 -0
  265. data/ui/dist/icons/brand-disqus.svg.gz +0 -0
  266. data/ui/dist/icons/brand-docker.svg.gz +0 -0
  267. data/ui/dist/icons/brand-dribbble.svg.gz +0 -0
  268. data/ui/dist/icons/brand-edge.svg.gz +0 -0
  269. data/ui/dist/icons/brand-facebook.svg.gz +0 -0
  270. data/ui/dist/icons/brand-figma.svg.gz +0 -0
  271. data/ui/dist/icons/brand-firefox.svg.gz +0 -0
  272. data/ui/dist/icons/brand-flickr.svg.gz +0 -0
  273. data/ui/dist/icons/brand-foursquare.svg.gz +0 -0
  274. data/ui/dist/icons/brand-framer.svg.gz +0 -0
  275. data/ui/dist/icons/brand-github.svg.gz +0 -0
  276. data/ui/dist/icons/brand-gitlab.svg.gz +0 -0
  277. data/ui/dist/icons/brand-google-analytics.svg.gz +0 -0
  278. data/ui/dist/icons/brand-google-drive.svg.gz +0 -0
  279. data/ui/dist/icons/brand-google-play.svg.gz +0 -0
  280. data/ui/dist/icons/brand-google.svg.gz +0 -0
  281. data/ui/dist/icons/brand-gravatar.svg.gz +0 -0
  282. data/ui/dist/icons/brand-hipchat.svg.gz +0 -0
  283. data/ui/dist/icons/brand-html5.svg.gz +0 -0
  284. data/ui/dist/icons/brand-instagram.svg.gz +0 -0
  285. data/ui/dist/icons/brand-kickstarter.svg.gz +0 -0
  286. data/ui/dist/icons/brand-kotlin.svg.gz +0 -0
  287. data/ui/dist/icons/brand-linkedin.svg.gz +0 -0
  288. data/ui/dist/icons/brand-medium.svg.gz +0 -0
  289. data/ui/dist/icons/brand-messenger.svg.gz +0 -0
  290. data/ui/dist/icons/brand-netflix.svg.gz +0 -0
  291. data/ui/dist/icons/brand-open-source.svg.gz +0 -0
  292. data/ui/dist/icons/brand-opera.svg.gz +0 -0
  293. data/ui/dist/icons/brand-pagekit.svg.gz +0 -0
  294. data/ui/dist/icons/brand-patreon.svg.gz +0 -0
  295. data/ui/dist/icons/brand-paypal.svg.gz +0 -0
  296. data/ui/dist/icons/brand-pinterest.svg.gz +0 -0
  297. data/ui/dist/icons/brand-pocket.svg.gz +0 -0
  298. data/ui/dist/icons/brand-producthunt.svg.gz +0 -0
  299. data/ui/dist/icons/brand-python.svg.gz +0 -0
  300. data/ui/dist/icons/brand-reddit.svg.gz +0 -0
  301. data/ui/dist/icons/brand-safari.svg.gz +0 -0
  302. data/ui/dist/icons/brand-sass.svg.gz +0 -0
  303. data/ui/dist/icons/brand-sentry.svg.gz +0 -0
  304. data/ui/dist/icons/brand-shazam.svg.gz +0 -0
  305. data/ui/dist/icons/brand-sketch.svg.gz +0 -0
  306. data/ui/dist/icons/brand-skype.svg.gz +0 -0
  307. data/ui/dist/icons/brand-slack.svg.gz +0 -0
  308. data/ui/dist/icons/brand-snapchat.svg.gz +0 -0
  309. data/ui/dist/icons/brand-soundcloud.svg.gz +0 -0
  310. data/ui/dist/icons/brand-spotify.svg.gz +0 -0
  311. data/ui/dist/icons/brand-steam.svg.gz +0 -0
  312. data/ui/dist/icons/brand-stripe.svg.gz +0 -0
  313. data/ui/dist/icons/brand-tabler.svg.gz +0 -0
  314. data/ui/dist/icons/brand-tailwind.svg.gz +0 -0
  315. data/ui/dist/icons/brand-telegram.svg.gz +0 -0
  316. data/ui/dist/icons/brand-tidal.svg.gz +0 -0
  317. data/ui/dist/icons/brand-tiktok.svg.gz +0 -0
  318. data/ui/dist/icons/brand-tinder.svg.gz +0 -0
  319. data/ui/dist/icons/brand-tumblr.svg.gz +0 -0
  320. data/ui/dist/icons/brand-twitch.svg.gz +0 -0
  321. data/ui/dist/icons/brand-twitter.svg.gz +0 -0
  322. data/ui/dist/icons/brand-unsplash.svg.gz +0 -0
  323. data/ui/dist/icons/brand-vimeo.svg.gz +0 -0
  324. data/ui/dist/icons/brand-vk.svg.gz +0 -0
  325. data/ui/dist/icons/brand-whatsapp.svg.gz +0 -0
  326. data/ui/dist/icons/brand-windows.svg.gz +0 -0
  327. data/ui/dist/icons/brand-yahoo.svg.gz +0 -0
  328. data/ui/dist/icons/brand-ycombinator.svg.gz +0 -0
  329. data/ui/dist/icons/brand-youtube.svg.gz +0 -0
  330. data/ui/dist/icons/briefcase.svg.gz +0 -0
  331. data/ui/dist/icons/brightness-2.svg.gz +0 -0
  332. data/ui/dist/icons/brightness-down.svg.gz +0 -0
  333. data/ui/dist/icons/brightness-half.svg.gz +0 -0
  334. data/ui/dist/icons/brightness-up.svg.gz +0 -0
  335. data/ui/dist/icons/brightness.svg.gz +0 -0
  336. data/ui/dist/icons/browser.svg.gz +0 -0
  337. data/ui/dist/icons/brush.svg.gz +0 -0
  338. data/ui/dist/icons/bucket.svg.gz +0 -0
  339. data/ui/dist/icons/bug.svg.gz +0 -0
  340. data/ui/dist/icons/building-arch.svg.gz +0 -0
  341. data/ui/dist/icons/building-bank.svg.gz +0 -0
  342. data/ui/dist/icons/building-bridge-2.svg.gz +0 -0
  343. data/ui/dist/icons/building-bridge.svg.gz +0 -0
  344. data/ui/dist/icons/building-carousel.svg.gz +0 -0
  345. data/ui/dist/icons/building-castle.svg.gz +0 -0
  346. data/ui/dist/icons/building-church.svg.gz +0 -0
  347. data/ui/dist/icons/building-community.svg.gz +0 -0
  348. data/ui/dist/icons/building-cottage.svg.gz +0 -0
  349. data/ui/dist/icons/building-factory.svg.gz +0 -0
  350. data/ui/dist/icons/building-fortress.svg.gz +0 -0
  351. data/ui/dist/icons/building-hospital.svg.gz +0 -0
  352. data/ui/dist/icons/building-lighthouse.svg.gz +0 -0
  353. data/ui/dist/icons/building-monument.svg.gz +0 -0
  354. data/ui/dist/icons/building-pavilon.svg.gz +0 -0
  355. data/ui/dist/icons/building-skyscraper.svg.gz +0 -0
  356. data/ui/dist/icons/building-store.svg.gz +0 -0
  357. data/ui/dist/icons/building-warehouse.svg.gz +0 -0
  358. data/ui/dist/icons/building.svg.gz +0 -0
  359. data/ui/dist/icons/bulb-off.svg.gz +0 -0
  360. data/ui/dist/icons/bulb.svg.gz +0 -0
  361. data/ui/dist/icons/bulldozer.svg.gz +0 -0
  362. data/ui/dist/icons/bus.svg.gz +0 -0
  363. data/ui/dist/icons/businessplan.svg.gz +0 -0
  364. data/ui/dist/icons/calculator.svg.gz +0 -0
  365. data/ui/dist/icons/calendar-event.svg.gz +0 -0
  366. data/ui/dist/icons/calendar-minus.svg.gz +0 -0
  367. data/ui/dist/icons/calendar-off.svg.gz +0 -0
  368. data/ui/dist/icons/calendar-plus.svg.gz +0 -0
  369. data/ui/dist/icons/calendar-stats.svg.gz +0 -0
  370. data/ui/dist/icons/calendar-time.svg.gz +0 -0
  371. data/ui/dist/icons/calendar.svg.gz +0 -0
  372. data/ui/dist/icons/camera-minus.svg.gz +0 -0
  373. data/ui/dist/icons/camera-off.svg.gz +0 -0
  374. data/ui/dist/icons/camera-plus.svg.gz +0 -0
  375. data/ui/dist/icons/camera-rotate.svg.gz +0 -0
  376. data/ui/dist/icons/camera-selfie.svg.gz +0 -0
  377. data/ui/dist/icons/camera.svg.gz +0 -0
  378. data/ui/dist/icons/capture.svg.gz +0 -0
  379. data/ui/dist/icons/car.svg.gz +0 -0
  380. data/ui/dist/icons/caravan.svg.gz +0 -0
  381. data/ui/dist/icons/cardboards.svg.gz +0 -0
  382. data/ui/dist/icons/caret-down.svg.gz +0 -0
  383. data/ui/dist/icons/caret-left.svg.gz +0 -0
  384. data/ui/dist/icons/caret-right.svg.gz +0 -0
  385. data/ui/dist/icons/caret-up.svg.gz +0 -0
  386. data/ui/dist/icons/cash-banknote-off.svg.gz +0 -0
  387. data/ui/dist/icons/cash-banknote.svg.gz +0 -0
  388. data/ui/dist/icons/cash.svg.gz +0 -0
  389. data/ui/dist/icons/cast.svg.gz +0 -0
  390. data/ui/dist/icons/ce.svg.gz +0 -0
  391. data/ui/dist/icons/certificate.svg.gz +0 -0
  392. data/ui/dist/icons/charging-pile.svg.gz +0 -0
  393. data/ui/dist/icons/chart-arcs-3.svg.gz +0 -0
  394. data/ui/dist/icons/chart-arcs.svg.gz +0 -0
  395. data/ui/dist/icons/chart-area-line.svg.gz +0 -0
  396. data/ui/dist/icons/chart-area.svg.gz +0 -0
  397. data/ui/dist/icons/chart-arrows-vertical.svg.gz +0 -0
  398. data/ui/dist/icons/chart-arrows.svg.gz +0 -0
  399. data/ui/dist/icons/chart-bar.svg.gz +0 -0
  400. data/ui/dist/icons/chart-bubble.svg.gz +0 -0
  401. data/ui/dist/icons/chart-candle.svg.gz +0 -0
  402. data/ui/dist/icons/chart-circles.svg.gz +0 -0
  403. data/ui/dist/icons/chart-donut-2.svg.gz +0 -0
  404. data/ui/dist/icons/chart-donut-3.svg.gz +0 -0
  405. data/ui/dist/icons/chart-donut-4.svg.gz +0 -0
  406. data/ui/dist/icons/chart-donut.svg.gz +0 -0
  407. data/ui/dist/icons/chart-dots.svg.gz +0 -0
  408. data/ui/dist/icons/chart-infographic.svg.gz +0 -0
  409. data/ui/dist/icons/chart-line.svg.gz +0 -0
  410. data/ui/dist/icons/chart-pie-2.svg.gz +0 -0
  411. data/ui/dist/icons/chart-pie-3.svg.gz +0 -0
  412. data/ui/dist/icons/chart-pie-4.svg.gz +0 -0
  413. data/ui/dist/icons/chart-pie.svg.gz +0 -0
  414. data/ui/dist/icons/chart-radar.svg.gz +0 -0
  415. data/ui/dist/icons/check.svg.gz +0 -0
  416. data/ui/dist/icons/checkbox.svg.gz +0 -0
  417. data/ui/dist/icons/checks.svg.gz +0 -0
  418. data/ui/dist/icons/chevron-down-left.svg.gz +0 -0
  419. data/ui/dist/icons/chevron-down-right.svg.gz +0 -0
  420. data/ui/dist/icons/chevron-down.svg.gz +0 -0
  421. data/ui/dist/icons/chevron-left.svg.gz +0 -0
  422. data/ui/dist/icons/chevron-right.svg.gz +0 -0
  423. data/ui/dist/icons/chevron-up-left.svg.gz +0 -0
  424. data/ui/dist/icons/chevron-up-right.svg.gz +0 -0
  425. data/ui/dist/icons/chevron-up.svg.gz +0 -0
  426. data/ui/dist/icons/chevrons-down-left.svg.gz +0 -0
  427. data/ui/dist/icons/chevrons-down-right.svg.gz +0 -0
  428. data/ui/dist/icons/chevrons-down.svg.gz +0 -0
  429. data/ui/dist/icons/chevrons-left.svg.gz +0 -0
  430. data/ui/dist/icons/chevrons-right.svg.gz +0 -0
  431. data/ui/dist/icons/chevrons-up-left.svg.gz +0 -0
  432. data/ui/dist/icons/chevrons-up-right.svg.gz +0 -0
  433. data/ui/dist/icons/chevrons-up.svg.gz +0 -0
  434. data/ui/dist/icons/christmas-tree.svg.gz +0 -0
  435. data/ui/dist/icons/circle-0.svg.gz +0 -0
  436. data/ui/dist/icons/circle-1.svg.gz +0 -0
  437. data/ui/dist/icons/circle-2.svg.gz +0 -0
  438. data/ui/dist/icons/circle-3.svg.gz +0 -0
  439. data/ui/dist/icons/circle-4.svg.gz +0 -0
  440. data/ui/dist/icons/circle-5.svg.gz +0 -0
  441. data/ui/dist/icons/circle-6.svg.gz +0 -0
  442. data/ui/dist/icons/circle-7.svg.gz +0 -0
  443. data/ui/dist/icons/circle-8.svg.gz +0 -0
  444. data/ui/dist/icons/circle-9.svg.gz +0 -0
  445. data/ui/dist/icons/circle-check.svg.gz +0 -0
  446. data/ui/dist/icons/circle-dashed.svg.gz +0 -0
  447. data/ui/dist/icons/circle-dotted.svg.gz +0 -0
  448. data/ui/dist/icons/circle-half-vertical.svg.gz +0 -0
  449. data/ui/dist/icons/circle-half.svg.gz +0 -0
  450. data/ui/dist/icons/circle-minus.svg.gz +0 -0
  451. data/ui/dist/icons/circle-off.svg.gz +0 -0
  452. data/ui/dist/icons/circle-plus.svg.gz +0 -0
  453. data/ui/dist/icons/circle-square.svg.gz +0 -0
  454. data/ui/dist/icons/circle-x.svg.gz +0 -0
  455. data/ui/dist/icons/circle.svg.gz +0 -0
  456. data/ui/dist/icons/circles.svg.gz +0 -0
  457. data/ui/dist/icons/clear-all.svg.gz +0 -0
  458. data/ui/dist/icons/clear-formatting.svg.gz +0 -0
  459. data/ui/dist/icons/click.svg.gz +0 -0
  460. data/ui/dist/icons/clipboard-check.svg.gz +0 -0
  461. data/ui/dist/icons/clipboard-list.svg.gz +0 -0
  462. data/ui/dist/icons/clipboard-x.svg.gz +0 -0
  463. data/ui/dist/icons/clipboard.svg.gz +0 -0
  464. data/ui/dist/icons/clock.svg.gz +0 -0
  465. data/ui/dist/icons/cloud-download.svg.gz +0 -0
  466. data/ui/dist/icons/cloud-fog.svg.gz +0 -0
  467. data/ui/dist/icons/cloud-off.svg.gz +0 -0
  468. data/ui/dist/icons/cloud-rain.svg.gz +0 -0
  469. data/ui/dist/icons/cloud-snow.svg.gz +0 -0
  470. data/ui/dist/icons/cloud-storm.svg.gz +0 -0
  471. data/ui/dist/icons/cloud-upload.svg.gz +0 -0
  472. data/ui/dist/icons/cloud.svg.gz +0 -0
  473. data/ui/dist/icons/code-minus.svg.gz +0 -0
  474. data/ui/dist/icons/code-plus.svg.gz +0 -0
  475. data/ui/dist/icons/code.svg.gz +0 -0
  476. data/ui/dist/icons/coin.svg.gz +0 -0
  477. data/ui/dist/icons/color-picker.svg.gz +0 -0
  478. data/ui/dist/icons/color-swatch.svg.gz +0 -0
  479. data/ui/dist/icons/column-insert-left.svg.gz +0 -0
  480. data/ui/dist/icons/column-insert-right.svg.gz +0 -0
  481. data/ui/dist/icons/columns.svg.gz +0 -0
  482. data/ui/dist/icons/comet.svg.gz +0 -0
  483. data/ui/dist/icons/command.svg.gz +0 -0
  484. data/ui/dist/icons/compass.svg.gz +0 -0
  485. data/ui/dist/icons/confetti.svg.gz +0 -0
  486. data/ui/dist/icons/container.svg.gz +0 -0
  487. data/ui/dist/icons/contrast.svg.gz +0 -0
  488. data/ui/dist/icons/copy.svg.gz +0 -0
  489. data/ui/dist/icons/copyleft.svg.gz +0 -0
  490. data/ui/dist/icons/copyright.svg.gz +0 -0
  491. data/ui/dist/icons/corner-down-left-double.svg.gz +0 -0
  492. data/ui/dist/icons/corner-down-left.svg.gz +0 -0
  493. data/ui/dist/icons/corner-down-right-double.svg.gz +0 -0
  494. data/ui/dist/icons/corner-down-right.svg.gz +0 -0
  495. data/ui/dist/icons/corner-left-down-double.svg.gz +0 -0
  496. data/ui/dist/icons/corner-left-down.svg.gz +0 -0
  497. data/ui/dist/icons/corner-left-up-double.svg.gz +0 -0
  498. data/ui/dist/icons/corner-left-up.svg.gz +0 -0
  499. data/ui/dist/icons/corner-right-down-double.svg.gz +0 -0
  500. data/ui/dist/icons/corner-right-down.svg.gz +0 -0
  501. data/ui/dist/icons/corner-right-up-double.svg.gz +0 -0
  502. data/ui/dist/icons/corner-right-up.svg.gz +0 -0
  503. data/ui/dist/icons/corner-up-left-double.svg.gz +0 -0
  504. data/ui/dist/icons/corner-up-left.svg.gz +0 -0
  505. data/ui/dist/icons/corner-up-right-double.svg.gz +0 -0
  506. data/ui/dist/icons/corner-up-right.svg.gz +0 -0
  507. data/ui/dist/icons/credit-card-off.svg.gz +0 -0
  508. data/ui/dist/icons/credit-card.svg.gz +0 -0
  509. data/ui/dist/icons/crop.svg.gz +0 -0
  510. data/ui/dist/icons/crosshair.svg.gz +0 -0
  511. data/ui/dist/icons/crown-off.svg.gz +0 -0
  512. data/ui/dist/icons/crown.svg.gz +0 -0
  513. data/ui/dist/icons/curly-loop.svg.gz +0 -0
  514. data/ui/dist/icons/currency-bahraini.svg.gz +0 -0
  515. data/ui/dist/icons/currency-bath.svg.gz +0 -0
  516. data/ui/dist/icons/currency-bitcoin.svg.gz +0 -0
  517. data/ui/dist/icons/currency-cent.svg.gz +0 -0
  518. data/ui/dist/icons/currency-dinar.svg.gz +0 -0
  519. data/ui/dist/icons/currency-dirham.svg.gz +0 -0
  520. data/ui/dist/icons/currency-dollar-australian.svg.gz +0 -0
  521. data/ui/dist/icons/currency-dollar-canadian.svg.gz +0 -0
  522. data/ui/dist/icons/currency-dollar-singapore.svg.gz +0 -0
  523. data/ui/dist/icons/currency-dollar.svg.gz +0 -0
  524. data/ui/dist/icons/currency-ethereum.svg.gz +0 -0
  525. data/ui/dist/icons/currency-euro.svg.gz +0 -0
  526. data/ui/dist/icons/currency-forint.svg.gz +0 -0
  527. data/ui/dist/icons/currency-frank.svg.gz +0 -0
  528. data/ui/dist/icons/currency-krone-czech.svg.gz +0 -0
  529. data/ui/dist/icons/currency-krone-danish.svg.gz +0 -0
  530. data/ui/dist/icons/currency-krone-swedish.svg.gz +0 -0
  531. data/ui/dist/icons/currency-leu.svg.gz +0 -0
  532. data/ui/dist/icons/currency-lira.svg.gz +0 -0
  533. data/ui/dist/icons/currency-litecoin.svg.gz +0 -0
  534. data/ui/dist/icons/currency-naira.svg.gz +0 -0
  535. data/ui/dist/icons/currency-pound.svg.gz +0 -0
  536. data/ui/dist/icons/currency-real.svg.gz +0 -0
  537. data/ui/dist/icons/currency-renminbi.svg.gz +0 -0
  538. data/ui/dist/icons/currency-ripple.svg.gz +0 -0
  539. data/ui/dist/icons/currency-riyal.svg.gz +0 -0
  540. data/ui/dist/icons/currency-rubel.svg.gz +0 -0
  541. data/ui/dist/icons/currency-rupee.svg.gz +0 -0
  542. data/ui/dist/icons/currency-shekel.svg.gz +0 -0
  543. data/ui/dist/icons/currency-taka.svg.gz +0 -0
  544. data/ui/dist/icons/currency-tugrik.svg.gz +0 -0
  545. data/ui/dist/icons/currency-won.svg.gz +0 -0
  546. data/ui/dist/icons/currency-yen.svg.gz +0 -0
  547. data/ui/dist/icons/currency-zloty.svg.gz +0 -0
  548. data/ui/dist/icons/current-location.svg.gz +0 -0
  549. data/ui/dist/icons/cursor-text.svg.gz +0 -0
  550. data/ui/dist/icons/cut.svg.gz +0 -0
  551. data/ui/dist/icons/dashboard.svg.gz +0 -0
  552. data/ui/dist/icons/database-export.svg.gz +0 -0
  553. data/ui/dist/icons/database-import.svg.gz +0 -0
  554. data/ui/dist/icons/database-off.svg.gz +0 -0
  555. data/ui/dist/icons/database.svg.gz +0 -0
  556. data/ui/dist/icons/details.svg.gz +0 -0
  557. data/ui/dist/icons/device-analytics.svg.gz +0 -0
  558. data/ui/dist/icons/device-audio-tape.svg.gz +0 -0
  559. data/ui/dist/icons/device-cctv.svg.gz +0 -0
  560. data/ui/dist/icons/device-computer-camera-off.svg.gz +0 -0
  561. data/ui/dist/icons/device-computer-camera.svg.gz +0 -0
  562. data/ui/dist/icons/device-desktop-analytics.svg.gz +0 -0
  563. data/ui/dist/icons/device-desktop-off.svg.gz +0 -0
  564. data/ui/dist/icons/device-desktop.svg.gz +0 -0
  565. data/ui/dist/icons/device-floppy.svg.gz +0 -0
  566. data/ui/dist/icons/device-gamepad.svg.gz +0 -0
  567. data/ui/dist/icons/device-laptop.svg.gz +0 -0
  568. data/ui/dist/icons/device-mobile-message.svg.gz +0 -0
  569. data/ui/dist/icons/device-mobile-rotated.svg.gz +0 -0
  570. data/ui/dist/icons/device-mobile-vibration.svg.gz +0 -0
  571. data/ui/dist/icons/device-mobile.svg.gz +0 -0
  572. data/ui/dist/icons/device-speaker.svg.gz +0 -0
  573. data/ui/dist/icons/device-tablet.svg.gz +0 -0
  574. data/ui/dist/icons/device-tv.svg.gz +0 -0
  575. data/ui/dist/icons/device-watch.svg.gz +0 -0
  576. data/ui/dist/icons/devices-2.svg.gz +0 -0
  577. data/ui/dist/icons/devices-pc.svg.gz +0 -0
  578. data/ui/dist/icons/devices.svg.gz +0 -0
  579. data/ui/dist/icons/diamond.svg.gz +0 -0
  580. data/ui/dist/icons/dice.svg.gz +0 -0
  581. data/ui/dist/icons/dimensions.svg.gz +0 -0
  582. data/ui/dist/icons/direction-horizontal.svg.gz +0 -0
  583. data/ui/dist/icons/direction.svg.gz +0 -0
  584. data/ui/dist/icons/directions.svg.gz +0 -0
  585. data/ui/dist/icons/disabled-2.svg.gz +0 -0
  586. data/ui/dist/icons/disabled.svg.gz +0 -0
  587. data/ui/dist/icons/disc.svg.gz +0 -0
  588. data/ui/dist/icons/discount-2.svg.gz +0 -0
  589. data/ui/dist/icons/discount.svg.gz +0 -0
  590. data/ui/dist/icons/divide.svg.gz +0 -0
  591. data/ui/dist/icons/dna.svg.gz +0 -0
  592. data/ui/dist/icons/dots-circle-horizontal.svg.gz +0 -0
  593. data/ui/dist/icons/dots-diagonal-2.svg.gz +0 -0
  594. data/ui/dist/icons/dots-diagonal.svg.gz +0 -0
  595. data/ui/dist/icons/dots-vertical.svg.gz +0 -0
  596. data/ui/dist/icons/dots.svg.gz +0 -0
  597. data/ui/dist/icons/download.svg.gz +0 -0
  598. data/ui/dist/icons/drag-drop-2.svg.gz +0 -0
  599. data/ui/dist/icons/drag-drop.svg.gz +0 -0
  600. data/ui/dist/icons/drone-off.svg.gz +0 -0
  601. data/ui/dist/icons/drone.svg.gz +0 -0
  602. data/ui/dist/icons/droplet-filled-2.svg.gz +0 -0
  603. data/ui/dist/icons/droplet-filled.svg.gz +0 -0
  604. data/ui/dist/icons/droplet-half-2.svg.gz +0 -0
  605. data/ui/dist/icons/droplet-half.svg.gz +0 -0
  606. data/ui/dist/icons/droplet-off.svg.gz +0 -0
  607. data/ui/dist/icons/droplet.svg.gz +0 -0
  608. data/ui/dist/icons/ear-off.svg.gz +0 -0
  609. data/ui/dist/icons/ear.svg.gz +0 -0
  610. data/ui/dist/icons/edit-circle.svg.gz +0 -0
  611. data/ui/dist/icons/edit.svg.gz +0 -0
  612. data/ui/dist/icons/egg.svg.gz +0 -0
  613. data/ui/dist/icons/emphasis.svg.gz +0 -0
  614. data/ui/dist/icons/equal-not.svg.gz +0 -0
  615. data/ui/dist/icons/equal.svg.gz +0 -0
  616. data/ui/dist/icons/eraser.svg.gz +0 -0
  617. data/ui/dist/icons/exchange.svg.gz +0 -0
  618. data/ui/dist/icons/exposure.svg.gz +0 -0
  619. data/ui/dist/icons/external-link.svg.gz +0 -0
  620. data/ui/dist/icons/eye-check.svg.gz +0 -0
  621. data/ui/dist/icons/eye-off.svg.gz +0 -0
  622. data/ui/dist/icons/eye.svg.gz +0 -0
  623. data/ui/dist/icons/eyeglass-2.svg.gz +0 -0
  624. data/ui/dist/icons/eyeglass.svg.gz +0 -0
  625. data/ui/dist/icons/face-id.svg.gz +0 -0
  626. data/ui/dist/icons/fall.svg.gz +0 -0
  627. data/ui/dist/icons/feather.svg.gz +0 -0
  628. data/ui/dist/icons/file-alert.svg.gz +0 -0
  629. data/ui/dist/icons/file-analytics.svg.gz +0 -0
  630. data/ui/dist/icons/file-certificate.svg.gz +0 -0
  631. data/ui/dist/icons/file-check.svg.gz +0 -0
  632. data/ui/dist/icons/file-code-2.svg.gz +0 -0
  633. data/ui/dist/icons/file-code.svg.gz +0 -0
  634. data/ui/dist/icons/file-diff.svg.gz +0 -0
  635. data/ui/dist/icons/file-dislike.svg.gz +0 -0
  636. data/ui/dist/icons/file-download.svg.gz +0 -0
  637. data/ui/dist/icons/file-export.svg.gz +0 -0
  638. data/ui/dist/icons/file-horizontal.svg.gz +0 -0
  639. data/ui/dist/icons/file-import.svg.gz +0 -0
  640. data/ui/dist/icons/file-info.svg.gz +0 -0
  641. data/ui/dist/icons/file-invoice.svg.gz +0 -0
  642. data/ui/dist/icons/file-like.svg.gz +0 -0
  643. data/ui/dist/icons/file-minus.svg.gz +0 -0
  644. data/ui/dist/icons/file-music.svg.gz +0 -0
  645. data/ui/dist/icons/file-off.svg.gz +0 -0
  646. data/ui/dist/icons/file-phone.svg.gz +0 -0
  647. data/ui/dist/icons/file-plus.svg.gz +0 -0
  648. data/ui/dist/icons/file-report.svg.gz +0 -0
  649. data/ui/dist/icons/file-search.svg.gz +0 -0
  650. data/ui/dist/icons/file-shredder.svg.gz +0 -0
  651. data/ui/dist/icons/file-symlink.svg.gz +0 -0
  652. data/ui/dist/icons/file-text.svg.gz +0 -0
  653. data/ui/dist/icons/file-upload.svg.gz +0 -0
  654. data/ui/dist/icons/file-x.svg.gz +0 -0
  655. data/ui/dist/icons/file-zip.svg.gz +0 -0
  656. data/ui/dist/icons/file.svg.gz +0 -0
  657. data/ui/dist/icons/files-off.svg.gz +0 -0
  658. data/ui/dist/icons/files.svg.gz +0 -0
  659. data/ui/dist/icons/filter-off.svg.gz +0 -0
  660. data/ui/dist/icons/filter.svg.gz +0 -0
  661. data/ui/dist/icons/fingerprint.svg.gz +0 -0
  662. data/ui/dist/icons/firetruck.svg.gz +0 -0
  663. data/ui/dist/icons/flag-2.svg.gz +0 -0
  664. data/ui/dist/icons/flag-3.svg.gz +0 -0
  665. data/ui/dist/icons/flag.svg.gz +0 -0
  666. data/ui/dist/icons/flame.svg.gz +0 -0
  667. data/ui/dist/icons/flare.svg.gz +0 -0
  668. data/ui/dist/icons/flask.svg.gz +0 -0
  669. data/ui/dist/icons/flip-horizontal.svg.gz +0 -0
  670. data/ui/dist/icons/flip-vertical.svg.gz +0 -0
  671. data/ui/dist/icons/float-center.svg.gz +0 -0
  672. data/ui/dist/icons/float-left.svg.gz +0 -0
  673. data/ui/dist/icons/float-none.svg.gz +0 -0
  674. data/ui/dist/icons/float-right.svg.gz +0 -0
  675. data/ui/dist/icons/focus-2.svg.gz +0 -0
  676. data/ui/dist/icons/focus.svg.gz +0 -0
  677. data/ui/dist/icons/fold-down.svg.gz +0 -0
  678. data/ui/dist/icons/fold-up.svg.gz +0 -0
  679. data/ui/dist/icons/fold.svg.gz +0 -0
  680. data/ui/dist/icons/folder-minus.svg.gz +0 -0
  681. data/ui/dist/icons/folder-off.svg.gz +0 -0
  682. data/ui/dist/icons/folder-plus.svg.gz +0 -0
  683. data/ui/dist/icons/folder-x.svg.gz +0 -0
  684. data/ui/dist/icons/folder.svg.gz +0 -0
  685. data/ui/dist/icons/folders.svg.gz +0 -0
  686. data/ui/dist/icons/forbid-2.svg.gz +0 -0
  687. data/ui/dist/icons/forbid.svg.gz +0 -0
  688. data/ui/dist/icons/forklift.svg.gz +0 -0
  689. data/ui/dist/icons/forms.svg.gz +0 -0
  690. data/ui/dist/icons/frame.svg.gz +0 -0
  691. data/ui/dist/icons/friends.svg.gz +0 -0
  692. data/ui/dist/icons/gas-station.svg.gz +0 -0
  693. data/ui/dist/icons/gauge.svg.gz +0 -0
  694. data/ui/dist/icons/geometry.svg.gz +0 -0
  695. data/ui/dist/icons/ghost.svg.gz +0 -0
  696. data/ui/dist/icons/gift.svg.gz +0 -0
  697. data/ui/dist/icons/git-branch.svg.gz +0 -0
  698. data/ui/dist/icons/git-commit.svg.gz +0 -0
  699. data/ui/dist/icons/git-compare.svg.gz +0 -0
  700. data/ui/dist/icons/git-fork.svg.gz +0 -0
  701. data/ui/dist/icons/git-merge.svg.gz +0 -0
  702. data/ui/dist/icons/git-pull-request.svg.gz +0 -0
  703. data/ui/dist/icons/glass-full.svg.gz +0 -0
  704. data/ui/dist/icons/glass-off.svg.gz +0 -0
  705. data/ui/dist/icons/glass.svg.gz +0 -0
  706. data/ui/dist/icons/globe.svg.gz +0 -0
  707. data/ui/dist/icons/golf.svg.gz +0 -0
  708. data/ui/dist/icons/gps.svg.gz +0 -0
  709. data/ui/dist/icons/grain.svg.gz +0 -0
  710. data/ui/dist/icons/grid-dots.svg.gz +0 -0
  711. data/ui/dist/icons/grip-horizontal.svg.gz +0 -0
  712. data/ui/dist/icons/grip-vertical.svg.gz +0 -0
  713. data/ui/dist/icons/growth.svg.gz +0 -0
  714. data/ui/dist/icons/h-1.svg.gz +0 -0
  715. data/ui/dist/icons/h-2.svg.gz +0 -0
  716. data/ui/dist/icons/h-3.svg.gz +0 -0
  717. data/ui/dist/icons/h-4.svg.gz +0 -0
  718. data/ui/dist/icons/h-5.svg.gz +0 -0
  719. data/ui/dist/icons/h-6.svg.gz +0 -0
  720. data/ui/dist/icons/hand-finger.svg.gz +0 -0
  721. data/ui/dist/icons/hand-little-finger.svg.gz +0 -0
  722. data/ui/dist/icons/hand-middle-finger.svg.gz +0 -0
  723. data/ui/dist/icons/hand-off.svg.gz +0 -0
  724. data/ui/dist/icons/hand-ring-finger.svg.gz +0 -0
  725. data/ui/dist/icons/hand-rock.svg.gz +0 -0
  726. data/ui/dist/icons/hand-stop.svg.gz +0 -0
  727. data/ui/dist/icons/hand-three-fingers.svg.gz +0 -0
  728. data/ui/dist/icons/hand-two-fingers.svg.gz +0 -0
  729. data/ui/dist/icons/hanger.svg.gz +0 -0
  730. data/ui/dist/icons/hash.svg.gz +0 -0
  731. data/ui/dist/icons/heading.svg.gz +0 -0
  732. data/ui/dist/icons/headphones-off.svg.gz +0 -0
  733. data/ui/dist/icons/headphones.svg.gz +0 -0
  734. data/ui/dist/icons/headset.svg.gz +0 -0
  735. data/ui/dist/icons/heart-broken.svg.gz +0 -0
  736. data/ui/dist/icons/heart.svg.gz +0 -0
  737. data/ui/dist/icons/helicopter-landing.svg.gz +0 -0
  738. data/ui/dist/icons/helicopter.svg.gz +0 -0
  739. data/ui/dist/icons/help.svg.gz +0 -0
  740. data/ui/dist/icons/hexagon-off.svg.gz +0 -0
  741. data/ui/dist/icons/hexagon.svg.gz +0 -0
  742. data/ui/dist/icons/hierarchy-2.svg.gz +0 -0
  743. data/ui/dist/icons/hierarchy.svg.gz +0 -0
  744. data/ui/dist/icons/history.svg.gz +0 -0
  745. data/ui/dist/icons/home-2.svg.gz +0 -0
  746. data/ui/dist/icons/home.svg.gz +0 -0
  747. data/ui/dist/icons/ice-cream-2.svg.gz +0 -0
  748. data/ui/dist/icons/ice-cream.svg.gz +0 -0
  749. data/ui/dist/icons/id.svg.gz +0 -0
  750. data/ui/dist/icons/inbox.svg.gz +0 -0
  751. data/ui/dist/icons/indent-decrease.svg.gz +0 -0
  752. data/ui/dist/icons/indent-increase.svg.gz +0 -0
  753. data/ui/dist/icons/infinity.svg.gz +0 -0
  754. data/ui/dist/icons/info-circle.svg.gz +0 -0
  755. data/ui/dist/icons/info-square.svg.gz +0 -0
  756. data/ui/dist/icons/italic.svg.gz +0 -0
  757. data/ui/dist/icons/jump-rope.svg.gz +0 -0
  758. data/ui/dist/icons/karate.svg.gz +0 -0
  759. data/ui/dist/icons/key.svg.gz +0 -0
  760. data/ui/dist/icons/keyboard-hide.svg.gz +0 -0
  761. data/ui/dist/icons/keyboard-off.svg.gz +0 -0
  762. data/ui/dist/icons/keyboard-show.svg.gz +0 -0
  763. data/ui/dist/icons/keyboard.svg.gz +0 -0
  764. data/ui/dist/icons/language.svg.gz +0 -0
  765. data/ui/dist/icons/layers-difference.svg.gz +0 -0
  766. data/ui/dist/icons/layers-intersect.svg.gz +0 -0
  767. data/ui/dist/icons/layers-linked.svg.gz +0 -0
  768. data/ui/dist/icons/layers-subtract.svg.gz +0 -0
  769. data/ui/dist/icons/layers-union.svg.gz +0 -0
  770. data/ui/dist/icons/layout-2.svg.gz +0 -0
  771. data/ui/dist/icons/layout-align-bottom.svg.gz +0 -0
  772. data/ui/dist/icons/layout-align-center.svg.gz +0 -0
  773. data/ui/dist/icons/layout-align-left.svg.gz +0 -0
  774. data/ui/dist/icons/layout-align-middle.svg.gz +0 -0
  775. data/ui/dist/icons/layout-align-right.svg.gz +0 -0
  776. data/ui/dist/icons/layout-align-top.svg.gz +0 -0
  777. data/ui/dist/icons/layout-bottombar.svg.gz +0 -0
  778. data/ui/dist/icons/layout-cards.svg.gz +0 -0
  779. data/ui/dist/icons/layout-columns.svg.gz +0 -0
  780. data/ui/dist/icons/layout-distribute-horizontal.svg.gz +0 -0
  781. data/ui/dist/icons/layout-distribute-vertical.svg.gz +0 -0
  782. data/ui/dist/icons/layout-grid-add.svg.gz +0 -0
  783. data/ui/dist/icons/layout-grid.svg.gz +0 -0
  784. data/ui/dist/icons/layout-kanban.svg.gz +0 -0
  785. data/ui/dist/icons/layout-list.svg.gz +0 -0
  786. data/ui/dist/icons/layout-navbar.svg.gz +0 -0
  787. data/ui/dist/icons/layout-rows.svg.gz +0 -0
  788. data/ui/dist/icons/layout-sidebar-right.svg.gz +0 -0
  789. data/ui/dist/icons/layout-sidebar.svg.gz +0 -0
  790. data/ui/dist/icons/layout.svg.gz +0 -0
  791. data/ui/dist/icons/leaf.svg.gz +0 -0
  792. data/ui/dist/icons/lego.svg.gz +0 -0
  793. data/ui/dist/icons/letter-a.svg.gz +0 -0
  794. data/ui/dist/icons/letter-b.svg.gz +0 -0
  795. data/ui/dist/icons/letter-c.svg.gz +0 -0
  796. data/ui/dist/icons/letter-case-lower.svg.gz +0 -0
  797. data/ui/dist/icons/letter-case-toggle.svg.gz +0 -0
  798. data/ui/dist/icons/letter-case-upper.svg.gz +0 -0
  799. data/ui/dist/icons/letter-case.svg.gz +0 -0
  800. data/ui/dist/icons/letter-d.svg.gz +0 -0
  801. data/ui/dist/icons/letter-e.svg.gz +0 -0
  802. data/ui/dist/icons/letter-f.svg.gz +0 -0
  803. data/ui/dist/icons/letter-g.svg.gz +0 -0
  804. data/ui/dist/icons/letter-h.svg.gz +0 -0
  805. data/ui/dist/icons/letter-i.svg.gz +0 -0
  806. data/ui/dist/icons/letter-j.svg.gz +0 -0
  807. data/ui/dist/icons/letter-k.svg.gz +0 -0
  808. data/ui/dist/icons/letter-l.svg.gz +0 -0
  809. data/ui/dist/icons/letter-m.svg.gz +0 -0
  810. data/ui/dist/icons/letter-n.svg.gz +0 -0
  811. data/ui/dist/icons/letter-o.svg.gz +0 -0
  812. data/ui/dist/icons/letter-p.svg.gz +0 -0
  813. data/ui/dist/icons/letter-q.svg.gz +0 -0
  814. data/ui/dist/icons/letter-r.svg.gz +0 -0
  815. data/ui/dist/icons/letter-s.svg.gz +0 -0
  816. data/ui/dist/icons/letter-spacing.svg.gz +0 -0
  817. data/ui/dist/icons/letter-t.svg.gz +0 -0
  818. data/ui/dist/icons/letter-u.svg.gz +0 -0
  819. data/ui/dist/icons/letter-v.svg.gz +0 -0
  820. data/ui/dist/icons/letter-w.svg.gz +0 -0
  821. data/ui/dist/icons/letter-x.svg.gz +0 -0
  822. data/ui/dist/icons/letter-y.svg.gz +0 -0
  823. data/ui/dist/icons/letter-z.svg.gz +0 -0
  824. data/ui/dist/icons/letters-case.svg.gz +0 -0
  825. data/ui/dist/icons/license.svg.gz +0 -0
  826. data/ui/dist/icons/lifebuoy.svg.gz +0 -0
  827. data/ui/dist/icons/line-dashed.svg.gz +0 -0
  828. data/ui/dist/icons/line-dotted.svg.gz +0 -0
  829. data/ui/dist/icons/line-height.svg.gz +0 -0
  830. data/ui/dist/icons/line.svg.gz +0 -0
  831. data/ui/dist/icons/link.svg.gz +0 -0
  832. data/ui/dist/icons/list-check.svg.gz +0 -0
  833. data/ui/dist/icons/list-search.svg.gz +0 -0
  834. data/ui/dist/icons/list.svg.gz +0 -0
  835. data/ui/dist/icons/live-photo.svg.gz +0 -0
  836. data/ui/dist/icons/live-view.svg.gz +0 -0
  837. data/ui/dist/icons/loader-quarter.svg.gz +0 -0
  838. data/ui/dist/icons/loader.svg.gz +0 -0
  839. data/ui/dist/icons/location.svg.gz +0 -0
  840. data/ui/dist/icons/lock-access.svg.gz +0 -0
  841. data/ui/dist/icons/lock-off.svg.gz +0 -0
  842. data/ui/dist/icons/lock-open.svg.gz +0 -0
  843. data/ui/dist/icons/lock.svg.gz +0 -0
  844. data/ui/dist/icons/login.svg.gz +0 -0
  845. data/ui/dist/icons/logout.svg.gz +0 -0
  846. data/ui/dist/icons/macro.svg.gz +0 -0
  847. data/ui/dist/icons/magnet.svg.gz +0 -0
  848. data/ui/dist/icons/mail-forward.svg.gz +0 -0
  849. data/ui/dist/icons/mail-opened.svg.gz +0 -0
  850. data/ui/dist/icons/mail.svg.gz +0 -0
  851. data/ui/dist/icons/mailbox.svg.gz +0 -0
  852. data/ui/dist/icons/man.svg.gz +0 -0
  853. data/ui/dist/icons/manual-gearbox.svg.gz +0 -0
  854. data/ui/dist/icons/map-2.svg.gz +0 -0
  855. data/ui/dist/icons/map-pin-off.svg.gz +0 -0
  856. data/ui/dist/icons/map-pin.svg.gz +0 -0
  857. data/ui/dist/icons/map-pins.svg.gz +0 -0
  858. data/ui/dist/icons/map.svg.gz +0 -0
  859. data/ui/dist/icons/markdown.svg.gz +0 -0
  860. data/ui/dist/icons/marquee-2.svg.gz +0 -0
  861. data/ui/dist/icons/marquee.svg.gz +0 -0
  862. data/ui/dist/icons/mars.svg.gz +0 -0
  863. data/ui/dist/icons/mask-off.svg.gz +0 -0
  864. data/ui/dist/icons/mask.svg.gz +0 -0
  865. data/ui/dist/icons/massage.svg.gz +0 -0
  866. data/ui/dist/icons/math-function.svg.gz +0 -0
  867. data/ui/dist/icons/math-symbols.svg.gz +0 -0
  868. data/ui/dist/icons/math.svg.gz +0 -0
  869. data/ui/dist/icons/maximize.svg.gz +0 -0
  870. data/ui/dist/icons/medal.svg.gz +0 -0
  871. data/ui/dist/icons/medical-cross.svg.gz +0 -0
  872. data/ui/dist/icons/menu-2.svg.gz +0 -0
  873. data/ui/dist/icons/menu.svg.gz +0 -0
  874. data/ui/dist/icons/message-2.svg.gz +0 -0
  875. data/ui/dist/icons/message-circle-2.svg.gz +0 -0
  876. data/ui/dist/icons/message-circle-off.svg.gz +0 -0
  877. data/ui/dist/icons/message-circle.svg.gz +0 -0
  878. data/ui/dist/icons/message-dots.svg.gz +0 -0
  879. data/ui/dist/icons/message-off.svg.gz +0 -0
  880. data/ui/dist/icons/message-plus.svg.gz +0 -0
  881. data/ui/dist/icons/message-report.svg.gz +0 -0
  882. data/ui/dist/icons/message.svg.gz +0 -0
  883. data/ui/dist/icons/messages-off.svg.gz +0 -0
  884. data/ui/dist/icons/messages.svg.gz +0 -0
  885. data/ui/dist/icons/microphone-off.svg.gz +0 -0
  886. data/ui/dist/icons/microphone.svg.gz +0 -0
  887. data/ui/dist/icons/minimize.svg.gz +0 -0
  888. data/ui/dist/icons/minus-vertical.svg.gz +0 -0
  889. data/ui/dist/icons/minus.svg.gz +0 -0
  890. data/ui/dist/icons/mist.svg.gz +0 -0
  891. data/ui/dist/icons/mood-boy.svg.gz +0 -0
  892. data/ui/dist/icons/mood-confuzed.svg.gz +0 -0
  893. data/ui/dist/icons/mood-crazy-happy.svg.gz +0 -0
  894. data/ui/dist/icons/mood-cry.svg.gz +0 -0
  895. data/ui/dist/icons/mood-empty.svg.gz +0 -0
  896. data/ui/dist/icons/mood-happy.svg.gz +0 -0
  897. data/ui/dist/icons/mood-kid.svg.gz +0 -0
  898. data/ui/dist/icons/mood-neutral.svg.gz +0 -0
  899. data/ui/dist/icons/mood-sad.svg.gz +0 -0
  900. data/ui/dist/icons/mood-smile.svg.gz +0 -0
  901. data/ui/dist/icons/mood-suprised.svg.gz +0 -0
  902. data/ui/dist/icons/mood-tongue.svg.gz +0 -0
  903. data/ui/dist/icons/moon-2.svg.gz +0 -0
  904. data/ui/dist/icons/moon-stars.svg.gz +0 -0
  905. data/ui/dist/icons/moon.svg.gz +0 -0
  906. data/ui/dist/icons/moped.svg.gz +0 -0
  907. data/ui/dist/icons/motorbike.svg.gz +0 -0
  908. data/ui/dist/icons/mouse.svg.gz +0 -0
  909. data/ui/dist/icons/movie.svg.gz +0 -0
  910. data/ui/dist/icons/mug.svg.gz +0 -0
  911. data/ui/dist/icons/music.svg.gz +0 -0
  912. data/ui/dist/icons/new-section.svg.gz +0 -0
  913. data/ui/dist/icons/news.svg.gz +0 -0
  914. data/ui/dist/icons/nfc.svg.gz +0 -0
  915. data/ui/dist/icons/note.svg.gz +0 -0
  916. data/ui/dist/icons/notebook.svg.gz +0 -0
  917. data/ui/dist/icons/notes.svg.gz +0 -0
  918. data/ui/dist/icons/notification.svg.gz +0 -0
  919. data/ui/dist/icons/number-0.svg.gz +0 -0
  920. data/ui/dist/icons/number-1.svg.gz +0 -0
  921. data/ui/dist/icons/number-2.svg.gz +0 -0
  922. data/ui/dist/icons/number-3.svg.gz +0 -0
  923. data/ui/dist/icons/number-4.svg.gz +0 -0
  924. data/ui/dist/icons/number-5.svg.gz +0 -0
  925. data/ui/dist/icons/number-6.svg.gz +0 -0
  926. data/ui/dist/icons/number-7.svg.gz +0 -0
  927. data/ui/dist/icons/number-8.svg.gz +0 -0
  928. data/ui/dist/icons/number-9.svg.gz +0 -0
  929. data/ui/dist/icons/octagon-off.svg.gz +0 -0
  930. data/ui/dist/icons/octagon.svg.gz +0 -0
  931. data/ui/dist/icons/old.svg.gz +0 -0
  932. data/ui/dist/icons/olympics.svg.gz +0 -0
  933. data/ui/dist/icons/omega.svg.gz +0 -0
  934. data/ui/dist/icons/outlet.svg.gz +0 -0
  935. data/ui/dist/icons/overline.svg.gz +0 -0
  936. data/ui/dist/icons/package.svg.gz +0 -0
  937. data/ui/dist/icons/pacman.svg.gz +0 -0
  938. data/ui/dist/icons/page-break.svg.gz +0 -0
  939. data/ui/dist/icons/paint.svg.gz +0 -0
  940. data/ui/dist/icons/palette.svg.gz +0 -0
  941. data/ui/dist/icons/panorama-horizontal.svg.gz +0 -0
  942. data/ui/dist/icons/panorama-vertical.svg.gz +0 -0
  943. data/ui/dist/icons/paperclip.svg.gz +0 -0
  944. data/ui/dist/icons/parachute.svg.gz +0 -0
  945. data/ui/dist/icons/parentheses.svg.gz +0 -0
  946. data/ui/dist/icons/parking.svg.gz +0 -0
  947. data/ui/dist/icons/peace.svg.gz +0 -0
  948. data/ui/dist/icons/pencil.svg.gz +0 -0
  949. data/ui/dist/icons/pennant.svg.gz +0 -0
  950. data/ui/dist/icons/percentage.svg.gz +0 -0
  951. data/ui/dist/icons/perspective.svg.gz +0 -0
  952. data/ui/dist/icons/phone-call.svg.gz +0 -0
  953. data/ui/dist/icons/phone-calling.svg.gz +0 -0
  954. data/ui/dist/icons/phone-check.svg.gz +0 -0
  955. data/ui/dist/icons/phone-incoming.svg.gz +0 -0
  956. data/ui/dist/icons/phone-off.svg.gz +0 -0
  957. data/ui/dist/icons/phone-outgoing.svg.gz +0 -0
  958. data/ui/dist/icons/phone-pause.svg.gz +0 -0
  959. data/ui/dist/icons/phone-plus.svg.gz +0 -0
  960. data/ui/dist/icons/phone-x.svg.gz +0 -0
  961. data/ui/dist/icons/phone.svg.gz +0 -0
  962. data/ui/dist/icons/photo-off.svg.gz +0 -0
  963. data/ui/dist/icons/photo.svg.gz +0 -0
  964. data/ui/dist/icons/physotherapist.svg.gz +0 -0
  965. data/ui/dist/icons/picture-in-picture-off.svg.gz +0 -0
  966. data/ui/dist/icons/picture-in-picture-on.svg.gz +0 -0
  967. data/ui/dist/icons/picture-in-picture.svg.gz +0 -0
  968. data/ui/dist/icons/pill.svg.gz +0 -0
  969. data/ui/dist/icons/pin.svg.gz +0 -0
  970. data/ui/dist/icons/pinned-off.svg.gz +0 -0
  971. data/ui/dist/icons/pinned.svg.gz +0 -0
  972. data/ui/dist/icons/pizza.svg.gz +0 -0
  973. data/ui/dist/icons/plane-arrival.svg.gz +0 -0
  974. data/ui/dist/icons/plane-departure.svg.gz +0 -0
  975. data/ui/dist/icons/plane.svg.gz +0 -0
  976. data/ui/dist/icons/planet.svg.gz +0 -0
  977. data/ui/dist/icons/plant-2.svg.gz +0 -0
  978. data/ui/dist/icons/plant.svg.gz +0 -0
  979. data/ui/dist/icons/play-card.svg.gz +0 -0
  980. data/ui/dist/icons/player-pause.svg.gz +0 -0
  981. data/ui/dist/icons/player-play.svg.gz +0 -0
  982. data/ui/dist/icons/player-record.svg.gz +0 -0
  983. data/ui/dist/icons/player-skip-back.svg.gz +0 -0
  984. data/ui/dist/icons/player-skip-forward.svg.gz +0 -0
  985. data/ui/dist/icons/player-stop.svg.gz +0 -0
  986. data/ui/dist/icons/player-track-next.svg.gz +0 -0
  987. data/ui/dist/icons/player-track-prev.svg.gz +0 -0
  988. data/ui/dist/icons/playlist.svg.gz +0 -0
  989. data/ui/dist/icons/plug.svg.gz +0 -0
  990. data/ui/dist/icons/plus.svg.gz +0 -0
  991. data/ui/dist/icons/point.svg.gz +0 -0
  992. data/ui/dist/icons/pokeball.svg.gz +0 -0
  993. data/ui/dist/icons/polaroid.svg.gz +0 -0
  994. data/ui/dist/icons/pool.svg.gz +0 -0
  995. data/ui/dist/icons/power.svg.gz +0 -0
  996. data/ui/dist/icons/pray.svg.gz +0 -0
  997. data/ui/dist/icons/presentation-analytics.svg.gz +0 -0
  998. data/ui/dist/icons/presentation.svg.gz +0 -0
  999. data/ui/dist/icons/printer.svg.gz +0 -0
  1000. data/ui/dist/icons/prompt.svg.gz +0 -0
  1001. data/ui/dist/icons/propeller.svg.gz +0 -0
  1002. data/ui/dist/icons/puzzle.svg.gz +0 -0
  1003. data/ui/dist/icons/pyramid.svg.gz +0 -0
  1004. data/ui/dist/icons/qrcode.svg.gz +0 -0
  1005. data/ui/dist/icons/question-mark.svg.gz +0 -0
  1006. data/ui/dist/icons/radioactive.svg.gz +0 -0
  1007. data/ui/dist/icons/radius-bottom-left.svg.gz +0 -0
  1008. data/ui/dist/icons/radius-bottom-right.svg.gz +0 -0
  1009. data/ui/dist/icons/radius-top-left.svg.gz +0 -0
  1010. data/ui/dist/icons/radius-top-right.svg.gz +0 -0
  1011. data/ui/dist/icons/rainbow.svg.gz +0 -0
  1012. data/ui/dist/icons/receipt-2.svg.gz +0 -0
  1013. data/ui/dist/icons/receipt-off.svg.gz +0 -0
  1014. data/ui/dist/icons/receipt-refund.svg.gz +0 -0
  1015. data/ui/dist/icons/receipt-tax.svg.gz +0 -0
  1016. data/ui/dist/icons/receipt.svg.gz +0 -0
  1017. data/ui/dist/icons/recharging.svg.gz +0 -0
  1018. data/ui/dist/icons/record-mail.svg.gz +0 -0
  1019. data/ui/dist/icons/rectangle-vertical.svg.gz +0 -0
  1020. data/ui/dist/icons/rectangle.svg.gz +0 -0
  1021. data/ui/dist/icons/recycle.svg.gz +0 -0
  1022. data/ui/dist/icons/refresh-alert.svg.gz +0 -0
  1023. data/ui/dist/icons/refresh.svg.gz +0 -0
  1024. data/ui/dist/icons/registered.svg.gz +0 -0
  1025. data/ui/dist/icons/relation-many-to-many.svg.gz +0 -0
  1026. data/ui/dist/icons/relation-one-to-many.svg.gz +0 -0
  1027. data/ui/dist/icons/relation-one-to-one.svg.gz +0 -0
  1028. data/ui/dist/icons/repeat-once.svg.gz +0 -0
  1029. data/ui/dist/icons/repeat.svg.gz +0 -0
  1030. data/ui/dist/icons/replace.svg.gz +0 -0
  1031. data/ui/dist/icons/report-analytics.svg.gz +0 -0
  1032. data/ui/dist/icons/report-medical.svg.gz +0 -0
  1033. data/ui/dist/icons/report-money.svg.gz +0 -0
  1034. data/ui/dist/icons/report.svg.gz +0 -0
  1035. data/ui/dist/icons/resize.svg.gz +0 -0
  1036. data/ui/dist/icons/ripple.svg.gz +0 -0
  1037. data/ui/dist/icons/road-sign.svg.gz +0 -0
  1038. data/ui/dist/icons/rocket.svg.gz +0 -0
  1039. data/ui/dist/icons/rotate-2.svg.gz +0 -0
  1040. data/ui/dist/icons/rotate-clockwise-2.svg.gz +0 -0
  1041. data/ui/dist/icons/rotate-clockwise.svg.gz +0 -0
  1042. data/ui/dist/icons/rotate-rectangle.svg.gz +0 -0
  1043. data/ui/dist/icons/rotate.svg.gz +0 -0
  1044. data/ui/dist/icons/route.svg.gz +0 -0
  1045. data/ui/dist/icons/router.svg.gz +0 -0
  1046. data/ui/dist/icons/row-insert-bottom.svg.gz +0 -0
  1047. data/ui/dist/icons/row-insert-top.svg.gz +0 -0
  1048. data/ui/dist/icons/rss.svg.gz +0 -0
  1049. data/ui/dist/icons/ruler-2.svg.gz +0 -0
  1050. data/ui/dist/icons/ruler.svg.gz +0 -0
  1051. data/ui/dist/icons/run.svg.gz +0 -0
  1052. data/ui/dist/icons/sailboat.svg.gz +0 -0
  1053. data/ui/dist/icons/satellite.svg.gz +0 -0
  1054. data/ui/dist/icons/scale.svg.gz +0 -0
  1055. data/ui/dist/icons/scan.svg.gz +0 -0
  1056. data/ui/dist/icons/school.svg.gz +0 -0
  1057. data/ui/dist/icons/scissors.svg.gz +0 -0
  1058. data/ui/dist/icons/scooter-electric.svg.gz +0 -0
  1059. data/ui/dist/icons/scooter.svg.gz +0 -0
  1060. data/ui/dist/icons/screen-share-off.svg.gz +0 -0
  1061. data/ui/dist/icons/screen-share.svg.gz +0 -0
  1062. data/ui/dist/icons/scuba-mask.svg.gz +0 -0
  1063. data/ui/dist/icons/search.svg.gz +0 -0
  1064. data/ui/dist/icons/section.svg.gz +0 -0
  1065. data/ui/dist/icons/seeding.svg.gz +0 -0
  1066. data/ui/dist/icons/select.svg.gz +0 -0
  1067. data/ui/dist/icons/selector.svg.gz +0 -0
  1068. data/ui/dist/icons/send.svg.gz +0 -0
  1069. data/ui/dist/icons/separator-horizontal.svg.gz +0 -0
  1070. data/ui/dist/icons/separator-vertical.svg.gz +0 -0
  1071. data/ui/dist/icons/separator.svg.gz +0 -0
  1072. data/ui/dist/icons/server.svg.gz +0 -0
  1073. data/ui/dist/icons/servicemark.svg.gz +0 -0
  1074. data/ui/dist/icons/settings-automation.svg.gz +0 -0
  1075. data/ui/dist/icons/settings.svg.gz +0 -0
  1076. data/ui/dist/icons/shadow-off.svg.gz +0 -0
  1077. data/ui/dist/icons/shadow.svg.gz +0 -0
  1078. data/ui/dist/icons/shape-2.svg.gz +0 -0
  1079. data/ui/dist/icons/shape-3.svg.gz +0 -0
  1080. data/ui/dist/icons/shape.svg.gz +0 -0
  1081. data/ui/dist/icons/share.svg.gz +0 -0
  1082. data/ui/dist/icons/shield-check.svg.gz +0 -0
  1083. data/ui/dist/icons/shield-lock.svg.gz +0 -0
  1084. data/ui/dist/icons/shield-off.svg.gz +0 -0
  1085. data/ui/dist/icons/shield-x.svg.gz +0 -0
  1086. data/ui/dist/icons/shield.svg.gz +0 -0
  1087. data/ui/dist/icons/ship.svg.gz +0 -0
  1088. data/ui/dist/icons/shirt.svg.gz +0 -0
  1089. data/ui/dist/icons/shopping-cart-discount.svg.gz +0 -0
  1090. data/ui/dist/icons/shopping-cart-off.svg.gz +0 -0
  1091. data/ui/dist/icons/shopping-cart-plus.svg.gz +0 -0
  1092. data/ui/dist/icons/shopping-cart-x.svg.gz +0 -0
  1093. data/ui/dist/icons/shopping-cart.svg.gz +0 -0
  1094. data/ui/dist/icons/shredder.svg.gz +0 -0
  1095. data/ui/dist/icons/signature.svg.gz +0 -0
  1096. data/ui/dist/icons/sitemap.svg.gz +0 -0
  1097. data/ui/dist/icons/skateboard.svg.gz +0 -0
  1098. data/ui/dist/icons/slice.svg.gz +0 -0
  1099. data/ui/dist/icons/slideshow.svg.gz +0 -0
  1100. data/ui/dist/icons/smart-home.svg.gz +0 -0
  1101. data/ui/dist/icons/smoking-no.svg.gz +0 -0
  1102. data/ui/dist/icons/smoking.svg.gz +0 -0
  1103. data/ui/dist/icons/snowflake.svg.gz +0 -0
  1104. data/ui/dist/icons/soccer-field.svg.gz +0 -0
  1105. data/ui/dist/icons/social.svg.gz +0 -0
  1106. data/ui/dist/icons/sock.svg.gz +0 -0
  1107. data/ui/dist/icons/sort-ascending-2.svg.gz +0 -0
  1108. data/ui/dist/icons/sort-ascending.svg.gz +0 -0
  1109. data/ui/dist/icons/sort-descending-2.svg.gz +0 -0
  1110. data/ui/dist/icons/sort-descending.svg.gz +0 -0
  1111. data/ui/dist/icons/space.svg.gz +0 -0
  1112. data/ui/dist/icons/speakerphone.svg.gz +0 -0
  1113. data/ui/dist/icons/speedboat.svg.gz +0 -0
  1114. data/ui/dist/icons/sport-billard.svg.gz +0 -0
  1115. data/ui/dist/icons/square-0.svg.gz +0 -0
  1116. data/ui/dist/icons/square-1.svg.gz +0 -0
  1117. data/ui/dist/icons/square-2.svg.gz +0 -0
  1118. data/ui/dist/icons/square-3.svg.gz +0 -0
  1119. data/ui/dist/icons/square-4.svg.gz +0 -0
  1120. data/ui/dist/icons/square-5.svg.gz +0 -0
  1121. data/ui/dist/icons/square-6.svg.gz +0 -0
  1122. data/ui/dist/icons/square-7.svg.gz +0 -0
  1123. data/ui/dist/icons/square-8.svg.gz +0 -0
  1124. data/ui/dist/icons/square-9.svg.gz +0 -0
  1125. data/ui/dist/icons/square-check.svg.gz +0 -0
  1126. data/ui/dist/icons/square-dot.svg.gz +0 -0
  1127. data/ui/dist/icons/square-forbid-2.svg.gz +0 -0
  1128. data/ui/dist/icons/square-forbid.svg.gz +0 -0
  1129. data/ui/dist/icons/square-minus.svg.gz +0 -0
  1130. data/ui/dist/icons/square-off.svg.gz +0 -0
  1131. data/ui/dist/icons/square-plus.svg.gz +0 -0
  1132. data/ui/dist/icons/square-root-2.svg.gz +0 -0
  1133. data/ui/dist/icons/square-root.svg.gz +0 -0
  1134. data/ui/dist/icons/square-rotated-off.svg.gz +0 -0
  1135. data/ui/dist/icons/square-rotated.svg.gz +0 -0
  1136. data/ui/dist/icons/square-toggle-horizontal.svg.gz +0 -0
  1137. data/ui/dist/icons/square-toggle.svg.gz +0 -0
  1138. data/ui/dist/icons/square-x.svg.gz +0 -0
  1139. data/ui/dist/icons/square.svg.gz +0 -0
  1140. data/ui/dist/icons/squares-diagonal.svg.gz +0 -0
  1141. data/ui/dist/icons/squares-filled.svg.gz +0 -0
  1142. data/ui/dist/icons/stack-2.svg.gz +0 -0
  1143. data/ui/dist/icons/stack.svg.gz +0 -0
  1144. data/ui/dist/icons/stairs-down.svg.gz +0 -0
  1145. data/ui/dist/icons/stairs-up.svg.gz +0 -0
  1146. data/ui/dist/icons/stairs.svg.gz +0 -0
  1147. data/ui/dist/icons/star-half.svg.gz +0 -0
  1148. data/ui/dist/icons/star-off.svg.gz +0 -0
  1149. data/ui/dist/icons/star.svg.gz +0 -0
  1150. data/ui/dist/icons/stars.svg.gz +0 -0
  1151. data/ui/dist/icons/steering-wheel.svg.gz +0 -0
  1152. data/ui/dist/icons/step-into.svg.gz +0 -0
  1153. data/ui/dist/icons/step-out.svg.gz +0 -0
  1154. data/ui/dist/icons/stethoscope.svg.gz +0 -0
  1155. data/ui/dist/icons/sticker.svg.gz +0 -0
  1156. data/ui/dist/icons/strikethrough.svg.gz +0 -0
  1157. data/ui/dist/icons/submarine.svg.gz +0 -0
  1158. data/ui/dist/icons/subscript.svg.gz +0 -0
  1159. data/ui/dist/icons/subtask.svg.gz +0 -0
  1160. data/ui/dist/icons/sum.svg.gz +0 -0
  1161. data/ui/dist/icons/sun-off.svg.gz +0 -0
  1162. data/ui/dist/icons/sun.svg.gz +0 -0
  1163. data/ui/dist/icons/sunset.svg.gz +0 -0
  1164. data/ui/dist/icons/sunshine.svg.gz +0 -0
  1165. data/ui/dist/icons/superscript.svg.gz +0 -0
  1166. data/ui/dist/icons/swimming.svg.gz +0 -0
  1167. data/ui/dist/icons/switch-2.svg.gz +0 -0
  1168. data/ui/dist/icons/switch-3.svg.gz +0 -0
  1169. data/ui/dist/icons/switch-horizontal.svg.gz +0 -0
  1170. data/ui/dist/icons/switch-vertical.svg.gz +0 -0
  1171. data/ui/dist/icons/switch.svg.gz +0 -0
  1172. data/ui/dist/icons/table-export.svg.gz +0 -0
  1173. data/ui/dist/icons/table-import.svg.gz +0 -0
  1174. data/ui/dist/icons/table-off.svg.gz +0 -0
  1175. data/ui/dist/icons/table.svg.gz +0 -0
  1176. data/ui/dist/icons/tag.svg.gz +0 -0
  1177. data/ui/dist/icons/tallymark-1.svg.gz +0 -0
  1178. data/ui/dist/icons/tallymark-2.svg.gz +0 -0
  1179. data/ui/dist/icons/tallymark-3.svg.gz +0 -0
  1180. data/ui/dist/icons/tallymark-4.svg.gz +0 -0
  1181. data/ui/dist/icons/tallymarks.svg.gz +0 -0
  1182. data/ui/dist/icons/tank.svg.gz +0 -0
  1183. data/ui/dist/icons/target.svg.gz +0 -0
  1184. data/ui/dist/icons/temperature-celsius.svg.gz +0 -0
  1185. data/ui/dist/icons/temperature-fahrenheit.svg.gz +0 -0
  1186. data/ui/dist/icons/temperature-minus.svg.gz +0 -0
  1187. data/ui/dist/icons/temperature-plus.svg.gz +0 -0
  1188. data/ui/dist/icons/temperature.svg.gz +0 -0
  1189. data/ui/dist/icons/template.svg.gz +0 -0
  1190. data/ui/dist/icons/tent.svg.gz +0 -0
  1191. data/ui/dist/icons/terminal-2.svg.gz +0 -0
  1192. data/ui/dist/icons/terminal.svg.gz +0 -0
  1193. data/ui/dist/icons/test-pipe.svg.gz +0 -0
  1194. data/ui/dist/icons/text-direction-ltr.svg.gz +0 -0
  1195. data/ui/dist/icons/text-direction-rtl.svg.gz +0 -0
  1196. data/ui/dist/icons/text-wrap-disabled.svg.gz +0 -0
  1197. data/ui/dist/icons/text-wrap.svg.gz +0 -0
  1198. data/ui/dist/icons/thumb-down.svg.gz +0 -0
  1199. data/ui/dist/icons/thumb-up.svg.gz +0 -0
  1200. data/ui/dist/icons/ticket.svg.gz +0 -0
  1201. data/ui/dist/icons/tilt-shift.svg.gz +0 -0
  1202. data/ui/dist/icons/tir.svg.gz +0 -0
  1203. data/ui/dist/icons/toggle-left.svg.gz +0 -0
  1204. data/ui/dist/icons/toggle-right.svg.gz +0 -0
  1205. data/ui/dist/icons/tool.svg.gz +0 -0
  1206. data/ui/dist/icons/tools-kitchen-2.svg.gz +0 -0
  1207. data/ui/dist/icons/tools-kitchen.svg.gz +0 -0
  1208. data/ui/dist/icons/tools.svg.gz +0 -0
  1209. data/ui/dist/icons/tornado.svg.gz +0 -0
  1210. data/ui/dist/icons/tournament.svg.gz +0 -0
  1211. data/ui/dist/icons/track.svg.gz +0 -0
  1212. data/ui/dist/icons/tractor.svg.gz +0 -0
  1213. data/ui/dist/icons/trademark.svg.gz +0 -0
  1214. data/ui/dist/icons/traffic-cone.svg.gz +0 -0
  1215. data/ui/dist/icons/traffic-lights.svg.gz +0 -0
  1216. data/ui/dist/icons/train.svg.gz +0 -0
  1217. data/ui/dist/icons/trash-off.svg.gz +0 -0
  1218. data/ui/dist/icons/trash.svg.gz +0 -0
  1219. data/ui/dist/icons/tree.svg.gz +0 -0
  1220. data/ui/dist/icons/trees.svg.gz +0 -0
  1221. data/ui/dist/icons/trending-down-2.svg.gz +0 -0
  1222. data/ui/dist/icons/trending-down-3.svg.gz +0 -0
  1223. data/ui/dist/icons/trending-down.svg.gz +0 -0
  1224. data/ui/dist/icons/trending-up-2.svg.gz +0 -0
  1225. data/ui/dist/icons/trending-up-3.svg.gz +0 -0
  1226. data/ui/dist/icons/trending-up.svg.gz +0 -0
  1227. data/ui/dist/icons/triangle-off.svg.gz +0 -0
  1228. data/ui/dist/icons/triangle-square-circle.svg.gz +0 -0
  1229. data/ui/dist/icons/triangle.svg.gz +0 -0
  1230. data/ui/dist/icons/trident.svg.gz +0 -0
  1231. data/ui/dist/icons/trophy.svg.gz +0 -0
  1232. data/ui/dist/icons/truck-delivery.svg.gz +0 -0
  1233. data/ui/dist/icons/truck-off.svg.gz +0 -0
  1234. data/ui/dist/icons/truck-return.svg.gz +0 -0
  1235. data/ui/dist/icons/truck.svg.gz +0 -0
  1236. data/ui/dist/icons/typography.svg.gz +0 -0
  1237. data/ui/dist/icons/umbrella.svg.gz +0 -0
  1238. data/ui/dist/icons/underline.svg.gz +0 -0
  1239. data/ui/dist/icons/unlink.svg.gz +0 -0
  1240. data/ui/dist/icons/upload.svg.gz +0 -0
  1241. data/ui/dist/icons/urgent.svg.gz +0 -0
  1242. data/ui/dist/icons/user-check.svg.gz +0 -0
  1243. data/ui/dist/icons/user-exclamation.svg.gz +0 -0
  1244. data/ui/dist/icons/user-minus.svg.gz +0 -0
  1245. data/ui/dist/icons/user-off.svg.gz +0 -0
  1246. data/ui/dist/icons/user-plus.svg.gz +0 -0
  1247. data/ui/dist/icons/user-x.svg.gz +0 -0
  1248. data/ui/dist/icons/user.svg.gz +0 -0
  1249. data/ui/dist/icons/users.svg.gz +0 -0
  1250. data/ui/dist/icons/vaccine.svg.gz +0 -0
  1251. data/ui/dist/icons/variable.svg.gz +0 -0
  1252. data/ui/dist/icons/vector-beizer-2.svg.gz +0 -0
  1253. data/ui/dist/icons/vector-beizer.svg.gz +0 -0
  1254. data/ui/dist/icons/vector-triangle.svg.gz +0 -0
  1255. data/ui/dist/icons/vector.svg.gz +0 -0
  1256. data/ui/dist/icons/venus.svg.gz +0 -0
  1257. data/ui/dist/icons/versions.svg.gz +0 -0
  1258. data/ui/dist/icons/video-minus.svg.gz +0 -0
  1259. data/ui/dist/icons/video-off.svg.gz +0 -0
  1260. data/ui/dist/icons/video-plus.svg.gz +0 -0
  1261. data/ui/dist/icons/video.svg.gz +0 -0
  1262. data/ui/dist/icons/view-360.svg.gz +0 -0
  1263. data/ui/dist/icons/viewfinder.svg.gz +0 -0
  1264. data/ui/dist/icons/viewport-narrow.svg.gz +0 -0
  1265. data/ui/dist/icons/viewport-wide.svg.gz +0 -0
  1266. data/ui/dist/icons/virus-off.svg.gz +0 -0
  1267. data/ui/dist/icons/virus-search.svg.gz +0 -0
  1268. data/ui/dist/icons/virus.svg.gz +0 -0
  1269. data/ui/dist/icons/volume-2.svg.gz +0 -0
  1270. data/ui/dist/icons/volume-3.svg.gz +0 -0
  1271. data/ui/dist/icons/volume.svg.gz +0 -0
  1272. data/ui/dist/icons/walk.svg.gz +0 -0
  1273. data/ui/dist/icons/wallet.svg.gz +0 -0
  1274. data/ui/dist/icons/wand.svg.gz +0 -0
  1275. data/ui/dist/icons/wave-saw-tool.svg.gz +0 -0
  1276. data/ui/dist/icons/wave-sine.svg.gz +0 -0
  1277. data/ui/dist/icons/wave-square.svg.gz +0 -0
  1278. data/ui/dist/icons/wifi-0.svg.gz +0 -0
  1279. data/ui/dist/icons/wifi-1.svg.gz +0 -0
  1280. data/ui/dist/icons/wifi-2.svg.gz +0 -0
  1281. data/ui/dist/icons/wifi-off.svg.gz +0 -0
  1282. data/ui/dist/icons/wifi.svg.gz +0 -0
  1283. data/ui/dist/icons/wind.svg.gz +0 -0
  1284. data/ui/dist/icons/windmill.svg.gz +0 -0
  1285. data/ui/dist/icons/window.svg.gz +0 -0
  1286. data/ui/dist/icons/wiper-wash.svg.gz +0 -0
  1287. data/ui/dist/icons/wiper.svg.gz +0 -0
  1288. data/ui/dist/icons/woman.svg.gz +0 -0
  1289. data/ui/dist/icons/world-latitude.svg.gz +0 -0
  1290. data/ui/dist/icons/world-longitude.svg.gz +0 -0
  1291. data/ui/dist/icons/world.svg.gz +0 -0
  1292. data/ui/dist/icons/wrecking-ball.svg.gz +0 -0
  1293. data/ui/dist/icons/writing-sign.svg.gz +0 -0
  1294. data/ui/dist/icons/writing.svg.gz +0 -0
  1295. data/ui/dist/icons/x.svg.gz +0 -0
  1296. data/ui/dist/icons/yin-yang.svg.gz +0 -0
  1297. data/ui/dist/icons/zodiac-aquarius.svg.gz +0 -0
  1298. data/ui/dist/icons/zodiac-aries.svg.gz +0 -0
  1299. data/ui/dist/icons/zodiac-cancer.svg.gz +0 -0
  1300. data/ui/dist/icons/zodiac-capricorn.svg.gz +0 -0
  1301. data/ui/dist/icons/zodiac-gemini.svg.gz +0 -0
  1302. data/ui/dist/icons/zodiac-leo.svg.gz +0 -0
  1303. data/ui/dist/icons/zodiac-libra.svg.gz +0 -0
  1304. data/ui/dist/icons/zodiac-pisces.svg.gz +0 -0
  1305. data/ui/dist/icons/zodiac-sagittarius.svg.gz +0 -0
  1306. data/ui/dist/icons/zodiac-scorpio.svg.gz +0 -0
  1307. data/ui/dist/icons/zodiac-taurus.svg.gz +0 -0
  1308. data/ui/dist/icons/zodiac-virgo.svg.gz +0 -0
  1309. data/ui/dist/icons/zoom-cancel.svg.gz +0 -0
  1310. data/ui/dist/icons/zoom-check.svg.gz +0 -0
  1311. data/ui/dist/icons/zoom-in.svg.gz +0 -0
  1312. data/ui/dist/icons/zoom-money.svg.gz +0 -0
  1313. data/ui/dist/icons/zoom-out.svg.gz +0 -0
  1314. data/ui/dist/icons/zoom-question.svg.gz +0 -0
  1315. data/ui/dist/{main-e763d59007bb725ea622.css.gz → main-55914a490baf8f7eba59.css.gz} +0 -0
  1316. data/ui/dist/main-55914a490baf8f7eba59.js.gz +0 -0
  1317. data/ui/dist/manifest.json +2531 -5
  1318. metadata +1271 -34
  1319. data/ui/dist/main-e763d59007bb725ea622.js.gz +0 -0
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Motor
4
4
  class Tag < ::Motor::ApplicationRecord
5
- has_many :taggable_tags
5
+ has_many :taggable_tags, dependent: :destroy
6
6
  end
7
7
  end
@@ -92,7 +92,7 @@
92
92
  <th><%= column[:name] %></th>
93
93
  <% end %>
94
94
  </tr>
95
- <% @query_result.data.first(100).each do |row| %>
95
+ <% @query_result.data.first(40).each do |row| %>
96
96
  <tr>
97
97
  <% row.each do |col| %>
98
98
  <td><%= col.respond_to?(:strftime) ? l(col, format: :long) : col.to_s.truncate(100) %></th>
@@ -1 +1 @@
1
- <%= raw(Motor::Configs::BuildUiAppTag.call) %>
1
+ <%= raw(Motor::Configs::BuildUiAppTag.call(current_user)) %>
data/config/routes.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Motor::Admin.routes.draw do
4
4
  namespace :motor, path: '' do
5
- scope 'api', as: 'api' do
5
+ scope 'api', as: :api do
6
6
  resources :run_queries, only: %i[show create]
7
7
  resources :send_alerts, only: %i[create]
8
8
  resources :queries, only: %i[index show create update destroy]
@@ -13,6 +13,7 @@ Motor::Admin.routes.draw do
13
13
  resources :dashboards, only: %i[index show create update destroy]
14
14
  resources :forms, only: %i[index show create update destroy]
15
15
  resources :alerts, only: %i[index show create update destroy]
16
+ resources :icons, only: %i[index]
16
17
  resources :active_storage_attachments, only: %i[create], path: 'data/active_storage__attachments'
17
18
  resource :schema, only: %i[show update]
18
19
  resources :audits, only: %i[index]
@@ -33,16 +34,15 @@ Motor::Admin.routes.draw do
33
34
 
34
35
  get '/', to: 'ui#show'
35
36
 
36
- scope as: 'ui' do
37
+ scope as: :ui do
38
+ get '/data(/*path)', to: 'ui#index', as: :data
39
+
37
40
  with_options controller: 'ui' do
38
- resources :data, only: %i[index show],
39
- param: 'path',
40
- constraints: { path: /.+/ }
41
41
  resources :reports, only: %i[index show]
42
- resources :queries, only: %i[index show]
43
- resources :dashboards, only: %i[index show]
44
- resources :alerts, only: %i[index show]
45
- resources :forms, only: %i[index show]
42
+ resources :queries, only: %i[index show new]
43
+ resources :dashboards, only: %i[index show new]
44
+ resources :alerts, only: %i[index show new]
45
+ resources :forms, only: %i[index show new]
46
46
  end
47
47
  end
48
48
  end
@@ -1,62 +1,65 @@
1
1
  class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Migration.current_version %>]
2
2
  def self.up
3
3
  create_table :motor_queries do |t|
4
- t.column :name, :string, null: false
5
- t.column :description, :string
6
- t.column :sql_body, :string, null: false
7
- t.column :preferences, :string, null: false, default: '{}'
8
- t.column :author_id, :integer
9
- t.column :author_type, :string
4
+ t.column :name, :text, null: false
5
+ t.column :description, :text
6
+ t.column :sql_body, :text, null: false
7
+ t.column :preferences, :text, null: false
8
+ t.column :author_id, :bigint
9
+ t.column :author_type, :text
10
10
  t.column :deleted_at, :datetime
11
11
 
12
12
  t.timestamps
13
13
 
14
14
  t.index :updated_at
15
- t.index 'lower(name)',
16
- name: 'motor_queries_lower_name_unique_index',
15
+ t.index 'name',
16
+ name: 'motor_queries_name_unique_index',
17
17
  unique: true,
18
- where: 'deleted_at IS NULL'
18
+ where: 'deleted_at IS NULL',
19
+ length: { name: 255 }
19
20
  end
20
21
 
21
22
  create_table :motor_dashboards do |t|
22
- t.column :title, :string, null: false
23
- t.column :description, :string
24
- t.column :preferences, :string, null: false, default: '{}'
25
- t.column :author_id, :integer
26
- t.column :author_type, :string
23
+ t.column :title, :text, null: false
24
+ t.column :description, :text
25
+ t.column :preferences, :text, null: false
26
+ t.column :author_id, :bigint
27
+ t.column :author_type, :text
27
28
  t.column :deleted_at, :datetime
28
29
 
29
30
  t.timestamps
30
31
 
31
32
  t.index :updated_at
32
- t.index 'lower(title)',
33
- name: 'motor_dashboards_lower_title_unique_index',
33
+ t.index 'title',
34
+ name: 'motor_dashboards_title_unique_index',
34
35
  unique: true,
35
- where: 'deleted_at IS NULL'
36
+ where: 'deleted_at IS NULL',
37
+ length: { title: 255 }
36
38
  end
37
39
 
38
40
  create_table :motor_forms do |t|
39
- t.column :name, :string, null: false
40
- t.column :description, :string
41
- t.column :api_path, :string, null: false
42
- t.column :http_method, :string, null: false
43
- t.column :preferences, :string, null: false, default: '{}'
44
- t.column :author_id, :integer
45
- t.column :author_type, :string
41
+ t.column :name, :text, null: false
42
+ t.column :description, :text
43
+ t.column :api_path, :text, null: false
44
+ t.column :http_method, :text, null: false
45
+ t.column :preferences, :text, null: false
46
+ t.column :author_id, :bigint
47
+ t.column :author_type, :text
46
48
  t.column :deleted_at, :datetime
47
49
 
48
50
  t.timestamps
49
51
 
50
52
  t.index :updated_at
51
- t.index 'lower(name)',
52
- name: 'motor_forms_lower_name_unique_index',
53
+ t.index 'name',
54
+ name: 'motor_forms_name_unique_index',
53
55
  unique: true,
54
- where: 'deleted_at IS NULL'
56
+ where: 'deleted_at IS NULL',
57
+ length: { name: 255 }
55
58
  end
56
59
 
57
60
  create_table :motor_resources do |t|
58
- t.column :name, :string, null: false, index: { unique: true }
59
- t.column :preferences, :string, null: false, default: '{}'
61
+ t.column :name, :text, null: false, index: { unique: true, length: 255 }
62
+ t.column :preferences, :text, null: false
60
63
 
61
64
  t.timestamps
62
65
 
@@ -64,8 +67,8 @@ class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Mi
64
67
  end
65
68
 
66
69
  create_table :motor_configs do |t|
67
- t.column :key, :string, null: false, index: { unique: true }
68
- t.column :value, :string, null: false, default: '{}'
70
+ t.column :key, :text, null: false, index: { unique: true, length: 255 }
71
+ t.column :value, :text, null: false
69
72
 
70
73
  t.timestamps
71
74
 
@@ -74,74 +77,80 @@ class <%= migration_class_name %> < ActiveRecord::Migration[<%= ActiveRecord::Mi
74
77
 
75
78
  create_table :motor_alerts do |t|
76
79
  t.references :query, null: false, foreign_key: { to_table: :motor_queries }, index: true
77
- t.column :name, :string, null: false
78
- t.column :description, :string
79
- t.column :to_emails, :string, null: false
80
+ t.column :name, :text, null: false
81
+ t.column :description, :text
82
+ t.column :to_emails, :text, null: false
80
83
  t.column :is_enabled, :boolean, null: false, default: true
81
- t.column :preferences, :string, null: false, default: '{}'
82
- t.column :author_id, :integer
83
- t.column :author_type, :string
84
+ t.column :preferences, :text, null: false
85
+ t.column :author_id, :bigint
86
+ t.column :author_type, :text
84
87
  t.column :deleted_at, :datetime
85
88
 
86
89
  t.timestamps
87
90
 
88
91
  t.index :updated_at
89
- t.index 'lower(name)',
90
- name: 'motor_alerts_lower_name_unique_index',
92
+ t.index 'name',
93
+ name: 'motor_alerts_name_unique_index',
91
94
  unique: true,
92
- where: 'deleted_at IS NULL'
95
+ where: 'deleted_at IS NULL',
96
+ length: { name: 255 }
93
97
  end
94
98
 
95
99
  create_table :motor_alert_locks do |t|
96
100
  t.references :alert, null: false, foreign_key: { to_table: :motor_alerts }
97
- t.column :lock_timestamp, :string, null: false
101
+ t.column :lock_timestamp, :text, null: false
98
102
 
99
103
  t.timestamps
100
104
 
101
- t.index %i[alert_id lock_timestamp], unique: true
105
+ t.index %i[alert_id lock_timestamp], unique: true, length: { lock_timestamp: 255 }
102
106
  end
103
107
 
104
108
  create_table :motor_tags do |t|
105
- t.column :name, :string, null: false
109
+ t.column :name, :text, null: false
106
110
 
107
111
  t.timestamps
108
112
 
109
- t.index 'lower(name)',
110
- name: 'motor_tags_lower_name_unique_index',
111
- unique: true
113
+ t.index 'name',
114
+ name: 'motor_tags_name_unique_index',
115
+ unique: true,
116
+ length: { name: 255 }
112
117
  end
113
118
 
114
119
  create_table :motor_taggable_tags do |t|
115
120
  t.references :tag, null: false, foreign_key: { to_table: :motor_tags }, index: true
116
- t.column :taggable_id, :integer, null: false
117
- t.column :taggable_type, :string, null: false
121
+ t.column :taggable_id, :bigint, null: false
122
+ t.column :taggable_type, :text, null: false
118
123
 
119
124
  t.index %i[taggable_id taggable_type tag_id],
120
125
  name: 'motor_polymorphic_association_tag_index',
121
- unique: true
126
+ unique: true,
127
+ length: { taggable_type: 255 }
122
128
  end
123
129
 
124
130
  create_table :motor_audits do |t|
125
- t.column :auditable_id, :integer
126
- t.column :auditable_type, :string
127
- t.column :associated_id, :integer
128
- t.column :associated_type, :string
129
- t.column :user_id, :integer
130
- t.column :user_type, :string
131
- t.column :username, :string
132
- t.column :action, :string
131
+ t.column :auditable_id, :bigint
132
+ t.column :auditable_type, :text
133
+ t.column :associated_id, :bigint
134
+ t.column :associated_type, :text
135
+ t.column :user_id, :bigint
136
+ t.column :user_type, :text
137
+ t.column :username, :text
138
+ t.column :action, :text
133
139
  t.column :audited_changes, :text
134
- t.column :version, :integer, default: 0
135
- t.column :comment, :string
136
- t.column :remote_address, :string
137
- t.column :request_uuid, :string
140
+ t.column :version, :bigint, default: 0
141
+ t.column :comment, :text
142
+ t.column :remote_address, :text
143
+ t.column :request_uuid, :text
138
144
  t.column :created_at, :datetime
139
145
  end
140
146
 
141
- add_index :motor_audits, %i[auditable_type auditable_id version], name: 'motor_auditable_index'
142
- add_index :motor_audits, %i[associated_type associated_id], name: 'motor_auditable_associated_index'
143
- add_index :motor_audits, %i[user_id user_type], name: 'motor_auditable_user_index'
144
- add_index :motor_audits, :request_uuid
147
+ add_index :motor_audits, %i[auditable_type auditable_id version], name: 'motor_auditable_index',
148
+ length: { auditable_type: 255 }
149
+ add_index :motor_audits, %i[associated_type associated_id], name: 'motor_auditable_associated_index',
150
+ length: { associated_type: 255 }
151
+ add_index :motor_audits, %i[user_id user_type], name: 'motor_auditable_user_index',
152
+ length: { user_type: 255 }
153
+ add_index :motor_audits, :request_uuid, length: { request_uuid: 255 }
145
154
  add_index :motor_audits, :created_at
146
155
  end
147
156
 
data/lib/motor.rb CHANGED
@@ -40,7 +40,6 @@ module Motor
40
40
  (defined?(::Puma) && File.basename($PROGRAM_NAME) == 'puma') ||
41
41
  defined?(::Unicorn::HttpServer) ||
42
42
  defined?(::Mongrel::HttpServer) ||
43
- defined?(::WEBrick::VERSION) ||
44
43
  defined?(JRuby::Rack::VERSION) ||
45
44
  defined?(::Trinidad::Server)
46
45
  end
@@ -1,6 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- module ActiveRecordUtils
3
+ module Motor
4
+ module ActiveRecordUtils
5
+ module_function
6
+
7
+ def reset_id_sequence!(model)
8
+ case ActiveRecord::Base.connection.class.name
9
+ when 'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter'
10
+ ActiveRecord::Base.connection.reset_pk_sequence!(model.table_name)
11
+ else
12
+ ActiveRecord::Base.connection.reset_sequence!(model.table_name, 'id')
13
+ end
14
+ end
15
+ end
4
16
  end
5
17
 
6
18
  require_relative './active_record_utils/types'
@@ -4,7 +4,7 @@ module Motor
4
4
  module ActiveRecordUtils
5
5
  module ActiveStorageLinksExtension
6
6
  def path
7
- Rails.application.routes.url_helpers.rails_blob_path(self)
7
+ Rails.application.routes.url_helpers.rails_blob_path(self, only_path: true)
8
8
  end
9
9
 
10
10
  def url
@@ -28,7 +28,7 @@ module Motor
28
28
  end
29
29
 
30
30
  def create_from_params!(params, current_user = nil)
31
- raise NameAlreadyExists if Alert.exists?(['lower(name) = ?', params[:name].to_s.downcase])
31
+ raise NameAlreadyExists if Alert.exists?(name: params[:name])
32
32
 
33
33
  alert = build_from_params(params, current_user)
34
34
 
@@ -77,7 +77,7 @@ module Motor
77
77
  end
78
78
 
79
79
  def archive_with_existing_name(alert)
80
- Motor::Alert.where(['lower(name) = ? AND id != ?', alert.name.to_s.downcase, alert.id])
80
+ Motor::Alert.where(['name = ? AND id != ?', alert.name, alert.id])
81
81
  .update_all(deleted_at: Time.current)
82
82
  end
83
83
 
@@ -87,9 +87,9 @@ module Motor
87
87
 
88
88
  def name_already_exists?(alert)
89
89
  if alert.new_record?
90
- Alert.exists?(['lower(name) = ?', alert.name.to_s.downcase])
90
+ Alert.exists?(name: alert.name)
91
91
  else
92
- Alert.exists?(['lower(name) = ? AND id != ?', alert.name.to_s.downcase, alert.id])
92
+ Alert.exists?(['name = ? AND id != ?', alert.name, alert.id])
93
93
  end
94
94
  end
95
95
  end
@@ -3,7 +3,8 @@
3
3
  module Motor
4
4
  module Alerts
5
5
  module ScheduledAlertsCache
6
- CACHE_STORE = ActiveSupport::Cache::MemoryStore.new(size: 5.megabytes)
6
+ CACHE_STORE = ActiveSupport::Cache::MemoryStore.new(size: 5.megabytes,
7
+ coder: ActiveSupport::Cache::NullCoder)
7
8
 
8
9
  module_function
9
10
 
@@ -3,7 +3,7 @@
3
3
  module Motor
4
4
  module Alerts
5
5
  module Scheduler
6
- SCHEDULER_INTERVAL = 10.seconds
6
+ SCHEDULER_INTERVAL = 1.minute
7
7
  CHECK_BEHIND_DURATION = 15.minutes
8
8
 
9
9
  SCHEDULER_TASK = Concurrent::TimerTask.new(
@@ -18,7 +18,7 @@ module Motor
18
18
  end
19
19
 
20
20
  def apply_filter_scope(rel, scope)
21
- configs = Motor::Resource.find_by_name(rel.klass.name.underscore)
21
+ configs = Motor::Resource.find_by(name: rel.klass.name.underscore)
22
22
 
23
23
  return rel unless configs
24
24
 
@@ -10,12 +10,12 @@ module Motor
10
10
 
11
11
  rel = rel.preload_associations_lazily if rel.is_a?(ActiveRecord::Relation)
12
12
 
13
- json_params = {}
13
+ json_params = {}.with_indifferent_access
14
14
 
15
15
  assign_include_params(json_params, rel, params)
16
16
  assign_fields_params(json_params, rel, params)
17
17
 
18
- rel.as_json(json_params.with_indifferent_access)
18
+ rel.as_json(json_params)
19
19
  end
20
20
 
21
21
  def assign_include_params(json_params, _rel, api_params)
@@ -51,11 +51,11 @@ module Motor
51
51
  params[:fields].each do |key, fields|
52
52
  fields = fields.split(',') if fields.is_a?(String)
53
53
 
54
- merge_fields_params!(key, fields, json_params, model)
54
+ merge_fields_params!(json_params, key, fields, model)
55
55
  end
56
56
  end
57
57
 
58
- def merge_fields_params!(key, fields, json_params, model)
58
+ def merge_fields_params!(json_params, key, fields, model)
59
59
  model_name = model.name.underscore
60
60
 
61
61
  if key == model_name || model_name.split('/').last == key
@@ -96,8 +96,8 @@ module Motor
96
96
  def normalize_include_params(params)
97
97
  case params
98
98
  when Array
99
- params.each_with_object({}) do |name, hash|
100
- hash[name] = { 'include' => {} }
99
+ params.index_with do |_|
100
+ { 'include' => {} }
101
101
  end
102
102
  when String
103
103
  { params => { 'include' => {} } }
@@ -11,6 +11,7 @@ module Motor
11
11
  params ||= {}
12
12
 
13
13
  rel = rel.limit([MAX_PER_PAGE, (params[:limit] || MAX_PER_PAGE).to_i].min)
14
+
14
15
  rel.offset(params[:offset].to_i)
15
16
  end
16
17
  end
@@ -57,13 +57,7 @@ module Motor
57
57
  def find_searchable_columns(model)
58
58
  model.columns.map do |column|
59
59
  next unless column.type.in?(COLUMN_TYPES)
60
-
61
- has_inclusion_validator =
62
- model.validators_on(column.name).any? do |e|
63
- e.is_a?(ActiveModel::Validations::InclusionValidator)
64
- end
65
-
66
- next if has_inclusion_validator
60
+ next if model.validators_on(column.name).any?(ActiveModel::Validations::InclusionValidator)
67
61
 
68
62
  column.name
69
63
  end.compact