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.
- checksums.yaml +4 -4
- data/LICENSE +1 -1
- data/README.md +129 -9
- data/Rakefile +2 -11
- data/app/controllers/concerns/motor/current_user_method.rb +15 -0
- data/app/controllers/motor/api_base_controller.rb +14 -14
- data/app/controllers/motor/application_controller.rb +1 -0
- data/app/controllers/motor/assets_controller.rb +5 -3
- data/app/controllers/motor/data_controller.rb +0 -6
- data/app/controllers/motor/icons_controller.rb +20 -0
- data/app/controllers/motor/ui_controller.rb +12 -4
- data/app/mailers/motor/alerts_mailer.rb +5 -5
- data/app/models/motor/alert.rb +1 -0
- data/app/models/motor/dashboard.rb +1 -0
- data/app/models/motor/form.rb +1 -0
- data/app/models/motor/query.rb +1 -0
- data/app/models/motor/resource.rb +1 -0
- data/app/models/motor/tag.rb +1 -1
- data/app/views/motor/alerts_mailer/alert_email.html.erb +1 -1
- data/app/views/motor/ui/show.html.erb +1 -1
- data/config/routes.rb +9 -9
- data/lib/generators/motor/templates/install.rb +74 -65
- data/lib/motor.rb +0 -1
- data/lib/motor/active_record_utils.rb +13 -1
- data/lib/motor/active_record_utils/active_storage_links_extension.rb +1 -1
- data/lib/motor/alerts/persistance.rb +4 -4
- data/lib/motor/alerts/scheduled_alerts_cache.rb +2 -1
- data/lib/motor/alerts/scheduler.rb +1 -1
- data/lib/motor/api_query/apply_scope.rb +1 -1
- data/lib/motor/api_query/build_json.rb +6 -6
- data/lib/motor/api_query/paginate.rb +1 -0
- data/lib/motor/api_query/search.rb +1 -7
- data/lib/motor/assets.rb +6 -0
- data/lib/motor/build_schema.rb +1 -0
- data/lib/motor/build_schema/active_storage_attachment_schema.rb +30 -1
- data/lib/motor/build_schema/find_display_column.rb +1 -0
- data/lib/motor/build_schema/find_icon.rb +131 -0
- data/lib/motor/build_schema/load_from_rails.rb +14 -6
- data/lib/motor/build_schema/persist_resource_configs.rb +2 -2
- data/lib/motor/build_schema/utils.rb +13 -0
- data/lib/motor/configs/build_ui_app_tag.rb +8 -7
- data/lib/motor/configs/load_from_cache.rb +19 -14
- data/lib/motor/configs/sync_from_hash.rb +1 -1
- data/lib/motor/configs/sync_with_remote.rb +1 -1
- data/lib/motor/configs/write_to_file.rb +1 -0
- data/lib/motor/dashboards/persistance.rb +4 -4
- data/lib/motor/forms/persistance.rb +4 -4
- data/lib/motor/queries/persistance.rb +4 -4
- data/lib/motor/queries/run_query.rb +3 -3
- data/lib/motor/tags.rb +2 -2
- data/lib/motor/tasks/motor.rake +4 -0
- data/lib/motor/version.rb +1 -1
- data/ui/dist/icons/2fa.svg.gz +0 -0
- data/ui/dist/icons/3d-cube-sphere.svg.gz +0 -0
- data/ui/dist/icons/a-b.svg.gz +0 -0
- data/ui/dist/icons/access-point-off.svg.gz +0 -0
- data/ui/dist/icons/access-point.svg.gz +0 -0
- data/ui/dist/icons/accessible.svg.gz +0 -0
- data/ui/dist/icons/activity.svg.gz +0 -0
- data/ui/dist/icons/ad.svg.gz +0 -0
- data/ui/dist/icons/adjustments-alt.svg.gz +0 -0
- data/ui/dist/icons/adjustments-horizontal.svg.gz +0 -0
- data/ui/dist/icons/adjustments.svg.gz +0 -0
- data/ui/dist/icons/aerial-lift.svg.gz +0 -0
- data/ui/dist/icons/affiliate.svg.gz +0 -0
- data/ui/dist/icons/alarm.svg.gz +0 -0
- data/ui/dist/icons/alert-circle.svg.gz +0 -0
- data/ui/dist/icons/alert-octagon.svg.gz +0 -0
- data/ui/dist/icons/alert-triangle.svg.gz +0 -0
- data/ui/dist/icons/alien.svg.gz +0 -0
- data/ui/dist/icons/align-center.svg.gz +0 -0
- data/ui/dist/icons/align-justified.svg.gz +0 -0
- data/ui/dist/icons/align-left.svg.gz +0 -0
- data/ui/dist/icons/align-right.svg.gz +0 -0
- data/ui/dist/icons/ambulance.svg.gz +0 -0
- data/ui/dist/icons/anchor.svg.gz +0 -0
- data/ui/dist/icons/antenna-bars-1.svg.gz +0 -0
- data/ui/dist/icons/antenna-bars-2.svg.gz +0 -0
- data/ui/dist/icons/antenna-bars-3.svg.gz +0 -0
- data/ui/dist/icons/antenna-bars-4.svg.gz +0 -0
- data/ui/dist/icons/antenna-bars-5.svg.gz +0 -0
- data/ui/dist/icons/aperture.svg.gz +0 -0
- data/ui/dist/icons/apps.svg.gz +0 -0
- data/ui/dist/icons/archive.svg.gz +0 -0
- data/ui/dist/icons/arrow-back-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-back.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-to-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-to-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-to-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-to-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-bar-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-top.svg.gz +0 -0
- data/ui/dist/icons/arrow-bottom-bar.svg.gz +0 -0
- data/ui/dist/icons/arrow-bottom-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-bottom-square.svg.gz +0 -0
- data/ui/dist/icons/arrow-bottom-tail.svg.gz +0 -0
- data/ui/dist/icons/arrow-down-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-down-left-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-down-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-down-right-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-down-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-forward-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-forward.svg.gz +0 -0
- data/ui/dist/icons/arrow-left-bar.svg.gz +0 -0
- data/ui/dist/icons/arrow-left-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-left-square.svg.gz +0 -0
- data/ui/dist/icons/arrow-left-tail.svg.gz +0 -0
- data/ui/dist/icons/arrow-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-loop-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-loop-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-narrow-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-narrow-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-narrow-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-narrow-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-ramp-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-ramp-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-right-bar.svg.gz +0 -0
- data/ui/dist/icons/arrow-right-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-right-square.svg.gz +0 -0
- data/ui/dist/icons/arrow-right-tail.svg.gz +0 -0
- data/ui/dist/icons/arrow-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-top-bar.svg.gz +0 -0
- data/ui/dist/icons/arrow-top-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-top-square.svg.gz +0 -0
- data/ui/dist/icons/arrow-top-tail.svg.gz +0 -0
- data/ui/dist/icons/arrow-up-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-up-left-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-up-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-up-right-circle.svg.gz +0 -0
- data/ui/dist/icons/arrow-up-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-wave-left-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-wave-left-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-wave-right-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-wave-right-up.svg.gz +0 -0
- data/ui/dist/icons/arrows-diagonal-2.svg.gz +0 -0
- data/ui/dist/icons/arrows-diagonal.svg.gz +0 -0
- data/ui/dist/icons/arrows-double-ne-sw.svg.gz +0 -0
- data/ui/dist/icons/arrows-double-nw-se.svg.gz +0 -0
- data/ui/dist/icons/arrows-double-se-nw.svg.gz +0 -0
- data/ui/dist/icons/arrows-double-sw-ne.svg.gz +0 -0
- data/ui/dist/icons/arrows-down-up.svg.gz +0 -0
- data/ui/dist/icons/arrows-down.svg.gz +0 -0
- data/ui/dist/icons/arrows-horizontal.svg.gz +0 -0
- data/ui/dist/icons/arrows-join-2.svg.gz +0 -0
- data/ui/dist/icons/arrows-join.svg.gz +0 -0
- data/ui/dist/icons/arrows-left-down.svg.gz +0 -0
- data/ui/dist/icons/arrows-left-right.svg.gz +0 -0
- data/ui/dist/icons/arrows-left.svg.gz +0 -0
- data/ui/dist/icons/arrows-maximize.svg.gz +0 -0
- data/ui/dist/icons/arrows-minimize.svg.gz +0 -0
- data/ui/dist/icons/arrows-right-down.svg.gz +0 -0
- data/ui/dist/icons/arrows-right-left.svg.gz +0 -0
- data/ui/dist/icons/arrows-right.svg.gz +0 -0
- data/ui/dist/icons/arrows-sort.svg.gz +0 -0
- data/ui/dist/icons/arrows-split-2.svg.gz +0 -0
- data/ui/dist/icons/arrows-split.svg.gz +0 -0
- data/ui/dist/icons/arrows-up-down.svg.gz +0 -0
- data/ui/dist/icons/arrows-up-left.svg.gz +0 -0
- data/ui/dist/icons/arrows-up-right.svg.gz +0 -0
- data/ui/dist/icons/arrows-up.svg.gz +0 -0
- data/ui/dist/icons/arrows-vertical.svg.gz +0 -0
- data/ui/dist/icons/artboard.svg.gz +0 -0
- data/ui/dist/icons/aspect-ratio.svg.gz +0 -0
- data/ui/dist/icons/at.svg.gz +0 -0
- data/ui/dist/icons/atom-2.svg.gz +0 -0
- data/ui/dist/icons/atom.svg.gz +0 -0
- data/ui/dist/icons/award.svg.gz +0 -0
- data/ui/dist/icons/backhoe.svg.gz +0 -0
- data/ui/dist/icons/backspace.svg.gz +0 -0
- data/ui/dist/icons/ball-american-football.svg.gz +0 -0
- data/ui/dist/icons/ball-basketball.svg.gz +0 -0
- data/ui/dist/icons/ball-bowling.svg.gz +0 -0
- data/ui/dist/icons/ball-football-off.svg.gz +0 -0
- data/ui/dist/icons/ball-football.svg.gz +0 -0
- data/ui/dist/icons/ball-tennis.svg.gz +0 -0
- data/ui/dist/icons/ball-volleyball.svg.gz +0 -0
- data/ui/dist/icons/ban.svg.gz +0 -0
- data/ui/dist/icons/bandage.svg.gz +0 -0
- data/ui/dist/icons/barcode.svg.gz +0 -0
- data/ui/dist/icons/basket.svg.gz +0 -0
- data/ui/dist/icons/battery-1.svg.gz +0 -0
- data/ui/dist/icons/battery-2.svg.gz +0 -0
- data/ui/dist/icons/battery-3.svg.gz +0 -0
- data/ui/dist/icons/battery-4.svg.gz +0 -0
- data/ui/dist/icons/battery-automotive.svg.gz +0 -0
- data/ui/dist/icons/battery-charging.svg.gz +0 -0
- data/ui/dist/icons/battery-off.svg.gz +0 -0
- data/ui/dist/icons/battery.svg.gz +0 -0
- data/ui/dist/icons/bed.svg.gz +0 -0
- data/ui/dist/icons/bell-minus.svg.gz +0 -0
- data/ui/dist/icons/bell-off.svg.gz +0 -0
- data/ui/dist/icons/bell-plus.svg.gz +0 -0
- data/ui/dist/icons/bell-ringing-2.svg.gz +0 -0
- data/ui/dist/icons/bell-ringing.svg.gz +0 -0
- data/ui/dist/icons/bell-x.svg.gz +0 -0
- data/ui/dist/icons/bell.svg.gz +0 -0
- data/ui/dist/icons/bike.svg.gz +0 -0
- data/ui/dist/icons/binary.svg.gz +0 -0
- data/ui/dist/icons/biohazard.svg.gz +0 -0
- data/ui/dist/icons/blockquote.svg.gz +0 -0
- data/ui/dist/icons/bluetooth-connected.svg.gz +0 -0
- data/ui/dist/icons/bluetooth-off.svg.gz +0 -0
- data/ui/dist/icons/bluetooth.svg.gz +0 -0
- data/ui/dist/icons/bold.svg.gz +0 -0
- data/ui/dist/icons/bolt-off.svg.gz +0 -0
- data/ui/dist/icons/bolt.svg.gz +0 -0
- data/ui/dist/icons/bone.svg.gz +0 -0
- data/ui/dist/icons/book.svg.gz +0 -0
- data/ui/dist/icons/bookmark-off.svg.gz +0 -0
- data/ui/dist/icons/bookmark.svg.gz +0 -0
- data/ui/dist/icons/bookmarks.svg.gz +0 -0
- data/ui/dist/icons/border-all.svg.gz +0 -0
- data/ui/dist/icons/border-bottom.svg.gz +0 -0
- data/ui/dist/icons/border-horizontal.svg.gz +0 -0
- data/ui/dist/icons/border-inner.svg.gz +0 -0
- data/ui/dist/icons/border-left.svg.gz +0 -0
- data/ui/dist/icons/border-none.svg.gz +0 -0
- data/ui/dist/icons/border-outer.svg.gz +0 -0
- data/ui/dist/icons/border-radius.svg.gz +0 -0
- data/ui/dist/icons/border-right.svg.gz +0 -0
- data/ui/dist/icons/border-style.svg.gz +0 -0
- data/ui/dist/icons/border-top.svg.gz +0 -0
- data/ui/dist/icons/border-vertical.svg.gz +0 -0
- data/ui/dist/icons/box-margin.svg.gz +0 -0
- data/ui/dist/icons/box-model.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-0.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-1.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-2.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-3.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-4.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-5.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-6.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-7.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-8.svg.gz +0 -0
- data/ui/dist/icons/box-multiple-9.svg.gz +0 -0
- data/ui/dist/icons/box-multiple.svg.gz +0 -0
- data/ui/dist/icons/box-padding.svg.gz +0 -0
- data/ui/dist/icons/box.svg.gz +0 -0
- data/ui/dist/icons/braces.svg.gz +0 -0
- data/ui/dist/icons/brackets.svg.gz +0 -0
- data/ui/dist/icons/brand-airbnb.svg.gz +0 -0
- data/ui/dist/icons/brand-android.svg.gz +0 -0
- data/ui/dist/icons/brand-apple-arcade.svg.gz +0 -0
- data/ui/dist/icons/brand-apple.svg.gz +0 -0
- data/ui/dist/icons/brand-appstore.svg.gz +0 -0
- data/ui/dist/icons/brand-asana.svg.gz +0 -0
- data/ui/dist/icons/brand-behance.svg.gz +0 -0
- data/ui/dist/icons/brand-bing.svg.gz +0 -0
- data/ui/dist/icons/brand-bitbucket.svg.gz +0 -0
- data/ui/dist/icons/brand-booking.svg.gz +0 -0
- data/ui/dist/icons/brand-chrome.svg.gz +0 -0
- data/ui/dist/icons/brand-codepen.svg.gz +0 -0
- data/ui/dist/icons/brand-codesandbox.svg.gz +0 -0
- data/ui/dist/icons/brand-css3.svg.gz +0 -0
- data/ui/dist/icons/brand-deviantart.svg.gz +0 -0
- data/ui/dist/icons/brand-discord.svg.gz +0 -0
- data/ui/dist/icons/brand-disqus.svg.gz +0 -0
- data/ui/dist/icons/brand-docker.svg.gz +0 -0
- data/ui/dist/icons/brand-dribbble.svg.gz +0 -0
- data/ui/dist/icons/brand-edge.svg.gz +0 -0
- data/ui/dist/icons/brand-facebook.svg.gz +0 -0
- data/ui/dist/icons/brand-figma.svg.gz +0 -0
- data/ui/dist/icons/brand-firefox.svg.gz +0 -0
- data/ui/dist/icons/brand-flickr.svg.gz +0 -0
- data/ui/dist/icons/brand-foursquare.svg.gz +0 -0
- data/ui/dist/icons/brand-framer.svg.gz +0 -0
- data/ui/dist/icons/brand-github.svg.gz +0 -0
- data/ui/dist/icons/brand-gitlab.svg.gz +0 -0
- data/ui/dist/icons/brand-google-analytics.svg.gz +0 -0
- data/ui/dist/icons/brand-google-drive.svg.gz +0 -0
- data/ui/dist/icons/brand-google-play.svg.gz +0 -0
- data/ui/dist/icons/brand-google.svg.gz +0 -0
- data/ui/dist/icons/brand-gravatar.svg.gz +0 -0
- data/ui/dist/icons/brand-hipchat.svg.gz +0 -0
- data/ui/dist/icons/brand-html5.svg.gz +0 -0
- data/ui/dist/icons/brand-instagram.svg.gz +0 -0
- data/ui/dist/icons/brand-kickstarter.svg.gz +0 -0
- data/ui/dist/icons/brand-kotlin.svg.gz +0 -0
- data/ui/dist/icons/brand-linkedin.svg.gz +0 -0
- data/ui/dist/icons/brand-medium.svg.gz +0 -0
- data/ui/dist/icons/brand-messenger.svg.gz +0 -0
- data/ui/dist/icons/brand-netflix.svg.gz +0 -0
- data/ui/dist/icons/brand-open-source.svg.gz +0 -0
- data/ui/dist/icons/brand-opera.svg.gz +0 -0
- data/ui/dist/icons/brand-pagekit.svg.gz +0 -0
- data/ui/dist/icons/brand-patreon.svg.gz +0 -0
- data/ui/dist/icons/brand-paypal.svg.gz +0 -0
- data/ui/dist/icons/brand-pinterest.svg.gz +0 -0
- data/ui/dist/icons/brand-pocket.svg.gz +0 -0
- data/ui/dist/icons/brand-producthunt.svg.gz +0 -0
- data/ui/dist/icons/brand-python.svg.gz +0 -0
- data/ui/dist/icons/brand-reddit.svg.gz +0 -0
- data/ui/dist/icons/brand-safari.svg.gz +0 -0
- data/ui/dist/icons/brand-sass.svg.gz +0 -0
- data/ui/dist/icons/brand-sentry.svg.gz +0 -0
- data/ui/dist/icons/brand-shazam.svg.gz +0 -0
- data/ui/dist/icons/brand-sketch.svg.gz +0 -0
- data/ui/dist/icons/brand-skype.svg.gz +0 -0
- data/ui/dist/icons/brand-slack.svg.gz +0 -0
- data/ui/dist/icons/brand-snapchat.svg.gz +0 -0
- data/ui/dist/icons/brand-soundcloud.svg.gz +0 -0
- data/ui/dist/icons/brand-spotify.svg.gz +0 -0
- data/ui/dist/icons/brand-steam.svg.gz +0 -0
- data/ui/dist/icons/brand-stripe.svg.gz +0 -0
- data/ui/dist/icons/brand-tabler.svg.gz +0 -0
- data/ui/dist/icons/brand-tailwind.svg.gz +0 -0
- data/ui/dist/icons/brand-telegram.svg.gz +0 -0
- data/ui/dist/icons/brand-tidal.svg.gz +0 -0
- data/ui/dist/icons/brand-tiktok.svg.gz +0 -0
- data/ui/dist/icons/brand-tinder.svg.gz +0 -0
- data/ui/dist/icons/brand-tumblr.svg.gz +0 -0
- data/ui/dist/icons/brand-twitch.svg.gz +0 -0
- data/ui/dist/icons/brand-twitter.svg.gz +0 -0
- data/ui/dist/icons/brand-unsplash.svg.gz +0 -0
- data/ui/dist/icons/brand-vimeo.svg.gz +0 -0
- data/ui/dist/icons/brand-vk.svg.gz +0 -0
- data/ui/dist/icons/brand-whatsapp.svg.gz +0 -0
- data/ui/dist/icons/brand-windows.svg.gz +0 -0
- data/ui/dist/icons/brand-yahoo.svg.gz +0 -0
- data/ui/dist/icons/brand-ycombinator.svg.gz +0 -0
- data/ui/dist/icons/brand-youtube.svg.gz +0 -0
- data/ui/dist/icons/briefcase.svg.gz +0 -0
- data/ui/dist/icons/brightness-2.svg.gz +0 -0
- data/ui/dist/icons/brightness-down.svg.gz +0 -0
- data/ui/dist/icons/brightness-half.svg.gz +0 -0
- data/ui/dist/icons/brightness-up.svg.gz +0 -0
- data/ui/dist/icons/brightness.svg.gz +0 -0
- data/ui/dist/icons/browser.svg.gz +0 -0
- data/ui/dist/icons/brush.svg.gz +0 -0
- data/ui/dist/icons/bucket.svg.gz +0 -0
- data/ui/dist/icons/bug.svg.gz +0 -0
- data/ui/dist/icons/building-arch.svg.gz +0 -0
- data/ui/dist/icons/building-bank.svg.gz +0 -0
- data/ui/dist/icons/building-bridge-2.svg.gz +0 -0
- data/ui/dist/icons/building-bridge.svg.gz +0 -0
- data/ui/dist/icons/building-carousel.svg.gz +0 -0
- data/ui/dist/icons/building-castle.svg.gz +0 -0
- data/ui/dist/icons/building-church.svg.gz +0 -0
- data/ui/dist/icons/building-community.svg.gz +0 -0
- data/ui/dist/icons/building-cottage.svg.gz +0 -0
- data/ui/dist/icons/building-factory.svg.gz +0 -0
- data/ui/dist/icons/building-fortress.svg.gz +0 -0
- data/ui/dist/icons/building-hospital.svg.gz +0 -0
- data/ui/dist/icons/building-lighthouse.svg.gz +0 -0
- data/ui/dist/icons/building-monument.svg.gz +0 -0
- data/ui/dist/icons/building-pavilon.svg.gz +0 -0
- data/ui/dist/icons/building-skyscraper.svg.gz +0 -0
- data/ui/dist/icons/building-store.svg.gz +0 -0
- data/ui/dist/icons/building-warehouse.svg.gz +0 -0
- data/ui/dist/icons/building.svg.gz +0 -0
- data/ui/dist/icons/bulb-off.svg.gz +0 -0
- data/ui/dist/icons/bulb.svg.gz +0 -0
- data/ui/dist/icons/bulldozer.svg.gz +0 -0
- data/ui/dist/icons/bus.svg.gz +0 -0
- data/ui/dist/icons/businessplan.svg.gz +0 -0
- data/ui/dist/icons/calculator.svg.gz +0 -0
- data/ui/dist/icons/calendar-event.svg.gz +0 -0
- data/ui/dist/icons/calendar-minus.svg.gz +0 -0
- data/ui/dist/icons/calendar-off.svg.gz +0 -0
- data/ui/dist/icons/calendar-plus.svg.gz +0 -0
- data/ui/dist/icons/calendar-stats.svg.gz +0 -0
- data/ui/dist/icons/calendar-time.svg.gz +0 -0
- data/ui/dist/icons/calendar.svg.gz +0 -0
- data/ui/dist/icons/camera-minus.svg.gz +0 -0
- data/ui/dist/icons/camera-off.svg.gz +0 -0
- data/ui/dist/icons/camera-plus.svg.gz +0 -0
- data/ui/dist/icons/camera-rotate.svg.gz +0 -0
- data/ui/dist/icons/camera-selfie.svg.gz +0 -0
- data/ui/dist/icons/camera.svg.gz +0 -0
- data/ui/dist/icons/capture.svg.gz +0 -0
- data/ui/dist/icons/car.svg.gz +0 -0
- data/ui/dist/icons/caravan.svg.gz +0 -0
- data/ui/dist/icons/cardboards.svg.gz +0 -0
- data/ui/dist/icons/caret-down.svg.gz +0 -0
- data/ui/dist/icons/caret-left.svg.gz +0 -0
- data/ui/dist/icons/caret-right.svg.gz +0 -0
- data/ui/dist/icons/caret-up.svg.gz +0 -0
- data/ui/dist/icons/cash-banknote-off.svg.gz +0 -0
- data/ui/dist/icons/cash-banknote.svg.gz +0 -0
- data/ui/dist/icons/cash.svg.gz +0 -0
- data/ui/dist/icons/cast.svg.gz +0 -0
- data/ui/dist/icons/ce.svg.gz +0 -0
- data/ui/dist/icons/certificate.svg.gz +0 -0
- data/ui/dist/icons/charging-pile.svg.gz +0 -0
- data/ui/dist/icons/chart-arcs-3.svg.gz +0 -0
- data/ui/dist/icons/chart-arcs.svg.gz +0 -0
- data/ui/dist/icons/chart-area-line.svg.gz +0 -0
- data/ui/dist/icons/chart-area.svg.gz +0 -0
- data/ui/dist/icons/chart-arrows-vertical.svg.gz +0 -0
- data/ui/dist/icons/chart-arrows.svg.gz +0 -0
- data/ui/dist/icons/chart-bar.svg.gz +0 -0
- data/ui/dist/icons/chart-bubble.svg.gz +0 -0
- data/ui/dist/icons/chart-candle.svg.gz +0 -0
- data/ui/dist/icons/chart-circles.svg.gz +0 -0
- data/ui/dist/icons/chart-donut-2.svg.gz +0 -0
- data/ui/dist/icons/chart-donut-3.svg.gz +0 -0
- data/ui/dist/icons/chart-donut-4.svg.gz +0 -0
- data/ui/dist/icons/chart-donut.svg.gz +0 -0
- data/ui/dist/icons/chart-dots.svg.gz +0 -0
- data/ui/dist/icons/chart-infographic.svg.gz +0 -0
- data/ui/dist/icons/chart-line.svg.gz +0 -0
- data/ui/dist/icons/chart-pie-2.svg.gz +0 -0
- data/ui/dist/icons/chart-pie-3.svg.gz +0 -0
- data/ui/dist/icons/chart-pie-4.svg.gz +0 -0
- data/ui/dist/icons/chart-pie.svg.gz +0 -0
- data/ui/dist/icons/chart-radar.svg.gz +0 -0
- data/ui/dist/icons/check.svg.gz +0 -0
- data/ui/dist/icons/checkbox.svg.gz +0 -0
- data/ui/dist/icons/checks.svg.gz +0 -0
- data/ui/dist/icons/chevron-down-left.svg.gz +0 -0
- data/ui/dist/icons/chevron-down-right.svg.gz +0 -0
- data/ui/dist/icons/chevron-down.svg.gz +0 -0
- data/ui/dist/icons/chevron-left.svg.gz +0 -0
- data/ui/dist/icons/chevron-right.svg.gz +0 -0
- data/ui/dist/icons/chevron-up-left.svg.gz +0 -0
- data/ui/dist/icons/chevron-up-right.svg.gz +0 -0
- data/ui/dist/icons/chevron-up.svg.gz +0 -0
- data/ui/dist/icons/chevrons-down-left.svg.gz +0 -0
- data/ui/dist/icons/chevrons-down-right.svg.gz +0 -0
- data/ui/dist/icons/chevrons-down.svg.gz +0 -0
- data/ui/dist/icons/chevrons-left.svg.gz +0 -0
- data/ui/dist/icons/chevrons-right.svg.gz +0 -0
- data/ui/dist/icons/chevrons-up-left.svg.gz +0 -0
- data/ui/dist/icons/chevrons-up-right.svg.gz +0 -0
- data/ui/dist/icons/chevrons-up.svg.gz +0 -0
- data/ui/dist/icons/christmas-tree.svg.gz +0 -0
- data/ui/dist/icons/circle-0.svg.gz +0 -0
- data/ui/dist/icons/circle-1.svg.gz +0 -0
- data/ui/dist/icons/circle-2.svg.gz +0 -0
- data/ui/dist/icons/circle-3.svg.gz +0 -0
- data/ui/dist/icons/circle-4.svg.gz +0 -0
- data/ui/dist/icons/circle-5.svg.gz +0 -0
- data/ui/dist/icons/circle-6.svg.gz +0 -0
- data/ui/dist/icons/circle-7.svg.gz +0 -0
- data/ui/dist/icons/circle-8.svg.gz +0 -0
- data/ui/dist/icons/circle-9.svg.gz +0 -0
- data/ui/dist/icons/circle-check.svg.gz +0 -0
- data/ui/dist/icons/circle-dashed.svg.gz +0 -0
- data/ui/dist/icons/circle-dotted.svg.gz +0 -0
- data/ui/dist/icons/circle-half-vertical.svg.gz +0 -0
- data/ui/dist/icons/circle-half.svg.gz +0 -0
- data/ui/dist/icons/circle-minus.svg.gz +0 -0
- data/ui/dist/icons/circle-off.svg.gz +0 -0
- data/ui/dist/icons/circle-plus.svg.gz +0 -0
- data/ui/dist/icons/circle-square.svg.gz +0 -0
- data/ui/dist/icons/circle-x.svg.gz +0 -0
- data/ui/dist/icons/circle.svg.gz +0 -0
- data/ui/dist/icons/circles.svg.gz +0 -0
- data/ui/dist/icons/clear-all.svg.gz +0 -0
- data/ui/dist/icons/clear-formatting.svg.gz +0 -0
- data/ui/dist/icons/click.svg.gz +0 -0
- data/ui/dist/icons/clipboard-check.svg.gz +0 -0
- data/ui/dist/icons/clipboard-list.svg.gz +0 -0
- data/ui/dist/icons/clipboard-x.svg.gz +0 -0
- data/ui/dist/icons/clipboard.svg.gz +0 -0
- data/ui/dist/icons/clock.svg.gz +0 -0
- data/ui/dist/icons/cloud-download.svg.gz +0 -0
- data/ui/dist/icons/cloud-fog.svg.gz +0 -0
- data/ui/dist/icons/cloud-off.svg.gz +0 -0
- data/ui/dist/icons/cloud-rain.svg.gz +0 -0
- data/ui/dist/icons/cloud-snow.svg.gz +0 -0
- data/ui/dist/icons/cloud-storm.svg.gz +0 -0
- data/ui/dist/icons/cloud-upload.svg.gz +0 -0
- data/ui/dist/icons/cloud.svg.gz +0 -0
- data/ui/dist/icons/code-minus.svg.gz +0 -0
- data/ui/dist/icons/code-plus.svg.gz +0 -0
- data/ui/dist/icons/code.svg.gz +0 -0
- data/ui/dist/icons/coin.svg.gz +0 -0
- data/ui/dist/icons/color-picker.svg.gz +0 -0
- data/ui/dist/icons/color-swatch.svg.gz +0 -0
- data/ui/dist/icons/column-insert-left.svg.gz +0 -0
- data/ui/dist/icons/column-insert-right.svg.gz +0 -0
- data/ui/dist/icons/columns.svg.gz +0 -0
- data/ui/dist/icons/comet.svg.gz +0 -0
- data/ui/dist/icons/command.svg.gz +0 -0
- data/ui/dist/icons/compass.svg.gz +0 -0
- data/ui/dist/icons/confetti.svg.gz +0 -0
- data/ui/dist/icons/container.svg.gz +0 -0
- data/ui/dist/icons/contrast.svg.gz +0 -0
- data/ui/dist/icons/copy.svg.gz +0 -0
- data/ui/dist/icons/copyleft.svg.gz +0 -0
- data/ui/dist/icons/copyright.svg.gz +0 -0
- data/ui/dist/icons/corner-down-left-double.svg.gz +0 -0
- data/ui/dist/icons/corner-down-left.svg.gz +0 -0
- data/ui/dist/icons/corner-down-right-double.svg.gz +0 -0
- data/ui/dist/icons/corner-down-right.svg.gz +0 -0
- data/ui/dist/icons/corner-left-down-double.svg.gz +0 -0
- data/ui/dist/icons/corner-left-down.svg.gz +0 -0
- data/ui/dist/icons/corner-left-up-double.svg.gz +0 -0
- data/ui/dist/icons/corner-left-up.svg.gz +0 -0
- data/ui/dist/icons/corner-right-down-double.svg.gz +0 -0
- data/ui/dist/icons/corner-right-down.svg.gz +0 -0
- data/ui/dist/icons/corner-right-up-double.svg.gz +0 -0
- data/ui/dist/icons/corner-right-up.svg.gz +0 -0
- data/ui/dist/icons/corner-up-left-double.svg.gz +0 -0
- data/ui/dist/icons/corner-up-left.svg.gz +0 -0
- data/ui/dist/icons/corner-up-right-double.svg.gz +0 -0
- data/ui/dist/icons/corner-up-right.svg.gz +0 -0
- data/ui/dist/icons/credit-card-off.svg.gz +0 -0
- data/ui/dist/icons/credit-card.svg.gz +0 -0
- data/ui/dist/icons/crop.svg.gz +0 -0
- data/ui/dist/icons/crosshair.svg.gz +0 -0
- data/ui/dist/icons/crown-off.svg.gz +0 -0
- data/ui/dist/icons/crown.svg.gz +0 -0
- data/ui/dist/icons/curly-loop.svg.gz +0 -0
- data/ui/dist/icons/currency-bahraini.svg.gz +0 -0
- data/ui/dist/icons/currency-bath.svg.gz +0 -0
- data/ui/dist/icons/currency-bitcoin.svg.gz +0 -0
- data/ui/dist/icons/currency-cent.svg.gz +0 -0
- data/ui/dist/icons/currency-dinar.svg.gz +0 -0
- data/ui/dist/icons/currency-dirham.svg.gz +0 -0
- data/ui/dist/icons/currency-dollar-australian.svg.gz +0 -0
- data/ui/dist/icons/currency-dollar-canadian.svg.gz +0 -0
- data/ui/dist/icons/currency-dollar-singapore.svg.gz +0 -0
- data/ui/dist/icons/currency-dollar.svg.gz +0 -0
- data/ui/dist/icons/currency-ethereum.svg.gz +0 -0
- data/ui/dist/icons/currency-euro.svg.gz +0 -0
- data/ui/dist/icons/currency-forint.svg.gz +0 -0
- data/ui/dist/icons/currency-frank.svg.gz +0 -0
- data/ui/dist/icons/currency-krone-czech.svg.gz +0 -0
- data/ui/dist/icons/currency-krone-danish.svg.gz +0 -0
- data/ui/dist/icons/currency-krone-swedish.svg.gz +0 -0
- data/ui/dist/icons/currency-leu.svg.gz +0 -0
- data/ui/dist/icons/currency-lira.svg.gz +0 -0
- data/ui/dist/icons/currency-litecoin.svg.gz +0 -0
- data/ui/dist/icons/currency-naira.svg.gz +0 -0
- data/ui/dist/icons/currency-pound.svg.gz +0 -0
- data/ui/dist/icons/currency-real.svg.gz +0 -0
- data/ui/dist/icons/currency-renminbi.svg.gz +0 -0
- data/ui/dist/icons/currency-ripple.svg.gz +0 -0
- data/ui/dist/icons/currency-riyal.svg.gz +0 -0
- data/ui/dist/icons/currency-rubel.svg.gz +0 -0
- data/ui/dist/icons/currency-rupee.svg.gz +0 -0
- data/ui/dist/icons/currency-shekel.svg.gz +0 -0
- data/ui/dist/icons/currency-taka.svg.gz +0 -0
- data/ui/dist/icons/currency-tugrik.svg.gz +0 -0
- data/ui/dist/icons/currency-won.svg.gz +0 -0
- data/ui/dist/icons/currency-yen.svg.gz +0 -0
- data/ui/dist/icons/currency-zloty.svg.gz +0 -0
- data/ui/dist/icons/current-location.svg.gz +0 -0
- data/ui/dist/icons/cursor-text.svg.gz +0 -0
- data/ui/dist/icons/cut.svg.gz +0 -0
- data/ui/dist/icons/dashboard.svg.gz +0 -0
- data/ui/dist/icons/database-export.svg.gz +0 -0
- data/ui/dist/icons/database-import.svg.gz +0 -0
- data/ui/dist/icons/database-off.svg.gz +0 -0
- data/ui/dist/icons/database.svg.gz +0 -0
- data/ui/dist/icons/details.svg.gz +0 -0
- data/ui/dist/icons/device-analytics.svg.gz +0 -0
- data/ui/dist/icons/device-audio-tape.svg.gz +0 -0
- data/ui/dist/icons/device-cctv.svg.gz +0 -0
- data/ui/dist/icons/device-computer-camera-off.svg.gz +0 -0
- data/ui/dist/icons/device-computer-camera.svg.gz +0 -0
- data/ui/dist/icons/device-desktop-analytics.svg.gz +0 -0
- data/ui/dist/icons/device-desktop-off.svg.gz +0 -0
- data/ui/dist/icons/device-desktop.svg.gz +0 -0
- data/ui/dist/icons/device-floppy.svg.gz +0 -0
- data/ui/dist/icons/device-gamepad.svg.gz +0 -0
- data/ui/dist/icons/device-laptop.svg.gz +0 -0
- data/ui/dist/icons/device-mobile-message.svg.gz +0 -0
- data/ui/dist/icons/device-mobile-rotated.svg.gz +0 -0
- data/ui/dist/icons/device-mobile-vibration.svg.gz +0 -0
- data/ui/dist/icons/device-mobile.svg.gz +0 -0
- data/ui/dist/icons/device-speaker.svg.gz +0 -0
- data/ui/dist/icons/device-tablet.svg.gz +0 -0
- data/ui/dist/icons/device-tv.svg.gz +0 -0
- data/ui/dist/icons/device-watch.svg.gz +0 -0
- data/ui/dist/icons/devices-2.svg.gz +0 -0
- data/ui/dist/icons/devices-pc.svg.gz +0 -0
- data/ui/dist/icons/devices.svg.gz +0 -0
- data/ui/dist/icons/diamond.svg.gz +0 -0
- data/ui/dist/icons/dice.svg.gz +0 -0
- data/ui/dist/icons/dimensions.svg.gz +0 -0
- data/ui/dist/icons/direction-horizontal.svg.gz +0 -0
- data/ui/dist/icons/direction.svg.gz +0 -0
- data/ui/dist/icons/directions.svg.gz +0 -0
- data/ui/dist/icons/disabled-2.svg.gz +0 -0
- data/ui/dist/icons/disabled.svg.gz +0 -0
- data/ui/dist/icons/disc.svg.gz +0 -0
- data/ui/dist/icons/discount-2.svg.gz +0 -0
- data/ui/dist/icons/discount.svg.gz +0 -0
- data/ui/dist/icons/divide.svg.gz +0 -0
- data/ui/dist/icons/dna.svg.gz +0 -0
- data/ui/dist/icons/dots-circle-horizontal.svg.gz +0 -0
- data/ui/dist/icons/dots-diagonal-2.svg.gz +0 -0
- data/ui/dist/icons/dots-diagonal.svg.gz +0 -0
- data/ui/dist/icons/dots-vertical.svg.gz +0 -0
- data/ui/dist/icons/dots.svg.gz +0 -0
- data/ui/dist/icons/download.svg.gz +0 -0
- data/ui/dist/icons/drag-drop-2.svg.gz +0 -0
- data/ui/dist/icons/drag-drop.svg.gz +0 -0
- data/ui/dist/icons/drone-off.svg.gz +0 -0
- data/ui/dist/icons/drone.svg.gz +0 -0
- data/ui/dist/icons/droplet-filled-2.svg.gz +0 -0
- data/ui/dist/icons/droplet-filled.svg.gz +0 -0
- data/ui/dist/icons/droplet-half-2.svg.gz +0 -0
- data/ui/dist/icons/droplet-half.svg.gz +0 -0
- data/ui/dist/icons/droplet-off.svg.gz +0 -0
- data/ui/dist/icons/droplet.svg.gz +0 -0
- data/ui/dist/icons/ear-off.svg.gz +0 -0
- data/ui/dist/icons/ear.svg.gz +0 -0
- data/ui/dist/icons/edit-circle.svg.gz +0 -0
- data/ui/dist/icons/edit.svg.gz +0 -0
- data/ui/dist/icons/egg.svg.gz +0 -0
- data/ui/dist/icons/emphasis.svg.gz +0 -0
- data/ui/dist/icons/equal-not.svg.gz +0 -0
- data/ui/dist/icons/equal.svg.gz +0 -0
- data/ui/dist/icons/eraser.svg.gz +0 -0
- data/ui/dist/icons/exchange.svg.gz +0 -0
- data/ui/dist/icons/exposure.svg.gz +0 -0
- data/ui/dist/icons/external-link.svg.gz +0 -0
- data/ui/dist/icons/eye-check.svg.gz +0 -0
- data/ui/dist/icons/eye-off.svg.gz +0 -0
- data/ui/dist/icons/eye.svg.gz +0 -0
- data/ui/dist/icons/eyeglass-2.svg.gz +0 -0
- data/ui/dist/icons/eyeglass.svg.gz +0 -0
- data/ui/dist/icons/face-id.svg.gz +0 -0
- data/ui/dist/icons/fall.svg.gz +0 -0
- data/ui/dist/icons/feather.svg.gz +0 -0
- data/ui/dist/icons/file-alert.svg.gz +0 -0
- data/ui/dist/icons/file-analytics.svg.gz +0 -0
- data/ui/dist/icons/file-certificate.svg.gz +0 -0
- data/ui/dist/icons/file-check.svg.gz +0 -0
- data/ui/dist/icons/file-code-2.svg.gz +0 -0
- data/ui/dist/icons/file-code.svg.gz +0 -0
- data/ui/dist/icons/file-diff.svg.gz +0 -0
- data/ui/dist/icons/file-dislike.svg.gz +0 -0
- data/ui/dist/icons/file-download.svg.gz +0 -0
- data/ui/dist/icons/file-export.svg.gz +0 -0
- data/ui/dist/icons/file-horizontal.svg.gz +0 -0
- data/ui/dist/icons/file-import.svg.gz +0 -0
- data/ui/dist/icons/file-info.svg.gz +0 -0
- data/ui/dist/icons/file-invoice.svg.gz +0 -0
- data/ui/dist/icons/file-like.svg.gz +0 -0
- data/ui/dist/icons/file-minus.svg.gz +0 -0
- data/ui/dist/icons/file-music.svg.gz +0 -0
- data/ui/dist/icons/file-off.svg.gz +0 -0
- data/ui/dist/icons/file-phone.svg.gz +0 -0
- data/ui/dist/icons/file-plus.svg.gz +0 -0
- data/ui/dist/icons/file-report.svg.gz +0 -0
- data/ui/dist/icons/file-search.svg.gz +0 -0
- data/ui/dist/icons/file-shredder.svg.gz +0 -0
- data/ui/dist/icons/file-symlink.svg.gz +0 -0
- data/ui/dist/icons/file-text.svg.gz +0 -0
- data/ui/dist/icons/file-upload.svg.gz +0 -0
- data/ui/dist/icons/file-x.svg.gz +0 -0
- data/ui/dist/icons/file-zip.svg.gz +0 -0
- data/ui/dist/icons/file.svg.gz +0 -0
- data/ui/dist/icons/files-off.svg.gz +0 -0
- data/ui/dist/icons/files.svg.gz +0 -0
- data/ui/dist/icons/filter-off.svg.gz +0 -0
- data/ui/dist/icons/filter.svg.gz +0 -0
- data/ui/dist/icons/fingerprint.svg.gz +0 -0
- data/ui/dist/icons/firetruck.svg.gz +0 -0
- data/ui/dist/icons/flag-2.svg.gz +0 -0
- data/ui/dist/icons/flag-3.svg.gz +0 -0
- data/ui/dist/icons/flag.svg.gz +0 -0
- data/ui/dist/icons/flame.svg.gz +0 -0
- data/ui/dist/icons/flare.svg.gz +0 -0
- data/ui/dist/icons/flask.svg.gz +0 -0
- data/ui/dist/icons/flip-horizontal.svg.gz +0 -0
- data/ui/dist/icons/flip-vertical.svg.gz +0 -0
- data/ui/dist/icons/float-center.svg.gz +0 -0
- data/ui/dist/icons/float-left.svg.gz +0 -0
- data/ui/dist/icons/float-none.svg.gz +0 -0
- data/ui/dist/icons/float-right.svg.gz +0 -0
- data/ui/dist/icons/focus-2.svg.gz +0 -0
- data/ui/dist/icons/focus.svg.gz +0 -0
- data/ui/dist/icons/fold-down.svg.gz +0 -0
- data/ui/dist/icons/fold-up.svg.gz +0 -0
- data/ui/dist/icons/fold.svg.gz +0 -0
- data/ui/dist/icons/folder-minus.svg.gz +0 -0
- data/ui/dist/icons/folder-off.svg.gz +0 -0
- data/ui/dist/icons/folder-plus.svg.gz +0 -0
- data/ui/dist/icons/folder-x.svg.gz +0 -0
- data/ui/dist/icons/folder.svg.gz +0 -0
- data/ui/dist/icons/folders.svg.gz +0 -0
- data/ui/dist/icons/forbid-2.svg.gz +0 -0
- data/ui/dist/icons/forbid.svg.gz +0 -0
- data/ui/dist/icons/forklift.svg.gz +0 -0
- data/ui/dist/icons/forms.svg.gz +0 -0
- data/ui/dist/icons/frame.svg.gz +0 -0
- data/ui/dist/icons/friends.svg.gz +0 -0
- data/ui/dist/icons/gas-station.svg.gz +0 -0
- data/ui/dist/icons/gauge.svg.gz +0 -0
- data/ui/dist/icons/geometry.svg.gz +0 -0
- data/ui/dist/icons/ghost.svg.gz +0 -0
- data/ui/dist/icons/gift.svg.gz +0 -0
- data/ui/dist/icons/git-branch.svg.gz +0 -0
- data/ui/dist/icons/git-commit.svg.gz +0 -0
- data/ui/dist/icons/git-compare.svg.gz +0 -0
- data/ui/dist/icons/git-fork.svg.gz +0 -0
- data/ui/dist/icons/git-merge.svg.gz +0 -0
- data/ui/dist/icons/git-pull-request.svg.gz +0 -0
- data/ui/dist/icons/glass-full.svg.gz +0 -0
- data/ui/dist/icons/glass-off.svg.gz +0 -0
- data/ui/dist/icons/glass.svg.gz +0 -0
- data/ui/dist/icons/globe.svg.gz +0 -0
- data/ui/dist/icons/golf.svg.gz +0 -0
- data/ui/dist/icons/gps.svg.gz +0 -0
- data/ui/dist/icons/grain.svg.gz +0 -0
- data/ui/dist/icons/grid-dots.svg.gz +0 -0
- data/ui/dist/icons/grip-horizontal.svg.gz +0 -0
- data/ui/dist/icons/grip-vertical.svg.gz +0 -0
- data/ui/dist/icons/growth.svg.gz +0 -0
- data/ui/dist/icons/h-1.svg.gz +0 -0
- data/ui/dist/icons/h-2.svg.gz +0 -0
- data/ui/dist/icons/h-3.svg.gz +0 -0
- data/ui/dist/icons/h-4.svg.gz +0 -0
- data/ui/dist/icons/h-5.svg.gz +0 -0
- data/ui/dist/icons/h-6.svg.gz +0 -0
- data/ui/dist/icons/hand-finger.svg.gz +0 -0
- data/ui/dist/icons/hand-little-finger.svg.gz +0 -0
- data/ui/dist/icons/hand-middle-finger.svg.gz +0 -0
- data/ui/dist/icons/hand-off.svg.gz +0 -0
- data/ui/dist/icons/hand-ring-finger.svg.gz +0 -0
- data/ui/dist/icons/hand-rock.svg.gz +0 -0
- data/ui/dist/icons/hand-stop.svg.gz +0 -0
- data/ui/dist/icons/hand-three-fingers.svg.gz +0 -0
- data/ui/dist/icons/hand-two-fingers.svg.gz +0 -0
- data/ui/dist/icons/hanger.svg.gz +0 -0
- data/ui/dist/icons/hash.svg.gz +0 -0
- data/ui/dist/icons/heading.svg.gz +0 -0
- data/ui/dist/icons/headphones-off.svg.gz +0 -0
- data/ui/dist/icons/headphones.svg.gz +0 -0
- data/ui/dist/icons/headset.svg.gz +0 -0
- data/ui/dist/icons/heart-broken.svg.gz +0 -0
- data/ui/dist/icons/heart.svg.gz +0 -0
- data/ui/dist/icons/helicopter-landing.svg.gz +0 -0
- data/ui/dist/icons/helicopter.svg.gz +0 -0
- data/ui/dist/icons/help.svg.gz +0 -0
- data/ui/dist/icons/hexagon-off.svg.gz +0 -0
- data/ui/dist/icons/hexagon.svg.gz +0 -0
- data/ui/dist/icons/hierarchy-2.svg.gz +0 -0
- data/ui/dist/icons/hierarchy.svg.gz +0 -0
- data/ui/dist/icons/history.svg.gz +0 -0
- data/ui/dist/icons/home-2.svg.gz +0 -0
- data/ui/dist/icons/home.svg.gz +0 -0
- data/ui/dist/icons/ice-cream-2.svg.gz +0 -0
- data/ui/dist/icons/ice-cream.svg.gz +0 -0
- data/ui/dist/icons/id.svg.gz +0 -0
- data/ui/dist/icons/inbox.svg.gz +0 -0
- data/ui/dist/icons/indent-decrease.svg.gz +0 -0
- data/ui/dist/icons/indent-increase.svg.gz +0 -0
- data/ui/dist/icons/infinity.svg.gz +0 -0
- data/ui/dist/icons/info-circle.svg.gz +0 -0
- data/ui/dist/icons/info-square.svg.gz +0 -0
- data/ui/dist/icons/italic.svg.gz +0 -0
- data/ui/dist/icons/jump-rope.svg.gz +0 -0
- data/ui/dist/icons/karate.svg.gz +0 -0
- data/ui/dist/icons/key.svg.gz +0 -0
- data/ui/dist/icons/keyboard-hide.svg.gz +0 -0
- data/ui/dist/icons/keyboard-off.svg.gz +0 -0
- data/ui/dist/icons/keyboard-show.svg.gz +0 -0
- data/ui/dist/icons/keyboard.svg.gz +0 -0
- data/ui/dist/icons/language.svg.gz +0 -0
- data/ui/dist/icons/layers-difference.svg.gz +0 -0
- data/ui/dist/icons/layers-intersect.svg.gz +0 -0
- data/ui/dist/icons/layers-linked.svg.gz +0 -0
- data/ui/dist/icons/layers-subtract.svg.gz +0 -0
- data/ui/dist/icons/layers-union.svg.gz +0 -0
- data/ui/dist/icons/layout-2.svg.gz +0 -0
- data/ui/dist/icons/layout-align-bottom.svg.gz +0 -0
- data/ui/dist/icons/layout-align-center.svg.gz +0 -0
- data/ui/dist/icons/layout-align-left.svg.gz +0 -0
- data/ui/dist/icons/layout-align-middle.svg.gz +0 -0
- data/ui/dist/icons/layout-align-right.svg.gz +0 -0
- data/ui/dist/icons/layout-align-top.svg.gz +0 -0
- data/ui/dist/icons/layout-bottombar.svg.gz +0 -0
- data/ui/dist/icons/layout-cards.svg.gz +0 -0
- data/ui/dist/icons/layout-columns.svg.gz +0 -0
- data/ui/dist/icons/layout-distribute-horizontal.svg.gz +0 -0
- data/ui/dist/icons/layout-distribute-vertical.svg.gz +0 -0
- data/ui/dist/icons/layout-grid-add.svg.gz +0 -0
- data/ui/dist/icons/layout-grid.svg.gz +0 -0
- data/ui/dist/icons/layout-kanban.svg.gz +0 -0
- data/ui/dist/icons/layout-list.svg.gz +0 -0
- data/ui/dist/icons/layout-navbar.svg.gz +0 -0
- data/ui/dist/icons/layout-rows.svg.gz +0 -0
- data/ui/dist/icons/layout-sidebar-right.svg.gz +0 -0
- data/ui/dist/icons/layout-sidebar.svg.gz +0 -0
- data/ui/dist/icons/layout.svg.gz +0 -0
- data/ui/dist/icons/leaf.svg.gz +0 -0
- data/ui/dist/icons/lego.svg.gz +0 -0
- data/ui/dist/icons/letter-a.svg.gz +0 -0
- data/ui/dist/icons/letter-b.svg.gz +0 -0
- data/ui/dist/icons/letter-c.svg.gz +0 -0
- data/ui/dist/icons/letter-case-lower.svg.gz +0 -0
- data/ui/dist/icons/letter-case-toggle.svg.gz +0 -0
- data/ui/dist/icons/letter-case-upper.svg.gz +0 -0
- data/ui/dist/icons/letter-case.svg.gz +0 -0
- data/ui/dist/icons/letter-d.svg.gz +0 -0
- data/ui/dist/icons/letter-e.svg.gz +0 -0
- data/ui/dist/icons/letter-f.svg.gz +0 -0
- data/ui/dist/icons/letter-g.svg.gz +0 -0
- data/ui/dist/icons/letter-h.svg.gz +0 -0
- data/ui/dist/icons/letter-i.svg.gz +0 -0
- data/ui/dist/icons/letter-j.svg.gz +0 -0
- data/ui/dist/icons/letter-k.svg.gz +0 -0
- data/ui/dist/icons/letter-l.svg.gz +0 -0
- data/ui/dist/icons/letter-m.svg.gz +0 -0
- data/ui/dist/icons/letter-n.svg.gz +0 -0
- data/ui/dist/icons/letter-o.svg.gz +0 -0
- data/ui/dist/icons/letter-p.svg.gz +0 -0
- data/ui/dist/icons/letter-q.svg.gz +0 -0
- data/ui/dist/icons/letter-r.svg.gz +0 -0
- data/ui/dist/icons/letter-s.svg.gz +0 -0
- data/ui/dist/icons/letter-spacing.svg.gz +0 -0
- data/ui/dist/icons/letter-t.svg.gz +0 -0
- data/ui/dist/icons/letter-u.svg.gz +0 -0
- data/ui/dist/icons/letter-v.svg.gz +0 -0
- data/ui/dist/icons/letter-w.svg.gz +0 -0
- data/ui/dist/icons/letter-x.svg.gz +0 -0
- data/ui/dist/icons/letter-y.svg.gz +0 -0
- data/ui/dist/icons/letter-z.svg.gz +0 -0
- data/ui/dist/icons/letters-case.svg.gz +0 -0
- data/ui/dist/icons/license.svg.gz +0 -0
- data/ui/dist/icons/lifebuoy.svg.gz +0 -0
- data/ui/dist/icons/line-dashed.svg.gz +0 -0
- data/ui/dist/icons/line-dotted.svg.gz +0 -0
- data/ui/dist/icons/line-height.svg.gz +0 -0
- data/ui/dist/icons/line.svg.gz +0 -0
- data/ui/dist/icons/link.svg.gz +0 -0
- data/ui/dist/icons/list-check.svg.gz +0 -0
- data/ui/dist/icons/list-search.svg.gz +0 -0
- data/ui/dist/icons/list.svg.gz +0 -0
- data/ui/dist/icons/live-photo.svg.gz +0 -0
- data/ui/dist/icons/live-view.svg.gz +0 -0
- data/ui/dist/icons/loader-quarter.svg.gz +0 -0
- data/ui/dist/icons/loader.svg.gz +0 -0
- data/ui/dist/icons/location.svg.gz +0 -0
- data/ui/dist/icons/lock-access.svg.gz +0 -0
- data/ui/dist/icons/lock-off.svg.gz +0 -0
- data/ui/dist/icons/lock-open.svg.gz +0 -0
- data/ui/dist/icons/lock.svg.gz +0 -0
- data/ui/dist/icons/login.svg.gz +0 -0
- data/ui/dist/icons/logout.svg.gz +0 -0
- data/ui/dist/icons/macro.svg.gz +0 -0
- data/ui/dist/icons/magnet.svg.gz +0 -0
- data/ui/dist/icons/mail-forward.svg.gz +0 -0
- data/ui/dist/icons/mail-opened.svg.gz +0 -0
- data/ui/dist/icons/mail.svg.gz +0 -0
- data/ui/dist/icons/mailbox.svg.gz +0 -0
- data/ui/dist/icons/man.svg.gz +0 -0
- data/ui/dist/icons/manual-gearbox.svg.gz +0 -0
- data/ui/dist/icons/map-2.svg.gz +0 -0
- data/ui/dist/icons/map-pin-off.svg.gz +0 -0
- data/ui/dist/icons/map-pin.svg.gz +0 -0
- data/ui/dist/icons/map-pins.svg.gz +0 -0
- data/ui/dist/icons/map.svg.gz +0 -0
- data/ui/dist/icons/markdown.svg.gz +0 -0
- data/ui/dist/icons/marquee-2.svg.gz +0 -0
- data/ui/dist/icons/marquee.svg.gz +0 -0
- data/ui/dist/icons/mars.svg.gz +0 -0
- data/ui/dist/icons/mask-off.svg.gz +0 -0
- data/ui/dist/icons/mask.svg.gz +0 -0
- data/ui/dist/icons/massage.svg.gz +0 -0
- data/ui/dist/icons/math-function.svg.gz +0 -0
- data/ui/dist/icons/math-symbols.svg.gz +0 -0
- data/ui/dist/icons/math.svg.gz +0 -0
- data/ui/dist/icons/maximize.svg.gz +0 -0
- data/ui/dist/icons/medal.svg.gz +0 -0
- data/ui/dist/icons/medical-cross.svg.gz +0 -0
- data/ui/dist/icons/menu-2.svg.gz +0 -0
- data/ui/dist/icons/menu.svg.gz +0 -0
- data/ui/dist/icons/message-2.svg.gz +0 -0
- data/ui/dist/icons/message-circle-2.svg.gz +0 -0
- data/ui/dist/icons/message-circle-off.svg.gz +0 -0
- data/ui/dist/icons/message-circle.svg.gz +0 -0
- data/ui/dist/icons/message-dots.svg.gz +0 -0
- data/ui/dist/icons/message-off.svg.gz +0 -0
- data/ui/dist/icons/message-plus.svg.gz +0 -0
- data/ui/dist/icons/message-report.svg.gz +0 -0
- data/ui/dist/icons/message.svg.gz +0 -0
- data/ui/dist/icons/messages-off.svg.gz +0 -0
- data/ui/dist/icons/messages.svg.gz +0 -0
- data/ui/dist/icons/microphone-off.svg.gz +0 -0
- data/ui/dist/icons/microphone.svg.gz +0 -0
- data/ui/dist/icons/minimize.svg.gz +0 -0
- data/ui/dist/icons/minus-vertical.svg.gz +0 -0
- data/ui/dist/icons/minus.svg.gz +0 -0
- data/ui/dist/icons/mist.svg.gz +0 -0
- data/ui/dist/icons/mood-boy.svg.gz +0 -0
- data/ui/dist/icons/mood-confuzed.svg.gz +0 -0
- data/ui/dist/icons/mood-crazy-happy.svg.gz +0 -0
- data/ui/dist/icons/mood-cry.svg.gz +0 -0
- data/ui/dist/icons/mood-empty.svg.gz +0 -0
- data/ui/dist/icons/mood-happy.svg.gz +0 -0
- data/ui/dist/icons/mood-kid.svg.gz +0 -0
- data/ui/dist/icons/mood-neutral.svg.gz +0 -0
- data/ui/dist/icons/mood-sad.svg.gz +0 -0
- data/ui/dist/icons/mood-smile.svg.gz +0 -0
- data/ui/dist/icons/mood-suprised.svg.gz +0 -0
- data/ui/dist/icons/mood-tongue.svg.gz +0 -0
- data/ui/dist/icons/moon-2.svg.gz +0 -0
- data/ui/dist/icons/moon-stars.svg.gz +0 -0
- data/ui/dist/icons/moon.svg.gz +0 -0
- data/ui/dist/icons/moped.svg.gz +0 -0
- data/ui/dist/icons/motorbike.svg.gz +0 -0
- data/ui/dist/icons/mouse.svg.gz +0 -0
- data/ui/dist/icons/movie.svg.gz +0 -0
- data/ui/dist/icons/mug.svg.gz +0 -0
- data/ui/dist/icons/music.svg.gz +0 -0
- data/ui/dist/icons/new-section.svg.gz +0 -0
- data/ui/dist/icons/news.svg.gz +0 -0
- data/ui/dist/icons/nfc.svg.gz +0 -0
- data/ui/dist/icons/note.svg.gz +0 -0
- data/ui/dist/icons/notebook.svg.gz +0 -0
- data/ui/dist/icons/notes.svg.gz +0 -0
- data/ui/dist/icons/notification.svg.gz +0 -0
- data/ui/dist/icons/number-0.svg.gz +0 -0
- data/ui/dist/icons/number-1.svg.gz +0 -0
- data/ui/dist/icons/number-2.svg.gz +0 -0
- data/ui/dist/icons/number-3.svg.gz +0 -0
- data/ui/dist/icons/number-4.svg.gz +0 -0
- data/ui/dist/icons/number-5.svg.gz +0 -0
- data/ui/dist/icons/number-6.svg.gz +0 -0
- data/ui/dist/icons/number-7.svg.gz +0 -0
- data/ui/dist/icons/number-8.svg.gz +0 -0
- data/ui/dist/icons/number-9.svg.gz +0 -0
- data/ui/dist/icons/octagon-off.svg.gz +0 -0
- data/ui/dist/icons/octagon.svg.gz +0 -0
- data/ui/dist/icons/old.svg.gz +0 -0
- data/ui/dist/icons/olympics.svg.gz +0 -0
- data/ui/dist/icons/omega.svg.gz +0 -0
- data/ui/dist/icons/outlet.svg.gz +0 -0
- data/ui/dist/icons/overline.svg.gz +0 -0
- data/ui/dist/icons/package.svg.gz +0 -0
- data/ui/dist/icons/pacman.svg.gz +0 -0
- data/ui/dist/icons/page-break.svg.gz +0 -0
- data/ui/dist/icons/paint.svg.gz +0 -0
- data/ui/dist/icons/palette.svg.gz +0 -0
- data/ui/dist/icons/panorama-horizontal.svg.gz +0 -0
- data/ui/dist/icons/panorama-vertical.svg.gz +0 -0
- data/ui/dist/icons/paperclip.svg.gz +0 -0
- data/ui/dist/icons/parachute.svg.gz +0 -0
- data/ui/dist/icons/parentheses.svg.gz +0 -0
- data/ui/dist/icons/parking.svg.gz +0 -0
- data/ui/dist/icons/peace.svg.gz +0 -0
- data/ui/dist/icons/pencil.svg.gz +0 -0
- data/ui/dist/icons/pennant.svg.gz +0 -0
- data/ui/dist/icons/percentage.svg.gz +0 -0
- data/ui/dist/icons/perspective.svg.gz +0 -0
- data/ui/dist/icons/phone-call.svg.gz +0 -0
- data/ui/dist/icons/phone-calling.svg.gz +0 -0
- data/ui/dist/icons/phone-check.svg.gz +0 -0
- data/ui/dist/icons/phone-incoming.svg.gz +0 -0
- data/ui/dist/icons/phone-off.svg.gz +0 -0
- data/ui/dist/icons/phone-outgoing.svg.gz +0 -0
- data/ui/dist/icons/phone-pause.svg.gz +0 -0
- data/ui/dist/icons/phone-plus.svg.gz +0 -0
- data/ui/dist/icons/phone-x.svg.gz +0 -0
- data/ui/dist/icons/phone.svg.gz +0 -0
- data/ui/dist/icons/photo-off.svg.gz +0 -0
- data/ui/dist/icons/photo.svg.gz +0 -0
- data/ui/dist/icons/physotherapist.svg.gz +0 -0
- data/ui/dist/icons/picture-in-picture-off.svg.gz +0 -0
- data/ui/dist/icons/picture-in-picture-on.svg.gz +0 -0
- data/ui/dist/icons/picture-in-picture.svg.gz +0 -0
- data/ui/dist/icons/pill.svg.gz +0 -0
- data/ui/dist/icons/pin.svg.gz +0 -0
- data/ui/dist/icons/pinned-off.svg.gz +0 -0
- data/ui/dist/icons/pinned.svg.gz +0 -0
- data/ui/dist/icons/pizza.svg.gz +0 -0
- data/ui/dist/icons/plane-arrival.svg.gz +0 -0
- data/ui/dist/icons/plane-departure.svg.gz +0 -0
- data/ui/dist/icons/plane.svg.gz +0 -0
- data/ui/dist/icons/planet.svg.gz +0 -0
- data/ui/dist/icons/plant-2.svg.gz +0 -0
- data/ui/dist/icons/plant.svg.gz +0 -0
- data/ui/dist/icons/play-card.svg.gz +0 -0
- data/ui/dist/icons/player-pause.svg.gz +0 -0
- data/ui/dist/icons/player-play.svg.gz +0 -0
- data/ui/dist/icons/player-record.svg.gz +0 -0
- data/ui/dist/icons/player-skip-back.svg.gz +0 -0
- data/ui/dist/icons/player-skip-forward.svg.gz +0 -0
- data/ui/dist/icons/player-stop.svg.gz +0 -0
- data/ui/dist/icons/player-track-next.svg.gz +0 -0
- data/ui/dist/icons/player-track-prev.svg.gz +0 -0
- data/ui/dist/icons/playlist.svg.gz +0 -0
- data/ui/dist/icons/plug.svg.gz +0 -0
- data/ui/dist/icons/plus.svg.gz +0 -0
- data/ui/dist/icons/point.svg.gz +0 -0
- data/ui/dist/icons/pokeball.svg.gz +0 -0
- data/ui/dist/icons/polaroid.svg.gz +0 -0
- data/ui/dist/icons/pool.svg.gz +0 -0
- data/ui/dist/icons/power.svg.gz +0 -0
- data/ui/dist/icons/pray.svg.gz +0 -0
- data/ui/dist/icons/presentation-analytics.svg.gz +0 -0
- data/ui/dist/icons/presentation.svg.gz +0 -0
- data/ui/dist/icons/printer.svg.gz +0 -0
- data/ui/dist/icons/prompt.svg.gz +0 -0
- data/ui/dist/icons/propeller.svg.gz +0 -0
- data/ui/dist/icons/puzzle.svg.gz +0 -0
- data/ui/dist/icons/pyramid.svg.gz +0 -0
- data/ui/dist/icons/qrcode.svg.gz +0 -0
- data/ui/dist/icons/question-mark.svg.gz +0 -0
- data/ui/dist/icons/radioactive.svg.gz +0 -0
- data/ui/dist/icons/radius-bottom-left.svg.gz +0 -0
- data/ui/dist/icons/radius-bottom-right.svg.gz +0 -0
- data/ui/dist/icons/radius-top-left.svg.gz +0 -0
- data/ui/dist/icons/radius-top-right.svg.gz +0 -0
- data/ui/dist/icons/rainbow.svg.gz +0 -0
- data/ui/dist/icons/receipt-2.svg.gz +0 -0
- data/ui/dist/icons/receipt-off.svg.gz +0 -0
- data/ui/dist/icons/receipt-refund.svg.gz +0 -0
- data/ui/dist/icons/receipt-tax.svg.gz +0 -0
- data/ui/dist/icons/receipt.svg.gz +0 -0
- data/ui/dist/icons/recharging.svg.gz +0 -0
- data/ui/dist/icons/record-mail.svg.gz +0 -0
- data/ui/dist/icons/rectangle-vertical.svg.gz +0 -0
- data/ui/dist/icons/rectangle.svg.gz +0 -0
- data/ui/dist/icons/recycle.svg.gz +0 -0
- data/ui/dist/icons/refresh-alert.svg.gz +0 -0
- data/ui/dist/icons/refresh.svg.gz +0 -0
- data/ui/dist/icons/registered.svg.gz +0 -0
- data/ui/dist/icons/relation-many-to-many.svg.gz +0 -0
- data/ui/dist/icons/relation-one-to-many.svg.gz +0 -0
- data/ui/dist/icons/relation-one-to-one.svg.gz +0 -0
- data/ui/dist/icons/repeat-once.svg.gz +0 -0
- data/ui/dist/icons/repeat.svg.gz +0 -0
- data/ui/dist/icons/replace.svg.gz +0 -0
- data/ui/dist/icons/report-analytics.svg.gz +0 -0
- data/ui/dist/icons/report-medical.svg.gz +0 -0
- data/ui/dist/icons/report-money.svg.gz +0 -0
- data/ui/dist/icons/report.svg.gz +0 -0
- data/ui/dist/icons/resize.svg.gz +0 -0
- data/ui/dist/icons/ripple.svg.gz +0 -0
- data/ui/dist/icons/road-sign.svg.gz +0 -0
- data/ui/dist/icons/rocket.svg.gz +0 -0
- data/ui/dist/icons/rotate-2.svg.gz +0 -0
- data/ui/dist/icons/rotate-clockwise-2.svg.gz +0 -0
- data/ui/dist/icons/rotate-clockwise.svg.gz +0 -0
- data/ui/dist/icons/rotate-rectangle.svg.gz +0 -0
- data/ui/dist/icons/rotate.svg.gz +0 -0
- data/ui/dist/icons/route.svg.gz +0 -0
- data/ui/dist/icons/router.svg.gz +0 -0
- data/ui/dist/icons/row-insert-bottom.svg.gz +0 -0
- data/ui/dist/icons/row-insert-top.svg.gz +0 -0
- data/ui/dist/icons/rss.svg.gz +0 -0
- data/ui/dist/icons/ruler-2.svg.gz +0 -0
- data/ui/dist/icons/ruler.svg.gz +0 -0
- data/ui/dist/icons/run.svg.gz +0 -0
- data/ui/dist/icons/sailboat.svg.gz +0 -0
- data/ui/dist/icons/satellite.svg.gz +0 -0
- data/ui/dist/icons/scale.svg.gz +0 -0
- data/ui/dist/icons/scan.svg.gz +0 -0
- data/ui/dist/icons/school.svg.gz +0 -0
- data/ui/dist/icons/scissors.svg.gz +0 -0
- data/ui/dist/icons/scooter-electric.svg.gz +0 -0
- data/ui/dist/icons/scooter.svg.gz +0 -0
- data/ui/dist/icons/screen-share-off.svg.gz +0 -0
- data/ui/dist/icons/screen-share.svg.gz +0 -0
- data/ui/dist/icons/scuba-mask.svg.gz +0 -0
- data/ui/dist/icons/search.svg.gz +0 -0
- data/ui/dist/icons/section.svg.gz +0 -0
- data/ui/dist/icons/seeding.svg.gz +0 -0
- data/ui/dist/icons/select.svg.gz +0 -0
- data/ui/dist/icons/selector.svg.gz +0 -0
- data/ui/dist/icons/send.svg.gz +0 -0
- data/ui/dist/icons/separator-horizontal.svg.gz +0 -0
- data/ui/dist/icons/separator-vertical.svg.gz +0 -0
- data/ui/dist/icons/separator.svg.gz +0 -0
- data/ui/dist/icons/server.svg.gz +0 -0
- data/ui/dist/icons/servicemark.svg.gz +0 -0
- data/ui/dist/icons/settings-automation.svg.gz +0 -0
- data/ui/dist/icons/settings.svg.gz +0 -0
- data/ui/dist/icons/shadow-off.svg.gz +0 -0
- data/ui/dist/icons/shadow.svg.gz +0 -0
- data/ui/dist/icons/shape-2.svg.gz +0 -0
- data/ui/dist/icons/shape-3.svg.gz +0 -0
- data/ui/dist/icons/shape.svg.gz +0 -0
- data/ui/dist/icons/share.svg.gz +0 -0
- data/ui/dist/icons/shield-check.svg.gz +0 -0
- data/ui/dist/icons/shield-lock.svg.gz +0 -0
- data/ui/dist/icons/shield-off.svg.gz +0 -0
- data/ui/dist/icons/shield-x.svg.gz +0 -0
- data/ui/dist/icons/shield.svg.gz +0 -0
- data/ui/dist/icons/ship.svg.gz +0 -0
- data/ui/dist/icons/shirt.svg.gz +0 -0
- data/ui/dist/icons/shopping-cart-discount.svg.gz +0 -0
- data/ui/dist/icons/shopping-cart-off.svg.gz +0 -0
- data/ui/dist/icons/shopping-cart-plus.svg.gz +0 -0
- data/ui/dist/icons/shopping-cart-x.svg.gz +0 -0
- data/ui/dist/icons/shopping-cart.svg.gz +0 -0
- data/ui/dist/icons/shredder.svg.gz +0 -0
- data/ui/dist/icons/signature.svg.gz +0 -0
- data/ui/dist/icons/sitemap.svg.gz +0 -0
- data/ui/dist/icons/skateboard.svg.gz +0 -0
- data/ui/dist/icons/slice.svg.gz +0 -0
- data/ui/dist/icons/slideshow.svg.gz +0 -0
- data/ui/dist/icons/smart-home.svg.gz +0 -0
- data/ui/dist/icons/smoking-no.svg.gz +0 -0
- data/ui/dist/icons/smoking.svg.gz +0 -0
- data/ui/dist/icons/snowflake.svg.gz +0 -0
- data/ui/dist/icons/soccer-field.svg.gz +0 -0
- data/ui/dist/icons/social.svg.gz +0 -0
- data/ui/dist/icons/sock.svg.gz +0 -0
- data/ui/dist/icons/sort-ascending-2.svg.gz +0 -0
- data/ui/dist/icons/sort-ascending.svg.gz +0 -0
- data/ui/dist/icons/sort-descending-2.svg.gz +0 -0
- data/ui/dist/icons/sort-descending.svg.gz +0 -0
- data/ui/dist/icons/space.svg.gz +0 -0
- data/ui/dist/icons/speakerphone.svg.gz +0 -0
- data/ui/dist/icons/speedboat.svg.gz +0 -0
- data/ui/dist/icons/sport-billard.svg.gz +0 -0
- data/ui/dist/icons/square-0.svg.gz +0 -0
- data/ui/dist/icons/square-1.svg.gz +0 -0
- data/ui/dist/icons/square-2.svg.gz +0 -0
- data/ui/dist/icons/square-3.svg.gz +0 -0
- data/ui/dist/icons/square-4.svg.gz +0 -0
- data/ui/dist/icons/square-5.svg.gz +0 -0
- data/ui/dist/icons/square-6.svg.gz +0 -0
- data/ui/dist/icons/square-7.svg.gz +0 -0
- data/ui/dist/icons/square-8.svg.gz +0 -0
- data/ui/dist/icons/square-9.svg.gz +0 -0
- data/ui/dist/icons/square-check.svg.gz +0 -0
- data/ui/dist/icons/square-dot.svg.gz +0 -0
- data/ui/dist/icons/square-forbid-2.svg.gz +0 -0
- data/ui/dist/icons/square-forbid.svg.gz +0 -0
- data/ui/dist/icons/square-minus.svg.gz +0 -0
- data/ui/dist/icons/square-off.svg.gz +0 -0
- data/ui/dist/icons/square-plus.svg.gz +0 -0
- data/ui/dist/icons/square-root-2.svg.gz +0 -0
- data/ui/dist/icons/square-root.svg.gz +0 -0
- data/ui/dist/icons/square-rotated-off.svg.gz +0 -0
- data/ui/dist/icons/square-rotated.svg.gz +0 -0
- data/ui/dist/icons/square-toggle-horizontal.svg.gz +0 -0
- data/ui/dist/icons/square-toggle.svg.gz +0 -0
- data/ui/dist/icons/square-x.svg.gz +0 -0
- data/ui/dist/icons/square.svg.gz +0 -0
- data/ui/dist/icons/squares-diagonal.svg.gz +0 -0
- data/ui/dist/icons/squares-filled.svg.gz +0 -0
- data/ui/dist/icons/stack-2.svg.gz +0 -0
- data/ui/dist/icons/stack.svg.gz +0 -0
- data/ui/dist/icons/stairs-down.svg.gz +0 -0
- data/ui/dist/icons/stairs-up.svg.gz +0 -0
- data/ui/dist/icons/stairs.svg.gz +0 -0
- data/ui/dist/icons/star-half.svg.gz +0 -0
- data/ui/dist/icons/star-off.svg.gz +0 -0
- data/ui/dist/icons/star.svg.gz +0 -0
- data/ui/dist/icons/stars.svg.gz +0 -0
- data/ui/dist/icons/steering-wheel.svg.gz +0 -0
- data/ui/dist/icons/step-into.svg.gz +0 -0
- data/ui/dist/icons/step-out.svg.gz +0 -0
- data/ui/dist/icons/stethoscope.svg.gz +0 -0
- data/ui/dist/icons/sticker.svg.gz +0 -0
- data/ui/dist/icons/strikethrough.svg.gz +0 -0
- data/ui/dist/icons/submarine.svg.gz +0 -0
- data/ui/dist/icons/subscript.svg.gz +0 -0
- data/ui/dist/icons/subtask.svg.gz +0 -0
- data/ui/dist/icons/sum.svg.gz +0 -0
- data/ui/dist/icons/sun-off.svg.gz +0 -0
- data/ui/dist/icons/sun.svg.gz +0 -0
- data/ui/dist/icons/sunset.svg.gz +0 -0
- data/ui/dist/icons/sunshine.svg.gz +0 -0
- data/ui/dist/icons/superscript.svg.gz +0 -0
- data/ui/dist/icons/swimming.svg.gz +0 -0
- data/ui/dist/icons/switch-2.svg.gz +0 -0
- data/ui/dist/icons/switch-3.svg.gz +0 -0
- data/ui/dist/icons/switch-horizontal.svg.gz +0 -0
- data/ui/dist/icons/switch-vertical.svg.gz +0 -0
- data/ui/dist/icons/switch.svg.gz +0 -0
- data/ui/dist/icons/table-export.svg.gz +0 -0
- data/ui/dist/icons/table-import.svg.gz +0 -0
- data/ui/dist/icons/table-off.svg.gz +0 -0
- data/ui/dist/icons/table.svg.gz +0 -0
- data/ui/dist/icons/tag.svg.gz +0 -0
- data/ui/dist/icons/tallymark-1.svg.gz +0 -0
- data/ui/dist/icons/tallymark-2.svg.gz +0 -0
- data/ui/dist/icons/tallymark-3.svg.gz +0 -0
- data/ui/dist/icons/tallymark-4.svg.gz +0 -0
- data/ui/dist/icons/tallymarks.svg.gz +0 -0
- data/ui/dist/icons/tank.svg.gz +0 -0
- data/ui/dist/icons/target.svg.gz +0 -0
- data/ui/dist/icons/temperature-celsius.svg.gz +0 -0
- data/ui/dist/icons/temperature-fahrenheit.svg.gz +0 -0
- data/ui/dist/icons/temperature-minus.svg.gz +0 -0
- data/ui/dist/icons/temperature-plus.svg.gz +0 -0
- data/ui/dist/icons/temperature.svg.gz +0 -0
- data/ui/dist/icons/template.svg.gz +0 -0
- data/ui/dist/icons/tent.svg.gz +0 -0
- data/ui/dist/icons/terminal-2.svg.gz +0 -0
- data/ui/dist/icons/terminal.svg.gz +0 -0
- data/ui/dist/icons/test-pipe.svg.gz +0 -0
- data/ui/dist/icons/text-direction-ltr.svg.gz +0 -0
- data/ui/dist/icons/text-direction-rtl.svg.gz +0 -0
- data/ui/dist/icons/text-wrap-disabled.svg.gz +0 -0
- data/ui/dist/icons/text-wrap.svg.gz +0 -0
- data/ui/dist/icons/thumb-down.svg.gz +0 -0
- data/ui/dist/icons/thumb-up.svg.gz +0 -0
- data/ui/dist/icons/ticket.svg.gz +0 -0
- data/ui/dist/icons/tilt-shift.svg.gz +0 -0
- data/ui/dist/icons/tir.svg.gz +0 -0
- data/ui/dist/icons/toggle-left.svg.gz +0 -0
- data/ui/dist/icons/toggle-right.svg.gz +0 -0
- data/ui/dist/icons/tool.svg.gz +0 -0
- data/ui/dist/icons/tools-kitchen-2.svg.gz +0 -0
- data/ui/dist/icons/tools-kitchen.svg.gz +0 -0
- data/ui/dist/icons/tools.svg.gz +0 -0
- data/ui/dist/icons/tornado.svg.gz +0 -0
- data/ui/dist/icons/tournament.svg.gz +0 -0
- data/ui/dist/icons/track.svg.gz +0 -0
- data/ui/dist/icons/tractor.svg.gz +0 -0
- data/ui/dist/icons/trademark.svg.gz +0 -0
- data/ui/dist/icons/traffic-cone.svg.gz +0 -0
- data/ui/dist/icons/traffic-lights.svg.gz +0 -0
- data/ui/dist/icons/train.svg.gz +0 -0
- data/ui/dist/icons/trash-off.svg.gz +0 -0
- data/ui/dist/icons/trash.svg.gz +0 -0
- data/ui/dist/icons/tree.svg.gz +0 -0
- data/ui/dist/icons/trees.svg.gz +0 -0
- data/ui/dist/icons/trending-down-2.svg.gz +0 -0
- data/ui/dist/icons/trending-down-3.svg.gz +0 -0
- data/ui/dist/icons/trending-down.svg.gz +0 -0
- data/ui/dist/icons/trending-up-2.svg.gz +0 -0
- data/ui/dist/icons/trending-up-3.svg.gz +0 -0
- data/ui/dist/icons/trending-up.svg.gz +0 -0
- data/ui/dist/icons/triangle-off.svg.gz +0 -0
- data/ui/dist/icons/triangle-square-circle.svg.gz +0 -0
- data/ui/dist/icons/triangle.svg.gz +0 -0
- data/ui/dist/icons/trident.svg.gz +0 -0
- data/ui/dist/icons/trophy.svg.gz +0 -0
- data/ui/dist/icons/truck-delivery.svg.gz +0 -0
- data/ui/dist/icons/truck-off.svg.gz +0 -0
- data/ui/dist/icons/truck-return.svg.gz +0 -0
- data/ui/dist/icons/truck.svg.gz +0 -0
- data/ui/dist/icons/typography.svg.gz +0 -0
- data/ui/dist/icons/umbrella.svg.gz +0 -0
- data/ui/dist/icons/underline.svg.gz +0 -0
- data/ui/dist/icons/unlink.svg.gz +0 -0
- data/ui/dist/icons/upload.svg.gz +0 -0
- data/ui/dist/icons/urgent.svg.gz +0 -0
- data/ui/dist/icons/user-check.svg.gz +0 -0
- data/ui/dist/icons/user-exclamation.svg.gz +0 -0
- data/ui/dist/icons/user-minus.svg.gz +0 -0
- data/ui/dist/icons/user-off.svg.gz +0 -0
- data/ui/dist/icons/user-plus.svg.gz +0 -0
- data/ui/dist/icons/user-x.svg.gz +0 -0
- data/ui/dist/icons/user.svg.gz +0 -0
- data/ui/dist/icons/users.svg.gz +0 -0
- data/ui/dist/icons/vaccine.svg.gz +0 -0
- data/ui/dist/icons/variable.svg.gz +0 -0
- data/ui/dist/icons/vector-beizer-2.svg.gz +0 -0
- data/ui/dist/icons/vector-beizer.svg.gz +0 -0
- data/ui/dist/icons/vector-triangle.svg.gz +0 -0
- data/ui/dist/icons/vector.svg.gz +0 -0
- data/ui/dist/icons/venus.svg.gz +0 -0
- data/ui/dist/icons/versions.svg.gz +0 -0
- data/ui/dist/icons/video-minus.svg.gz +0 -0
- data/ui/dist/icons/video-off.svg.gz +0 -0
- data/ui/dist/icons/video-plus.svg.gz +0 -0
- data/ui/dist/icons/video.svg.gz +0 -0
- data/ui/dist/icons/view-360.svg.gz +0 -0
- data/ui/dist/icons/viewfinder.svg.gz +0 -0
- data/ui/dist/icons/viewport-narrow.svg.gz +0 -0
- data/ui/dist/icons/viewport-wide.svg.gz +0 -0
- data/ui/dist/icons/virus-off.svg.gz +0 -0
- data/ui/dist/icons/virus-search.svg.gz +0 -0
- data/ui/dist/icons/virus.svg.gz +0 -0
- data/ui/dist/icons/volume-2.svg.gz +0 -0
- data/ui/dist/icons/volume-3.svg.gz +0 -0
- data/ui/dist/icons/volume.svg.gz +0 -0
- data/ui/dist/icons/walk.svg.gz +0 -0
- data/ui/dist/icons/wallet.svg.gz +0 -0
- data/ui/dist/icons/wand.svg.gz +0 -0
- data/ui/dist/icons/wave-saw-tool.svg.gz +0 -0
- data/ui/dist/icons/wave-sine.svg.gz +0 -0
- data/ui/dist/icons/wave-square.svg.gz +0 -0
- data/ui/dist/icons/wifi-0.svg.gz +0 -0
- data/ui/dist/icons/wifi-1.svg.gz +0 -0
- data/ui/dist/icons/wifi-2.svg.gz +0 -0
- data/ui/dist/icons/wifi-off.svg.gz +0 -0
- data/ui/dist/icons/wifi.svg.gz +0 -0
- data/ui/dist/icons/wind.svg.gz +0 -0
- data/ui/dist/icons/windmill.svg.gz +0 -0
- data/ui/dist/icons/window.svg.gz +0 -0
- data/ui/dist/icons/wiper-wash.svg.gz +0 -0
- data/ui/dist/icons/wiper.svg.gz +0 -0
- data/ui/dist/icons/woman.svg.gz +0 -0
- data/ui/dist/icons/world-latitude.svg.gz +0 -0
- data/ui/dist/icons/world-longitude.svg.gz +0 -0
- data/ui/dist/icons/world.svg.gz +0 -0
- data/ui/dist/icons/wrecking-ball.svg.gz +0 -0
- data/ui/dist/icons/writing-sign.svg.gz +0 -0
- data/ui/dist/icons/writing.svg.gz +0 -0
- data/ui/dist/icons/x.svg.gz +0 -0
- data/ui/dist/icons/yin-yang.svg.gz +0 -0
- data/ui/dist/icons/zodiac-aquarius.svg.gz +0 -0
- data/ui/dist/icons/zodiac-aries.svg.gz +0 -0
- data/ui/dist/icons/zodiac-cancer.svg.gz +0 -0
- data/ui/dist/icons/zodiac-capricorn.svg.gz +0 -0
- data/ui/dist/icons/zodiac-gemini.svg.gz +0 -0
- data/ui/dist/icons/zodiac-leo.svg.gz +0 -0
- data/ui/dist/icons/zodiac-libra.svg.gz +0 -0
- data/ui/dist/icons/zodiac-pisces.svg.gz +0 -0
- data/ui/dist/icons/zodiac-sagittarius.svg.gz +0 -0
- data/ui/dist/icons/zodiac-scorpio.svg.gz +0 -0
- data/ui/dist/icons/zodiac-taurus.svg.gz +0 -0
- data/ui/dist/icons/zodiac-virgo.svg.gz +0 -0
- data/ui/dist/icons/zoom-cancel.svg.gz +0 -0
- data/ui/dist/icons/zoom-check.svg.gz +0 -0
- data/ui/dist/icons/zoom-in.svg.gz +0 -0
- data/ui/dist/icons/zoom-money.svg.gz +0 -0
- data/ui/dist/icons/zoom-out.svg.gz +0 -0
- data/ui/dist/icons/zoom-question.svg.gz +0 -0
- data/ui/dist/{main-e763d59007bb725ea622.css.gz → main-55914a490baf8f7eba59.css.gz} +0 -0
- data/ui/dist/main-55914a490baf8f7eba59.js.gz +0 -0
- data/ui/dist/manifest.json +2531 -5
- metadata +1271 -34
- data/ui/dist/main-e763d59007bb725ea622.js.gz +0 -0
data/lib/motor/assets.rb
CHANGED
@@ -14,6 +14,12 @@ module Motor
|
|
14
14
|
JSON.parse(MANIFEST_PATH.read)
|
15
15
|
end
|
16
16
|
|
17
|
+
def icons
|
18
|
+
manifest.select do |k, v|
|
19
|
+
!k.ends_with?('.gz') && v.starts_with?('icons/') && v.exclude?('DS_Store')
|
20
|
+
end.keys
|
21
|
+
end
|
22
|
+
|
17
23
|
def asset_path(path)
|
18
24
|
Motor::Admin.routes.url_helpers.motor_asset_path(manifest[path])
|
19
25
|
end
|
data/lib/motor/build_schema.rb
CHANGED
@@ -71,6 +71,7 @@ require_relative './build_schema/active_storage_attachment_schema'
|
|
71
71
|
require_relative './build_schema/adjust_devise_model_schema'
|
72
72
|
require_relative './build_schema/load_from_rails'
|
73
73
|
require_relative './build_schema/find_display_column'
|
74
|
+
require_relative './build_schema/find_icon'
|
74
75
|
require_relative './build_schema/persist_resource_configs'
|
75
76
|
require_relative './build_schema/reorder_schema'
|
76
77
|
require_relative './build_schema/merge_schema_configs'
|
@@ -9,14 +9,18 @@ module Motor
|
|
9
9
|
primary_key: 'id',
|
10
10
|
display_name: 'Attachments',
|
11
11
|
display_column: 'filename',
|
12
|
+
icon: 'paperclip',
|
12
13
|
columns: [
|
13
14
|
{
|
14
15
|
name: 'id',
|
15
|
-
display_name: '
|
16
|
+
display_name: 'ID',
|
16
17
|
column_type: 'integer',
|
17
18
|
access_type: 'read_only',
|
18
19
|
default_value: nil,
|
19
20
|
validators: [],
|
21
|
+
format: {},
|
22
|
+
is_array: false,
|
23
|
+
reference: nil,
|
20
24
|
virtual: false
|
21
25
|
},
|
22
26
|
{
|
@@ -26,6 +30,9 @@ module Motor
|
|
26
30
|
access_type: 'read_only',
|
27
31
|
default_value: nil,
|
28
32
|
validators: [],
|
33
|
+
format: {},
|
34
|
+
is_array: false,
|
35
|
+
reference: nil,
|
29
36
|
virtual: true
|
30
37
|
},
|
31
38
|
{
|
@@ -35,6 +42,9 @@ module Motor
|
|
35
42
|
access_type: 'read_write',
|
36
43
|
default_value: nil,
|
37
44
|
validators: [],
|
45
|
+
format: {},
|
46
|
+
is_array: false,
|
47
|
+
reference: nil,
|
38
48
|
virtual: false
|
39
49
|
},
|
40
50
|
{
|
@@ -44,6 +54,9 @@ module Motor
|
|
44
54
|
access_type: 'read_write',
|
45
55
|
default_value: nil,
|
46
56
|
validators: [],
|
57
|
+
format: {},
|
58
|
+
is_array: false,
|
59
|
+
reference: nil,
|
47
60
|
virtual: false
|
48
61
|
},
|
49
62
|
{
|
@@ -53,6 +66,16 @@ module Motor
|
|
53
66
|
access_type: 'read_write',
|
54
67
|
default_value: nil,
|
55
68
|
validators: [],
|
69
|
+
format: {},
|
70
|
+
is_array: false,
|
71
|
+
reference: {
|
72
|
+
name: 'record',
|
73
|
+
display_name: 'Record',
|
74
|
+
model_name: nil,
|
75
|
+
reference_type: 'belongs_to',
|
76
|
+
foreign_key: 'record_id',
|
77
|
+
polymorphic: true
|
78
|
+
},
|
56
79
|
virtual: false
|
57
80
|
},
|
58
81
|
{
|
@@ -62,6 +85,9 @@ module Motor
|
|
62
85
|
access_type: 'write_only',
|
63
86
|
default_value: nil,
|
64
87
|
validators: [],
|
88
|
+
format: {},
|
89
|
+
is_array: false,
|
90
|
+
reference: nil,
|
65
91
|
virtual: false
|
66
92
|
},
|
67
93
|
{
|
@@ -71,6 +97,9 @@ module Motor
|
|
71
97
|
access_type: 'read_only',
|
72
98
|
default_value: nil,
|
73
99
|
validators: [],
|
100
|
+
format: {},
|
101
|
+
is_array: false,
|
102
|
+
reference: nil,
|
74
103
|
virtual: false
|
75
104
|
}
|
76
105
|
],
|
@@ -0,0 +1,131 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Motor
|
4
|
+
module FindIcon
|
5
|
+
ICONS_MAP = {
|
6
|
+
'audit' => 'history',
|
7
|
+
'block' => 'ban',
|
8
|
+
'blocked' => 'ban',
|
9
|
+
'blacklisted' => 'ban',
|
10
|
+
'blocklisted' => 'ban',
|
11
|
+
'banned' => 'ban',
|
12
|
+
'website' => 'world',
|
13
|
+
'location' => 'gps',
|
14
|
+
'photo' => 'photo',
|
15
|
+
'image' => 'photo',
|
16
|
+
'screenshot' => 'photo',
|
17
|
+
'picture' => 'photo',
|
18
|
+
'video' => 'video',
|
19
|
+
'file' => 'file',
|
20
|
+
'pdf' => 'file-text',
|
21
|
+
'ad' => 'ad',
|
22
|
+
'shop' => 'building-store',
|
23
|
+
'store' => 'building-store',
|
24
|
+
'seller' => 'building-store',
|
25
|
+
'app' => 'apps',
|
26
|
+
'book' => 'book',
|
27
|
+
'movie' => 'movie',
|
28
|
+
'country' => 'map',
|
29
|
+
'api' => 'tool',
|
30
|
+
'config' => 'tool',
|
31
|
+
'key' => 'key',
|
32
|
+
'phone' => 'phone',
|
33
|
+
'call' => 'phone',
|
34
|
+
'cell' => 'phone',
|
35
|
+
'token' => 'key',
|
36
|
+
'secret' => 'lock',
|
37
|
+
'automation' => 'manual-gearbox',
|
38
|
+
'relationship' => 'hierarchy',
|
39
|
+
'person' => 'user',
|
40
|
+
'people' => 'users',
|
41
|
+
'mail' => 'mail',
|
42
|
+
'user' => 'user',
|
43
|
+
'rating' => 'star',
|
44
|
+
'article' => 'blockquote',
|
45
|
+
'podcast' => 'headphones',
|
46
|
+
'payment' => 'cash',
|
47
|
+
'log' => 'history',
|
48
|
+
'history' => 'history',
|
49
|
+
'rule' => 'manual-gearbox',
|
50
|
+
'tracking' => 'zoom-question',
|
51
|
+
'github' => 'brand-github',
|
52
|
+
'tag' => 'hash',
|
53
|
+
'category' => 'hash',
|
54
|
+
'label' => 'hash',
|
55
|
+
'twitter' => 'brand-twitter',
|
56
|
+
'facebook' => 'brand-facebook',
|
57
|
+
'google' => 'brand-google',
|
58
|
+
'renewal' => 'repeat',
|
59
|
+
'sales' => 'report-money',
|
60
|
+
'telegram' => 'brand-telegram',
|
61
|
+
'whatsapp' => 'brand-whatsapp',
|
62
|
+
'survey' => 'checkbox',
|
63
|
+
'subcategory' => 'hash',
|
64
|
+
'type' => 'hash',
|
65
|
+
'model' => 'hash',
|
66
|
+
'taxon' => 'hash',
|
67
|
+
'affiliate' => 'affiliate',
|
68
|
+
'chat' => 'message-circle',
|
69
|
+
'message' => 'messages',
|
70
|
+
'poll' => 'messages',
|
71
|
+
'feedpack' => 'messages',
|
72
|
+
'attachment' => 'paperclip',
|
73
|
+
'certificate' => 'certificate',
|
74
|
+
'approval' => 'certificate',
|
75
|
+
'bank' => 'building-bank',
|
76
|
+
'bridge' => 'building-bridge',
|
77
|
+
'car' => 'car',
|
78
|
+
'vehicle' => 'car',
|
79
|
+
'analytic' => 'device-analytics',
|
80
|
+
'stat' => 'device-analytics',
|
81
|
+
'statistic' => 'device-analytics',
|
82
|
+
'link' => 'link',
|
83
|
+
'slug' => 'link',
|
84
|
+
'city' => 'building-skyscraper',
|
85
|
+
'region' => 'map',
|
86
|
+
'district' => 'building-community',
|
87
|
+
'community' => 'building-community',
|
88
|
+
'activity' => 'activity',
|
89
|
+
'invoice' => 'invoice',
|
90
|
+
'settlement' => 'invoice',
|
91
|
+
'state' => 'map',
|
92
|
+
'note' => 'note',
|
93
|
+
'order' => 'truck-delivery',
|
94
|
+
'lead' => 'building-lighthouse',
|
95
|
+
'error' => 'file-alert',
|
96
|
+
'page' => 'brand-pagekit',
|
97
|
+
'date' => 'calendar-event',
|
98
|
+
'customer' => 'users',
|
99
|
+
'contact' => 'users',
|
100
|
+
'member' => 'users',
|
101
|
+
'admin' => 'user-check',
|
102
|
+
'notification' => 'bell',
|
103
|
+
'alert' => 'bell',
|
104
|
+
'team' => 'users',
|
105
|
+
'folder' => 'folder',
|
106
|
+
'subscriber' => 'user-plus',
|
107
|
+
'product' => 'building-store',
|
108
|
+
'html' => 'code',
|
109
|
+
'stripe' => 'brand-stripe',
|
110
|
+
'email' => 'mail'
|
111
|
+
}.freeze
|
112
|
+
|
113
|
+
DEFAULT_ICON = 'database'
|
114
|
+
|
115
|
+
module_function
|
116
|
+
|
117
|
+
def call(text)
|
118
|
+
text = text.downcase
|
119
|
+
icon = ICONS_MAP[text] || ICONS_MAP[text.singularize]
|
120
|
+
|
121
|
+
icon ||=
|
122
|
+
text.split(%r{[\s_/]}).reverse.reduce(nil) do |_acc, word|
|
123
|
+
found_icon = ICONS_MAP[word] || ICONS_MAP[word.singularize]
|
124
|
+
|
125
|
+
break found_icon if found_icon
|
126
|
+
end
|
127
|
+
|
128
|
+
icon || DEFAULT_ICON
|
129
|
+
end
|
130
|
+
end
|
131
|
+
end
|
@@ -12,6 +12,8 @@ module Motor
|
|
12
12
|
models.map do |model|
|
13
13
|
Object.const_get(model.name)
|
14
14
|
|
15
|
+
next unless ActiveRecord::Base.connection.table_exists?(model.table_name)
|
16
|
+
|
15
17
|
schema = build_model_schema(model)
|
16
18
|
|
17
19
|
if model.respond_to?(:devise_modules)
|
@@ -20,7 +22,7 @@ module Motor
|
|
20
22
|
|
21
23
|
schema
|
22
24
|
rescue StandardError, NotImplementedError => e
|
23
|
-
Rails.logger.error(e)
|
25
|
+
Rails.logger.error(e)
|
24
26
|
|
25
27
|
next
|
26
28
|
end.compact
|
@@ -34,6 +36,7 @@ module Motor
|
|
34
36
|
models -= Motor::ApplicationRecord.descendants
|
35
37
|
models -= [Motor::Audit]
|
36
38
|
models -= [ActiveRecord::SchemaMigration] if defined?(ActiveRecord::SchemaMigration)
|
39
|
+
models -= [ActiveRecord::InternalMetadata] if defined?(ActiveRecord::InternalMetadata)
|
37
40
|
models -= [ActiveStorage::Blob] if defined?(ActiveStorage::Blob)
|
38
41
|
models -= [ActiveStorage::VariantRecord] if defined?(ActiveStorage::VariantRecord)
|
39
42
|
|
@@ -55,6 +58,7 @@ module Motor
|
|
55
58
|
display_column: FindDisplayColumn.call(model),
|
56
59
|
columns: fetch_columns(model),
|
57
60
|
associations: fetch_associations(model),
|
61
|
+
icon: Motor::FindIcon.call(model.name.titleize),
|
58
62
|
scopes: fetch_scopes(model),
|
59
63
|
actions: DEFAULT_ACTIONS,
|
60
64
|
tabs: DEFAULT_TABS,
|
@@ -98,9 +102,9 @@ module Motor
|
|
98
102
|
|
99
103
|
{
|
100
104
|
name: column.name,
|
101
|
-
display_name: column.name
|
105
|
+
display_name: Utils.humanize_column_name(column.name),
|
102
106
|
column_type: is_enum ? 'string' : UNIFIED_TYPES[column.type.to_s] || column.type.to_s,
|
103
|
-
is_array: column.array?,
|
107
|
+
is_array: column.respond_to?(:array?) && column.array?,
|
104
108
|
access_type: COLUMN_NAME_ACCESS_TYPES.fetch(column.name, ColumnAccessTypes::READ_WRITE),
|
105
109
|
default_value: default_attrs[column.name],
|
106
110
|
validators: fetch_validators(model, column.name),
|
@@ -155,6 +159,7 @@ module Motor
|
|
155
159
|
model_name: reflection.polymorphic? ? nil : reflection.klass.name.underscore,
|
156
160
|
reference_type: reflection.belongs_to? ? 'belongs_to' : 'has_one',
|
157
161
|
foreign_key: reflection.foreign_key,
|
162
|
+
association_primary_key: reflection.polymorphic? ? 'id' : reflection.association_primary_key,
|
158
163
|
polymorphic: reflection.polymorphic?
|
159
164
|
}
|
160
165
|
end
|
@@ -175,6 +180,7 @@ module Motor
|
|
175
180
|
model_name: model_class.name.underscore,
|
176
181
|
foreign_key: ref.foreign_key,
|
177
182
|
polymorphic: ref.options[:as].present?,
|
183
|
+
icon: Motor::FindIcon.call(name),
|
178
184
|
visible: true
|
179
185
|
}
|
180
186
|
end.compact
|
@@ -200,17 +206,19 @@ module Motor
|
|
200
206
|
end
|
201
207
|
|
202
208
|
def build_validator_hash(validator)
|
209
|
+
options = validator.options.reject { |_, v| v.is_a?(Proc) }
|
210
|
+
|
203
211
|
case validator
|
204
212
|
when ActiveModel::Validations::InclusionValidator
|
205
213
|
{ includes: validator.send(:delimiter) }
|
206
214
|
when ActiveRecord::Validations::PresenceValidator
|
207
215
|
{ required: true }
|
208
216
|
when ActiveModel::Validations::FormatValidator
|
209
|
-
{ format: JsRegex.new(
|
217
|
+
{ format: JsRegex.new(options[:with]).to_h.slice(:source, :options) }
|
210
218
|
when ActiveRecord::Validations::LengthValidator
|
211
|
-
{ length:
|
219
|
+
{ length: options }
|
212
220
|
when ActiveModel::Validations::NumericalityValidator
|
213
|
-
{ numeric:
|
221
|
+
{ numeric: options }
|
214
222
|
end
|
215
223
|
end
|
216
224
|
|
@@ -3,9 +3,9 @@
|
|
3
3
|
module Motor
|
4
4
|
module BuildSchema
|
5
5
|
module PersistResourceConfigs
|
6
|
-
RESOURCE_ATTRS = %w[display_name visible].freeze
|
6
|
+
RESOURCE_ATTRS = %w[display_name icon visible].freeze
|
7
7
|
COLUMN_ATTRS = %w[name display_name column_type access_type default_value virtual format].freeze
|
8
|
-
ASSOCIATION_ATTRS = %w[name display_name visible].freeze
|
8
|
+
ASSOCIATION_ATTRS = %w[name display_name icon visible].freeze
|
9
9
|
SCOPE_ATTRS = %w[name display_name scope_type preferences visible].freeze
|
10
10
|
ACTION_ATTRS = %w[name display_name action_type preferences visible].freeze
|
11
11
|
TAB_ATTRS = %w[name display_name tab_type preferences visible].freeze
|
@@ -3,6 +3,15 @@
|
|
3
3
|
module Motor
|
4
4
|
module BuildSchema
|
5
5
|
module Utils
|
6
|
+
ABBREVIATIONS = {
|
7
|
+
'id' => 'ID',
|
8
|
+
'url' => 'URL',
|
9
|
+
'iso' => 'ISO',
|
10
|
+
'vip' => 'VIP',
|
11
|
+
'ip' => 'IP',
|
12
|
+
'zip' => 'ZIP'
|
13
|
+
}.freeze
|
14
|
+
|
6
15
|
module_function
|
7
16
|
|
8
17
|
def slugify(model)
|
@@ -12,6 +21,10 @@ module Motor
|
|
12
21
|
def classify_slug(slug)
|
13
22
|
slug.singularize.gsub('__', '/').classify.constantize
|
14
23
|
end
|
24
|
+
|
25
|
+
def humanize_column_name(column_name)
|
26
|
+
ABBREVIATIONS.fetch(column_name, column_name.humanize)
|
27
|
+
end
|
15
28
|
end
|
16
29
|
end
|
17
30
|
end
|
@@ -7,26 +7,27 @@ module Motor
|
|
7
7
|
if Motor.development?
|
8
8
|
ActiveSupport::Cache::NullStore.new
|
9
9
|
else
|
10
|
-
ActiveSupport::Cache::MemoryStore.new(size: 5.megabytes
|
10
|
+
ActiveSupport::Cache::MemoryStore.new(size: 5.megabytes,
|
11
|
+
coder: ActiveSupport::Cache::NullCoder)
|
11
12
|
end
|
12
13
|
|
13
14
|
module_function
|
14
15
|
|
15
|
-
def call
|
16
|
+
def call(current_user = nil)
|
16
17
|
cache_keys = LoadFromCache.load_cache_keys
|
17
18
|
|
18
|
-
CACHE_STORE.fetch(cache_keys.hash) do
|
19
|
+
CACHE_STORE.fetch("#{cache_keys.hash}#{current_user&.id}") do
|
19
20
|
CACHE_STORE.clear
|
20
21
|
|
21
|
-
Motor::ApplicationController.helpers.
|
22
|
-
:div, '', id: 'app', data: build_data(cache_keys)
|
23
|
-
)
|
22
|
+
Motor::ApplicationController.helpers.tag.div('', id: 'app', data: build_data(cache_keys, current_user))
|
24
23
|
end
|
25
24
|
end
|
26
25
|
|
27
26
|
# @return [Hash]
|
28
|
-
def build_data(cache_keys = {})
|
27
|
+
def build_data(cache_keys = {}, current_user = nil)
|
29
28
|
{
|
29
|
+
current_user: current_user&.as_json(only: %i[id email]),
|
30
|
+
audits_count: Motor::Audit.count,
|
30
31
|
base_path: Motor::Admin.routes.url_helpers.motor_path,
|
31
32
|
schema: Motor::BuildSchema.call(cache_keys),
|
32
33
|
header_links: header_links_data_hash(cache_keys[:configs]),
|
@@ -3,7 +3,8 @@
|
|
3
3
|
module Motor
|
4
4
|
module Configs
|
5
5
|
module LoadFromCache
|
6
|
-
CACHE_STORE = ActiveSupport::Cache::MemoryStore.new(size: 10.megabytes
|
6
|
+
CACHE_STORE = ActiveSupport::Cache::MemoryStore.new(size: 10.megabytes,
|
7
|
+
coder: ActiveSupport::Cache::NullCoder)
|
7
8
|
|
8
9
|
module_function
|
9
10
|
|
@@ -57,24 +58,28 @@ module Motor
|
|
57
58
|
end
|
58
59
|
|
59
60
|
def maybe_fetch_from_cache(type, cache_key, &block)
|
60
|
-
return
|
61
|
+
return yield unless cache_key
|
61
62
|
|
62
63
|
CACHE_STORE.fetch(type + cache_key.to_s, &block)
|
63
64
|
end
|
64
65
|
|
65
66
|
def load_cache_keys
|
66
|
-
ActiveRecord::Base.connection.execute(
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
67
|
+
result = ActiveRecord::Base.connection.execute(cache_keys_sql).to_a
|
68
|
+
|
69
|
+
result = result.map(&:values) if result.first.is_a?(Hash)
|
70
|
+
|
71
|
+
result.to_h.with_indifferent_access
|
72
|
+
end
|
73
|
+
|
74
|
+
def cache_keys_sql
|
75
|
+
[
|
76
|
+
Motor::Config.select("'configs', MAX(updated_at)").to_sql,
|
77
|
+
Motor::Resource.select("'resources', MAX(updated_at)").to_sql,
|
78
|
+
Motor::Dashboard.select("'dashboards', MAX(updated_at)").to_sql,
|
79
|
+
Motor::Alert.select("'alerts', MAX(updated_at)").to_sql,
|
80
|
+
Motor::Query.select("'queries', MAX(updated_at)").to_sql,
|
81
|
+
Motor::Form.select("'forms', MAX(updated_at)").to_sql
|
82
|
+
].join(' UNION ')
|
78
83
|
end
|
79
84
|
end
|
80
85
|
end
|