motor-admin-unosquare 0.4.27
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/LICENSE +661 -0
- data/README.md +217 -0
- data/Rakefile +11 -0
- data/app/channels/motor/application_cable/channel.rb +14 -0
- data/app/channels/motor/application_cable/connection.rb +27 -0
- data/app/channels/motor/notes_channel.rb +9 -0
- data/app/channels/motor/notifications_channel.rb +9 -0
- data/app/controllers/concerns/motor/current_ability.rb +21 -0
- data/app/controllers/concerns/motor/current_user_method.rb +18 -0
- data/app/controllers/concerns/motor/load_and_authorize_dynamic_resource.rb +73 -0
- data/app/controllers/concerns/motor/wrap_io_params.rb +25 -0
- data/app/controllers/motor/active_storage_attachments_controller.rb +64 -0
- data/app/controllers/motor/alerts_controller.rb +82 -0
- data/app/controllers/motor/api_base_controller.rb +33 -0
- data/app/controllers/motor/api_configs_controller.rb +54 -0
- data/app/controllers/motor/application_controller.rb +8 -0
- data/app/controllers/motor/assets_controller.rb +43 -0
- data/app/controllers/motor/audits_controller.rb +16 -0
- data/app/controllers/motor/auth_tokens_controller.rb +36 -0
- data/app/controllers/motor/configs_controller.rb +33 -0
- data/app/controllers/motor/dashboards_controller.rb +64 -0
- data/app/controllers/motor/data_controller.rb +88 -0
- data/app/controllers/motor/forms_controller.rb +61 -0
- data/app/controllers/motor/icons_controller.rb +22 -0
- data/app/controllers/motor/note_tags_controller.rb +13 -0
- data/app/controllers/motor/notes_controller.rb +58 -0
- data/app/controllers/motor/notifications_controller.rb +33 -0
- data/app/controllers/motor/queries_controller.rb +64 -0
- data/app/controllers/motor/reminders_controller.rb +38 -0
- data/app/controllers/motor/resource_default_queries_controller.rb +23 -0
- data/app/controllers/motor/resource_methods_controller.rb +23 -0
- data/app/controllers/motor/resources_controller.rb +26 -0
- data/app/controllers/motor/run_api_requests_controller.rb +56 -0
- data/app/controllers/motor/run_graphql_requests_controller.rb +48 -0
- data/app/controllers/motor/run_queries_controller.rb +69 -0
- data/app/controllers/motor/schema_controller.rb +31 -0
- data/app/controllers/motor/send_alerts_controller.rb +26 -0
- data/app/controllers/motor/sessions_controller.rb +23 -0
- data/app/controllers/motor/slack_conversations_controller.rb +11 -0
- data/app/controllers/motor/tags_controller.rb +11 -0
- data/app/controllers/motor/ui_controller.rb +51 -0
- data/app/controllers/motor/users_for_autocomplete_controller.rb +23 -0
- data/app/jobs/motor/alert_sending_job.rb +13 -0
- data/app/jobs/motor/application_job.rb +6 -0
- data/app/jobs/motor/notify_note_mentions_job.rb +9 -0
- data/app/jobs/motor/notify_reminder_job.rb +9 -0
- data/app/mailers/motor/alerts_mailer.rb +39 -0
- data/app/mailers/motor/application_mailer.rb +33 -0
- data/app/mailers/motor/notifications_mailer.rb +33 -0
- data/app/models/motor/alert.rb +30 -0
- data/app/models/motor/alert_lock.rb +7 -0
- data/app/models/motor/api_config.rb +28 -0
- data/app/models/motor/application_record.rb +18 -0
- data/app/models/motor/audit.rb +13 -0
- data/app/models/motor/config.rb +13 -0
- data/app/models/motor/dashboard.rb +26 -0
- data/app/models/motor/form.rb +23 -0
- data/app/models/motor/note.rb +18 -0
- data/app/models/motor/note_tag.rb +7 -0
- data/app/models/motor/note_tag_tag.rb +8 -0
- data/app/models/motor/notification.rb +14 -0
- data/app/models/motor/query.rb +33 -0
- data/app/models/motor/reminder.rb +13 -0
- data/app/models/motor/resource.rb +15 -0
- data/app/models/motor/tag.rb +7 -0
- data/app/models/motor/taggable_tag.rb +8 -0
- data/app/views/layouts/motor/application.html.erb +17 -0
- data/app/views/layouts/motor/mailer.html.erb +72 -0
- data/app/views/motor/alerts_mailer/alert_email.html.erb +54 -0
- data/app/views/motor/notifications_mailer/notify_mention_email.html.erb +28 -0
- data/app/views/motor/notifications_mailer/notify_reminder_email.html.erb +28 -0
- data/app/views/motor/ui/show.html.erb +1 -0
- data/config/locales/el.yml +420 -0
- data/config/locales/en.yml +340 -0
- data/config/locales/es.yml +420 -0
- data/config/locales/pt.yml +416 -0
- data/config/routes.rb +65 -0
- data/lib/generators/motor/install_generator.rb +24 -0
- data/lib/generators/motor/install_notes_generator.rb +22 -0
- data/lib/generators/motor/migration.rb +17 -0
- data/lib/generators/motor/templates/install.rb +271 -0
- data/lib/generators/motor/templates/install_api_configs.rb +86 -0
- data/lib/generators/motor/templates/install_notes.rb +83 -0
- data/lib/generators/motor/templates/upgrade_motor_api_actions.rb +71 -0
- data/lib/generators/motor/upgrade_generator.rb +43 -0
- data/lib/motor/active_record_utils/action_text_attribute_patch.rb +19 -0
- data/lib/motor/active_record_utils/active_record_connection_column_patch.rb +14 -0
- data/lib/motor/active_record_utils/active_record_filter.rb +405 -0
- data/lib/motor/active_record_utils/active_storage_blob_patch.rb +30 -0
- data/lib/motor/active_record_utils/active_storage_links_extension.rb +11 -0
- data/lib/motor/active_record_utils/defined_scopes_extension.rb +25 -0
- data/lib/motor/active_record_utils/fetch_methods.rb +24 -0
- data/lib/motor/active_record_utils/types.rb +64 -0
- data/lib/motor/active_record_utils.rb +45 -0
- data/lib/motor/admin.rb +141 -0
- data/lib/motor/alerts/persistance.rb +97 -0
- data/lib/motor/alerts/scheduled_alerts_cache.rb +29 -0
- data/lib/motor/alerts/scheduler.rb +30 -0
- data/lib/motor/alerts/slack_sender.rb +74 -0
- data/lib/motor/alerts.rb +52 -0
- data/lib/motor/api_configs.rb +41 -0
- data/lib/motor/api_query/apply_scope.rb +44 -0
- data/lib/motor/api_query/build_json.rb +171 -0
- data/lib/motor/api_query/build_meta.rb +20 -0
- data/lib/motor/api_query/filter.rb +125 -0
- data/lib/motor/api_query/paginate.rb +19 -0
- data/lib/motor/api_query/search.rb +60 -0
- data/lib/motor/api_query/sort.rb +64 -0
- data/lib/motor/api_query.rb +24 -0
- data/lib/motor/assets.rb +62 -0
- data/lib/motor/build_schema/active_storage_attachment_schema.rb +125 -0
- data/lib/motor/build_schema/adjust_devise_model_schema.rb +60 -0
- data/lib/motor/build_schema/apply_permissions.rb +64 -0
- data/lib/motor/build_schema/defaults.rb +66 -0
- data/lib/motor/build_schema/find_display_column.rb +65 -0
- data/lib/motor/build_schema/find_icon.rb +135 -0
- data/lib/motor/build_schema/find_searchable_columns.rb +33 -0
- data/lib/motor/build_schema/load_from_rails.rb +361 -0
- data/lib/motor/build_schema/merge_schema_configs.rb +157 -0
- data/lib/motor/build_schema/reorder_schema.rb +88 -0
- data/lib/motor/build_schema/utils.rb +31 -0
- data/lib/motor/build_schema.rb +125 -0
- data/lib/motor/cancan_utils/ability_patch.rb +31 -0
- data/lib/motor/cancan_utils/can_manage_all.rb +14 -0
- data/lib/motor/cancan_utils.rb +9 -0
- data/lib/motor/configs/build_configs_hash.rb +90 -0
- data/lib/motor/configs/build_ui_app_tag.rb +177 -0
- data/lib/motor/configs/load_from_cache.rb +110 -0
- data/lib/motor/configs/sync_from_file.rb +35 -0
- data/lib/motor/configs/sync_from_hash.rb +159 -0
- data/lib/motor/configs/sync_middleware.rb +72 -0
- data/lib/motor/configs/sync_with_remote.rb +47 -0
- data/lib/motor/configs/write_to_file.rb +36 -0
- data/lib/motor/configs.rb +39 -0
- data/lib/motor/dashboards/persistance.rb +73 -0
- data/lib/motor/dashboards.rb +8 -0
- data/lib/motor/forms/persistance.rb +93 -0
- data/lib/motor/forms.rb +8 -0
- data/lib/motor/hash_serializer.rb +21 -0
- data/lib/motor/net_http_utils.rb +50 -0
- data/lib/motor/notes/notify_mentions.rb +71 -0
- data/lib/motor/notes/notify_reminder.rb +48 -0
- data/lib/motor/notes/persist.rb +36 -0
- data/lib/motor/notes/reminders_scheduler.rb +39 -0
- data/lib/motor/notes/tags.rb +34 -0
- data/lib/motor/notes.rb +12 -0
- data/lib/motor/queries/persistance.rb +90 -0
- data/lib/motor/queries/postgresql_exec_query.rb +28 -0
- data/lib/motor/queries/render_sql_template.rb +61 -0
- data/lib/motor/queries/run_query.rb +278 -0
- data/lib/motor/queries.rb +11 -0
- data/lib/motor/railtie.rb +11 -0
- data/lib/motor/resources/custom_sql_columns_cache.rb +17 -0
- data/lib/motor/resources/fetch_configured_model.rb +269 -0
- data/lib/motor/resources/persist_configs.rb +232 -0
- data/lib/motor/resources.rb +19 -0
- data/lib/motor/slack/client.rb +62 -0
- data/lib/motor/slack.rb +16 -0
- data/lib/motor/tags.rb +32 -0
- data/lib/motor/tasks/motor.rake +50 -0
- data/lib/motor/version.rb +5 -0
- data/lib/motor-admin.rb +3 -0
- data/lib/motor.rb +87 -0
- data/ui/dist/fonts/ionicons-1a64b9a9a172d067c820.woff2 +0 -0
- data/ui/dist/icons/2fa.svg.gz +0 -0
- data/ui/dist/icons/3d-cube-sphere.svg.gz +0 -0
- data/ui/dist/icons/3d-rotate.svg.gz +0 -0
- data/ui/dist/icons/a-b-off.svg.gz +0 -0
- data/ui/dist/icons/a-b.svg.gz +0 -0
- data/ui/dist/icons/abacus.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-off.svg.gz +0 -0
- data/ui/dist/icons/accessible.svg.gz +0 -0
- data/ui/dist/icons/activity-heartbeat.svg.gz +0 -0
- data/ui/dist/icons/activity.svg.gz +0 -0
- data/ui/dist/icons/ad-2.svg.gz +0 -0
- data/ui/dist/icons/ad.svg.gz +0 -0
- data/ui/dist/icons/address-book.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/alarm.svg.gz +0 -0
- data/ui/dist/icons/album.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-off.svg.gz +0 -0
- data/ui/dist/icons/anchor.svg.gz +0 -0
- data/ui/dist/icons/angle.svg.gz +0 -0
- data/ui/dist/icons/ankh.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/antenna-bars-off.svg.gz +0 -0
- data/ui/dist/icons/antenna.svg.gz +0 -0
- data/ui/dist/icons/aperture.svg.gz +0 -0
- data/ui/dist/icons/api-app-off.svg.gz +0 -0
- data/ui/dist/icons/api-app.svg.gz +0 -0
- data/ui/dist/icons/api-off.svg.gz +0 -0
- data/ui/dist/icons/api.svg.gz +0 -0
- data/ui/dist/icons/app-window.svg.gz +0 -0
- data/ui/dist/icons/apple.svg.gz +0 -0
- data/ui/dist/icons/apps-off.svg.gz +0 -0
- data/ui/dist/icons/apps.svg.gz +0 -0
- data/ui/dist/icons/archive-off.svg.gz +0 -0
- data/ui/dist/icons/archive.svg.gz +0 -0
- data/ui/dist/icons/armchair-2.svg.gz +0 -0
- data/ui/dist/icons/armchair.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-content.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-height.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-up.svg.gz +0 -0
- data/ui/dist/icons/arrow-autofit-width.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-bear-left-2.svg.gz +0 -0
- data/ui/dist/icons/arrow-bear-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-bear-right-2.svg.gz +0 -0
- data/ui/dist/icons/arrow-bear-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-down-line.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-down-lines.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-down.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-left-line.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-left-lines.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-right-line.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-right-lines.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-big-up-line.svg.gz +0 -0
- data/ui/dist/icons/arrow-big-up-lines.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-curve-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-curve-right.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-fork.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-right.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-2.svg.gz +0 -0
- data/ui/dist/icons/arrow-loop-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-loop-right-2.svg.gz +0 -0
- data/ui/dist/icons/arrow-loop-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-merge.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-2.svg.gz +0 -0
- data/ui/dist/icons/arrow-ramp-left-3.svg.gz +0 -0
- data/ui/dist/icons/arrow-ramp-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-ramp-right-2.svg.gz +0 -0
- data/ui/dist/icons/arrow-ramp-right-3.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-rotary-first-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-rotary-first-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-rotary-last-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-rotary-last-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-rotary-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-rotary-right.svg.gz +0 -0
- data/ui/dist/icons/arrow-rotary-straight.svg.gz +0 -0
- data/ui/dist/icons/arrow-sharp-turn-left.svg.gz +0 -0
- data/ui/dist/icons/arrow-sharp-turn-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-cross.svg.gz +0 -0
- data/ui/dist/icons/arrows-diagonal-2.svg.gz +0 -0
- data/ui/dist/icons/arrows-diagonal-minimize-2.svg.gz +0 -0
- data/ui/dist/icons/arrows-diagonal-minimize.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-random.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-shuffle-2.svg.gz +0 -0
- data/ui/dist/icons/arrows-shuffle.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-off.svg.gz +0 -0
- data/ui/dist/icons/artboard.svg.gz +0 -0
- data/ui/dist/icons/aspect-ratio-off.svg.gz +0 -0
- data/ui/dist/icons/aspect-ratio.svg.gz +0 -0
- data/ui/dist/icons/asset.svg.gz +0 -0
- data/ui/dist/icons/asterisk-simple.svg.gz +0 -0
- data/ui/dist/icons/asterisk.svg.gz +0 -0
- data/ui/dist/icons/at-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/atom.svg.gz +0 -0
- data/ui/dist/icons/augmented-reality.svg.gz +0 -0
- data/ui/dist/icons/award-off.svg.gz +0 -0
- data/ui/dist/icons/award.svg.gz +0 -0
- data/ui/dist/icons/axe.svg.gz +0 -0
- data/ui/dist/icons/axis-x.svg.gz +0 -0
- data/ui/dist/icons/axis-y.svg.gz +0 -0
- data/ui/dist/icons/baby-carriage.svg.gz +0 -0
- data/ui/dist/icons/backhoe.svg.gz +0 -0
- data/ui/dist/icons/backpack.svg.gz +0 -0
- data/ui/dist/icons/backspace.svg.gz +0 -0
- data/ui/dist/icons/badge-off.svg.gz +0 -0
- data/ui/dist/icons/badge.svg.gz +0 -0
- data/ui/dist/icons/badges-off.svg.gz +0 -0
- data/ui/dist/icons/badges.svg.gz +0 -0
- data/ui/dist/icons/ball-american-football.svg.gz +0 -0
- data/ui/dist/icons/ball-baseball.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/ballon-off.svg.gz +0 -0
- data/ui/dist/icons/ballon.svg.gz +0 -0
- data/ui/dist/icons/ballpen-off.svg.gz +0 -0
- data/ui/dist/icons/ballpen.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/barbell-off.svg.gz +0 -0
- data/ui/dist/icons/barbell.svg.gz +0 -0
- data/ui/dist/icons/barcode-off.svg.gz +0 -0
- data/ui/dist/icons/barcode.svg.gz +0 -0
- data/ui/dist/icons/barrel-off.svg.gz +0 -0
- data/ui/dist/icons/barrel.svg.gz +0 -0
- data/ui/dist/icons/barrier-block-off.svg.gz +0 -0
- data/ui/dist/icons/barrier-block.svg.gz +0 -0
- data/ui/dist/icons/baseline.svg.gz +0 -0
- data/ui/dist/icons/basket-off.svg.gz +0 -0
- data/ui/dist/icons/basket.svg.gz +0 -0
- data/ui/dist/icons/bath-off.svg.gz +0 -0
- data/ui/dist/icons/bath.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-2.svg.gz +0 -0
- data/ui/dist/icons/battery-charging.svg.gz +0 -0
- data/ui/dist/icons/battery-eco.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/beach-off.svg.gz +0 -0
- data/ui/dist/icons/beach.svg.gz +0 -0
- data/ui/dist/icons/bed-off.svg.gz +0 -0
- data/ui/dist/icons/bed.svg.gz +0 -0
- data/ui/dist/icons/beer-off.svg.gz +0 -0
- data/ui/dist/icons/beer.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-school.svg.gz +0 -0
- data/ui/dist/icons/bell-x.svg.gz +0 -0
- data/ui/dist/icons/bell-z.svg.gz +0 -0
- data/ui/dist/icons/bell.svg.gz +0 -0
- data/ui/dist/icons/bible.svg.gz +0 -0
- data/ui/dist/icons/bike-off.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-off.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-x.svg.gz +0 -0
- data/ui/dist/icons/bluetooth.svg.gz +0 -0
- data/ui/dist/icons/blur.svg.gz +0 -0
- data/ui/dist/icons/bold-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/bone.svg.gz +0 -0
- data/ui/dist/icons/book-2.svg.gz +0 -0
- data/ui/dist/icons/book-download.svg.gz +0 -0
- data/ui/dist/icons/book-off.svg.gz +0 -0
- data/ui/dist/icons/book-upload.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-off.svg.gz +0 -0
- data/ui/dist/icons/bookmarks.svg.gz +0 -0
- data/ui/dist/icons/books-off.svg.gz +0 -0
- data/ui/dist/icons/books.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-2.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/bottle.svg.gz +0 -0
- data/ui/dist/icons/bow.svg.gz +0 -0
- data/ui/dist/icons/box-margin.svg.gz +0 -0
- data/ui/dist/icons/box-model-2.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/braces.svg.gz +0 -0
- data/ui/dist/icons/brackets-off.svg.gz +0 -0
- data/ui/dist/icons/brackets.svg.gz +0 -0
- data/ui/dist/icons/brand-adobe.svg.gz +0 -0
- data/ui/dist/icons/brand-airbnb.svg.gz +0 -0
- data/ui/dist/icons/brand-airtable.svg.gz +0 -0
- data/ui/dist/icons/brand-android.svg.gz +0 -0
- data/ui/dist/icons/brand-angular.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-bootstrap.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-cucumber.svg.gz +0 -0
- data/ui/dist/icons/brand-debian.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-doctrine.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-firebase.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-git.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-gmail.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-intercom.svg.gz +0 -0
- data/ui/dist/icons/brand-javascript.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-lastfm.svg.gz +0 -0
- data/ui/dist/icons/brand-linkedin.svg.gz +0 -0
- data/ui/dist/icons/brand-loom.svg.gz +0 -0
- data/ui/dist/icons/brand-mastercard.svg.gz +0 -0
- data/ui/dist/icons/brand-medium.svg.gz +0 -0
- data/ui/dist/icons/brand-mercedes.svg.gz +0 -0
- data/ui/dist/icons/brand-messenger.svg.gz +0 -0
- data/ui/dist/icons/brand-meta.svg.gz +0 -0
- data/ui/dist/icons/brand-netbeans.svg.gz +0 -0
- data/ui/dist/icons/brand-netflix.svg.gz +0 -0
- data/ui/dist/icons/brand-nextjs.svg.gz +0 -0
- data/ui/dist/icons/brand-notion.svg.gz +0 -0
- data/ui/dist/icons/brand-nuxt.svg.gz +0 -0
- data/ui/dist/icons/brand-nytimes.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-php.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-react-native.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-stackoverflow.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-sublime-text.svg.gz +0 -0
- data/ui/dist/icons/brand-svelte.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-tripadvisor.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-uber.svg.gz +0 -0
- data/ui/dist/icons/brand-ubuntu.svg.gz +0 -0
- data/ui/dist/icons/brand-unsplash.svg.gz +0 -0
- data/ui/dist/icons/brand-vercel.svg.gz +0 -0
- data/ui/dist/icons/brand-vimeo.svg.gz +0 -0
- data/ui/dist/icons/brand-visual-studio.svg.gz +0 -0
- data/ui/dist/icons/brand-vk.svg.gz +0 -0
- data/ui/dist/icons/brand-vue.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/bread.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-check.svg.gz +0 -0
- data/ui/dist/icons/browser-off.svg.gz +0 -0
- data/ui/dist/icons/browser-plus.svg.gz +0 -0
- data/ui/dist/icons/browser-x.svg.gz +0 -0
- data/ui/dist/icons/browser.svg.gz +0 -0
- data/ui/dist/icons/brush-off.svg.gz +0 -0
- data/ui/dist/icons/brush.svg.gz +0 -0
- data/ui/dist/icons/bucket-off.svg.gz +0 -0
- data/ui/dist/icons/bucket.svg.gz +0 -0
- data/ui/dist/icons/bug-off.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-2.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/butterfly.svg.gz +0 -0
- data/ui/dist/icons/c-sharp.svg.gz +0 -0
- data/ui/dist/icons/cake-off.svg.gz +0 -0
- data/ui/dist/icons/cake.svg.gz +0 -0
- data/ui/dist/icons/calculator-off.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/candle.svg.gz +0 -0
- data/ui/dist/icons/candy-off.svg.gz +0 -0
- data/ui/dist/icons/candy.svg.gz +0 -0
- data/ui/dist/icons/capture-off.svg.gz +0 -0
- data/ui/dist/icons/capture.svg.gz +0 -0
- data/ui/dist/icons/car-crane.svg.gz +0 -0
- data/ui/dist/icons/car-crash.svg.gz +0 -0
- data/ui/dist/icons/car-off.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/cash.svg.gz +0 -0
- data/ui/dist/icons/cast-off.svg.gz +0 -0
- data/ui/dist/icons/cast.svg.gz +0 -0
- data/ui/dist/icons/ce-off.svg.gz +0 -0
- data/ui/dist/icons/ce.svg.gz +0 -0
- data/ui/dist/icons/cell-signal-1.svg.gz +0 -0
- data/ui/dist/icons/cell-signal-2.svg.gz +0 -0
- data/ui/dist/icons/cell-signal-3.svg.gz +0 -0
- data/ui/dist/icons/cell-signal-4.svg.gz +0 -0
- data/ui/dist/icons/cell-signal-5.svg.gz +0 -0
- data/ui/dist/icons/cell-signal-off.svg.gz +0 -0
- data/ui/dist/icons/cell.svg.gz +0 -0
- data/ui/dist/icons/certificate-2-off.svg.gz +0 -0
- data/ui/dist/icons/certificate-2.svg.gz +0 -0
- data/ui/dist/icons/certificate-off.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-2.svg.gz +0 -0
- data/ui/dist/icons/chart-dots-3.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/checklist.svg.gz +0 -0
- data/ui/dist/icons/checks.svg.gz +0 -0
- data/ui/dist/icons/checkup-list.svg.gz +0 -0
- data/ui/dist/icons/cheese.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-dot.svg.gz +0 -0
- data/ui/dist/icons/circle-dotted.svg.gz +0 -0
- data/ui/dist/icons/circle-half-2.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-rectangle-off.svg.gz +0 -0
- data/ui/dist/icons/circle-rectangle.svg.gz +0 -0
- data/ui/dist/icons/circle-square.svg.gz +0 -0
- data/ui/dist/icons/circle-triangle.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-off.svg.gz +0 -0
- data/ui/dist/icons/clipboard-plus.svg.gz +0 -0
- data/ui/dist/icons/clipboard-text.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-2.svg.gz +0 -0
- data/ui/dist/icons/clock-off.svg.gz +0 -0
- data/ui/dist/icons/clock.svg.gz +0 -0
- data/ui/dist/icons/cloud-computing.svg.gz +0 -0
- data/ui/dist/icons/cloud-data-connection.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-lock-open.svg.gz +0 -0
- data/ui/dist/icons/cloud-lock.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/clubs.svg.gz +0 -0
- data/ui/dist/icons/code-minus.svg.gz +0 -0
- data/ui/dist/icons/code-off.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/coffee-off.svg.gz +0 -0
- data/ui/dist/icons/coffee.svg.gz +0 -0
- data/ui/dist/icons/coin-off.svg.gz +0 -0
- data/ui/dist/icons/coin.svg.gz +0 -0
- data/ui/dist/icons/color-picker-off.svg.gz +0 -0
- data/ui/dist/icons/color-picker.svg.gz +0 -0
- data/ui/dist/icons/color-swatch-off.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/compass.svg.gz +0 -0
- data/ui/dist/icons/components-off.svg.gz +0 -0
- data/ui/dist/icons/components.svg.gz +0 -0
- data/ui/dist/icons/cone-2.svg.gz +0 -0
- data/ui/dist/icons/cone.svg.gz +0 -0
- data/ui/dist/icons/confetti.svg.gz +0 -0
- data/ui/dist/icons/container-off.svg.gz +0 -0
- data/ui/dist/icons/container.svg.gz +0 -0
- data/ui/dist/icons/contrast-2.svg.gz +0 -0
- data/ui/dist/icons/contrast.svg.gz +0 -0
- data/ui/dist/icons/cookie-off.svg.gz +0 -0
- data/ui/dist/icons/cookie.svg.gz +0 -0
- data/ui/dist/icons/copy-off.svg.gz +0 -0
- data/ui/dist/icons/copy.svg.gz +0 -0
- data/ui/dist/icons/copyleft-off.svg.gz +0 -0
- data/ui/dist/icons/copyleft.svg.gz +0 -0
- data/ui/dist/icons/copyright-off.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/cpu-2.svg.gz +0 -0
- data/ui/dist/icons/cpu-off.svg.gz +0 -0
- data/ui/dist/icons/cpu.svg.gz +0 -0
- data/ui/dist/icons/crane-off.svg.gz +0 -0
- data/ui/dist/icons/crane.svg.gz +0 -0
- data/ui/dist/icons/creative-commons-off.svg.gz +0 -0
- data/ui/dist/icons/creative-commons.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/cricket.svg.gz +0 -0
- data/ui/dist/icons/crop.svg.gz +0 -0
- data/ui/dist/icons/cross-off.svg.gz +0 -0
- data/ui/dist/icons/cross.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/crutches-off.svg.gz +0 -0
- data/ui/dist/icons/crutches.svg.gz +0 -0
- data/ui/dist/icons/cup-off.svg.gz +0 -0
- data/ui/dist/icons/cup.svg.gz +0 -0
- data/ui/dist/icons/curling.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-baht.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-dogecoin.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/currency.svg.gz +0 -0
- data/ui/dist/icons/current-location-off.svg.gz +0 -0
- data/ui/dist/icons/current-location.svg.gz +0 -0
- data/ui/dist/icons/cursor-off.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/dental-off.svg.gz +0 -0
- data/ui/dist/icons/dental.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-2.svg.gz +0 -0
- data/ui/dist/icons/device-gamepad.svg.gz +0 -0
- data/ui/dist/icons/device-heart-monitor.svg.gz +0 -0
- data/ui/dist/icons/device-laptop-off.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-off.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-nintendo-off.svg.gz +0 -0
- data/ui/dist/icons/device-nintendo.svg.gz +0 -0
- data/ui/dist/icons/device-speaker-off.svg.gz +0 -0
- data/ui/dist/icons/device-speaker.svg.gz +0 -0
- data/ui/dist/icons/device-tablet-off.svg.gz +0 -0
- data/ui/dist/icons/device-tablet.svg.gz +0 -0
- data/ui/dist/icons/device-tv-off.svg.gz +0 -0
- data/ui/dist/icons/device-tv-old.svg.gz +0 -0
- data/ui/dist/icons/device-tv.svg.gz +0 -0
- data/ui/dist/icons/device-watch-off.svg.gz +0 -0
- data/ui/dist/icons/device-watch-stats-2.svg.gz +0 -0
- data/ui/dist/icons/device-watch-stats.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-off.svg.gz +0 -0
- data/ui/dist/icons/devices-pc-off.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/dialpad-off.svg.gz +0 -0
- data/ui/dist/icons/dialpad.svg.gz +0 -0
- data/ui/dist/icons/diamond-off.svg.gz +0 -0
- data/ui/dist/icons/diamond.svg.gz +0 -0
- data/ui/dist/icons/diamonds.svg.gz +0 -0
- data/ui/dist/icons/dice-1.svg.gz +0 -0
- data/ui/dist/icons/dice-2.svg.gz +0 -0
- data/ui/dist/icons/dice-3.svg.gz +0 -0
- data/ui/dist/icons/dice-4.svg.gz +0 -0
- data/ui/dist/icons/dice-5.svg.gz +0 -0
- data/ui/dist/icons/dice-6.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/disabled.svg.gz +0 -0
- data/ui/dist/icons/disc-off.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-2-off.svg.gz +0 -0
- data/ui/dist/icons/dna-2.svg.gz +0 -0
- data/ui/dist/icons/dna-off.svg.gz +0 -0
- data/ui/dist/icons/dna.svg.gz +0 -0
- data/ui/dist/icons/dog-bowl.svg.gz +0 -0
- data/ui/dist/icons/door-enter.svg.gz +0 -0
- data/ui/dist/icons/door-exit.svg.gz +0 -0
- data/ui/dist/icons/door-off.svg.gz +0 -0
- data/ui/dist/icons/door.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-off.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/drop-circle.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-off.svg.gz +0 -0
- data/ui/dist/icons/edit-circle.svg.gz +0 -0
- data/ui/dist/icons/edit-off.svg.gz +0 -0
- data/ui/dist/icons/edit.svg.gz +0 -0
- data/ui/dist/icons/egg-off.svg.gz +0 -0
- data/ui/dist/icons/egg.svg.gz +0 -0
- data/ui/dist/icons/elevator.svg.gz +0 -0
- data/ui/dist/icons/emergency-bed.svg.gz +0 -0
- data/ui/dist/icons/emphasis.svg.gz +0 -0
- data/ui/dist/icons/engine-off.svg.gz +0 -0
- data/ui/dist/icons/engine.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-off.svg.gz +0 -0
- data/ui/dist/icons/eraser.svg.gz +0 -0
- data/ui/dist/icons/error-404-off.svg.gz +0 -0
- data/ui/dist/icons/error-404.svg.gz +0 -0
- data/ui/dist/icons/exchange-off.svg.gz +0 -0
- data/ui/dist/icons/exchange.svg.gz +0 -0
- data/ui/dist/icons/exclamation-mark-off.svg.gz +0 -0
- data/ui/dist/icons/exclamation-mark.svg.gz +0 -0
- data/ui/dist/icons/exposure.svg.gz +0 -0
- data/ui/dist/icons/external-link-off.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-table.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-off.svg.gz +0 -0
- data/ui/dist/icons/eyeglass.svg.gz +0 -0
- data/ui/dist/icons/face-id-error.svg.gz +0 -0
- data/ui/dist/icons/face-id.svg.gz +0 -0
- data/ui/dist/icons/face-mask-off.svg.gz +0 -0
- data/ui/dist/icons/face-mask.svg.gz +0 -0
- data/ui/dist/icons/fall.svg.gz +0 -0
- data/ui/dist/icons/feather-off.svg.gz +0 -0
- data/ui/dist/icons/feather.svg.gz +0 -0
- data/ui/dist/icons/fence-off.svg.gz +0 -0
- data/ui/dist/icons/fence.svg.gz +0 -0
- data/ui/dist/icons/fidget-spinner.svg.gz +0 -0
- data/ui/dist/icons/file-3d.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-arrow-left.svg.gz +0 -0
- data/ui/dist/icons/file-arrow-right.svg.gz +0 -0
- data/ui/dist/icons/file-barcode.svg.gz +0 -0
- data/ui/dist/icons/file-certificate.svg.gz +0 -0
- data/ui/dist/icons/file-chart.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-database.svg.gz +0 -0
- data/ui/dist/icons/file-description.svg.gz +0 -0
- data/ui/dist/icons/file-diff.svg.gz +0 -0
- data/ui/dist/icons/file-digit.svg.gz +0 -0
- data/ui/dist/icons/file-dislike.svg.gz +0 -0
- data/ui/dist/icons/file-dollar.svg.gz +0 -0
- data/ui/dist/icons/file-dots.svg.gz +0 -0
- data/ui/dist/icons/file-download.svg.gz +0 -0
- data/ui/dist/icons/file-euro.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-pencil.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-power.svg.gz +0 -0
- data/ui/dist/icons/file-report.svg.gz +0 -0
- data/ui/dist/icons/file-rss.svg.gz +0 -0
- data/ui/dist/icons/file-scissors.svg.gz +0 -0
- data/ui/dist/icons/file-search.svg.gz +0 -0
- data/ui/dist/icons/file-settings.svg.gz +0 -0
- data/ui/dist/icons/file-shredder.svg.gz +0 -0
- data/ui/dist/icons/file-signal.svg.gz +0 -0
- data/ui/dist/icons/file-spreadsheet.svg.gz +0 -0
- data/ui/dist/icons/file-star.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-time.svg.gz +0 -0
- data/ui/dist/icons/file-typography.svg.gz +0 -0
- data/ui/dist/icons/file-unknown.svg.gz +0 -0
- data/ui/dist/icons/file-upload.svg.gz +0 -0
- data/ui/dist/icons/file-vector.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-off.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/first-aid-kit.svg.gz +0 -0
- data/ui/dist/icons/fish-off.svg.gz +0 -0
- data/ui/dist/icons/fish.svg.gz +0 -0
- data/ui/dist/icons/flag-2-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/flag.svg.gz +0 -0
- data/ui/dist/icons/flame-off.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-2-off.svg.gz +0 -0
- data/ui/dist/icons/flask-2.svg.gz +0 -0
- data/ui/dist/icons/flask-off.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/flower-off.svg.gz +0 -0
- data/ui/dist/icons/flower.svg.gz +0 -0
- data/ui/dist/icons/focus-2.svg.gz +0 -0
- data/ui/dist/icons/focus-centered.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-off.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/fountain-off.svg.gz +0 -0
- data/ui/dist/icons/fountain.svg.gz +0 -0
- data/ui/dist/icons/frame-off.svg.gz +0 -0
- data/ui/dist/icons/frame.svg.gz +0 -0
- data/ui/dist/icons/free-rights.svg.gz +0 -0
- data/ui/dist/icons/friends-off.svg.gz +0 -0
- data/ui/dist/icons/friends.svg.gz +0 -0
- data/ui/dist/icons/gas-station-off.svg.gz +0 -0
- data/ui/dist/icons/gas-station.svg.gz +0 -0
- data/ui/dist/icons/gauge-off.svg.gz +0 -0
- data/ui/dist/icons/gauge.svg.gz +0 -0
- data/ui/dist/icons/gavel.svg.gz +0 -0
- data/ui/dist/icons/gender-agender.svg.gz +0 -0
- data/ui/dist/icons/gender-androgyne.svg.gz +0 -0
- data/ui/dist/icons/gender-bigender.svg.gz +0 -0
- data/ui/dist/icons/gender-demiboy.svg.gz +0 -0
- data/ui/dist/icons/gender-demigirl.svg.gz +0 -0
- data/ui/dist/icons/gender-epicene.svg.gz +0 -0
- data/ui/dist/icons/gender-female.svg.gz +0 -0
- data/ui/dist/icons/gender-femme.svg.gz +0 -0
- data/ui/dist/icons/gender-genderfluid.svg.gz +0 -0
- data/ui/dist/icons/gender-genderless.svg.gz +0 -0
- data/ui/dist/icons/gender-genderqueer.svg.gz +0 -0
- data/ui/dist/icons/gender-hermaphrodite.svg.gz +0 -0
- data/ui/dist/icons/gender-intergender.svg.gz +0 -0
- data/ui/dist/icons/gender-male.svg.gz +0 -0
- data/ui/dist/icons/gender-neutrois.svg.gz +0 -0
- data/ui/dist/icons/gender-third.svg.gz +0 -0
- data/ui/dist/icons/gender-transgender.svg.gz +0 -0
- data/ui/dist/icons/gender-trasvesti.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-closed.svg.gz +0 -0
- data/ui/dist/icons/git-pull-request-draft.svg.gz +0 -0
- data/ui/dist/icons/git-pull-request.svg.gz +0 -0
- data/ui/dist/icons/gizmo.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-off.svg.gz +0 -0
- data/ui/dist/icons/globe.svg.gz +0 -0
- data/ui/dist/icons/golf-off.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/grid-pattern.svg.gz +0 -0
- data/ui/dist/icons/grill-off.svg.gz +0 -0
- data/ui/dist/icons/grill.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/hammer-off.svg.gz +0 -0
- data/ui/dist/icons/hammer.svg.gz +0 -0
- data/ui/dist/icons/hand-click.svg.gz +0 -0
- data/ui/dist/icons/hand-finger-off.svg.gz +0 -0
- data/ui/dist/icons/hand-finger.svg.gz +0 -0
- data/ui/dist/icons/hand-grab.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-move.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-2.svg.gz +0 -0
- data/ui/dist/icons/hanger-off.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/haze.svg.gz +0 -0
- data/ui/dist/icons/heading-off.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-handshake.svg.gz +0 -0
- data/ui/dist/icons/heart-minus.svg.gz +0 -0
- data/ui/dist/icons/heart-off.svg.gz +0 -0
- data/ui/dist/icons/heart-plus.svg.gz +0 -0
- data/ui/dist/icons/heart-rate-monitor.svg.gz +0 -0
- data/ui/dist/icons/heart.svg.gz +0 -0
- data/ui/dist/icons/heartbeat.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/helmet-off.svg.gz +0 -0
- data/ui/dist/icons/helmet.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/hexagons.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/highlight-off.svg.gz +0 -0
- data/ui/dist/icons/highlight.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-off.svg.gz +0 -0
- data/ui/dist/icons/home.svg.gz +0 -0
- data/ui/dist/icons/hotel-service.svg.gz +0 -0
- data/ui/dist/icons/hourglass-empty.svg.gz +0 -0
- data/ui/dist/icons/hourglass-high.svg.gz +0 -0
- data/ui/dist/icons/hourglass-low.svg.gz +0 -0
- data/ui/dist/icons/hourglass-off.svg.gz +0 -0
- data/ui/dist/icons/hourglass.svg.gz +0 -0
- data/ui/dist/icons/ice-cream-2.svg.gz +0 -0
- data/ui/dist/icons/ice-cream-off.svg.gz +0 -0
- data/ui/dist/icons/ice-cream.svg.gz +0 -0
- data/ui/dist/icons/ice-skating.svg.gz +0 -0
- data/ui/dist/icons/icons.svg.gz +0 -0
- data/ui/dist/icons/id-badge-2.svg.gz +0 -0
- data/ui/dist/icons/id-badge.svg.gz +0 -0
- data/ui/dist/icons/id-off.svg.gz +0 -0
- data/ui/dist/icons/id.svg.gz +0 -0
- data/ui/dist/icons/inbox-off.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/jewish-star.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/kayak.svg.gz +0 -0
- data/ui/dist/icons/kering.svg.gz +0 -0
- data/ui/dist/icons/key-off.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/ladder-off.svg.gz +0 -0
- data/ui/dist/icons/ladder.svg.gz +0 -0
- data/ui/dist/icons/lamp-2.svg.gz +0 -0
- data/ui/dist/icons/lamp-off.svg.gz +0 -0
- data/ui/dist/icons/lamp.svg.gz +0 -0
- data/ui/dist/icons/language-hiragana.svg.gz +0 -0
- data/ui/dist/icons/language-katakana.svg.gz +0 -0
- data/ui/dist/icons/language-off.svg.gz +0 -0
- data/ui/dist/icons/language.svg.gz +0 -0
- data/ui/dist/icons/lasso-off.svg.gz +0 -0
- data/ui/dist/icons/lasso.svg.gz +0 -0
- data/ui/dist/icons/layers-difference.svg.gz +0 -0
- data/ui/dist/icons/layers-intersect-2.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-off.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-board-split.svg.gz +0 -0
- data/ui/dist/icons/layout-board.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-dashboard.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-off.svg.gz +0 -0
- data/ui/dist/icons/layout-rows.svg.gz +0 -0
- data/ui/dist/icons/layout-sidebar-left-collapse.svg.gz +0 -0
- data/ui/dist/icons/layout-sidebar-left-expand.svg.gz +0 -0
- data/ui/dist/icons/layout-sidebar-right-collapse.svg.gz +0 -0
- data/ui/dist/icons/layout-sidebar-right-expand.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-off.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/lemon-2.svg.gz +0 -0
- data/ui/dist/icons/lemon.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/license-off.svg.gz +0 -0
- data/ui/dist/icons/license.svg.gz +0 -0
- data/ui/dist/icons/lifebuoy-off.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-details.svg.gz +0 -0
- data/ui/dist/icons/list-numbers.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/lock-open.svg.gz +0 -0
- data/ui/dist/icons/lock-square.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/lollipop-off.svg.gz +0 -0
- data/ui/dist/icons/lollipop.svg.gz +0 -0
- data/ui/dist/icons/luggage-off.svg.gz +0 -0
- data/ui/dist/icons/luggage.svg.gz +0 -0
- data/ui/dist/icons/lungs.svg.gz +0 -0
- data/ui/dist/icons/macro.svg.gz +0 -0
- data/ui/dist/icons/magnet-off.svg.gz +0 -0
- data/ui/dist/icons/magnet.svg.gz +0 -0
- data/ui/dist/icons/mail-fast.svg.gz +0 -0
- data/ui/dist/icons/mail-forward.svg.gz +0 -0
- data/ui/dist/icons/mail-off.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-off.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-off.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-search.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-off.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-avg.svg.gz +0 -0
- data/ui/dist/icons/math-function-off.svg.gz +0 -0
- data/ui/dist/icons/math-function.svg.gz +0 -0
- data/ui/dist/icons/math-max.svg.gz +0 -0
- data/ui/dist/icons/math-min.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-off.svg.gz +0 -0
- data/ui/dist/icons/maximize.svg.gz +0 -0
- data/ui/dist/icons/meat.svg.gz +0 -0
- data/ui/dist/icons/medal-2.svg.gz +0 -0
- data/ui/dist/icons/medal.svg.gz +0 -0
- data/ui/dist/icons/medical-cross-off.svg.gz +0 -0
- data/ui/dist/icons/medical-cross.svg.gz +0 -0
- data/ui/dist/icons/medicine-syrup.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-code.svg.gz +0 -0
- data/ui/dist/icons/message-2-share.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-code.svg.gz +0 -0
- data/ui/dist/icons/message-dots.svg.gz +0 -0
- data/ui/dist/icons/message-language.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-share.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-2.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/microscope.svg.gz +0 -0
- data/ui/dist/icons/military-award.svg.gz +0 -0
- data/ui/dist/icons/military-rank.svg.gz +0 -0
- data/ui/dist/icons/milk.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-nervous.svg.gz +0 -0
- data/ui/dist/icons/mood-neutral.svg.gz +0 -0
- data/ui/dist/icons/mood-off.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-off.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/mountain.svg.gz +0 -0
- data/ui/dist/icons/mouse-2.svg.gz +0 -0
- data/ui/dist/icons/mouse-off.svg.gz +0 -0
- data/ui/dist/icons/mouse.svg.gz +0 -0
- data/ui/dist/icons/movie-off.svg.gz +0 -0
- data/ui/dist/icons/movie.svg.gz +0 -0
- data/ui/dist/icons/mug-off.svg.gz +0 -0
- data/ui/dist/icons/mug.svg.gz +0 -0
- data/ui/dist/icons/multiplier-0-5x.svg.gz +0 -0
- data/ui/dist/icons/multiplier-1-5x.svg.gz +0 -0
- data/ui/dist/icons/multiplier-1x.svg.gz +0 -0
- data/ui/dist/icons/multiplier-2x.svg.gz +0 -0
- data/ui/dist/icons/mushroom.svg.gz +0 -0
- data/ui/dist/icons/music-off.svg.gz +0 -0
- data/ui/dist/icons/music.svg.gz +0 -0
- data/ui/dist/icons/network.svg.gz +0 -0
- data/ui/dist/icons/new-section.svg.gz +0 -0
- data/ui/dist/icons/news-off.svg.gz +0 -0
- data/ui/dist/icons/news.svg.gz +0 -0
- data/ui/dist/icons/nfc-off.svg.gz +0 -0
- data/ui/dist/icons/nfc.svg.gz +0 -0
- data/ui/dist/icons/no-copyright.svg.gz +0 -0
- data/ui/dist/icons/no-creative-commons.svg.gz +0 -0
- data/ui/dist/icons/no-derivatives.svg.gz +0 -0
- data/ui/dist/icons/north-star.svg.gz +0 -0
- data/ui/dist/icons/note-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/notes.svg.gz +0 -0
- data/ui/dist/icons/notification-off.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/numbers.svg.gz +0 -0
- data/ui/dist/icons/nurse.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/oval-vertical.svg.gz +0 -0
- data/ui/dist/icons/oval.svg.gz +0 -0
- data/ui/dist/icons/overline.svg.gz +0 -0
- data/ui/dist/icons/package-off.svg.gz +0 -0
- data/ui/dist/icons/package.svg.gz +0 -0
- data/ui/dist/icons/packge-export.svg.gz +0 -0
- data/ui/dist/icons/packge-import.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-off.svg.gz +0 -0
- data/ui/dist/icons/paint.svg.gz +0 -0
- data/ui/dist/icons/palette-off.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/paper-bag-off.svg.gz +0 -0
- data/ui/dist/icons/paper-bag.svg.gz +0 -0
- data/ui/dist/icons/paperclip.svg.gz +0 -0
- data/ui/dist/icons/parachute-off.svg.gz +0 -0
- data/ui/dist/icons/parachute.svg.gz +0 -0
- data/ui/dist/icons/parentheses-off.svg.gz +0 -0
- data/ui/dist/icons/parentheses.svg.gz +0 -0
- data/ui/dist/icons/parking-off.svg.gz +0 -0
- data/ui/dist/icons/parking.svg.gz +0 -0
- data/ui/dist/icons/paw.svg.gz +0 -0
- data/ui/dist/icons/peace.svg.gz +0 -0
- data/ui/dist/icons/pencil-off.svg.gz +0 -0
- data/ui/dist/icons/pencil.svg.gz +0 -0
- data/ui/dist/icons/pennant-2.svg.gz +0 -0
- data/ui/dist/icons/pennant-off.svg.gz +0 -0
- data/ui/dist/icons/pennant.svg.gz +0 -0
- data/ui/dist/icons/pentagon.svg.gz +0 -0
- data/ui/dist/icons/pepper-off.svg.gz +0 -0
- data/ui/dist/icons/pepper.svg.gz +0 -0
- data/ui/dist/icons/percentage.svg.gz +0 -0
- data/ui/dist/icons/perspective-off.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-top.svg.gz +0 -0
- data/ui/dist/icons/picture-in-picture.svg.gz +0 -0
- data/ui/dist/icons/pig-off.svg.gz +0 -0
- data/ui/dist/icons/pig.svg.gz +0 -0
- data/ui/dist/icons/pill-off.svg.gz +0 -0
- data/ui/dist/icons/pill.svg.gz +0 -0
- data/ui/dist/icons/pills.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-off.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-inflight.svg.gz +0 -0
- data/ui/dist/icons/plane-off.svg.gz +0 -0
- data/ui/dist/icons/plane.svg.gz +0 -0
- data/ui/dist/icons/planet-off.svg.gz +0 -0
- data/ui/dist/icons/planet.svg.gz +0 -0
- data/ui/dist/icons/plant-2-off.svg.gz +0 -0
- data/ui/dist/icons/plant-2.svg.gz +0 -0
- data/ui/dist/icons/plant-off.svg.gz +0 -0
- data/ui/dist/icons/plant.svg.gz +0 -0
- data/ui/dist/icons/play-card-off.svg.gz +0 -0
- data/ui/dist/icons/play-card.svg.gz +0 -0
- data/ui/dist/icons/player-eject.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-add.svg.gz +0 -0
- data/ui/dist/icons/playlist-off.svg.gz +0 -0
- data/ui/dist/icons/playlist-x.svg.gz +0 -0
- data/ui/dist/icons/playlist.svg.gz +0 -0
- data/ui/dist/icons/plug-connected-x.svg.gz +0 -0
- data/ui/dist/icons/plug-connected.svg.gz +0 -0
- data/ui/dist/icons/plug-off.svg.gz +0 -0
- data/ui/dist/icons/plug-x.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/podium.svg.gz +0 -0
- data/ui/dist/icons/point-off.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/polygon-off.svg.gz +0 -0
- data/ui/dist/icons/polygon.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/premium-rights.svg.gz +0 -0
- data/ui/dist/icons/prescription.svg.gz +0 -0
- data/ui/dist/icons/presentation-analytics.svg.gz +0 -0
- data/ui/dist/icons/presentation-off.svg.gz +0 -0
- data/ui/dist/icons/presentation.svg.gz +0 -0
- data/ui/dist/icons/printer-off.svg.gz +0 -0
- data/ui/dist/icons/printer.svg.gz +0 -0
- data/ui/dist/icons/prison.svg.gz +0 -0
- data/ui/dist/icons/prompt.svg.gz +0 -0
- data/ui/dist/icons/propeller-off.svg.gz +0 -0
- data/ui/dist/icons/propeller.svg.gz +0 -0
- data/ui/dist/icons/puzzle-2.svg.gz +0 -0
- data/ui/dist/icons/puzzle-off.svg.gz +0 -0
- data/ui/dist/icons/puzzle.svg.gz +0 -0
- data/ui/dist/icons/pyramid-off.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/quote-off.svg.gz +0 -0
- data/ui/dist/icons/quote.svg.gz +0 -0
- data/ui/dist/icons/radar-2.svg.gz +0 -0
- data/ui/dist/icons/radar.svg.gz +0 -0
- data/ui/dist/icons/radio.svg.gz +0 -0
- data/ui/dist/icons/radioactive-off.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-off.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-off.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-off.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-dot.svg.gz +0 -0
- data/ui/dist/icons/refresh-off.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/report-search.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-off.svg.gz +0 -0
- data/ui/dist/icons/ripple.svg.gz +0 -0
- data/ui/dist/icons/road-off.svg.gz +0 -0
- data/ui/dist/icons/road-sign.svg.gz +0 -0
- data/ui/dist/icons/road.svg.gz +0 -0
- data/ui/dist/icons/robot-off.svg.gz +0 -0
- data/ui/dist/icons/robot.svg.gz +0 -0
- data/ui/dist/icons/rocket-off.svg.gz +0 -0
- data/ui/dist/icons/rocket.svg.gz +0 -0
- data/ui/dist/icons/roller-skating.svg.gz +0 -0
- data/ui/dist/icons/rollercoaster.svg.gz +0 -0
- data/ui/dist/icons/rotate-2.svg.gz +0 -0
- data/ui/dist/icons/rotate-360.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-dot.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/ruler-2.svg.gz +0 -0
- data/ui/dist/icons/ruler-off.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/salt.svg.gz +0 -0
- data/ui/dist/icons/satellite-off.svg.gz +0 -0
- data/ui/dist/icons/satellite.svg.gz +0 -0
- data/ui/dist/icons/sausage.svg.gz +0 -0
- data/ui/dist/icons/scale-off.svg.gz +0 -0
- data/ui/dist/icons/scale-outline-off.svg.gz +0 -0
- data/ui/dist/icons/scale-outline.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-off.svg.gz +0 -0
- data/ui/dist/icons/school.svg.gz +0 -0
- data/ui/dist/icons/scissors-off.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/scribble.svg.gz +0 -0
- data/ui/dist/icons/scuba-mask.svg.gz +0 -0
- data/ui/dist/icons/search-off.svg.gz +0 -0
- data/ui/dist/icons/search.svg.gz +0 -0
- data/ui/dist/icons/section-sign.svg.gz +0 -0
- data/ui/dist/icons/section.svg.gz +0 -0
- data/ui/dist/icons/seeding-off.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-2.svg.gz +0 -0
- data/ui/dist/icons/server-off.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/shape.svg.gz +0 -0
- data/ui/dist/icons/share-off.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-checkered.svg.gz +0 -0
- data/ui/dist/icons/shield-chevron.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-off.svg.gz +0 -0
- data/ui/dist/icons/shirt.svg.gz +0 -0
- data/ui/dist/icons/shoe-off.svg.gz +0 -0
- data/ui/dist/icons/shoe.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/shovel.svg.gz +0 -0
- data/ui/dist/icons/shredder.svg.gz +0 -0
- data/ui/dist/icons/sign-left.svg.gz +0 -0
- data/ui/dist/icons/sign-right.svg.gz +0 -0
- data/ui/dist/icons/signature-off.svg.gz +0 -0
- data/ui/dist/icons/signature.svg.gz +0 -0
- data/ui/dist/icons/sitemap-off.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/sleigh.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-off.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-off.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-off.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/sofa.svg.gz +0 -0
- data/ui/dist/icons/sort-ascending-2.svg.gz +0 -0
- data/ui/dist/icons/sort-ascending-letters.svg.gz +0 -0
- data/ui/dist/icons/sort-ascending-numbers.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-letters.svg.gz +0 -0
- data/ui/dist/icons/sort-descending-numbers.svg.gz +0 -0
- data/ui/dist/icons/sort-descending.svg.gz +0 -0
- data/ui/dist/icons/soup.svg.gz +0 -0
- data/ui/dist/icons/space-off.svg.gz +0 -0
- data/ui/dist/icons/space.svg.gz +0 -0
- data/ui/dist/icons/spacing-horizontal.svg.gz +0 -0
- data/ui/dist/icons/spacing-vertical.svg.gz +0 -0
- data/ui/dist/icons/spade.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-asterisk.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-half.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-forbid-2.svg.gz +0 -0
- data/ui/dist/icons/square-rotated-forbid.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-3.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-off.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/sunrise.svg.gz +0 -0
- data/ui/dist/icons/sunset.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/sword-off.svg.gz +0 -0
- data/ui/dist/icons/sword.svg.gz +0 -0
- data/ui/dist/icons/swords.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-off.svg.gz +0 -0
- data/ui/dist/icons/tag.svg.gz +0 -0
- data/ui/dist/icons/tags-off.svg.gz +0 -0
- data/ui/dist/icons/tags.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-off.svg.gz +0 -0
- data/ui/dist/icons/target.svg.gz +0 -0
- data/ui/dist/icons/telescope-off.svg.gz +0 -0
- data/ui/dist/icons/telescope.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-off.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-off.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-2.svg.gz +0 -0
- data/ui/dist/icons/test-pipe-off.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-resize.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/thermometer.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-off.svg.gz +0 -0
- data/ui/dist/icons/ticket.svg.gz +0 -0
- data/ui/dist/icons/tie.svg.gz +0 -0
- data/ui/dist/icons/tilt-shift-off.svg.gz +0 -0
- data/ui/dist/icons/tilt-shift.svg.gz +0 -0
- data/ui/dist/icons/timeline.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/toilet-paper-off.svg.gz +0 -0
- data/ui/dist/icons/toilet-paper.svg.gz +0 -0
- data/ui/dist/icons/tool.svg.gz +0 -0
- data/ui/dist/icons/tools-kitchen-2-off.svg.gz +0 -0
- data/ui/dist/icons/tools-kitchen-2.svg.gz +0 -0
- data/ui/dist/icons/tools-kitchen-off.svg.gz +0 -0
- data/ui/dist/icons/tools-kitchen.svg.gz +0 -0
- data/ui/dist/icons/tools-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/traffic-cone.svg.gz +0 -0
- data/ui/dist/icons/traffic-lights-off.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/transfer-in.svg.gz +0 -0
- data/ui/dist/icons/transfer-out.svg.gz +0 -0
- data/ui/dist/icons/trash-off.svg.gz +0 -0
- data/ui/dist/icons/trash-x.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-inverted.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/triangles.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-loading.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-off.svg.gz +0 -0
- data/ui/dist/icons/typography.svg.gz +0 -0
- data/ui/dist/icons/umbrella-off.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/usb.svg.gz +0 -0
- data/ui/dist/icons/user-check.svg.gz +0 -0
- data/ui/dist/icons/user-circle.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-search.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-bottle.svg.gz +0 -0
- data/ui/dist/icons/vaccine-off.svg.gz +0 -0
- data/ui/dist/icons/vaccine.svg.gz +0 -0
- data/ui/dist/icons/variable-off.svg.gz +0 -0
- data/ui/dist/icons/variable.svg.gz +0 -0
- data/ui/dist/icons/vector-bezier-2.svg.gz +0 -0
- data/ui/dist/icons/vector-bezier.svg.gz +0 -0
- data/ui/dist/icons/vector-off.svg.gz +0 -0
- data/ui/dist/icons/vector-triangle-off.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-off.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-off.svg.gz +0 -0
- data/ui/dist/icons/view-360.svg.gz +0 -0
- data/ui/dist/icons/viewfinder-off.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/vinyl.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/vocabulary.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-off.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/wall.svg.gz +0 -0
- data/ui/dist/icons/wallet-off.svg.gz +0 -0
- data/ui/dist/icons/wallet.svg.gz +0 -0
- data/ui/dist/icons/wallpaper-off.svg.gz +0 -0
- data/ui/dist/icons/wallpaper.svg.gz +0 -0
- data/ui/dist/icons/wand-off.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/webhook.svg.gz +0 -0
- data/ui/dist/icons/wheelchair.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-off.svg.gz +0 -0
- data/ui/dist/icons/wind.svg.gz +0 -0
- data/ui/dist/icons/windmill-off.svg.gz +0 -0
- data/ui/dist/icons/windmill.svg.gz +0 -0
- data/ui/dist/icons/window-off.svg.gz +0 -0
- data/ui/dist/icons/window.svg.gz +0 -0
- data/ui/dist/icons/windsock.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-download.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-off.svg.gz +0 -0
- data/ui/dist/icons/world-upload.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-off.svg.gz +0 -0
- data/ui/dist/icons/writing-sign-off.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/yoga.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-code.svg.gz +0 -0
- data/ui/dist/icons/zoom-exclamation.svg.gz +0 -0
- data/ui/dist/icons/zoom-in-area.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-area.svg.gz +0 -0
- data/ui/dist/icons/zoom-out.svg.gz +0 -0
- data/ui/dist/icons/zoom-pan.svg.gz +0 -0
- data/ui/dist/icons/zoom-question.svg.gz +0 -0
- data/ui/dist/images/layers-2x.png +0 -0
- data/ui/dist/images/layers.png +0 -0
- data/ui/dist/images/marker-icon.png +0 -0
- data/ui/dist/main-292815f529c3a421d507.css.gz +0 -0
- data/ui/dist/main-292815f529c3a421d507.js.gz +0 -0
- data/ui/dist/manifest.json +3972 -0
- metadata +2272 -0
@@ -0,0 +1,278 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Motor
|
4
|
+
module Queries
|
5
|
+
module RunQuery
|
6
|
+
DEFAULT_LIMIT = 100_000
|
7
|
+
|
8
|
+
QueryResult = Struct.new(:data, :columns, :error, keyword_init: true)
|
9
|
+
|
10
|
+
SUBQUERY_NAME = '__query__'
|
11
|
+
|
12
|
+
STATEMENT_VARIABLE_REGEXP = /\$\d+/.freeze
|
13
|
+
PG_ERROR_REGEXP = /\APG.+ERROR:/.freeze
|
14
|
+
|
15
|
+
RESERVED_VARIABLES = %w[current_user_id current_user_email].freeze
|
16
|
+
|
17
|
+
DATABASE_URL_VARIABLE_SUFFIX = '_database_url'
|
18
|
+
|
19
|
+
DB_LINK_VALIDATE_REGEXP = /(.*?)\s*\{\{\s*\w+_database_url\s*\}\}/i.freeze
|
20
|
+
|
21
|
+
UnknownDatabase = Class.new(StandardError)
|
22
|
+
UnsafeDatabaseUrlUsage = Class.new(StandardError)
|
23
|
+
|
24
|
+
module_function
|
25
|
+
|
26
|
+
# @param query [Motor::Query]
|
27
|
+
# @param variables_hash [Hash]
|
28
|
+
# @param limit [Integer]
|
29
|
+
# @param filters [Hash]
|
30
|
+
# @return [Motor::Queries::RunQuery::QueryResult]
|
31
|
+
def call!(query, variables_hash: nil, limit: nil, filters: nil)
|
32
|
+
variables_hash ||= {}
|
33
|
+
variables_hash = variables_hash.with_indifferent_access
|
34
|
+
limit ||= DEFAULT_LIMIT
|
35
|
+
filters ||= {}
|
36
|
+
|
37
|
+
result = execute_query(query, limit, variables_hash, filters)
|
38
|
+
|
39
|
+
QueryResult.new(data: result.rows, columns: build_columns_hash(result))
|
40
|
+
end
|
41
|
+
|
42
|
+
# @param query [Motor::Query]
|
43
|
+
# @param variables_hash [Hash]
|
44
|
+
# @param limit [Integer]
|
45
|
+
# @return [Motor::Queries::RunQuery::QueryResult]
|
46
|
+
def call(query, variables_hash: nil, limit: nil, filters: nil)
|
47
|
+
call!(query, variables_hash: variables_hash, limit: limit, filters: filters)
|
48
|
+
rescue ActiveRecord::StatementInvalid => e
|
49
|
+
QueryResult.new(error: build_error_message(e))
|
50
|
+
end
|
51
|
+
|
52
|
+
# @param exception [ActiveRecord::StatementInvalid]
|
53
|
+
# @return [String]
|
54
|
+
def build_error_message(exception)
|
55
|
+
exception.message.sub(PG_ERROR_REGEXP, '').strip.upcase_first
|
56
|
+
end
|
57
|
+
|
58
|
+
# @param query [Motor::Query]
|
59
|
+
# @param limit [Integer]
|
60
|
+
# @param variables_hash [Hash]
|
61
|
+
# @param filters [Hash]
|
62
|
+
# @return [ActiveRecord::Result]
|
63
|
+
def execute_query(query, limit, variables_hash, filters)
|
64
|
+
connection_class = fetch_connection_class(query)
|
65
|
+
|
66
|
+
statement = prepare_sql_statement(connection_class, query, limit, variables_hash, filters)
|
67
|
+
|
68
|
+
case connection_class.connection.class.name
|
69
|
+
when 'ActiveRecord::ConnectionAdapters::PostgreSQLAdapter'
|
70
|
+
PostgresqlExecQuery.call(connection_class.connection, statement)
|
71
|
+
else
|
72
|
+
statement = normalize_statement_for_sql(statement)
|
73
|
+
|
74
|
+
connection_class.connection.exec_query(*statement)
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
def validate_query!(sql)
|
79
|
+
return if sql.scan(DB_LINK_VALIDATE_REGEXP).flatten.all? { |line| line.ends_with?('dblink(') }
|
80
|
+
|
81
|
+
raise UnsafeDatabaseUrlUsage, 'Database URL variable is allowed only with dblink'
|
82
|
+
end
|
83
|
+
|
84
|
+
# @param result [ActiveRecord::Result]
|
85
|
+
# @return [Hash]
|
86
|
+
def build_columns_hash(result)
|
87
|
+
result.columns.map.with_index do |column_name, index|
|
88
|
+
column_type_class = result.column_types[column_name]
|
89
|
+
|
90
|
+
column_type = ActiveRecordUtils::Types.find_name_for_type(column_type_class) if column_type_class
|
91
|
+
|
92
|
+
column_type ||=
|
93
|
+
begin
|
94
|
+
not_nil_value = result.rows.reduce(nil) do |acc, row|
|
95
|
+
column = row[index]
|
96
|
+
|
97
|
+
break column unless column.nil?
|
98
|
+
|
99
|
+
acc
|
100
|
+
end
|
101
|
+
|
102
|
+
fetch_column_type_from_value(not_nil_value)
|
103
|
+
end
|
104
|
+
|
105
|
+
{
|
106
|
+
name: column_name,
|
107
|
+
display_name: column_name.humanize,
|
108
|
+
column_type: column_type,
|
109
|
+
is_array: column_type.class.to_s == 'ActiveRecord::ConnectionAdapters::PostgreSQL::OID::Array'
|
110
|
+
}
|
111
|
+
end
|
112
|
+
end
|
113
|
+
|
114
|
+
# @param value [Object]
|
115
|
+
# @return [String]
|
116
|
+
def fetch_column_type_from_value(value)
|
117
|
+
case value
|
118
|
+
when Integer
|
119
|
+
'integer'
|
120
|
+
when Float
|
121
|
+
'float'
|
122
|
+
when Time
|
123
|
+
'datetime'
|
124
|
+
when Date
|
125
|
+
'date'
|
126
|
+
when TrueClass, FalseClass
|
127
|
+
'boolean'
|
128
|
+
else
|
129
|
+
'string'
|
130
|
+
end
|
131
|
+
end
|
132
|
+
|
133
|
+
# @param connection_class [Class]
|
134
|
+
# @param query [Motor::Query]
|
135
|
+
# @param limit [Integer]
|
136
|
+
# @param variables_hash [Hash]
|
137
|
+
# @param filters [Hash]
|
138
|
+
# @return [Array]
|
139
|
+
def prepare_sql_statement(connection_class, query, limit, variables_hash, filters)
|
140
|
+
variables = merge_variable_default_values(query.preferences.fetch(:variables, []), variables_hash)
|
141
|
+
|
142
|
+
validate_query!(query.sql_body)
|
143
|
+
|
144
|
+
sql, query_variables = RenderSqlTemplate.call(query.sql_body, variables)
|
145
|
+
select_sql = build_select_sql(connection_class, sql, limit, filters)
|
146
|
+
|
147
|
+
attributes = build_statement_attributes(query_variables)
|
148
|
+
|
149
|
+
[select_sql, 'SQL', attributes]
|
150
|
+
end
|
151
|
+
|
152
|
+
# @param connection_class [Class]
|
153
|
+
# @param sql [String]
|
154
|
+
# @param limit [Number]
|
155
|
+
# @param filters [Hash]
|
156
|
+
# @return [String]
|
157
|
+
def build_select_sql(connection_class, sql, limit, filters)
|
158
|
+
sql = normalize_sql(sql)
|
159
|
+
|
160
|
+
subquery_sql = Arel.sql("(#{sql})").as(connection_class.connection.quote_column_name(SUBQUERY_NAME))
|
161
|
+
|
162
|
+
arel_filters = build_filters_arel(filters)
|
163
|
+
|
164
|
+
rel = connection_class.from(subquery_sql)
|
165
|
+
.select(Arel::Table.new(SUBQUERY_NAME)[Arel.star])
|
166
|
+
.where(arel_filters)
|
167
|
+
|
168
|
+
rel = rel.limit(limit.to_i) unless connection_class.connection.class.name.include?('SQLServerAdapter')
|
169
|
+
|
170
|
+
rel.to_sql
|
171
|
+
end
|
172
|
+
|
173
|
+
# @param filters [Hash]
|
174
|
+
# @return [Arel::Nodes, nil]
|
175
|
+
def build_filters_arel(filters)
|
176
|
+
return nil if filters.blank?
|
177
|
+
|
178
|
+
table = Arel::Table.new(SUBQUERY_NAME)
|
179
|
+
|
180
|
+
arel_filters = filters.map { |key, value| table[key].in(value) }
|
181
|
+
|
182
|
+
arel_filters[1..].reduce(arel_filters.first) { |acc, arel| acc.and(arel) }
|
183
|
+
end
|
184
|
+
|
185
|
+
# @param variables [Array<(String, Object)>]
|
186
|
+
# @return [Array<ActiveRecord::Relation::QueryAttribute>]
|
187
|
+
def build_statement_attributes(variables)
|
188
|
+
variables.map do |variable_name, value|
|
189
|
+
[value].flatten.map do |val|
|
190
|
+
val = fetch_variable_database_url(variable_name) if variable_name.ends_with?(DATABASE_URL_VARIABLE_SUFFIX)
|
191
|
+
|
192
|
+
ActiveRecord::Relation::QueryAttribute.new(
|
193
|
+
variable_name,
|
194
|
+
val,
|
195
|
+
ActiveRecord::Type::Value.new
|
196
|
+
)
|
197
|
+
end
|
198
|
+
end.flatten
|
199
|
+
end
|
200
|
+
|
201
|
+
def fetch_variable_database_url(variable_name)
|
202
|
+
class_name = variable_name.delete_suffix(DATABASE_URL_VARIABLE_SUFFIX).classify
|
203
|
+
|
204
|
+
Motor::DatabaseClasses.const_get(class_name).connection_db_config.url
|
205
|
+
rescue NameError
|
206
|
+
raise UnknownDatabase, "#{class_name} database is not defined"
|
207
|
+
end
|
208
|
+
|
209
|
+
# @param array [Array]
|
210
|
+
# @return [Array]
|
211
|
+
def normalize_statement_for_sql(statement)
|
212
|
+
sql, _, attributes = statement
|
213
|
+
|
214
|
+
sql = ActiveRecord::Base.send(:replace_bind_variables,
|
215
|
+
sql.gsub(STATEMENT_VARIABLE_REGEXP, '?'),
|
216
|
+
attributes.map(&:value))
|
217
|
+
|
218
|
+
[sql, 'SQL', []]
|
219
|
+
end
|
220
|
+
|
221
|
+
def normalize_sql(sql)
|
222
|
+
sql.strip.delete_suffix(';').gsub(/\A\)+/, '').gsub(/\z\(+/, '')
|
223
|
+
end
|
224
|
+
|
225
|
+
# @param variable_configs [Array<Hash>]
|
226
|
+
# @param variables_hash [Hash]
|
227
|
+
# @return [Hash]
|
228
|
+
def merge_variable_default_values(variable_configs, variables_hash)
|
229
|
+
variable_configs.each_with_object(variables_hash.slice(*RESERVED_VARIABLES)) do |variable, acc|
|
230
|
+
next if RESERVED_VARIABLES.include?(variable[:name])
|
231
|
+
|
232
|
+
acc[variable[:name]] ||= variables_hash[variable[:name]] || variable[:default_value]
|
233
|
+
end
|
234
|
+
end
|
235
|
+
|
236
|
+
def fetch_connection_class(query)
|
237
|
+
database_name = query.preferences[:database]
|
238
|
+
|
239
|
+
return default_connection_class if database_name.blank? || database_name == 'default'
|
240
|
+
|
241
|
+
return default_connection_class if database_name == 'primary'
|
242
|
+
|
243
|
+
ar_configurations = ActiveRecord::Base.configurations.configurations
|
244
|
+
.find { |c| c.name == database_name && c.env_name == Rails.env }
|
245
|
+
|
246
|
+
if ar_configurations
|
247
|
+
fetch_ar_configurations_connection(database_name, ar_configurations)
|
248
|
+
else
|
249
|
+
Motor::DatabaseClasses.const_get(database_name.sub(/\A\d+/, '').parameterize.underscore.classify)
|
250
|
+
end
|
251
|
+
end
|
252
|
+
|
253
|
+
def fetch_ar_configurations_connection(database_name, ar_configurations)
|
254
|
+
Motor::DatabaseClasses.const_get(database_name.classify)
|
255
|
+
rescue NameError
|
256
|
+
klass = Class.new(ActiveRecord::Base)
|
257
|
+
|
258
|
+
Motor::DatabaseClasses.const_set(database_name.classify, klass)
|
259
|
+
|
260
|
+
klass.establish_connection(ar_configurations.name.to_sym)
|
261
|
+
|
262
|
+
klass
|
263
|
+
end
|
264
|
+
|
265
|
+
def find_connection_in_pool(database_name)
|
266
|
+
ActiveRecord::Base.connection_pool.connections.find do |conn|
|
267
|
+
conn.pool.db_config.name == database_name
|
268
|
+
end
|
269
|
+
end
|
270
|
+
|
271
|
+
def default_connection_class
|
272
|
+
'ResourceRecord'.safe_constantize ||
|
273
|
+
'ApplicationRecord'.safe_constantize ||
|
274
|
+
Class.new(ActiveRecord::Base).tap { |e| e.abstract_class = true }
|
275
|
+
end
|
276
|
+
end
|
277
|
+
end
|
278
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Motor
|
4
|
+
module Queries
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
require_relative './queries/render_sql_template'
|
9
|
+
require_relative './queries/run_query'
|
10
|
+
require_relative './queries/persistance'
|
11
|
+
require_relative './queries/postgresql_exec_query'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Motor
|
4
|
+
module Resources
|
5
|
+
module CustomSqlColumnsCache
|
6
|
+
CACHE_STORE = ActiveSupport::Cache::MemoryStore.new(size: 5.megabytes)
|
7
|
+
|
8
|
+
module_function
|
9
|
+
|
10
|
+
def call(sql)
|
11
|
+
CACHE_STORE.fetch(sql.hash) do
|
12
|
+
Queries::RunQuery.call(Query.new(sql_body: sql), limit: 0).columns || []
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,269 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Motor
|
4
|
+
module Resources
|
5
|
+
module FetchConfiguredModel
|
6
|
+
CACHE_HASH = ActiveSupport::HashWithIndifferentAccess.new
|
7
|
+
|
8
|
+
HAS_AND_BELONGS_TO_MANY_JOIN_MODEL_PREFIX = 'HABTM_'
|
9
|
+
|
10
|
+
module_function
|
11
|
+
|
12
|
+
def call(model, cache_key:)
|
13
|
+
configs = Motor::Configs::LoadFromCache.load_resources(cache_key: cache_key)
|
14
|
+
|
15
|
+
return model if model.name == 'ActiveStorage::Attachment'
|
16
|
+
return model if sti_model?(model)
|
17
|
+
|
18
|
+
maybe_fetch_from_cache(
|
19
|
+
model,
|
20
|
+
cache_key.to_s + model.object_id.to_s,
|
21
|
+
-> { build_configured_model_from_configs(model, configs) },
|
22
|
+
->(klass) { configure_reflection_classes(klass, cache_key) }
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def build_configured_model(model, config)
|
27
|
+
klass = Class.new(model)
|
28
|
+
klass.inheritance_column = nil if model.superclass.abstract_class
|
29
|
+
|
30
|
+
define_class_properties(klass, model)
|
31
|
+
|
32
|
+
define_columns_hash(klass, config)
|
33
|
+
define_default_scope(klass, config)
|
34
|
+
define_column_reflections(klass, config)
|
35
|
+
define_associations(klass, config)
|
36
|
+
define_searchable_columns_method(klass, config)
|
37
|
+
|
38
|
+
klass
|
39
|
+
end
|
40
|
+
|
41
|
+
def define_default_scope(klass, config)
|
42
|
+
return klass if config[:custom_sql].blank?
|
43
|
+
|
44
|
+
klass.instance_variable_set(:@__motor_custom_sql, config[:custom_sql].squish.delete_suffix(';'))
|
45
|
+
|
46
|
+
klass.instance_eval do
|
47
|
+
default_scope do
|
48
|
+
from(Arel.sql("(#{self.klass.instance_variable_get(:@__motor_custom_sql)})")
|
49
|
+
.as(connection.quote_column_name(table_name)))
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
klass
|
54
|
+
end
|
55
|
+
|
56
|
+
def define_audited_class(klass)
|
57
|
+
default_audit_class = Audited.audit_class
|
58
|
+
|
59
|
+
Audited.audit_class = 'Motor::Audit'
|
60
|
+
|
61
|
+
klass.audited
|
62
|
+
|
63
|
+
klass
|
64
|
+
ensure
|
65
|
+
Audited.audit_class = default_audit_class
|
66
|
+
end
|
67
|
+
|
68
|
+
def define_class_properties(klass, model)
|
69
|
+
define_audited_class(klass) unless [Audited::Audit, Motor::Audit].include?(model)
|
70
|
+
|
71
|
+
klass.table_name = model.table_name
|
72
|
+
|
73
|
+
klass.instance_variable_set(:@__motor_model_name, model.name)
|
74
|
+
|
75
|
+
klass.instance_eval do
|
76
|
+
def name
|
77
|
+
@__motor_model_name
|
78
|
+
end
|
79
|
+
|
80
|
+
def inspect
|
81
|
+
super.gsub(/\#<Class:0x\w+>/, name)
|
82
|
+
end
|
83
|
+
|
84
|
+
def to_s
|
85
|
+
super.gsub(/\#<Class:0x\w+>/, name)
|
86
|
+
end
|
87
|
+
|
88
|
+
def anonymous?
|
89
|
+
true
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
klass
|
94
|
+
end
|
95
|
+
|
96
|
+
def define_searchable_columns_method(klass, config)
|
97
|
+
return if config[:searchable_columns].blank?
|
98
|
+
|
99
|
+
klass.instance_variable_set(:@__motor_searchable_columns, config[:searchable_columns])
|
100
|
+
|
101
|
+
klass.instance_eval do
|
102
|
+
def motor_searchable_columns
|
103
|
+
@__motor_searchable_columns
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
|
108
|
+
def define_columns_hash(klass, config)
|
109
|
+
return klass if config[:custom_sql].blank?
|
110
|
+
|
111
|
+
columns = Resources::CustomSqlColumnsCache.call(config[:custom_sql])
|
112
|
+
|
113
|
+
columns_hash =
|
114
|
+
columns.each_with_object({}) do |column, acc|
|
115
|
+
acc[column[:name]] =
|
116
|
+
ActiveRecord::ConnectionAdapters::Column.new(
|
117
|
+
column[:name],
|
118
|
+
nil,
|
119
|
+
ActiveRecord::ConnectionAdapters::SqlTypeMetadata.new(sql_type: column[:column_type],
|
120
|
+
type: column[:column_type].to_sym)
|
121
|
+
)
|
122
|
+
end
|
123
|
+
|
124
|
+
klass.instance_variable_set(:@__motor_custom_sql_columns_hash, columns_hash)
|
125
|
+
|
126
|
+
# rubocop:disable Naming/MemoizedInstanceVariableName
|
127
|
+
klass.instance_eval do
|
128
|
+
def columns_hash
|
129
|
+
@__motor__columns_hash ||= @__motor_custom_sql_columns_hash.merge(super)
|
130
|
+
end
|
131
|
+
end
|
132
|
+
# rubocop:enable Naming/MemoizedInstanceVariableName
|
133
|
+
end
|
134
|
+
|
135
|
+
def define_column_reflections(klass, config)
|
136
|
+
config.fetch(:columns, []).each do |column|
|
137
|
+
reference = column[:reference]
|
138
|
+
|
139
|
+
next if reference.blank?
|
140
|
+
|
141
|
+
if reference[:reference_type] == 'belongs_to'
|
142
|
+
define_belongs_to_reflection(klass, reference)
|
143
|
+
else
|
144
|
+
define_has_one_reflection(klass, reference)
|
145
|
+
end
|
146
|
+
end
|
147
|
+
end
|
148
|
+
|
149
|
+
def define_belongs_to_reflection(klass, config)
|
150
|
+
klass.belongs_to(config[:name].to_sym,
|
151
|
+
class_name: config[:model_name]&.classify,
|
152
|
+
foreign_key: config[:foreign_key],
|
153
|
+
polymorphic: config[:polymorphic],
|
154
|
+
primary_key: config[:primary_key],
|
155
|
+
optional: true)
|
156
|
+
end
|
157
|
+
|
158
|
+
def define_has_one_reflection(klass, config)
|
159
|
+
if config[:model_name] == 'active_storage/attachment'
|
160
|
+
klass.has_one_attached(config[:name].delete_suffix('_attachment').to_sym)
|
161
|
+
else
|
162
|
+
options = {
|
163
|
+
**klass.reflections[config[:name]]&.options.to_h,
|
164
|
+
class_name: config[:model_name].classify,
|
165
|
+
foreign_key: config[:foreign_key],
|
166
|
+
primary_key: config[:primary_key],
|
167
|
+
**config[:options].to_h
|
168
|
+
}.symbolize_keys
|
169
|
+
|
170
|
+
klass.has_one(config[:name].to_sym, **options)
|
171
|
+
end
|
172
|
+
end
|
173
|
+
|
174
|
+
def configure_reflection_classes(klass, cache_key)
|
175
|
+
klass._reflections.each do |key, ref|
|
176
|
+
next unless configure_reflection_class?(ref)
|
177
|
+
|
178
|
+
ref_dup = ref.dup
|
179
|
+
|
180
|
+
if ref.klass.name == klass.name
|
181
|
+
ref_dup.instance_variable_set(:@klass, klass)
|
182
|
+
else
|
183
|
+
ref_dup.instance_variable_set(:@klass, call(ref.klass, cache_key: cache_key))
|
184
|
+
end
|
185
|
+
|
186
|
+
klass.reflections[key] = ref_dup
|
187
|
+
end
|
188
|
+
|
189
|
+
klass._reflections = klass.reflections
|
190
|
+
|
191
|
+
klass
|
192
|
+
end
|
193
|
+
|
194
|
+
def define_associations(klass, config)
|
195
|
+
config.fetch(:associations, []).each do |association|
|
196
|
+
next unless association[:virtual]
|
197
|
+
|
198
|
+
options = normalize_association_params(association)
|
199
|
+
|
200
|
+
filters = options.delete(:filters)
|
201
|
+
|
202
|
+
define_association(klass, association[:name], options, filters)
|
203
|
+
end
|
204
|
+
end
|
205
|
+
|
206
|
+
def define_association(klass, name, options, filters)
|
207
|
+
if options[:class_name] == 'ActiveStorage::Attachment'
|
208
|
+
klass.has_many_attached name.delete_suffix('_attachments').to_sym
|
209
|
+
elsif filters.present?
|
210
|
+
klass.has_many(name.to_sym, lambda {
|
211
|
+
Motor::ApiQuery::Filter.apply_filters(all, filters).distinct
|
212
|
+
}, **options.symbolize_keys)
|
213
|
+
else
|
214
|
+
klass.has_many(name.to_sym, **options.symbolize_keys)
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
def normalize_association_params(params)
|
219
|
+
options = params.slice(:foreign_key, :primary_key).merge(dependent: :destroy)
|
220
|
+
|
221
|
+
options[:class_name] = params[:model_name].classify
|
222
|
+
options[:as] = params[:foreign_key].delete_suffix('_id') if params[:polymorphic]
|
223
|
+
|
224
|
+
options.merge(params[:options] || {})
|
225
|
+
end
|
226
|
+
|
227
|
+
def maybe_fetch_from_cache(model, cache_key, miss_cache_block, postprocess_block)
|
228
|
+
return miss_cache_block.call unless cache_key
|
229
|
+
|
230
|
+
if CACHE_HASH[model.name] && CACHE_HASH[model.name][:key] == cache_key
|
231
|
+
CACHE_HASH[model.name][:value]
|
232
|
+
else
|
233
|
+
result = miss_cache_block.call
|
234
|
+
|
235
|
+
CACHE_HASH[model.name] = { key: cache_key, value: result }
|
236
|
+
|
237
|
+
postprocess_block.call(result)
|
238
|
+
end
|
239
|
+
end
|
240
|
+
|
241
|
+
def build_configured_model_from_configs(model, configs)
|
242
|
+
resource_config = configs.find { |r| r.name == model.name.underscore }
|
243
|
+
|
244
|
+
if resource_config
|
245
|
+
build_configured_model(model, resource_config.preferences)
|
246
|
+
else
|
247
|
+
define_class_properties(Class.new(model), model)
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
def configure_reflection_class?(ref)
|
252
|
+
begin
|
253
|
+
return false unless ref.klass
|
254
|
+
rescue StandardError
|
255
|
+
return false
|
256
|
+
end
|
257
|
+
|
258
|
+
return false if ref.klass.anonymous?
|
259
|
+
return false if ref.klass.name.demodulize.starts_with?(HAS_AND_BELONGS_TO_MANY_JOIN_MODEL_PREFIX)
|
260
|
+
|
261
|
+
true
|
262
|
+
end
|
263
|
+
|
264
|
+
def sti_model?(model)
|
265
|
+
!model.superclass.abstract_class && model.columns_hash[model.inheritance_column.to_s]
|
266
|
+
end
|
267
|
+
end
|
268
|
+
end
|
269
|
+
end
|